diff --git a/src/Parser.php b/src/Parser.php index 4f1a2b0b..61983640 100644 --- a/src/Parser.php +++ b/src/Parser.php @@ -144,9 +144,9 @@ public function __construct() { [TokenKind::ArrayKeyword, TokenKind::CallableKeyword, TokenKind::BoolReservedWord, TokenKind::FloatReservedWord, TokenKind::IntReservedWord, TokenKind::StringReservedWord, TokenKind::ObjectReservedWord, TokenKind::NullReservedWord, TokenKind::FalseReservedWord, - TokenKind::TrueReservedWord, - TokenKind::IterableReservedWord, TokenKind::MixedReservedWord]; // TODO update spec - $this->returnTypeDeclarationTokens = \array_merge([TokenKind::VoidReservedWord, TokenKind::NullReservedWord, TokenKind::FalseReservedWord, TokenKind::TrueReservedWord, TokenKind::StaticKeyword], $this->parameterTypeDeclarationTokens); + TokenKind::TrueReservedWord, TokenKind::IterableReservedWord, TokenKind::MixedReservedWord, + TokenKind::VoidReservedWord, TokenKind::NeverReservedWord]; // TODO update spec + $this->returnTypeDeclarationTokens = \array_merge([TokenKind::StaticKeyword], $this->parameterTypeDeclarationTokens); } /** diff --git a/src/TokenKind.php b/src/TokenKind.php index 29058057..49caca94 100644 --- a/src/TokenKind.php +++ b/src/TokenKind.php @@ -175,6 +175,7 @@ class TokenKind { const NullReservedWord = 322; const MixedReservedWord = 340; const IterableReservedWord = 170; + const NeverReservedWord = 341; const ScriptSectionStartTag = 323; const ScriptSectionEndTag = 324; diff --git a/src/TokenStringMaps.php b/src/TokenStringMaps.php index 8a906525..15249ed1 100644 --- a/src/TokenStringMaps.php +++ b/src/TokenStringMaps.php @@ -109,6 +109,7 @@ class TokenStringMaps { "void" => TokenKind::VoidReservedWord, "iterable" => TokenKind::IterableReservedWord, "mixed" => TokenKind::MixedReservedWord, + "never" => TokenKind::NeverReservedWord, ]; const OPERATORS_AND_PUNCTUATORS = [ diff --git a/tests/cases/parser/neverReturnType.php b/tests/cases/parser/neverReturnType.php new file mode 100644 index 00000000..55f09414 --- /dev/null +++ b/tests/cases/parser/neverReturnType.php @@ -0,0 +1,2 @@ +