'Red', Suit::Clubs, Suit::Spades => 'Black', }; } /* markerEnumMethod2 */ public function offsetGet($val) : mixed { // Do something. } /* markerEnumMethod3 */ public function offsetExists($val): bool { // Do something. } /* markerEnumMethod4 */ public function offsetSet($offset, $val): void { throw new Exception(); } /* markerEnumMethod5 */ public function offsetUnset($val): void { throw new Exception(); } } /* testClassConstructorNoParams */ class ConstructorNoParams { /* markerCPP1_Constructor */ public function __construct() {} } /* testInterfaceConstructorWithParamsNotProperties */ interface ConstructorWithParamsNotProperties { /* markerCPP2_Constructor */ public function __Construct(int $paramA, Union|null $paramB, false|(D&N&F) $paramC = false); } /* testClassConstructorWithProperties */ class ConstructorWithProperties { /* markerCPP3_Constructor */ public function __CONSTRUCT( /* markerCPP3_Property1 */ private int $propA, /* markerCPP3_Property2 */ protected readonly string $propB, /* markerCPP3_Property3 */ readonly Onion|Union $propC, /* markerCPP3_Property4 */ public (D&N)|F $propD, ) {} } /* testTraitConstructorWithParamsAndProperties */ trait ConstructorWithParamsAndProperties { /* markerCPP4_Property1 */ public int $declared; /* markerCPP4_Property2 */ private self $instance; /* markerCPP4_Constructor */ public function __construct( /* markerCPP4_Property3 */ public ?string $propA, /* markerCPP4_Property4 */ protected \MyClass $propB, /* markerCPP4_Property5 */ private namespace\Relative|Partially\Qualified $propC, ?int $paramA, string $paramB, ) {} } /* testMultiPropertyDeclarations */ class testMultiProperty { /* markerClassMultiProperty1 */ public private(set) int $propA = 5, /* markerClassMultiProperty2 */ $propB = 10, /* markerClassMultiProperty3 */ $propC, /* markerClassMultiProperty4 */ $propD, /* markerClassMultiProperty5 */ $propE = 10; }