Commit Graph

73 Commits

Author SHA1 Message Date
itsalmostchristmas 2b4aa4458a Make embeds deterministic 2026-05-16 09:48:23 +01:00
Fabien Potencier 54d5c004b4 Deprecate passing a non-AbstractExpression node to Parser::setParent() 2026-02-22 15:28:59 +01:00
Fabien Potencier 861215c507 Fix CS 2026-02-07 09:07:38 +01:00
Vincent Langlet 790eee7ae0 Add throw tag to parse methods 2025-10-18 12:28:49 +02:00
Vincent Langlet cc12df995c Introduce registerUndefinedTestCallback 2025-09-16 07:40:27 +02:00
Fabien Potencier 3d760aec1c Avoid polluting ModuleNode::toString() with embedded templates 2025-02-28 08:57:55 +01:00
Fabien Potencier 151aa4ecda Fix CS 2025-02-14 12:57:03 +01:00
Fabien Potencier d6f539bb01 Avoid storing expression parser instances in Node attributes 2025-02-14 11:32:12 +01:00
Fabien Potencier 79d828b09d Fix version 2025-02-14 08:47:54 +01:00
Fabien Potencier 4b57f48a65 Use generics in ExpressionParsers 2025-02-14 08:38:53 +01:00
Fabien Potencier 8ff19090f3 Fix precedence rules 2025-02-14 08:38:53 +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 ade8bce516 Deprecate Token::getType() 2025-01-24 15:48:04 +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 89fdc7d31d Refactor code 2024-10-25 07:47:55 +02:00
Fabien Potencier fc15e7ccbc Rename Node classes related to variables 2024-10-23 12:36:57 +02:00
Fabien Potencier 1105964873 Rework macros handling 2024-10-20 21:53:20 +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 8b278986b8 Deprecate using Node directly, introduce EmptyNode and Nodes 2024-09-27 07:42:41 +02:00
Fabien Potencier 70b912fa10 minor #4228 Use CPP in full code base (andreybolonin)
This PR was squashed before being merged into the 3.x branch.

Discussion
----------

Use CPP in full code base

Commits
-------

28923f42 Use CPP in full code base
2024-08-29 19:29:42 +02:00
andreybolonin1989@gmail.com 28923f4269 Use CPP in full code base 2024-08-29 19:29:39 +02:00
Fabien Potencier 5fca700cbd Deprecate the fact that the extends and use tags are always allowed in a sandboxed template 2024-08-28 13:40:53 +02:00
Fabien Potencier 9e6c4a6ac1 Deprecate some internal methods from Parser 2024-08-26 09:24:03 +02:00
Fabien Potencier cf4727606a Move code from ExtendsTokenParser to Parser 2024-08-26 07:56:37 +02:00
Fabien Potencier 758be4dde3 Fix error message 2024-08-24 12:57:39 +02:00
Fabien Potencier 7173182537 Fix code 2024-08-24 10:55:34 +02:00
Fabien Potencier 0c75136162 Deprecate returning null from TokenParserInterface::parse() 2024-08-24 10:52:24 +02:00
Fabien Potencier 31037d0e51 Refactor code 2024-08-20 15:39:54 +02:00
Simon André c662e0ce27 Remove remaining const optimizations
After #4198 some `Token::` const optimization remains.

This PR remove them.. **in case** it was not intended
2024-08-15 19:11:55 +02:00
Fabien Potencier cd0ac3cc0a Remove const optimization 2024-08-12 09:40:52 +02:00
Fabien Potencier d2eab12e70 Add support for first class callables 2024-07-14 13:56:14 +02:00
Fabien Potencier b63bde3063 Optimize sprintf() calls for PHP 8.4 2024-06-21 08:16:55 +02:00
Fabien Potencier f7f11ea410 Fix CS 2024-02-10 09:52:03 +01:00
Fabien Potencier 2b2ac80d34 Fxi some errors reported by phpstan 2024-02-05 17:48:36 +01:00
Jérôme Tamarelle 1d5c09285f Use PHP 8.0 functions with polyfill 2023-10-08 17:11:07 +02:00
Fabien Potencier 5193653ecb Fix CS 2023-10-08 09:05:22 +02:00
Fabien Potencier e33577f1be Merge branch '2.x' into 3.x
* 2.x:
  do not reuse internally generated variable names during parsing
2022-02-25 09:30:09 +01:00
Christian Flothmann 1411c454c1 do not reuse internally generated variable names during parsing 2022-02-24 17:25:50 +01:00
Fabien Potencier 63b3ddd11a Merge branch '2.x' into 3.x
* 2.x:
  Hashing is not necessary to generate unique variable names during compilation
2021-12-14 15:28:12 -08:00
Jérôme Tamarelle ba2b4e6dfe Hashing is not necessary to generate unique variable names during compilation 2021-12-14 15:26:59 -08:00
Den 17c6371fb5 Some code style fixes 2021-05-14 10:26:05 +02:00
Fabien Potencier 2dd1d909b9 Fix CS 2021-05-12 09:37:17 +02:00
Fabien Potencier 81751d6671 Add "registerUndefinedTokenParserCallback" 2020-12-31 09:12:48 +01:00
Fabien Potencier dce7bd9e14 Merge branch '2.x' into 3.x
* 2.x:
  macros imported "globally" in a template are now available in macros without re-importing them
  added more tests
  added some tests
2019-05-17 14:16:15 +02:00
Fabien Potencier e138164015 macros imported "globally" in a template are now available in macros without re-importing them 2019-05-17 13:03:55 +02:00
Fabien Potencier b2fc808c1d Merge branch '2.x' into 3.x
* 2.x:
  fixed typo
  fixed tests
  fixed a PHP fatal error when calling a macro imported in the template in a nested block
  fixed typo
  added some tests
  fixed a regression
2019-05-17 08:14:55 +02:00
Fabien Potencier c8d2cc3ae5 Merge branch '1.x' into 2.x
* 1.x:
  fixed typo
2019-05-17 08:14:40 +02:00
Fabien Potencier b086d4f4bb fixed typo 2019-05-17 08:14:31 +02:00
Fabien Potencier e9a09d90c3 Merge branch '1.x' into 2.x
* 1.x:
  fixed a PHP fatal error when calling a macro imported in the template in a nested block
2019-05-17 08:09:05 +02:00