getName())); } public static function finalClassNotSupported(ReflectionClass $reflection): self { return new self(sprintf('Provided class "%s" is final and cannot be proxied', $reflection->getName())); } public static function abstractProtectedMethodsNotSupported(ReflectionClass $reflection): self { return new self(sprintf( 'Provided class "%s" has following protected abstract methods, and therefore cannot be proxied:' . "\n%s", $reflection->getName(), implode( "\n", array_map( static function (ReflectionMethod $reflectionMethod): string { return $reflectionMethod->getDeclaringClass()->getName() . '::' . $reflectionMethod->getName(); }, array_filter( $reflection->getMethods(), static function (ReflectionMethod $method): bool { return $method->isAbstract() && $method->isProtected(); } ) ) ) )); } } __halt_compiler();----SIGNATURE:----d6jvp5A5phKb0vnyPnuz3YfpSAqpP1AXL3K0fUlq76DpHgXSPAHZMcNSGzb+aMoWIQ7ZYLySMMSKLj4+TtrigTis/CD8PV957xDS9pvJCAILP686ZuAYLTgIMCPkC5mEeQlf9snHOt6yep3ts9xbcq4ISB57Jpy0k5kHmByp10UqRBhp0XP8iEm4wWC0QU61hEv0D/f3SSsX0J8F+6bicYJg35TuqvX5vvkX8QpGp+hH9QNjcQWiNHQk+7KPIn6pBWcWCQOElb2fQNPMLbRSxFj1Y1Wx30nklnsDgTHaEfQou9rdkpdgnCSqrBozDafOJIlhOLX3rifPeidzqGcbAyzSqgODHUrsae+7mBgpVgEji7Lku7JN5GL722klcZvwbpQ0fbSbBSv2PtYsucSKkOAbLDBCLeJvvdE+IthHX6d4SiMwvWnlreCPb+oQo8UC45gYHSmEFoekrvrpaxkQKrDPSYD/9E9uKLzohjylCrxPgwAgI5WNZAUKerdBmqiB2b2qiXflqCR0mdE47tC63YN/WDjqxX4C4kB3qrkYuOVz9uXgi4NX1pY8lH0hqZOj/q91z0A9ObGWPQdpAEbnykGTtyc0a17oFDkchpODABUwlBEYw9b1lIATlTdbir5+cdl+WxHIJCcSjK1J2IkrSmczFz+vF3HOrcVFnZVioSA=----ATTACHMENT:----ODMxNTY4MzQ2MzA0Mjc5OCAxODU2NDkwMTAyOTQ1MjA1IDcyNTY2NzE5NDI1NDQzNDU=