Fabien Potencier
cde9e7dcd4
Use proper node names when they are integers
2024-08-26 09:59:54 +02:00
Fabien Potencier
d1f9097c7b
Merge branch '3.x' into 4.x
...
* 3.x:
Deprecate some internal methods from Parser
Move code from ExtendsTokenParser to Parser
Update Node::__toString() to include the node tag if set
Fix class name
Fix error message
2024-08-26 09:28:17 +02:00
Fabien Potencier
9e6c4a6ac1
Deprecate some internal methods from Parser
2024-08-26 09:24:03 +02:00
Fabien Potencier
157d36ae43
Update Node::__toString() to include the node tag if set
2024-08-24 17:28:38 +02:00
Fabien Potencier
b858e61ddb
Merge branch '3.x' into 4.x
...
* 3.x:
Deprecate not passing a BodyNode instance as the body of a ModuleNode constructor
Update a phpdoc (ModuleNode is final now)
2024-08-24 10:50:41 +02:00
Fabien Potencier
51e93aa130
Deprecate not passing a BodyNode instance as the body of a ModuleNode constructor
2024-08-24 10:49:53 +02:00
Fabien Potencier
34dce7cd9f
Merge branch '3.x' into 4.x
...
* 3.x:
Deprecate OptimizerNodeVisitor::OPTIMIZE_TEXT_NODES
2024-08-23 09:25:03 +02:00
Fabien Potencier
1fe2c00fa2
bug #4221 Deprecate OptimizerNodeVisitor::OPTIMIZE_TEXT_NODES (fabpot)
...
This PR was merged into the 3.x branch.
Discussion
----------
Deprecate OptimizerNodeVisitor::OPTIMIZE_TEXT_NODES
Refs #4146
While trying to debug #4146 , I realized that this optimization is not possible as we don't know how nodes are going to be used.
See the script provided in #4146 to reproduce the problem.
`@brandonkelly` Can you confirm that this fixes your problem? Maybe there is also an issue with yield vs echo, but the script provided in the issue runs fine for me after this PR.
Commits
-------
7121673c Deprecate OptimizerNodeVisitor::OPTIMIZE_TEXT_NODES
2024-08-23 09:23:28 +02:00
Fabien Potencier
7121673c9c
Deprecate OptimizerNodeVisitor::OPTIMIZE_TEXT_NODES
2024-08-23 09:22:06 +02:00
Ruud Kamphuis
53c24bfc33
Do not hide unnecessary escape characters
2024-08-21 19:42:26 +02:00
Fabien Potencier
878d2a200a
Merge branch '3.x' into 4.x
...
* 3.x:
Improve deprecation message
2024-08-21 19:39:57 +02:00
Ruud Kamphuis
90107929da
Improve deprecation message
...
See https://github.com/twigphp/Twig/pull/4199#discussion_r1723456834
2024-08-21 19:36:27 +02:00
Fabien Potencier
b5372f5764
Merge branch '3.x' into 4.x
...
* 3.x:
Fix CS
Remove obsolete comment
Resolves #4200
2024-08-20 18:12:56 +02:00
Fabien Potencier
302971f34e
Fix CS
2024-08-20 18:10:26 +02:00
Nikola Svitlica a.k.a TheCelavi
6ef13d1e0b
Resolves #4200
2024-08-20 17:30:37 +02:00
Fabien Potencier
5678ee080d
Merge branch '3.x' into 4.x
...
* 3.x:
Refactor code
Add a test
2024-08-20 17:21:22 +02:00
Fabien Potencier
31037d0e51
Refactor code
2024-08-20 15:39:54 +02:00
Fabien Potencier
63e35b9620
Add a test
2024-08-20 09:34:22 +02:00
Fabien Potencier
5820fba263
Merge branch '3.x' into 4.x
...
* 3.x:
Update CHANGELOG and docs
Swap BC layer for yield-ready and reclaim perf loss
Add test about version
2024-08-19 20:19:25 +02:00
Fabien Potencier
17997cf7fc
minor #4214 Add test about Environment version constants. (VincentLanglet)
...
This PR was merged into the 3.x branch.
Discussion
----------
Add test about Environment version constants.
Hi `@fabpot`
The Environment Version constants seems to be manually updated.
https://github.com/twigphp/Twig/blob/fe36e084b4e208c44e30886053c8594bb99bd78f/src/Environment.php#L46-L51
A mistake was made on the 3.11 version, the MAJOR_VERSION was set to 4 instead of 3
https://github.com/twigphp/Twig/blob/e80fb8ebba85c7341a97a9ebf825d7fd4b77708d/src/Environment.php#L48
It was fixed in another version, but I think it could be useful to have some test about the consistency of all those constants.
Such test would have fail for the 3.11 version and avoid the mistake.
Commits
-------
254abc8c Add test about version
2024-08-19 08:48:36 +02:00
Fabien Potencier
65048fa3bb
Fix CS
2024-08-18 19:27:14 +02:00
Fabien Potencier
15c0adb3ed
Merge branch '3.x' into 4.x
...
* 3.x:
Fix CS
2024-08-18 19:26:04 +02:00
Fabien Potencier
675cb2d141
Fix CS
2024-08-18 19:25:19 +02:00
Vincent Langlet
254abc8c4c
Add test about version
2024-08-18 18:25:33 +02:00
Fabien Potencier
d9f52db503
Merge branch '3.x' into 4.x
...
* 3.x:
Fix typos in CHANGELOG
2024-08-18 17:54:12 +02:00
Fabien Potencier
84116e5ff7
Fix typos in CHANGELOG
2024-08-18 17:52:16 +02:00
Simon André
470965fcc2
Add missing return types in 4.0
2024-08-17 23:10:07 +02:00
Fabien Potencier
22ff3f4f22
Merge branch '3.x' into 4.x
...
* 3.x:
Fix typos in CHANGELOG
Fix typo
Fix some minor issues
Add support for named arguments on special functions
2024-08-17 18:03:35 +02:00
Fabien Potencier
0c30e78b1c
Add support for named arguments on special functions
2024-08-16 08:37:24 +02:00
Fabien Potencier
d051ccde20
Merge branch '3.x' into 4.x
...
* 3.x:
Throw a SyntaxError exception at compile time when a Twig callable has not the minimum number of required arguments
2024-08-16 08:12:37 +02:00
Fabien Potencier
0823d23488
Throw a SyntaxError exception at compile time when a Twig callable has not the minimum number of required arguments
2024-08-15 23:00:02 +02:00
Fabien Potencier
a30d07eeb4
Remove obsolete code
2024-08-15 20:59:30 +02:00
Fabien Potencier
4bade436a4
Merge branch '3.x' into 4.x
...
* 3.x:
Extract a new CallableArgumentsExtractor class
Make Node::__toString() more readable
2024-08-15 20:57:57 +02:00
Fabien Potencier
e1705f8831
Extract a new CallableArgumentsExtractor class
2024-08-15 20:37:59 +02:00
Fabien Potencier
b431ecad3a
Make Node::__toString() more readable
2024-08-15 20:18:30 +02:00
Fabien Potencier
eaf04e53f0
Remove deprecated code
2024-08-14 23:34:13 +02:00
Fabien Potencier
abee6fc583
Merge branch '3.x' into 4.x
...
* 3.x:
Move FunctionExpression/FilterExpression/TestExpression attributes from compilation time to parsing time
Cleanup the implementation of the defined test for constants
2024-08-14 23:07:43 +02:00
Fabien Potencier
3156d8093e
Move FunctionExpression/FilterExpression/TestExpression attributes from compilation time to parsing time
2024-08-14 18:45:35 +02:00
Fabien Potencier
d7df8844e0
Merge branch '3.x' into 4.x
...
* 3.x:
Add missing method in TwigCallableInterface
Fix TwigCallableInterface
Simplify code
Make various optimization for dynamic Twig callables
2024-08-13 18:37:32 +02:00
Fabien Potencier
148d3e079d
Make various optimization for dynamic Twig callables
2024-08-12 09:45:32 +02:00
Fabien Potencier
91f29731d4
Merge branch '3.x' into 4.x
...
* 3.x:
Optimize stripcslashes
(minor) Prefer `className` over `classname`
Remove escape
Deprecate unnecessary escape characters
Micro-micro optimization
Simplify tests
2024-08-12 09:28:43 +02:00
Simon André
03012f190f
(minor) Prefer className over classname
...
For consistency with how it's written in the tested classes.
2024-08-12 08:16:07 +02:00
Ruud Kamphuis
c6656cf5d0
Deprecate unnecessary escape characters
...
See #4123 #2712
This allows to change the implementation in v4 so that we no longer have to escape backslashes.
2024-08-11 16:21:05 +02:00
Fabien Potencier
8a8f22131c
Simplify tests
2024-08-10 18:25:26 +02:00
Fabien Potencier
4a2fb5b460
Merge branch '3.x' into 4.x
...
* 3.x:
Add the notion of a Twig callable
Drop support for 8.0
Add more tests to the Lexer
Add a note about how to escape a string interpolation in a string
Bump version to 3.12
Implement the enum_cases function
Remove deprecation arg
Fix integration tests when a test has more than on data/expect section and deprecations
Bump version
Prepare the 3.11.0 release
Update CHANGELOG
2024-08-10 18:01:24 +02:00
Fabien Potencier
38250b91ca
Add more tests to the Lexer
2024-08-10 12:17:25 +02:00
Christophe Coevoet
ff4d01f940
Implement the enum_cases function
...
The implementation contains an optimized implementation of the function
for the common case of using a string literal as the argument. It will
validate the enum existence during compilation and compile the code to
use `MyEnum::cases()` directly.
2024-08-09 21:21:58 +02:00
Fabien Potencier
a5dc02bbc5
Fix integration tests when a test has more than on data/expect section and deprecations
2024-08-09 17:14:41 +02:00
Fabien Potencier
102bec30f6
Merge branch '3.x' into 4.x
...
* 3.x:
Add the possibility to deprecate attributes and nodes on Node
2024-08-08 14:50:31 +02:00
Fabien Potencier
18894cf91e
Add the possibility to deprecate attributes and nodes on Node
2024-08-08 14:48:20 +02:00