[ 'code' => 'fooFoo(); } }', ], 'accessibleProtectedMethodFromSubclass' => [ 'code' => 'fooFoo(); } }', ], 'accessibleProtectedMethodFromOtherSubclass' => [ 'code' => 'fooFoo(); } }', ], 'accessibleProtectedPropertyFromSubclass' => [ 'code' => 'fooFoo; } }', ], 'accessibleProtectedPropertyFromGreatGrandparent' => [ 'code' => 'fooFoo; } }', ], 'accessibleProtectedPropertyFromOtherSubclass' => [ 'code' => 'fooFoo = "hello"; } }', ], 'accessibleStaticPropertyFromSubclass' => [ 'code' => ' [ 'code' => 'boop(); } } private function boop(): void {} } class B extends A { private function boop(): void {} }', ], 'allowMethodCallToProtectedFromParent' => [ 'code' => ' [ 'code' => 'fooFoo();', 'error_message' => 'InaccessibleMethod', ], 'inaccessibleProtectMethod' => [ 'code' => 'fooFoo();', 'error_message' => 'InaccessibleMethod', ], 'inaccessiblePrivateMethodFromSubclass' => [ 'code' => 'fooFoo(); } }', 'error_message' => 'UndefinedMethod', ], 'inaccessibleProtectredMethodFromOtherSubclass' => [ 'code' => 'fooFoo(); } }', 'error_message' => 'InaccessibleMethod', ], 'inaccessiblePrivateProperty' => [ 'code' => 'fooFoo;', 'error_message' => 'InaccessibleProperty', ], 'inaccessibleProtectedProperty' => [ 'code' => 'fooFoo;', 'error_message' => 'InaccessibleProperty', ], 'inaccessiblePrivatePropertyFromSubclass' => [ 'code' => 'fooFoo; } }', 'error_message' => 'UndefinedThisPropertyFetch', ], 'inaccessibleStaticPrivateProperty' => [ 'code' => ' 'InaccessibleProperty', ], 'inaccessibleStaticProtectedProperty' => [ 'code' => ' 'InaccessibleProperty', ], 'inaccessibleStaticPrivatePropertyFromSubclass' => [ 'code' => ' 'InaccessibleProperty', ], 'privateConstructorInheritanceNoCall' => [ 'code' => ' 'InaccessibleMethod', ], 'privateConstructorInheritanceCall' => [ 'code' => ' 'InaccessibleMethod', ], 'noSelfInFunctionConstant' => [ 'code' => ' 'NonStaticSelfCall', ], 'noSelfInFunctionCall' => [ 'code' => ' 'NonStaticSelfCall', ], ]; } }