Merge branch 'PHP-8.0'

* PHP-8.0:
  Fixed bug #80462
This commit is contained in:
Nikita Popov 2020-12-02 10:19:42 +01:00
commit 2dcf71cbfd
2 changed files with 23 additions and 1 deletions

View file

@ -1558,7 +1558,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
<ST_IN_SCRIPTING>"?->" { <ST_IN_SCRIPTING>"?->" {
yy_push_state(ST_LOOKING_FOR_PROPERTY); yy_push_state(ST_LOOKING_FOR_PROPERTY);
return T_NULLSAFE_OBJECT_OPERATOR; RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
} }
<ST_IN_SCRIPTING,ST_LOOKING_FOR_PROPERTY>{WHITESPACE}+ { <ST_IN_SCRIPTING,ST_LOOKING_FOR_PROPERTY>{WHITESPACE}+ {

View file

@ -0,0 +1,22 @@
--TEST--
Bug #80462: Nullsafe operator tokenize with TOKEN_PARSE flag fails
--FILE--
<?php
foreach (PhpToken::tokenize('<?php $foo = $a?->b();', TOKEN_PARSE) as $token) {
echo $token->getTokenName(), "\n";
}
?>
--EXPECT--
T_OPEN_TAG
T_VARIABLE
T_WHITESPACE
=
T_WHITESPACE
T_VARIABLE
T_NULLSAFE_OBJECT_OPERATOR
T_STRING
(
)
;