Added
- [8.4] Added support for
__PROPERTY__
magic constant, represented using aNode\Scalar\MagicConst\Property
node. - [8.4] Added support for property hooks, which are represented using a new
hooks
subnode onNode\Stmt\Property
andNode\Param
, which contains an array ofNode\PropertyHook
. - [8.4] Added support for asymmetric visibility modifiers. Property
flags
can now hold the additional bitsModifiers::PUBLIC_SET
,Modifiers::PROTECTED_SET
andModifiers::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.