#
03caf4cc |
| 14-Jul-2024 |
Nikita Popov |
[8.4] Add support for property hooks Add hooks subnode to Stmt\Property and Param, which contains an array of PropertyHook. The property hook support is considered experimental
[8.4] Add support for property hooks Add hooks subnode to Stmt\Property and Param, which contains an array of PropertyHook. The property hook support is considered experimental and subject to change. RFC: https://wiki.php.net/rfc/property-hooks
show more ...
|
#
8d50e9d0 |
| 03-Oct-2023 |
xjaja <5057757+xjaja@users.noreply.github.com> |
Don't drop class statements before error (#952) When encountering a null statement (indicating that an error occurred), retain the preceding statements. These were accidentally dropped
Don't drop class statements before error (#952) When encountering a null statement (indicating that an error occurred), retain the preceding statements. These were accidentally dropped previously. (cherry picked from commit 54103d838734be0499172026525e38cbf6af2711)
show more ...
|
#
b4183c2b |
| 25-Sep-2023 |
Nikita Popov |
Remove Stmt\Throw This was a backwards-compatibility shim for Expr\Throw.
|
#
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 ...
|
#
5c267f55 |
| 20-May-2023 |
Nikita Popov |
Add support for typed constants RFC: https://wiki.php.net/rfc/typed_class_constants
|
#
4917c71a |
| 03-Sep-2022 |
Nikita Popov |
Rename Stmt\UseUse to UseItem
|
#
e1345f0c |
| 03-Sep-2022 |
Nikita Popov |
Rename Stmt\PropertyProperty to PropertyItem
|
#
03ccfa3d |
| 03-Sep-2022 |
Nikita Popov |
Rename Stmt\DeclareDeclare to DeclareItem
|
#
23835d20 |
| 03-Sep-2022 |
Nikita Popov |
Rename Scalar\LNumber to Scalar\Int_
|
#
f5b56a5c |
| 03-Sep-2022 |
Nikita Popov |
Remove MODIFIER_ prefix from node dumps These constants are now called Modifiers::PUBLIC rather than Class_::MODIFIER_PUBLIC etc, so update the dumped name as well.
|
#
035c1c7c |
| 02-Sep-2022 |
Nikita Popov |
Rename Stmt\StaticVar to StaticVar This is part of a statement, not a statement by itself.
|
#
8be56afd |
| 02-Sep-2022 |
Nikita Popov |
Rename Expr\ArrayItem to ArrayItem Array items are not expressions by themselves.
|
#
d3d1297c |
| 06-Jun-2022 |
Nikita Popov |
Remove PHP 5 parser
|
#
678ccbe0 |
| 15-May-2022 |
Tomas Votruba |
[PHP 8.2] Add readonly class support (#834) RFC: https://wiki.php.net/rfc/readonly_classes PHP implementation: php/php-src#7305
|
#
c758510a |
| 09-Jul-2021 |
Nikita Popov |
Add support for PHP 8.1 With the introduction of intersection types, PHP now lexes the token '&' either as T_AMPERSAND_(NOT_)FOLLOWED_BY_VAR_OR_VARARG. This completely breaks parsing
Add support for PHP 8.1 With the introduction of intersection types, PHP now lexes the token '&' either as T_AMPERSAND_(NOT_)FOLLOWED_BY_VAR_OR_VARARG. This completely breaks parsing of any code containing '&'. Fix this by canonicalizing to the new token format (unconditionally, independent of emulation) and adjusting the parser to use the two new tokens. This doesn't add actual support for intersection types yet.
show more ...
|
#
d3d1ee47 |
| 08-Dec-2020 |
Nikita Popov |
Fix #738 incorrect start line for traits Empty productions are supposed to be assigned the start attributes of the lookahead token. Currently, this happens by assigning above the cur
Fix #738 incorrect start line for traits Empty productions are supposed to be assigned the start attributes of the lookahead token. Currently, this happens by assigning above the current stack position when the token it read. This fails in a situation where we first reduce an empty production higher up in the stack, and then again reduce an empty production lower in the stack, without consuming the lookahead token in the meantime. Fix this by moving the assignment into the reduction phase. We also need to do this for error productions, which are effectively empty.
show more ...
|
#
8a97fa15 |
| 19-Sep-2020 |
Nikita Popov |
Recover from missing semicolon after property or class const Fixes #712.
|
#
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 ...
|
#
98f7f39d |
| 09-Aug-2020 |
Nikita Popov |
Add named argument support Not adding any explicit FPPP support, as I don't think add/remove of names can be handled any better than full reformatting.
|
#
2d199893 |
| 22-Jul-2020 |
Nikita Popov |
[PHP 8.0] Support trailing comma in closure use list RFC: https://wiki.php.net/rfc/trailing_comma_in_closure_use_list
|
#
b58b19ed |
| 07-Jun-2020 |
TomasVotruba |
Add constructor promotion support
|
#
244db65d |
| 12-Jun-2020 |
TomasVotruba |
[PHP 8.0] Add trailing comma in parameter list
|
Revision tags: v4.3.0, v4.2.5, v4.2.4, v4.2.3, v4.2.2 |
|
#
94d93f27 |
| 24-May-2019 |
Nikita Popov |
Revert "Recover from error inside alternative array deref syntax" This reverts commit 9d44edf85dc5882e45fed37a6c541bf20e7c8495.
|
#
9d44edf8 |
| 12-May-2019 |
Nikita Popov |
Recover from error inside alternative array deref syntax This is to improve error recovery for cases like #545.
|