diff --git a/src/Parser.php b/src/Parser.php index a6574916..d9cb58e3 100644 --- a/src/Parser.php +++ b/src/Parser.php @@ -1069,6 +1069,8 @@ private function isClassMemberDeclarationStart(Token $token) { case TokenKind::PublicKeyword: case TokenKind::ProtectedKeyword: case TokenKind::PrivateKeyword: + case TokenKind::ProtectedSetKeyword: + case TokenKind::PrivateSetKeyword: // static-modifier case TokenKind::StaticKeyword: @@ -1574,6 +1576,8 @@ private function isModifier($token): bool { case TokenKind::PublicKeyword: case TokenKind::ProtectedKeyword: case TokenKind::PrivateKeyword: + case TokenKind::ProtectedSetKeyword: + case TokenKind::PrivateSetKeyword: // static-modifier case TokenKind::StaticKeyword: @@ -1594,6 +1598,8 @@ private function isParameterModifier($token): bool { case TokenKind::PublicKeyword: case TokenKind::ProtectedKeyword: case TokenKind::PrivateKeyword: + case TokenKind::ProtectedSetKeyword: + case TokenKind::PrivateSetKeyword: // readonly-modifier case TokenKind::ReadonlyKeyword: @@ -1648,6 +1654,8 @@ private function isParameterStartFn() { case TokenKind::PublicKeyword: case TokenKind::ProtectedKeyword: case TokenKind::PrivateKeyword: + case TokenKind::ProtectedSetKeyword: + case TokenKind::PrivateSetKeyword: case TokenKind::AttributeToken: // dnf types (A&B)|C diff --git a/src/TokenStringMaps.php b/src/TokenStringMaps.php index 15249ed1..3a4f5437 100644 --- a/src/TokenStringMaps.php +++ b/src/TokenStringMaps.php @@ -63,7 +63,9 @@ class TokenStringMaps { "or" => TokenKind::OrKeyword, "print" => TokenKind::PrintKeyword, "private" => TokenKind::PrivateKeyword, + "private(set)" => TokenKind::PrivateSetKeyword, "protected" => TokenKind::ProtectedKeyword, + "protected(set)" => TokenKind::ProtectedSetKeyword, "public" => TokenKind::PublicKeyword, "readonly" => TokenKind::ReadonlyKeyword, "require" => TokenKind::RequireKeyword, diff --git a/tests/cases/parser84/asymetrical-visiblity-member-omit-main.php b/tests/cases/parser84/asymetrical-visiblity-member-omit-main.php new file mode 100644 index 00000000..8e51c056 --- /dev/null +++ b/tests/cases/parser84/asymetrical-visiblity-member-omit-main.php @@ -0,0 +1,8 @@ +