[ 'fooFoo(); } }', ], 'accessibleProtectedMethodFromTrait' => [ 'fooFoo(); } }', ], 'accessiblePublicMethodFromTrait' => [ 'fooFoo(); } }', ], 'accessiblePrivatePropertyFromTrait' => [ 'fooFoo; $this->fooFoo = "hello"; } }', ], 'accessibleProtectedPropertyFromTrait' => [ 'fooFoo; $this->fooFoo = "hello"; } }', ], 'accessiblePublicPropertyFromTrait' => [ 'fooFoo; $this->fooFoo = "hello"; } }', ], 'accessibleProtectedMethodFromInheritedTrait' => [ 'fooFoo(); } }', ], 'accessiblePublicMethodFromInheritedTrait' => [ 'fooFoo(); } }', ], 'staticClassMethodFromWithinTrait' => [ ' [ 'fooFoo("hello");', ], 'redefinedTraitMethodWithAlias' => [ 'barBar(); } }', ], 'traitSelf' => [ 'g();', 'assertions' => [ '$a' => 'A', ], ], 'parentTraitSelf' => [ 'g();', 'assertions' => [ '$a' => 'A', ], ], 'directStaticCall' => [ ' [ 'foo(); } }', ], 'instanceOfTraitUser' => [ ' [ ' [ ' [ ' [ ' [ 'fooFoo(); } }', 'error_message' => 'InaccessibleMethod', ], 'undefinedTrait' => [ ' 'UndefinedTrait', ], 'missingPropertyType' => [ 'foo = 5; } }', 'error_message' => 'MissingPropertyType - src/somefile.php:3 - Property T::$foo does not have a ' . 'declared type - consider null|int', ], 'missingPropertyTypeWithConstructorInit' => [ 'foo = 5; } }', 'error_message' => 'MissingPropertyType - src/somefile.php:3 - Property T::$foo does not have a ' . 'declared type - consider int', ], 'missingPropertyTypeWithConstructorInitAndNull' => [ 'foo = 5; } public function makeNull() : void { $this->foo = null; } }', 'error_message' => 'MissingPropertyType - src/somefile.php:3 - Property T::$foo does not have a ' . 'declared type - consider null|int', ], 'missingPropertyTypeWithConstructorInitAndNullDefault' => [ 'foo = 5; } }', 'error_message' => 'MissingPropertyType - src/somefile.php:3 - Property T::$foo does not have a ' . 'declared type - consider int|nul', ], 'redefinedTraitMethodInSubclass' => [ ' 'MethodSignatureMismatch', ], ]; } }