History log of /PHP-Parser/lib/PhpParser/Parser/Php7.php (Results 151 – 175 of 175)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 537b59d4 22-Jul-2016 Nikita Popov

PHP 7.1: Support multi-catch

Catch::$type is now an array Catch::$types.


# 574665b4 09-Jul-2016 Nikita Popov

PHP 7.1: list() with keys

Expr\List will now contain ArrayItems instead of plain variables.
I'm reusing ArrayItem, because code handling list() must also handle
arrays, and this allo

PHP 7.1: list() with keys

Expr\List will now contain ArrayItems instead of plain variables.
I'm reusing ArrayItem, because code handling list() must also handle
arrays, and this allows both to go through the same code path.

This also renames Expr\List->vars to ->items.

TODO: Should Expr\List be dropped in favor of Expr\Array with an
extra flag?

show more ...


# 437890d3 06-Jul-2016 Nikita Popov

PHP 7: Short destructuring syntax

Potentially the pretty printer should force use of [] in assignment
context, instead of relying on the existance of the right attribute.


# 1edf72c0 06-Jul-2016 Nikita Popov

PHP 7: Support nullable types

Using a new NullableType node.


# 5ea2a76d 05-Jul-2016 Nikita Popov

PHP 7.1: Class constant visibility support


# 5044fce1 05-Jul-2016 Nikita Popov

PHP 7.1: Add void+iterable support

In PHP 7 mode, these will now be represented as strings 'void'
and 'iterable'.


# 96cbd48d 20-Apr-2016 Nikita Popov

Improve error recovery quality

In particular, support recovering from a missing trailing semicolon,
while keeping the rest of the expression.


Revision tags: v2.1.0
# 90eb1165 19-Apr-2016 Nikita Popov

Switch Exit kind attribute to flag

To be consistent with everything else.


# 588e6a4d 02-Apr-2016 Nikita Popov

Add string kinds and doc string labels

Scalar\String_ and Scalar\Encapsed now have an additional "kind"
attribute, which may be one of:

* String_::KIND_SINGLE_QUOTED
* Str

Add string kinds and doc string labels

Scalar\String_ and Scalar\Encapsed now have an additional "kind"
attribute, which may be one of:

* String_::KIND_SINGLE_QUOTED
* String_::KIND_DOUBLE_QUOTED
* String_::KIND_NOWDOC
* String_::KIND_HEREDOC

Additionally, if the string kind is one of the latter two, an
attribute "docLabel" is provided, which contains the doc string
label (STR in <<<STR) that was originally used.

The pretty printer will try to take the original kind of the string,
as well as the used doc string label into account.

show more ...


# 14de7189 05-Apr-2016 Nikita Popov

Fix nop statement comment assignment

Keep around the start attributes on the lookahead token around in
a separate parser property.


# f493219c 10-Mar-2016 Nikita Popov

Move "kind" attribute handling out of lexer

Doesn't belong there and will cause issue with multiple assignments.


# 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
# 7eac2cfd 02-Oct-2015 Nikita Popov

Introduce Nop statement to collect dangling comments

A Nop statement will be inserted into statement lists if there are
any trailing comments in the list (which would otherwise not be

Introduce Nop statement to collect dangling comments

A Nop statement will be inserted into statement lists if there are
any trailing comments in the list (which would otherwise not be
associated with any node).

The pretty printer output currently still contains a superfluous
newline.

show more ...


# d6361136 09-Feb-2016 Nikita Popov

Update semi-reserved keyword list

Magic constant names have been added after the PHP 7 release.

We do not support and likely will not support __halt_compiler here
due to lexer l

Update semi-reserved keyword list

Magic constant names have been added after the PHP 7 release.

We do not support and likely will not support __halt_compiler here
due to lexer limitations.

show more ...


# 719ca71d 07-Dec-2015 Nikita Popov

Distinguish declare(); and declare(){}

It makes semantic difference and the latter form is actually
forbidden for strict_types.

This sets Declare->stmts to null for the body-les

Distinguish declare(); and declare(){}

It makes semantic difference and the latter form is actually
forbidden for strict_types.

This sets Declare->stmts to null for the body-less case.

show more ...


# a9074c74 03-Dec-2015 Nikita Popov

Introduce Scalar\EncapsedStringPart


Revision tags: v1.4.1
# f57d217e 20-Aug-2015 Nikita Popov

Update group use support

To conform with current PHP 7 implementation

* Allow use \Foo\{Bar};
* Disallow use Foo\{\Bar};
* Disallow missing trailing semicolon (that was a bu

Update group use support

To conform with current PHP 7 implementation

* Allow use \Foo\{Bar};
* Disallow use Foo\{\Bar};
* Disallow missing trailing semicolon (that was a bug)

show more ...


Revision tags: v2.0.0alpha1, v1.4.0
# ef9a154d 13-Jun-2015 Nikita Popov

Add support for unicode escape sequences

Only parsed if the PHP 7 parser is used.


# 0da72fad 13-Jun-2015 Nikita Popov

Support scalar type declarations


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


# 61e06069 13-Jun-2015 Nikita Popov

Implement generalized yield operator

And split tokens.y off, so I don't waste time debugging this again...


# 602b9807 13-Jun-2015 Nikita Popov

Import some UVS tests


# d18dcc0c 13-Jun-2015 Nikita Popov

Implement UVS


# 74c57eef 13-Jun-2015 Nikita Popov

Test PHP 5 and PHP 7 parsers

At this point they should return the same result.


# ca3b44bf 13-Jun-2015 Nikita Popov

Fork separate PHP 7 parser

Also add ParserInterface


1234567