History log of /PHP-Parser/lib/PhpParser/Node/Stmt/ClassLike.php (Results 1 – 22 of 22)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


# e1345f0c 03-Sep-2022 Nikita Popov

Rename Stmt\PropertyProperty to PropertyItem


# 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 ...


# 9c5eb3cc 04-Jun-2022 Nikita Popov

Add some missing type annotations


# f4b835f7 06-Dec-2021 Ondrej Mirtes

Fix PHPDoc type of namespacedName properties


# f09f2276 27-Nov-2021 Nikita Popov

Declare namespacedName property

For historical reasons, this property is used by the NameResolver
(in default mode). Declare it explicitly, rather than using a doc
comment.


# 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 ...


# 64f4d5b6 27-Dec-2019 Ruud Kamphuis

Add `getProperty` to `ClassLike`


Revision tags: v4.3.0, v4.2.5, v4.2.4
# 006acba0 30-Aug-2019 Tomas Votruba

add getTraitUses() method to ClassLike


# 005bb1db 30-Aug-2019 Tomas Votruba

add getProperties() and getConstants() to ClassLike


Revision tags: v4.2.3, v4.2.2, 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
# 7f72c841 10-Jan-2018 Gabriel Caruso

[CS] Open class brackets in new line


Revision tags: v4.0.0alpha3, v3.1.3, v4.0.0alpha2, v3.1.2, v4.0.0alpha1, v3.1.1
# e2e99f26 18-Aug-2017 TomasVotruba

Add strict_types to lib code


# d97cc3d9 15-Aug-2017 Nikita Popov

Add toLowerString() method to Name and Identifier

Avoids patterns like strtolower((string) $name) when using
strict types.


# 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
# aea3a9ef 20-Jan-2017 Nikita Popov

Add @property annotations for namespacedName


# ced914a3 19-Jan-2017 Nikita Popov

Update doc comments to be more specific

Now $stmts arrays really only contains Stmt nodes.


Revision tags: v3.0.2, v3.0.1, v3.0.0, v3.0.0beta2
# f66cf8f0 21-Oct-2016 Matthew Brown

$name can be null for PHP 7 anonymous classes


Revision tags: 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
# d341d949 14-Jul-2015 Nikita Popov

Add ClassLike::getMethod($name)

To allow getting individual method with a given name.


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 ...


# 1366e833 31-Jan-2015 Tom Rochette

Move getMethods() to new ClassLike node

Class_, Interface_ and Trait_ extend the ClassLike node, which
provides the getMethods() method.