Commit Graph

171 Commits

Author SHA1 Message Date
Vincent Langlet 0cb1728113 PHPStan fixes 2024-11-29 23:15:53 +01:00
Fabien Potencier 81c7e8f86f Merge branch '3.x' into 4.x
* 3.x:
  Enforce AbstractBinary for all binary operators
  Fix CHANGELOG
  Bump version
  Prepare the 3.16.0 release
2024-11-29 19:26:31 +01:00
Fabien Potencier 4f8ba93600 Enforce AbstractBinary for all binary operators 2024-11-29 16:51:09 +01:00
Fabien Potencier 6f996fc214 Merge branch '3.x' into 4.x
* 3.x:
  Simplify enum usage in docs
  Forbid adding Nodes to EmptyNode
  Add phpstan analysis
  Fix the intl-extra tests
  Fix the string-extra tests when running with older symfony/string
  Fix the exception message to match the expected one for not ready nodes
  Add missing import
  Add BC break note in CHANGELOG for 3.15
  Fix CHANGELOG
  Update CHANGELOG
  Bump version
  Prepare the 3.15.0 release
2024-11-22 10:06:29 +01:00
Vincent Langlet 75d48db822 Add phpstan analysis 2024-11-20 20:05:33 +01:00
Fabien Potencier 89fdc7d31d Refactor code 2024-10-25 07:47:55 +02:00
Fabien Potencier c62c104127 Fix tests 2024-10-25 07:35:14 +02:00
Fabien Potencier 4698d15b8e Remove obsolete code, remove deprecations 2024-10-24 08:23:21 +02:00
Fabien Potencier ef63506239 Merge branch '3.x' into 4.x
* 3.x:
  Improve ImportNode impl
  Rename Node classes related to variables
2024-10-24 07:57:29 +02:00
Fabien Potencier fc15e7ccbc Rename Node classes related to variables 2024-10-23 12:36:57 +02:00
Fabien Potencier 560988e2e1 Merge branch '3.x' into 4.x
* 3.x:
  Remove MacroAutoImportNodeVisitor
  Simplify code
  Rework macros handling
2024-10-22 11:13:46 +02:00
Fabien Potencier af4090757b feature #4402 Rework macros handling (fabpot)
This PR was squashed before being merged into the 3.x branch.

Discussion
----------

Rework macros handling

Commits
-------

f1481be00f Remove MacroAutoImportNodeVisitor
72693884c4 Simplify code
1105964873 Rework macros handling
2024-10-22 11:03:01 +02:00
Fabien Potencier 72693884c4 Simplify code 2024-10-21 07:20:17 +02:00
Fabien Potencier 1105964873 Rework macros handling 2024-10-20 21:53:20 +02:00
Christian Flothmann 26256fc488 reduce the deprecation noise when more than one argument is passed
When more than one argument is passed to parseArguments(), one deprecation
is triggered for each argument. Since passing any argument is deprecated
the number of triggered deprecations can be reduced for more than one
argument being passed.
2024-10-18 11:24:56 +02:00
Fabien Potencier eca86f1a32 Remove obsolete code 2024-10-15 21:30:14 +02:00
Fabien Potencier 5da4b58fc5 Merge branch '3.x' into 4.x
* 3.x:
  Check reserved names in TempNameExpression
2024-10-15 21:29:05 +02:00
Fabien Potencier 98f8d8ac10 Merge branch '3.x' into 4.x
* 3.x:
  Fix AssignNameExpression to forbid using names that won't work
  Do not allow : as macro definition separator
2024-10-14 19:59:38 +02:00
Fabien Potencier 66658a3c1d Check reserved names in TempNameExpression 2024-10-14 19:42:47 +02:00
Fabien Potencier 950ad5a2fc bug #4396 Fix AssignNameExpression to forbid using names that won't work (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Fix AssignNameExpression to forbid using names that won't work

Commits
-------

9af72e6323 Fix AssignNameExpression to forbid using names that won't work
2024-10-14 14:07:02 +02:00
Fabien Potencier 9af72e6323 Fix AssignNameExpression to forbid using names that won't work 2024-10-14 13:55:40 +02:00
Fabien Potencier 831e69b77e Do not allow : as macro definition separator 2024-10-14 10:42:32 +02:00
Fabien Potencier a2a492121b Remove deprecation code 2024-10-11 11:52:35 +02:00
Fabien Potencier ea0ed28111 Merge branch '3.x' into 4.x
* 3.x:
  Add support for named arguments on macro calls and dot operator arguments
  Improve deprecation messages
  Simplify expression parser code
  Refactor expression parser
  chore: fix version added
  Cleanup code
2024-10-11 11:46:56 +02:00
Fabien Potencier 223d36bbae Add support for named arguments on macro calls and dot operator arguments 2024-10-11 11:31:40 +02:00
Fabien Potencier 0ec3f4a7fe Simplify expression parser code 2024-10-09 10:33:51 +02:00
Fabien Potencier 086c07f319 minor #4385 Refactor expression parser (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Refactor expression parser

Instead of having if statements under `default`, I've moved the code to the `switch` statement, which makes more sense.

Commits
-------

2cdca8cbeb Refactor expression parser
2024-10-09 10:18:59 +02:00
Fabien Potencier 2cdca8cbeb Refactor expression parser 2024-10-09 09:14:02 +02:00
Fabien Potencier 7bf0f6f376 Cleanup code 2024-10-08 21:51:29 +02:00
Fabien Potencier dce4ba85b0 Remove obsolete code 2024-10-08 18:45:35 +02:00
Fabien Potencier 025278f576 Merge branch '3.x' into 4.x
* 3.x:
  Introduce a way to test Twig callables at compile time
  Allow arrow functions everywhere
  Fix deprecation dep feature
2024-10-08 18:44:24 +02:00
Fabien Potencier 62f0a96b68 Introduce a way to test Twig callables at compile time 2024-10-08 18:41:34 +02:00
Fabien Potencier aca4d22e89 Allow arrow functions everywhere 2024-10-07 23:04:29 +02:00
Fabien Potencier 4f7d487a17 Fix deprecation dep feature 2024-10-06 23:17:05 +02:00
Fabien Potencier 14216a8d68 Merge branch '3.x' into 4.x
* 3.x:
  Deprecate using the not unary operator without parenthesis
  Deprecate using ?? without explicit parentheses
  Add support for logical `xor` operator
  Allow running CI on all branches
  [Doc] Fix enum title
  Document Twig vs PHP types
2024-10-02 14:19:28 +02:00
Fabien Potencier 2081b1ff74 Deprecate using the not unary operator without parenthesis 2024-10-02 14:16:34 +02:00
Fabien Potencier f4aacafd78 Deprecate using ?? without explicit parentheses 2024-10-01 21:58:05 +02:00
Fabien Potencier baab14823c Remove obsolete code 2024-09-30 22:51:32 +02:00
Fabien Potencier 5194101f12 Merge branch '3.x' into 4.x
* 3.x:
  Refactor code
  Add some type hints
  Deprecate using ~ with + or - in an expression without using parentheses to clarify precedence
  Change some type hints to be more precise
  Deprecate not passing AbstractExpression args to most constructor arguments for classes extending AbstractExpression
  Remove obsolete method
  Add support for detecting if an expression had explicit parentheses
  Fix tests
  Unify error messages when a filter expects a mapping/sequence
2024-09-30 22:46:04 +02:00
Fabien Potencier b93eb3ce58 Refactor code 2024-09-30 14:05:03 +02:00
Fabien Potencier 9f8c52d022 Add some type hints 2024-09-30 14:02:17 +02:00
Fabien Potencier 816c510cef Deprecate using ~ with + or - in an expression without using parentheses to clarify precedence 2024-09-30 13:51:47 +02:00
Fabien Potencier d133ab7e70 Add support for detecting if an expression had explicit parentheses 2024-09-30 11:55:38 +02:00
Fabien Potencier 87ebfd4142 Merge branch '3.x' into 4.x
* 3.x:
  Add an additional example in the docs
  Fix ignored parenthesis in expressions
  Tweak previous merge
  Added details in the doc of filters and functions of IntlExtension
  Add more information about the filter and the negative operators
  Update plural.rst: Fixing filter name
2024-09-29 17:54:25 +02:00
Fabien Potencier 1488238e32 Fix ignored parenthesis in expressions 2024-09-28 23:47:01 +02:00
Fabien Potencier 0c6bd47d6b Merge branch '3.x' into 4.x
* 3.x:
  Deprecate using Node directly, introduce EmptyNode and Nodes
  Add support for inline comments
  Update plural.rst: Fixing(?) broken links
  Fix CS
  Add support for accessing class constants with the dot operator
  Fix getting a property on an object casted to an array
  Replace strtr() by strtolower()
  Improve escape deprecation message
  Remove useless assign in compiled code
  Add fixture filename as key
  Be more precise about double-escaping
  Fix template name in error for an unknown dynamic extends called from an include
2024-09-27 07:59:52 +02:00
Fabien Potencier 8b278986b8 Deprecate using Node directly, introduce EmptyNode and Nodes 2024-09-27 07:42:41 +02:00
Nicolas Grekas 04471ab8cd Replace strtr() by strtolower() 2024-09-26 17:48:39 +02:00
Fabien Potencier 07b626a96f Fix deprecation messages 2024-09-19 23:13:12 +02:00
Fabien Potencier 9700212005 Merge branch '3.x' into 4.x
* 3.x:
  Rename a variable for more clarity
  Set IteratorAggregate generics for Node
  Add cross-link
  Let's no deprecate the attribute function yet
  Add more precise types for the registration of safe classes
  Clarify coding standards
  Fix markup
  Fix markup
  Clarify docs for the u filter
  Allow to use a dynamic attribute on the . operator via ()
  Remove most usage of foo/bar/baz in the docs
  Tweak docs
  Add StringCastUnary
2024-09-14 10:51:19 +02:00