History log of /PHP-Parser/lib/PhpParser/ParserAbstract.php (Results 51 – 75 of 131)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 55c42692 21-Jul-2021 Máté Kocsis

Add support for new PHP 8.1 modifiers (#796)

Implement support for readonly properties (https://wiki.php.net/rfc/readonly_properties_v2) and
final class contstants (https://wiki.php.net/

Add support for new PHP 8.1 modifiers (#796)

Implement support for readonly properties (https://wiki.php.net/rfc/readonly_properties_v2) and
final class contstants (https://wiki.php.net/rfc/final_class_const).

show more ...


# 8eb194ea 25-Apr-2021 Nikita Popov

Add never type

This should be recognized as Identifier instead of Name now.


# f68e1a43 25-Apr-2021 Tomas Votruba

[PHP 8.1] Add support for enums (#758)

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

Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>


# f767b9fd 25-Apr-2021 Iskander (Alex) Sharipov

ParserAbstract: add missing '*' to the phpdoc

Otherwise, it's somewhat incompatible with the phpdoc definition.


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


# 0cee2088 09-Aug-2020 Nikita Popov

Remove self/parent/static restriction for namespace names

This no longer applies as of PHP 8.0.


# 32f89662 28-May-2020 Máté Kocsis

Add support for the mixed type


# 46cbd939 09-Feb-2020 Nikita Popov

Place Nop nodes more precisely

If the Nop is created to collect comments, place it directly after
the comment, instead of at the next non-whitespace character.


Revision tags: v4.3.0
# 664c1012 25-Oct-2019 Nikita Popov

Add support for union types

We definitely need to introduce a general "Type" abstraction in
the next major version.


Revision tags: v4.2.5, v4.2.4, v4.2.3, v4.2.2
# 60d025a9 11-May-2019 Nikita Popov

Fix attributes for zero-length nop nodes

Previously zero-length nop nodes used the lookahead start attributes
and current end attributes. This choice ends up being somewhat weird,
be

Fix attributes for zero-length nop nodes

Previously zero-length nop nodes used the lookahead start attributes
and current end attributes. This choice ends up being somewhat weird,
because the end attributes will be the at the last non-whitespace,
non-comment token, which might be quite far back. More problematically,
we may not have encountered any non-discarded token if we're at the
start of the file, in which case we will have no end attributes to
assign.

Change things to use a canonical "zero-length" node representation,
where the end position (token & file) will be exactly one before the
start position.

Fixes #589.

show more ...


Revision tags: v4.2.1, v4.2.0
# 0ef61b49 03-Jan-2019 Tomas Votruba

add float/double/real KIND support to Cast\Double node


Revision tags: v4.1.1, v4.1.0
# eebaa946 22-Sep-2018 Nikita Popov

Flexible doc strings: Fix some issues, add more tests


# 0ed9065b 21-Sep-2018 Nikita Popov

Flexible doc: Validate and strip indentation

If indentation is invalid, we strip on a best-effort basis.

The error position information is not great, but I don't want to
introdu

Flexible doc: Validate and strip indentation

If indentation is invalid, we strip on a best-effort basis.

The error position information is not great, but I don't want to
introduce sub-token error positioning at this point in time.

show more ...


# 5f73c4de 21-Sep-2018 Nikita Popov

Flexible doc: Validate end label indentation

Move doc string parsing logic from rebuildParsers.php and
String_::parseDocString() into ParserAbstract. This stuff is
going to get compl

Flexible doc: Validate end label indentation

Move doc string parsing logic from rebuildParsers.php and
String_::parseDocString() into ParserAbstract. This stuff is
going to get complicated now.

For now only implement the validation of the indentation on the
end label.

show more ...


Revision tags: v4.0.4, v4.0.3, v4.0.2
# 61210015 30-Mar-2018 Nikita Popov

Remove unused ParserAbstract::$errors property

Leftover from before ErrorHandler was introduced.


Revision tags: v4.0.1, v4.0.0, v3.1.5, v4.0.0beta1, v3.1.4, v4.0.0alpha3, v3.1.3
# a75164c7 12-Nov-2017 Nikita Popov

Rename YYNLSTATES to numNonLeafStates


# c59e75f8 11-Nov-2017 Nikita Popov

Clear parser state directly after parsing

I don't think this makes any difference in practical scenarios, but
it makes memory usage analysis simpler.


# 4392a7b1 11-Nov-2017 Nikita Popov

Fix PHP5 static call fixup

Variable nodes directly store the variable name as a string, they
don't use VarLikeIdentifier. So remove this wrapper if it exists.


Revision tags: v4.0.0alpha2
# 457fe049 04-Nov-2017 Nikita Popov

Ensure nodes have full complement of location info


Revision tags: v3.1.2, v4.0.0alpha1, v3.1.1
# a10780ca 29-Aug-2017 Nikita Popov

Handle Nop statement after brace-style namespace

Fixes #412.


# e2e99f26 18-Aug-2017 TomasVotruba

Add strict_types to lib code


# 7b36ca3b 15-Aug-2017 Nikita Popov

Add isSpecialClassName() method to Identifier and Name


# d97cc3d9 15-Aug-2017 Nikita Popov

Add toLowerString() method to Name and Identifier

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


# 05e6725b 13-Aug-2017 TomasVotruba

[cs] use strict comparison where allowed


# ec535ea1 13-Aug-2017 TomasVotruba

[cs] use PHP 5.4 short array, since PHP 7.0 is min version


123456