#
ea778075 |
| 17-Aug-2023 |
Nikita Popov |
Add more property types Some of these are not maximally accurate due to lack of union types.
|
#
502b0909 |
| 16-Aug-2023 |
Nikita Popov |
Add property types Types omitted in two places where we violate them currently: Namespace_::$stmts can be null during parsing, and Enum_::$scalarType can be a complex type for invali
Add property types Types omitted in two places where we violate them currently: Namespace_::$stmts can be null during parsing, and Enum_::$scalarType can be a complex type for invalid programs.
show more ...
|
#
a099803d |
| 11-Sep-2022 |
Nikita Popov |
Use array<string, mixed> type for $attributes Slightly more accurate, and stops PHPStan from complaining about the missing array type information.
|
#
dd63ddbc |
| 28-Aug-2022 |
Nikita Popov |
Add php-cs-fixer config and reformat The formatting in this project has become something of a mess, because it changed over time. Add a CS fixer config and reformat to the desired st
Add php-cs-fixer config and reformat The formatting in this project has become something of a mess, because it changed over time. Add a CS fixer config and reformat to the desired style, which is PSR-12, but with sane brace placement.
show more ...
|
#
a45fb2a6 |
| 12-Sep-2021 |
Nikita Popov |
Add CallLike parent class This provides a helper to determine whether a call is a first-class callable, and a way to strip the args type to Arg[] if it isn't.
|
Revision tags: v4.3.0, v4.2.5, v4.2.4, v4.2.3, v4.2.2 |
|
#
993f2990 |
| 12-May-2019 |
Nikita Popov |
Avoid parent constructor call during node construction Instead explicitly assign the attributes. This is a minor performance improvement.
|
Revision tags: 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 |
|
#
248b29ec |
| 10-Jan-2018 |
Gabriel Caruso |
Add public visibility to getType method (#463)
|
Revision tags: v4.0.0alpha3, v3.1.3 |
|
#
1c11626f |
| 12-Nov-2017 |
Nikita Popov |
Add explicit getType() methods Rather than automatically deriving getType() from the class name.
|
Revision tags: v4.0.0alpha2, v3.1.2, v4.0.0alpha1, v3.1.1 |
|
#
e2e99f26 |
| 18-Aug-2017 |
TomasVotruba |
Add strict_types to lib code
|
#
ec535ea1 |
| 13-Aug-2017 |
TomasVotruba |
[cs] use PHP 5.4 short array, since PHP 7.0 is min version
|
Revision tags: v3.1.0, v3.0.6 |
|
#
a32e3797 |
| 28-Apr-2017 |
Nikita Popov |
Generate PHP 7 type annotations
|
#
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, v3.0.3, v3.0.2, v3.0.1, v3.0.0, v3.0.0beta2, v3.0.0beta1, v2.1.1, v3.0.0alpha1, v2.1.0, v2.0.1, v2.0.0, v2.0.0beta1, v1.4.1, v2.0.0alpha1, v1.4.0 |
|
#
29b9015f |
| 02-May-2015 |
Nikita Popov |
Drop support for old Node format
|
Revision tags: v1.3.0, v1.2.2, v1.2.1, v1.2.0 |
|
#
a2d7e897 |
| 28-Feb-2015 |
Nikita Popov |
Use real properties for storing subnodes Instead of storing subnodes in a subNodes dictionary, they are now stored as simple properties. This requires declarating the properties, ass
Use real properties for storing subnodes Instead of storing subnodes in a subNodes dictionary, they are now stored as simple properties. This requires declarating the properties, assigning them in the constructor, overriding the getSubNodeNames() method and passing NULL to the first argument of the NodeAbstract constructor. [Deprecated: It's still possible to use the old mode of operation for custom nodes by passing an array of subnodes to the constructor.] The only behavior difference this should cause is that getSubNodeNames() will always return the original subnode names and skip any additional properties that were dynamically added. E.g. this means that the "namespacedName" node added by the NameResolver visitor is not treated as a subnode, but as a dynamic property instead. This change improves performance and memory usage.
show more ...
|
Revision tags: v1.1.0, v1.0.2, v1.0.1, v1.0.0, v1.0.0beta2, v0.9.5, v1.0.0beta1 |
|
#
f82862ec |
| 06-Feb-2014 |
nikic |
Port library to use namespaces, with BC for old names
|