'a', 2 => 'b', /* testMatchDefaultIsKeyword */ default => 'default', }; $closure = /* testFnIsKeyword */ fn () => 'string'; function () { /* testYieldIsKeyword */ yield $f; /* testYieldFromIsKeyword */ yield from someFunction(); }; /* testDeclareIsKeyword */ declare(ticks=1): /* testEndDeclareIsKeyword */ enddeclare; if (true /* testAndIsKeyword */ and false /* testOrIsKeyword */ or null /* testXorIsKeyword */ xor 0) { } $anonymousClass = new /* testAnonymousClassIsKeyword */ class {}; $anonymousClass2 = new class /* testExtendsInAnonymousClassIsKeyword */ extends SomeParent {}; $anonymousClass3 = new class /* testImplementsInAnonymousClassIsKeyword */ implements SomeInterface {}; $instantiated = new /* testClassInstantiationStaticIsKeyword */ static($param); class Foo extends /* testNamespaceInNameIsKeyword */ namespace\Exception {} function /* testKeywordAfterFunctionShouldBeString */ eval() {} function /* testKeywordAfterFunctionByRefShouldBeString */ &switch() {} function /* testKeywordStaticAfterFunctionByRefShouldBeString */ &static() {} /* testKeywordAsFunctionCallNameShouldBeStringStatic */ static(); $obj-> /* testKeywordAsMethodCallNameShouldBeStringStatic */ static(); $function = /* testStaticIsKeywordBeforeClosure */ static function(/* testStaticIsKeywordWhenParamType */ static $param) {}; $arrow = /* testStaticIsKeywordBeforeArrow */ static fn(): /* testStaticIsKeywordWhenReturnType */ static => 10; /* testKeywordAsFunctionCallNameShouldBeStringStaticDNFLookaLike */ $obj->static((CONST_A&CONST_B)|CONST_C | $var); class DNF { public /* testStaticIsKeywordPropertyModifierBeforeDNF */ static (DN&F)|null $dnfProp; }