diff --git a/src/AbstractParser.php b/src/AbstractParser.php index 9308c26..eadb2d8 100644 --- a/src/AbstractParser.php +++ b/src/AbstractParser.php @@ -41,8 +41,6 @@ protected function __construct( protected array $anonymous, ) { - // init built in types - self::$BUILTIN_TYPES ??= self::getBuiltInTypes(); // Set number of tokens $this->count = count($tokens); } @@ -357,4 +355,9 @@ private static function getBuiltInTypes(): array return $types; } + + final public static function init(): void + { + self::$BUILTIN_TYPES ??= self::getBuiltInTypes(); + } } \ No newline at end of file diff --git a/src/AnonymousClassInfo.php b/src/AnonymousClassInfo.php index 3f553f7..6bc7878 100644 --- a/src/AnonymousClassInfo.php +++ b/src/AnonymousClassInfo.php @@ -5,13 +5,16 @@ #[Attribute\PreventBoxing] final class AnonymousClassInfo extends AbstractInfo { - public const PLACEHOLDER = "\x07{opis\x06class\x05name}\x07"; + public const PLACEHOLDER = "\x07opis\x06anonymous@class\x05name\x07"; /** * @var string Original class namespace */ private string $ns; + /** + * @var bool True if class was loaded + */ private bool $loaded = false; public function __construct(string $header, string $body, string $ns = '') diff --git a/src/AnonymousClassParser.php b/src/AnonymousClassParser.php index f6a82d4..86931b6 100644 --- a/src/AnonymousClassParser.php +++ b/src/AnonymousClassParser.php @@ -7,8 +7,6 @@ */ final class AnonymousClassParser extends AbstractParser { - private const MATCH_PARAMS_OR_BODY = ['(', '{']; - private int $last = -1; protected function __construct( diff --git a/src/Serializer.php b/src/Serializer.php index 30a1cee..ebb7677 100644 --- a/src/Serializer.php +++ b/src/Serializer.php @@ -44,6 +44,9 @@ public static function init( } } + // Init parser + AbstractParser::init(); + // Init code stream protocol CodeStream::init([ClosureInfo::class, AnonymousClassInfo::class]);