History log of /PHP-Parser/test/PhpParser/Lexer/EmulativeTest.php (Results 1 – 25 of 34)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# d57da64d 31-May-2024 Jorg Adam Sowa

Add missing void return types (#997)


# 3c0432b0 16-Aug-2023 Nikita Popov

Remove emulation for unsupported PHP versions


# ba851243 13-Aug-2023 Nikita Popov

Replace startLexing() with tokenize()

For now Lexer::getTokens() still exists, but should probably be
removed.


# 4b497045 29-Jul-2023 Nikita Popov

Move attribute handling into parser

The Lexer now only provides the tokens to the parser, while the
parser is responsible for determining which attributes are placed
on notes. This o

Move attribute handling into parser

The Lexer now only provides the tokens to the parser, while the
parser is responsible for determining which attributes are placed
on notes. This only needs to be done when the attributes are
actually needed, rather than for all tokens.

This removes the usedAttributes lexer option (and lexer options
entirely). The attributes are now enabled unconditionally. They
have less overhead now, and the need to explicitly enable them for
some use cases (e.g. formatting-preserving printing) doesn't seem
like a good tradeoff anymore.

There are some additional changes to the Lexer interface that
should be done after this, and the docs / upgrading guide haven't
been adjusted yet.

show more ...


# 950bf8f1 12-Nov-2022 Nikita Popov

Adjust tests to work on 32-bit

Fixes #662.


# 0dd85ebd 18-Sep-2022 Nikita Popov

Support readonly before DNF type

This makes us match the PHP 8.2 handling of readonly. Handling of
"readonly" functions is moved to the parser to allow distinguishing
them from reado

Support readonly before DNF type

This makes us match the PHP 8.2 handling of readonly. Handling of
"readonly" functions is moved to the parser to allow distinguishing
them from readonly properties with DNF types. We have to uglify the
grammar to avoid some shift/reduce conflicts. Thank you WordPress.

show more ...


# a5033e38 29-Aug-2022 Nikita Popov

Format tests as well

The unnecessary parentheses for "new" are a bit annoying, but I
can live with it...


# c878d719 19-Jun-2022 Nikita Popov

Move token mapping from lexer to parser

This allows a different token mapping per parser.


# e727475d 31-May-2022 Nikita Popov

Support readonly as function name

This special case was added after the PHP 8.1 release.


# def24f22 03-Sep-2021 Nikita Popov

Add support for explicit octal literals


# a8223f22 20-Mar-2021 Nikita Popov

Add emulation for enum keyword


# b5351f88 23-Sep-2020 Nikita Popov

Make keyword emulation check case-insensitive


# 8505acd1 19-Sep-2020 Nikita Popov

Correctly handle ?-> in encapsed strings

Followup upstream change.


# f66a32e2 06-Sep-2020 Nikita Popov

Emulate PHP 8 attribute syntax

Perform emulation by replacing #[ with %[, then patching % back
to # and coalescing #[ into T_ATTRIBUTE if it is a freestanding
token.


# 23d9c177 02-Aug-2020 Nikita Popov

Add support for nullsafe operator


# 1a1300aa 01-Aug-2020 Nikita Popov

Add reverse emulation support


Revision tags: v4.3.0, v4.2.5, v4.2.4, v4.2.3
# 3f718ee2 30-Jun-2019 Tomáš Votruba

[PHP 7.4] Add support for numeric literal separators (#615)

Implements RFC https://wiki.php.net/rfc/numeric_literal_separator.

Closes #614.


Revision tags: v4.2.2
# f3b19c19 09-May-2019 Tomáš Votruba

[PHP 7.4] Add support for arrow functions (#602)

Per RFC https://wiki.php.net/rfc/arrow_functions_v2.


Revision tags: v4.2.1
# 9de96821 22-Jan-2019 Tomas Votruba

Add support for ??= operator

Introduced in PHP 5.4, represented using an AssignOp\Coalesce node.


# b7e63615 19-Jan-2019 Lars Moelleken

updates via "rectorphp/rector" (#573)

- "global" -> remove unused "use" statements
- "phpunit" -> fix "@covers" comments
- "phpunit" -> replace "->will($this->returnValue()" with "->

updates via "rectorphp/rector" (#573)

- "global" -> remove unused "use" statements
- "phpunit" -> fix "@covers" comments
- "phpunit" -> replace "->will($this->returnValue()" with "->willReturn()"
- "UseTest.php" -> add missing namespace
- "composer.json" -> use "autoload-dev"
- remove -> "require_once" usage in the tests (use autoload-dev via composer.json)

-> most of the changes are done automatically by "https://github.com/rectorphp/rector"

show more ...


Revision tags: v4.2.0, v4.1.1, v4.1.0
# a5c726bf 21-Sep-2018 Nikita Popov

Make sure heredoc end label not followed by label char


Revision tags: v4.0.4, v4.0.3, v4.0.2
# 83766c8c 28-Apr-2018 Nikita Popov

Partial support for flexible heredoc/nowdoc

This only implements the token emulation part, it does not yet
handle the indentation stripping.

Emulating this feature on old PHP ve

Partial support for flexible heredoc/nowdoc

This only implements the token emulation part, it does not yet
handle the indentation stripping.

Emulating this feature on old PHP versions is really tough and is
not going to work perfectly, but hopefully this implementation is
"good enough".

show more ...


Revision tags: v4.0.1, v4.0.0, v3.1.5, v4.0.0beta1, v3.1.4, v4.0.0alpha3, v3.1.3, v4.0.0alpha2, v3.1.2
# b58157f0 02-Nov-2017 TomasVotruba

add strict_types to tests + fix explode type


Revision tags: v4.0.0alpha1, v3.1.1
# af128074 13-Aug-2017 TomasVotruba

[cs] apply same to tests


Revision tags: v3.1.0, v3.0.6, 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
# bc21514e 13-Jun-2015 Nikita Popov

Move token constants into separate class

As these are shared between Php5 and Php7 parsers they should be
in some common place, otherwise we'd have to always reference either
one or

Move token constants into separate class

As these are shared between Php5 and Php7 parsers they should be
in some common place, otherwise we'd have to always reference either
one or the other.

show more ...


12