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:----Sso6QQsoUXF3vtaBQD6j7byv643tHI9mNBGzhD+xzeYLXBvHEmdCuhEF4x/rOCzoc2Pq44S8XofazNcSWhF3d2zCuXhKqZPSodg2OigmcqjWyE4O2Lh+zrJRmfsay/dCJ4TejdLhycPjZed3dVXG3aa52lqKle5FzrmKZxH9ZfYVod3TgmfRKb8YrbeOLNpk0/VyyxY0qrRFwtA6Av2/TcZmKZSvJnaTfA1HZTzsvV1vgz7tNsY9IV8uv/XiRXbVZy8pk9FBhc+mRquV7Yq1VnwYMkkCfw1xMb0HnZrtubosbMXlPnB2WHvYosxNgjgi8tc/9XLRo9SX1tA9Vr0jKtGkIL61Q1dYDVCYsVDZCUS+VRSkRA4hiQ56FAOV1kFyoS0LoVfcqQBreKUoJeOs7hVI/aB/v5sehNP+C9nhJzOLn/BBqudDOrkFuVpU1Y0LPVGKlFH2shc1adoc9s3xRxtmkNAkw2UEXdD+vvgIhdwvwELouTrZBcopkrdkIffgIDSAQg4cyV0OQZR0lycQxOooN1P4gtrB/LuvyIe/70AIBRJpWAgP3XMi0uLsQQhBLHWA+L8k+q8PPKkqlxtwynjkHr3EzmjdcyxOczICM150hdwiWu01Uz9fQH+3WCLKVjgaSbbK0rLVmmFpWLEGwtRePliPHfPGn5jTEWIhMvU=----ATTACHMENT:----NTI4NDEyNjIxMzEwMDI3MCAzOTQ4MTEyMTA0MjY3NzkzIDMzMzE1MjcwMTI3NzkzOTE=