diff --git a/src/Node/AnonymousFunctionUseClause.php b/src/Node/AnonymousFunctionUseClause.php index b38fee2e..26460ea6 100644 --- a/src/Node/AnonymousFunctionUseClause.php +++ b/src/Node/AnonymousFunctionUseClause.php @@ -6,6 +6,7 @@ namespace Microsoft\PhpParser\Node; +use Microsoft\PhpParser\MissingToken; use Microsoft\PhpParser\Node; use Microsoft\PhpParser\Node\DelimitedList\UseVariableNameList; use Microsoft\PhpParser\Token; @@ -17,7 +18,7 @@ class AnonymousFunctionUseClause extends Node { /** @var Token */ public $openParen; - /** @var UseVariableNameList */ + /** @var UseVariableNameList|MissingToken */ public $useVariableNameList; /** @var Token */ diff --git a/src/Parser.php b/src/Parser.php index e3b3f929..9f4e7fdb 100644 --- a/src/Parser.php +++ b/src/Parser.php @@ -3566,7 +3566,7 @@ function ($parentNode) { return $useVariableName; }, $anonymousFunctionUseClause - ); + ) ?: (new MissingToken(TokenKind::VariableName, $this->token->fullStart)); $anonymousFunctionUseClause->closeParen = $this->eat1(TokenKind::CloseParenToken); return $anonymousFunctionUseClause; diff --git a/tests/cases/parser/anonymousFunctionCreationExpression11.php b/tests/cases/parser/anonymousFunctionCreationExpression11.php new file mode 100644 index 00000000..1df08ead --- /dev/null +++ b/tests/cases/parser/anonymousFunctionCreationExpression11.php @@ -0,0 +1,2 @@ +