History log of /PHP-Parser/test/code/parser/errorHandling/recovery.test (Results 1 – 25 of 54)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 03caf4cc 14-Jul-2024 Nikita Popov

[8.4] Add support for property hooks

Add hooks subnode to Stmt\Property and Param, which contains an
array of PropertyHook.

The property hook support is considered experimental

[8.4] Add support for property hooks

Add hooks subnode to Stmt\Property and Param, which contains an
array of PropertyHook.

The property hook support is considered experimental and subject
to change.

RFC: https://wiki.php.net/rfc/property-hooks

show more ...


# 8d50e9d0 03-Oct-2023 xjaja <5057757+xjaja@users.noreply.github.com>

Don't drop class statements before error (#952)

When encountering a null statement (indicating that an error occurred),
retain the preceding statements. These were accidentally dropped

Don't drop class statements before error (#952)

When encountering a null statement (indicating that an error occurred),
retain the preceding statements. These were accidentally dropped
previously.

(cherry picked from commit 54103d838734be0499172026525e38cbf6af2711)

show more ...


# b4183c2b 25-Sep-2023 Nikita Popov

Remove Stmt\Throw

This was a backwards-compatibility shim for Expr\Throw.


# a1ccf577 24-Sep-2023 Nikita Popov

Introduce Stmt\Block

Stmt\Block will be created for { $a; } style blocks, unless these
occur directly inside some structure that is usually combined
with a block.

For exampl

Introduce Stmt\Block

Stmt\Block will be created for { $a; } style blocks, unless these
occur directly inside some structure that is usually combined
with a block.

For example if ($a) { $b; } will continue to use the old
representation (plain array in in If_::$stmts), but a free-standing
{ $b; } will become a Stmt\Block.

Fixes #590.

show more ...


# 23647573 21-May-2023 Nikita Popov

Represent names using string rather than array of parts

In most circumstances we are interested in the whole string, not
the parts split by namespace separator. As names are common, this

Represent names using string rather than array of parts

In most circumstances we are interested in the whole string, not
the parts split by namespace separator. As names are common, this
representation measurably improves memory usage and performance.

show more ...


# 5c267f55 20-May-2023 Nikita Popov

Add support for typed constants

RFC: https://wiki.php.net/rfc/typed_class_constants


# 4917c71a 03-Sep-2022 Nikita Popov

Rename Stmt\UseUse to UseItem


# e1345f0c 03-Sep-2022 Nikita Popov

Rename Stmt\PropertyProperty to PropertyItem


# 03ccfa3d 03-Sep-2022 Nikita Popov

Rename Stmt\DeclareDeclare to DeclareItem


# 23835d20 03-Sep-2022 Nikita Popov

Rename Scalar\LNumber to Scalar\Int_


# f5b56a5c 03-Sep-2022 Nikita Popov

Remove MODIFIER_ prefix from node dumps

These constants are now called Modifiers::PUBLIC rather than
Class_::MODIFIER_PUBLIC etc, so update the dumped name as well.


# 035c1c7c 02-Sep-2022 Nikita Popov

Rename Stmt\StaticVar to StaticVar

This is part of a statement, not a statement by itself.


# 8be56afd 02-Sep-2022 Nikita Popov

Rename Expr\ArrayItem to ArrayItem

Array items are not expressions by themselves.


# d3d1297c 06-Jun-2022 Nikita Popov

Remove PHP 5 parser


# 678ccbe0 15-May-2022 Tomas Votruba

[PHP 8.2] Add readonly class support (#834)

RFC: https://wiki.php.net/rfc/readonly_classes

PHP implementation: php/php-src#7305


# c758510a 09-Jul-2021 Nikita Popov

Add support for PHP 8.1

With the introduction of intersection types, PHP now lexes the
token '&' either as T_AMPERSAND_(NOT_)FOLLOWED_BY_VAR_OR_VARARG.
This completely breaks parsing

Add support for PHP 8.1

With the introduction of intersection types, PHP now lexes the
token '&' either as T_AMPERSAND_(NOT_)FOLLOWED_BY_VAR_OR_VARARG.
This completely breaks parsing of any code containing '&'.

Fix this by canonicalizing to the new token format (unconditionally,
independent of emulation) and adjusting the parser to use the two
new tokens.

This doesn't add actual support for intersection types yet.

show more ...


# d3d1ee47 08-Dec-2020 Nikita Popov

Fix #738 incorrect start line for traits

Empty productions are supposed to be assigned the start attributes
of the lookahead token. Currently, this happens by assigning above
the cur

Fix #738 incorrect start line for traits

Empty productions are supposed to be assigned the start attributes
of the lookahead token. Currently, this happens by assigning above
the current stack position when the token it read.

This fails in a situation where we first reduce an empty production
higher up in the stack, and then again reduce an empty production
lower in the stack, without consuming the lookahead token in the
meantime.

Fix this by moving the assignment into the reduction phase. We
also need to do this for error productions, which are effectively
empty.

show more ...


# 8a97fa15 19-Sep-2020 Nikita Popov

Recover from missing semicolon after property or class const

Fixes #712.


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


# 98f7f39d 09-Aug-2020 Nikita Popov

Add named argument support

Not adding any explicit FPPP support, as I don't think add/remove
of names can be handled any better than full reformatting.


# 2d199893 22-Jul-2020 Nikita Popov

[PHP 8.0] Support trailing comma in closure use list

RFC: https://wiki.php.net/rfc/trailing_comma_in_closure_use_list


# b58b19ed 07-Jun-2020 TomasVotruba

Add constructor promotion support


# 244db65d 12-Jun-2020 TomasVotruba

[PHP 8.0] Add trailing comma in parameter list


Revision tags: v4.3.0, v4.2.5, v4.2.4, v4.2.3, v4.2.2
# 94d93f27 24-May-2019 Nikita Popov

Revert "Recover from error inside alternative array deref syntax"

This reverts commit 9d44edf85dc5882e45fed37a6c541bf20e7c8495.


# 9d44edf8 12-May-2019 Nikita Popov

Recover from error inside alternative array deref syntax

This is to improve error recovery for cases like #545.


123