[8.4] Added support for __PROPERTY__ magic constant, represented using a Node\Scalar\MagicConst\Property node.
[8.4] Added support for property hooks, which are represented using a new hooks subnode on Node\Stmt\Property and Node\Param, which contains an array of Node\PropertyHook.
[8.4] Added support for asymmetric visibility modifiers. Property flags can now hold the additional bits Modifiers::PUBLIC_SET, Modifiers::PROTECTED_SET and Modifiers::PRIVATE_SET.
[8.4] Added support for generalized exit function. For backwards compatibility, exit without argument or a single plain argument continues to use a Node\Expr\Exit_ node. Otherwise (e.g. if a named argument is used) it will be represented as a plain Node\Expr\FuncCall.
Added support for passing enum values to various builder methods, like BuilderFactory::val().
Removed
Removed support for alternative array syntax $array{0} from the PHP 8 parser. It is still supported by the PHP 7 parser. This is necessary in order to support property hooks.
[8.4] Added support for __PROPERTY__ magic constant, represented using a
Node\Scalar\MagicConst\Property node.
[8.4] Added support for property hooks, which are represented using a new hooks subnode on
Node\Stmt\Property and Node\Param, which contains an array of Node\PropertyHook.
[8.4] Added support for asymmetric visibility modifiers. Property flags can now hold the
additional bits Modifiers::PUBLIC_SET, Modifiers::PROTECTED_SET and Modifiers::PRIVATE_SET.
[8.4] Added support for generalized exit function. For backwards compatibility, exit without
argument or a single plain argument continues to use a Node\Expr\Exit_ node. Otherwise (e.g.
if a named argument is used) it will be represented as a plain Node\Expr\FuncCall.
Added support for passing enum values to various builder methods, like BuilderFactory::val().
Removed
Removed support for alternative array syntax $array{0} from the PHP 8 parser. It is still
supported by the PHP 7 parser. This is necessary in order to support property hooks.
Version 5.1.0 (2024-07-01)
Added
[8.4] Added support for dereferencing new expressions without parentheses.
Fixed
Fixed redundant parentheses being added when pretty printing ternary expressions.
Changed
Made some phpdoc types more precise.
Version 5.0.2 (2024-03-05)
Fixed
Fix handling of indentation on next line after opening PHP tag in formatting-preserving pretty
printer.
Changed
Avoid cyclic references in Parser objects. This means that no longer used parser objects are
immediately destroyed now, instead of requiring cycle GC.
Update PhpVersion::getNewestSupported() to report PHP 8.3 instead of PHP 8.2.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on nikic/php-parser to permit the latest version.
Release notes
Sourced from nikic/php-parser's releases.
Changelog
Sourced from nikic/php-parser's changelog.
... (truncated)
Commits
23c79fb
Release PHP-Parser 5.2.0b9c8374
Run PHP 8.4 integration testsd0826bd
Add changelog entries5ea6c29
Exclude integration testb493c51
[8.4] Add support for asymmetric visibility modifiers54139ca
Disable fail-fastcde9bab
Add support for PHP 8.4 exit function018da15
Add token emulation support for asymmetric visibility modifiersba14437
chore: fix comment4a22c15
Validate options in test_oldDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show