Update dependency nikic/php-parser to v5
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| nikic/php-parser | ^4.15.3 -> ^5.2.0 |
Release Notes
nikic/PHP-Parser (nikic/php-parser)
v5.2.0
Added
- [8.4] Added support for
__PROPERTY__magic constant, represented using aNode\Scalar\MagicConst\Propertynode. - [8.4] Added support for property hooks, which are represented using a new
hookssubnode onNode\Stmt\PropertyandNode\Param, which contains an array ofNode\PropertyHook. - [8.4] Added support for asymmetric visibility modifiers. Property
flagscan now hold the additional bitsModifiers::PUBLIC_SET,Modifiers::PROTECTED_SETandModifiers::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 plainNode\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.
v5.1.0
Added
- [8.4] Added support for dereferencing
newexpressions without parentheses.
Fixed
- Fixed redundant parentheses being added when pretty printing ternary expressions.
Changed
- Made some phpdoc types more precise.
v5.0.2
Fixed
- Fix handling of indentation on next line after opening PHP tag in formatting-preserving pretty printer.
Changed
- Avoid cyclic references in
Parserobjects. 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.
v5.0.1
Changed
- Added check to detect use of PHP-Parser with libraries that define
T_*compatibility tokens with incorrect type (such as string instead of int). This would lead toTypeErrors down the line. Now anErrorwill be thrown early to indicate the problem.
v5.0.0
See UPGRADE-5.0 for detailed migration instructions.
Fixed
- Fixed parent class of
PropertyItemandUseItem.
v4.19.1: PHP-Parser 4.19.1
Fixed
- Fixed "Optional parameter before required parameter" deprecation warning introduced in previous version.
v4.19.0: PHP-Parser 4.19.0
Changed
- Do not use implicitly nullable parameters, which are deprecated in PHP 8.4.
- Remove support for running on PHP 7.0, which does not support explicitly nullable parameters.
v4.18.0: PHP-Parser 4.18.0
Added
- Added methods
ParserFactory::createForNewestSupportedVersion()andParserFactory::createForHostVersion()for forward-compatibility with PHP-Parser 5.0.
Fixed
- Fixed missing name resolution of class constant types.
- Fixed class members being dropped if an error is encountered while parsing a later class member (when error recovery is enabled).
Changed
- The
grammar/directory has been excluded from exported git archives.
v4.17.1: PHP-Parser 4.17.1
Fixed
- Fixed phpdoc mismatches for
ClassConst::$typeintroduced in previous release.
v4.17.0: PHP-Parser 4.17.0
Added
- [PHP 8.3] Added support for typed class constants.
- [PHP 8.3] Added supprot for dynamic class constant fetch.
- [PHP 8.3] Added support for readonly anonymous classes.
Fixed
- Fixed missing required parentheses when pretty printing new with an expression class name.
- Fixed missing required parentheses when pretty printing
(CONST)::$xand similar.
v4.16.0: PHP-Parser 4.16.0
Added
- Added
Name::getParts()method for forward-compatibility with PHP-Parser 5.
Deprecated
- Deprecated direct access to
Name::$parts, which will be removed in PHP-Parser 5.
v4.15.5: PHP-Parser 4.15.5
Added
- Added
makePrivate(),makeProtected(),makePublic()andmakeReadonly()methods toBuilder\Paramto allow the creation of promoted parameters.
v4.15.4: PHP-Parser 4.15.4
Fixed
- Fixed formatting-preservation for alternative if syntax with trailing comments.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
Read more about the use of Renovate Bot within ocramius/* projects.
⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: composer.lock
Command failed: composer update nikic/php-parser:5.0.2 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires nikic/php-parser ^5.0.2, found nikic/php-parser[v5.0.2] but these were not loaded, likely because it conflicts with another require.
Problem 2
- vimeo/psalm is locked to version 5.4.0 and an update of this package was not requested.
- vimeo/psalm 5.4.0 requires nikic/php-parser ^4.13 -> found nikic/php-parser[v4.13.0, ..., v4.18.0] but it conflicts with your root composer.json require (^5.0.2).
Problem 3
- phpunit/php-code-coverage 9.2.23 requires nikic/php-parser ^4.14 -> found nikic/php-parser[v4.14.0, ..., v4.18.0] but it conflicts with your root composer.json require (^5.0.2).
- phpunit/phpunit 9.5.28 requires phpunit/php-code-coverage ^9.2.13 -> satisfiable by phpunit/php-code-coverage[9.2.23].
- phpunit/phpunit is locked to version 9.5.28 and an update of this package was not requested.
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: composer.lock
Command failed: composer update nikic/php-parser:5.2.0 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires nikic/php-parser ^5.2.0, found nikic/php-parser[v5.2.0] but these were not loaded, likely because it conflicts with another require.
Problem 2
- vimeo/psalm is locked to version 5.4.0 and an update of this package was not requested.
- vimeo/psalm 5.4.0 requires nikic/php-parser ^4.13 -> found nikic/php-parser[v4.13.0, ..., v4.19.1] but it conflicts with your root composer.json require (^5.2.0).
Problem 3
- phpunit/php-code-coverage 9.2.23 requires nikic/php-parser ^4.14 -> found nikic/php-parser[v4.14.0, ..., v4.19.1] but it conflicts with your root composer.json require (^5.2.0).
- phpunit/phpunit 9.5.28 requires phpunit/php-code-coverage ^9.2.13 -> satisfiable by phpunit/php-code-coverage[9.2.23].
- phpunit/phpunit is locked to version 9.5.28 and an update of this package was not requested.
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.