#
a1ccf577 |
| 24-Sep-2023 |
Nikita Popov |
Introduce Stmt\Block Stmt\Block will be created for { $a; } style blocks, unless these occur directly inside some structure that is usually combined with a block. For exampl
Introduce Stmt\Block Stmt\Block will be created for { $a; } style blocks, unless these occur directly inside some structure that is usually combined with a block. For example if ($a) { $b; } will continue to use the old representation (plain array in in If_::$stmts), but a free-standing { $b; } will become a Stmt\Block. Fixes #590.
show more ...
|
#
23647573 |
| 21-May-2023 |
Nikita Popov |
Represent names using string rather than array of parts In most circumstances we are interested in the whole string, not the parts split by namespace separator. As names are common, this
Represent names using string rather than array of parts In most circumstances we are interested in the whole string, not the parts split by namespace separator. As names are common, this representation measurably improves memory usage and performance.
show more ...
|
#
9a5d5c11 |
| 20-May-2023 |
Nikita Popov |
Add newline at end of file for many tests Add the newline in reconstructTest() and run updateTests.php, to reduce spurious diffs in the future.
|
#
4c22c627 |
| 13-Sep-2020 |
Tomas Votruba |
[PHP 8.0] Add attributes support (#661) Adds support for PHP 8 attributes, represented using `AttrGroup` nodes containing `Attribute` nodes. The `attrGroup` subnode is added to all n
[PHP 8.0] Add attributes support (#661) Adds support for PHP 8 attributes, represented using `AttrGroup` nodes containing `Attribute` nodes. The `attrGroup` subnode is added to all nodes that can have attributes. This is still missing FPPP support. Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
show more ...
|
Revision tags: v4.3.0, v4.2.5, v4.2.4, v4.2.3, v4.2.2, v4.2.1, v4.2.0, v4.1.1, v4.1.0, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v3.1.5, v4.0.0beta1, v3.1.4, v4.0.0alpha3, v3.1.3, v4.0.0alpha2, v3.1.2, v4.0.0alpha1, v3.1.1, v3.1.0, v3.0.6 |
|
#
a6846e3b |
| 28-Apr-2017 |
Nikita Popov |
Always use Identifier nodes The parser will now always generate Identifier nodes (for non-namespaced identifiers). This obsoletes the useIdentifierNodes parser option. Node
Always use Identifier nodes The parser will now always generate Identifier nodes (for non-namespaced identifiers). This obsoletes the useIdentifierNodes parser option. Node constructors still accepts strings and will implicitly create an Identifier wrapper. Identifier implement __toString(), so that outside of strict-mode many things continue to work without changes.
show more ...
|
Revision tags: v3.0.5, v3.0.4 |
|
#
df98b041 |
| 09-Feb-2017 |
Nikita Popov |
Handle "extends static" etc more gracefully Use class_name production and emit the same error as for "extends self" and "extends parent". It's weird that "extends static" gives a dif
Handle "extends static" etc more gracefully Use class_name production and emit the same error as for "extends self" and "extends parent". It's weird that "extends static" gives a different result than those two.
show more ...
|
Revision tags: v3.0.3 |
|
#
953f8c96 |
| 19-Jan-2017 |
Nikita Popov |
Perform automated test update
|
Revision tags: v3.0.2, v3.0.1, v3.0.0, v3.0.0beta2 |
|
#
caa5c0cc |
| 08-Oct-2016 |
Nikita Popov |
Graceful handling for "special" errors Nearly all special errors are now handled gracefully, i.e. the parser will be able to continue after encountering them. In some cases the assoc
Graceful handling for "special" errors Nearly all special errors are now handled gracefully, i.e. the parser will be able to continue after encountering them. In some cases the associated error range has been improved using the new end attribute stack. To achieve this the error handling code has been moved out of the node constructors and into special methods in the parser.
show more ...
|
Revision tags: v3.0.0beta1, v2.1.1, v3.0.0alpha1, v2.1.0, v2.0.1, v2.0.0, v2.0.0beta1, v1.4.1, v2.0.0alpha1, v1.4.0, v1.3.0 |
|
#
0731b476 |
| 30-Apr-2015 |
Nikita Popov |
Don't distinguish test-fail / test With error recovery this is fluid. Using .test for everything.
|