#
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 ...
|
#
4917c71a |
| 03-Sep-2022 |
Nikita Popov |
Rename Stmt\UseUse to UseItem
|
#
d3d1297c |
| 06-Jun-2022 |
Nikita Popov |
Remove PHP 5 parser
|
#
a63b495f |
| 23-Jul-2020 |
Nikita Popov |
Migrate grammar to use PHP 8 T_NAME_* tokens This will break everything on PHP < 8.
|
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 |
|
#
3da18976 |
| 28-Apr-2017 |
Nikita Popov |
Distinguish between implicit/explicit alias The UseUse::$alias node can now be null if an alias is not explicitly given. As such "use Foo\Bar" and "use Foo\Bar as Bar" are now repres
Distinguish between implicit/explicit alias The UseUse::$alias node can now be null if an alias is not explicitly given. As such "use Foo\Bar" and "use Foo\Bar as Bar" are now represented differently. The UseUse->getAlias() method replicates the previous semantics, by returning "Bar" in both cases.
show more ...
|
#
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 |
|
#
a8eb2fc6 |
| 08-Feb-2017 |
Nikita Popov |
Support recovery from invalid trailing commas
|
#
62877b5d |
| 05-Feb-2017 |
Nikita Popov |
Recover from missing semicolons on statements
|
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, v3.0.0beta1, v2.1.1, v3.0.0alpha1 |
|
#
1dea9111 |
| 25-Jul-2016 |
Nikita Popov |
NodeDumper: Resolve type for include/use as well
|
#
96cbd48d |
| 20-Apr-2016 |
Nikita Popov |
Improve error recovery quality In particular, support recovering from a missing trailing semicolon, while keeping the rest of the expression.
|
Revision tags: v2.1.0, v2.0.1, v2.0.0, v2.0.0beta1, v1.4.1 |
|
#
f57d217e |
| 20-Aug-2015 |
Nikita Popov |
Update group use support To conform with current PHP 7 implementation * Allow use \Foo\{Bar}; * Disallow use Foo\{\Bar}; * Disallow missing trailing semicolon (that was a bu
Update group use support To conform with current PHP 7 implementation * Allow use \Foo\{Bar}; * Disallow use Foo\{\Bar}; * Disallow missing trailing semicolon (that was a bug)
show more ...
|