summaryrefslogtreecommitdiff
path: root/ext/reflection/php_reflection.stub.php
diff options
context:
space:
mode:
Diffstat (limited to 'ext/reflection/php_reflection.stub.php')
-rw-r--r--ext/reflection/php_reflection.stub.php37
1 files changed, 37 insertions, 0 deletions
diff --git a/ext/reflection/php_reflection.stub.php b/ext/reflection/php_reflection.stub.php
index 9287ae7e9c..e9815558d6 100644
--- a/ext/reflection/php_reflection.stub.php
+++ b/ext/reflection/php_reflection.stub.php
@@ -298,6 +298,8 @@ class ReflectionClass implements Reflector
/** @return bool */
public function isTrait() {}
+ public function isEnum(): bool {}
+
/** @return bool */
public function isAbstract() {}
@@ -479,6 +481,8 @@ class ReflectionClassConstant implements Reflector
/** @return ReflectionAttribute[] */
public function getAttributes(?string $name = null, int $flags = 0): array {}
+
+ public function isEnumCase(): bool {}
}
class ReflectionParameter implements Reflector
@@ -683,3 +687,36 @@ final class ReflectionAttribute
private function __construct() {}
}
+
+final class ReflectionEnum extends ReflectionClass
+{
+ public function __construct(object|string $objectOrClass) {}
+
+ public function hasCase(string $name): bool {}
+
+ public function getCase(string $name): ReflectionEnumUnitCase {}
+
+ /** @return ReflectionEnumUnitCase[] */
+ public function getCases(): array {}
+
+ public function isBacked(): bool {}
+
+ public function getBackingType(): ReflectionType|null {}
+}
+
+class ReflectionEnumUnitCase extends ReflectionClassConstant
+{
+ public function __construct(object|string $class, string $constant) {}
+
+ public function getEnum(): ReflectionEnum {}
+
+ /** @implementation-alias ReflectionClassConstant::getValue */
+ public function getValue(): UnitEnum {}
+}
+
+final class ReflectionEnumBackedCase extends ReflectionEnumUnitCase
+{
+ public function __construct(object|string $class, string $constant) {}
+
+ public function getBackingValue(): int|string {}
+}