HypeMC
d56e8e2dba
Support short-circuiting in null-safe operator chains
2026-02-06 22:36:57 +01:00
Fabien Potencier
8a0f8acbdf
Add support for object and mapping destructuring
2026-01-21 13:21:14 +01:00
Fabien Potencier
76c404ec67
Rename classes
2026-01-21 13:14:16 +01:00
Fabien Potencier
bb99af3b39
Assignment operator array destructuring
2026-01-21 08:46:28 +01:00
Fabien Potencier
bfbbef05f2
Add the = assignment operator
2026-01-19 16:39:57 +01:00
Fabien Potencier
6904954165
Tweak null-safe operator implementation
2026-01-17 15:11:37 +01:00
Felds Liscia
263c04fd1f
Add null-safe operator
2026-01-17 14:57:47 +01:00
Fabien Potencier
94c8bdd6a6
Add === and !== operators
2026-01-14 09:58:48 +01:00
Simon André
e4d7915702
Compile 'index' with repr (not string) in EmbedNode
...
Before this fix, the generated Template code had quotes around the
index (integer) parameter value.
2025-09-25 08:28:51 +02:00
Nicolas Grekas
85a4817128
CS fixes
2025-07-29 10:07:07 +02:00
Fabien Potencier
09f9a22310
Fix wrong array index (again)
2025-03-21 09:42:17 +01:00
Christian Flothmann
e31a6e4534
use EmptyNode instead of an Nodes instance without children
2025-02-28 22:12:08 +01:00
Alexandre Daubois
81c1fcc7d6
Fix ModuleNode instanciation when $embeddedTemplates is null
2025-02-28 20:12:40 +01:00
Fabien Potencier
3d760aec1c
Avoid polluting ModuleNode::toString() with embedded templates
2025-02-28 08:57:55 +01:00
Fabien Potencier
d7702840da
Remove $templateName from Template::loadTemplate()
2025-02-21 23:48:41 +01:00
Fabien Potencier
1c6ac163c9
minor #4589 Make in_array() calls strict (alexandre-daubois)
...
This PR was merged into the 3.x branch.
Discussion
----------
Make `in_array()` calls strict
I propose to add `strict: true` to all calls to `in_array()`, making the calls faster.
Commits
-------
9c6b95f2a6 Make `in_array()` calls strict
2025-02-21 19:06:58 +01:00
Fabien Potencier
d72c1c6b1e
Fix testing and expression when it evaluates to an instance of Markup
2025-02-21 18:29:32 +01:00
Fabien Potencier
2d84abfd08
Make the defined test implementation more generic
2025-02-21 08:36:21 +01:00
Alexandre Daubois
9c6b95f2a6
Make in_array() calls strict
2025-02-19 15:29:33 +01:00
Fabien Potencier
151aa4ecda
Fix CS
2025-02-14 12:57:03 +01:00
Fabien Potencier
3964aeba78
Add a proper prefix spread operator
2025-02-14 11:45:39 +01:00
Fabien Potencier
f67078b5c4
Move Operators to ExpressionParsers, deprecate ExpressionParser
2025-02-14 08:38:53 +01:00
Fabien Potencier
42c82e1e9b
Extract operators logic from ExpressionParser to their own classes
2025-02-14 08:38:53 +01:00
Fabien Potencier
9ccca47b8a
Add UnaryInterface
2025-02-03 21:23:35 +01:00
Fabien Potencier
fa1ffb5b29
Add BinaryInterface
2025-02-03 19:21:18 +01:00
Fabien Potencier
7f080086dc
Fix wrong array index
2025-02-01 16:22:20 +01:00
Fabien Potencier
b0399992be
Fix wrong array index
2025-02-01 10:33:30 +01:00
Fabien Potencier
445f74cfe0
[SECURITY] Fix a security issue where escaping was missing when using ??
2025-01-29 07:52:07 +01:00
Fabien Potencier
f594248a40
Fix CS
2025-01-26 11:54:00 +01:00
Fabien Potencier
609767522a
Add ForElseNode
2025-01-24 15:25:30 +01:00
Fabien Potencier
9d16de6e3d
Deprecate passing $ifexpr to ForNode
2025-01-24 15:01:34 +01:00
Fabien Potencier
b6d9dd62ee
Fix inheritance logic to be able to use instanceof ContextVariable instead of NameExpression
2025-01-24 13:47:29 +01:00
Fabien Potencier
72c91f6260
minor #4534 Add return type annotations on Twig 3 to prepare Twig 4 (smnandre)
...
This PR was squashed before being merged into the 3.x branch.
Discussion
----------
Add return type annotations on Twig 3 to prepare Twig 4
Started to add missing type annotation following `@stof` comment [here](https://github.com/twigphp/Twig/pull/4523#discussion_r1901915880 ).
Update: I checked here every class (but one) in the `src` directory.
But you should ~~probably~~ **certainely** have another look.
Remains:
- src/ExpressionParser.php, where i'm not confident enough about the best return types (AbstractExpression|null works almost everytime, but lack some precision)
- extra directory
- tests directory
I'm happy to let them to someone else.... this was less fun than I expected 😅
Commits
-------
82be13429c Add return type annotations on Twig 3 to prepare Twig 4
2025-01-24 11:33:02 +01:00
Simon André
82be13429c
Add return type annotations on Twig 3 to prepare Twig 4
2025-01-24 11:32:59 +01:00
Fabien Potencier
a998723b70
Fix constant() behavior when used with ??
2025-01-14 17:55:21 +01:00
Fabien Potencier
efd12ef0cc
Optimize NameExpression compilation
2025-01-02 12:32:36 +01:00
Simon André
81ebebb210
Remove dead method in ModuleNode
...
This method is not used after 1.x (it was used in the compileConstructor)https://github.com/twigphp/Twig/blob/b1f009c449e435a0384814e67205d9190a4d050e/src/Node/ModuleNode.php#L206 and has no caller since 2.x https://github.com/twigphp/Twig/blob/19185947ec75d433a3ac650af32fc05649b95ee1/src/Node/ModuleNode.php#L174
ModuleNode is marked final so I guess we can remove it safely.
2025-01-02 07:17:52 +01:00
Simon André
dc329fd44e
Fix MacroNode $name argument can be overridden
...
Fix #4515
2024-12-26 10:28:13 +01:00
Fabien Potencier
4c5467f56a
Fix the null coalescing operator when the test returns null
2024-12-12 10:17:22 +01:00
Christian Flothmann
f90105d0ac
fix version numbers for deprecations
2024-12-02 10:21:03 +01:00
Fabien Potencier
616cd06914
Remove deprecate usage of AssignNameExpression in For Node
2024-12-01 10:44:44 +01:00
Fabien Potencier
14fc89ebea
Fix CS
2024-11-30 09:42:13 +01:00
Fabien Potencier
44516133e2
Fix CS
2024-11-30 09:33:57 +01:00
Fabien Potencier
4f8ba93600
Enforce AbstractBinary for all binary operators
2024-11-29 16:51:09 +01:00
Fabien Potencier
02cec77619
Simplify EscaperNodeVisitor code
2024-11-28 11:53:08 +01:00
Fabien Potencier
c384fb4d8c
bug #4475 Fix having macro variables starting with an underscore (fabpot)
...
This PR was merged into the 3.x branch.
Discussion
----------
Fix having macro variables starting with an underscore
Closes #4452
Commits
-------
bdb0f3c042 Fix having macro variables starting with an underscore
2024-11-26 21:41:33 +01:00
Fabien Potencier
bdb0f3c042
Fix having macro variables starting with an underscore
2024-11-26 16:59:45 +01:00
Fabien Potencier
0176de0fa9
Fix CS
2024-11-26 16:57:59 +01:00
Fabien Potencier
c8494b8ff9
feature #4465 Forbid adding Nodes to EmptyNode (fabpot)
...
This PR was merged into the 3.x branch.
Discussion
----------
Forbid adding Nodes to EmptyNode
Commits
-------
ff55f590e7 Forbid adding Nodes to EmptyNode
2024-11-21 21:19:17 +01:00
Fabien Potencier
ff55f590e7
Forbid adding Nodes to EmptyNode
2024-11-21 08:47:22 +01:00