History log of /PHP-Parser/lib/PhpParser/Node/Expr/Array_.php (Results 1 – 18 of 18)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 2d3dd4e2 17-Sep-2023 Nikita Popov

Don't align phpdoc tags

I did this to start with, but then alignment kept being broken
during refactorings, and at some point I switched to not aligning,
and now we have a big mess.

Don't align phpdoc tags

I did this to start with, but then alignment kept being broken
during refactorings, and at some point I switched to not aligning,
and now we have a big mess.

Add a php-cs-fixer rule to consistently not align phpdoc tags.

show more ...


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


# 8be56afd 02-Sep-2022 Nikita Popov

Rename Expr\ArrayItem to ArrayItem

Array items are not expressions by themselves.


# 09339862 01-Sep-2022 Nikita Popov

Make sure Array nodes can not contain null

Now that destructuring is always represented using List nodes,
make sure that Array nodes can no longer contain null elements,
so well-type

Make sure Array nodes can not contain null

Now that destructuring is always represented using List nodes,
make sure that Array nodes can no longer contain null elements,
so well-typed code doesn't have to deal with them unnecessarily.

If an array does contain empty elements, these are now result in
an error and are represented as a ArrayItem with Error value if
error recovery is used.

The implementation is a bit tricky because at the time the Array
node is created, we cannot tell whether it will be used in a
creation or destructuring context. For this reason the error
reporting is delayed parsing has finished.

Closes #876.

show more ...


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


# 050342b5 04-Jul-2022 MathiasReker

Add visibility modifiers to constants

Closes GH-848.


# 54fc023b 08-Aug-2020 Alex

Update Array_ annotations, items are nullable (#696)

When used to destructure, items are optional. E.g. `[$a, , $b] = [1, 2, 3];`.


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


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
# aa199120 09-Mar-2016 Nikita Popov

Add kind attribute for arrays

To distinguish array() and [] syntax. The pretty printer respects
this attribute. The shortArraySyntax pretty printer option acts as
a default in case t

Add kind attribute for arrays

To distinguish array() and [] syntax. The pretty printer respects
this attribute. The shortArraySyntax pretty printer option acts as
a default in case the attribute is not specified.

show more ...


Revision tags: 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
# c341ab2e 02-Apr-2014 Nikita Popov

Make autoloader for new names PSR-0 compliant