name); unset($this->class); } public function getName(): string { return $this->betterClassConstantOrEnumCase->getName(); } public function getValue(): mixed { if ($this->betterClassConstantOrEnumCase instanceof BetterReflectionEnumCase) { return constant(sprintf('%s::%s', $this->betterClassConstantOrEnumCase->getDeclaringClass()->getName(), $this->betterClassConstantOrEnumCase->getName())); } return $this->betterClassConstantOrEnumCase->getValue(); } public function isPublic(): bool { if ($this->betterClassConstantOrEnumCase instanceof BetterReflectionEnumCase) { return true; } return $this->betterClassConstantOrEnumCase->isPublic(); } public function isPrivate(): bool { if ($this->betterClassConstantOrEnumCase instanceof BetterReflectionEnumCase) { return false; } return $this->betterClassConstantOrEnumCase->isPrivate(); } public function isProtected(): bool { if ($this->betterClassConstantOrEnumCase instanceof BetterReflectionEnumCase) { return false; } return $this->betterClassConstantOrEnumCase->isProtected(); } public function getModifiers(): int { if ($this->betterClassConstantOrEnumCase instanceof BetterReflectionEnumCase) { return CoreReflectionClassConstant::IS_PUBLIC; } return $this->betterClassConstantOrEnumCase->getModifiers(); } public function getDeclaringClass(): ReflectionClass { if ($this->betterClassConstantOrEnumCase instanceof BetterReflectionEnumCase) { return new ReflectionClass($this->betterClassConstantOrEnumCase->getDeclaringClass()); } return new ReflectionClass($this->betterClassConstantOrEnumCase->getImplementingClass()); } public function getDocComment(): string|false { return $this->betterClassConstantOrEnumCase->getDocComment() ?? false; } /** * To string * * @link https://php.net/manual/en/reflector.tostring.php * * @return non-empty-string */ public function __toString(): string { return $this->betterClassConstantOrEnumCase->__toString(); } /** * @param class-string|null $name * * @return list */ public function getAttributes(string|null $name = null, int $flags = 0): array { if ($flags !== 0 && $flags !== ReflectionAttribute::IS_INSTANCEOF) { throw new ValueError('Argument #2 ($flags) must be a valid attribute filter flag'); } if ($name !== null && $flags & ReflectionAttribute::IS_INSTANCEOF) { $attributes = $this->betterClassConstantOrEnumCase->getAttributesByInstance($name); } elseif ($name !== null) { $attributes = $this->betterClassConstantOrEnumCase->getAttributesByName($name); } else { $attributes = $this->betterClassConstantOrEnumCase->getAttributes(); } /** @psalm-suppress ImpureFunctionCall */ return array_map(static fn (BetterReflectionAttribute $betterReflectionAttribute): ReflectionAttribute => new ReflectionAttribute($betterReflectionAttribute), $attributes); } public function isFinal(): bool { if ($this->betterClassConstantOrEnumCase instanceof BetterReflectionEnumCase) { return true; } return $this->betterClassConstantOrEnumCase->isFinal(); } public function isEnumCase(): bool { return $this->betterClassConstantOrEnumCase instanceof BetterReflectionEnumCase; } public function __get(string $name): mixed { if ($name === 'name') { return $this->betterClassConstantOrEnumCase->getName(); } if ($name === 'class') { return $this->getDeclaringClass()->getName(); } throw new OutOfBoundsException(sprintf('Property %s::$%s does not exist.', self::class, $name)); } } __halt_compiler();----SIGNATURE:----eJrQfEFhU78K/26Y2xJ80ZHyF3+P4Hs5520H9is/knklf8edS3j1eRqshaUK6Fonfq3gIryK68SkFzQAVsfUivzux/T4HBdgloKCdLHckcAfw6dhKIhAc5msynNfc5ppe2Vjzz+L7kX3qCFzFC0PwDABwvE9sSEkPwjSvXNJ4TP8ViXD52QTlJIxJ/6h6c1wrBUlVsQ3Q0CKaM6AMMbDAeVl9JZyAozoF45O/uDQLNjpR3MTbuSLNHL5/BsmfYHujPWCM7xjCj+Gy8IOiyFz2jDpRFsn82mq98d+WqDQWV3nqzmepFysLeRCKYWmUM9yk640Kej21S7QXwH8q3+8V/Uto57/1E4WZsGU4qhsRmVoJb8B35GqussOLpKNT4NAVd9m9tcci3jedAj1xYd+/zWA7mAQH6MXCCHMo4ql93iGl6ZYD9AkAwPUA597Ut6LGMZZHjYDI8FiR43xYEPpbUiWjtzIXOcSScN9hTHjTN6wKRjwZ31T12JwS7cHXE7y7Cotn/RwkTyLCgtH+jRugHKaqCpOpaknc9lEHg5W+tP0//gkRMoavByCks7gGOaB/TkRHP7xS1Y+ANTyx+Nof6YNvE0lLTSOYfgVYNwqqeDdgzNdPEgYQvLvnSo5/KjujDK9n7icDpSM2BFm/2/Db4fGpkQTUNcjxsiCxg08RVQ=----ATTACHMENT:----MzA0MTg4NjA1ODY1MTczNSA0NDc3MzgwMjk5Mzc0NzI1IDc4NTk3Mzc0Mjk2NzM4NTc=