1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\Reflection;
4:
5: use PHPStan\TrinaryLogic;
6: use PHPStan\Type\Type;
7:
8: /**
9: * Reflection for a constant (class constant or global constant).
10: *
11: * Provides the constant's name, resolved value type, deprecation status, and
12: * metadata. This is the base interface — ClassConstantReflection extends it
13: * with class-specific features (declaring class, value expression, native type).
14: *
15: * @api
16: * @api-do-not-implement
17: */
18: interface ConstantReflection
19: {
20:
21: public function getName(): string;
22:
23: public function getValueType(): Type;
24:
25: public function isDeprecated(): TrinaryLogic;
26:
27: public function getDeprecatedDescription(): ?string;
28:
29: public function isInternal(): TrinaryLogic;
30:
31: public function getFileName(): ?string;
32:
33: /** @return list<AttributeReflection> */
34: public function getAttributes(): array;
35:
36: }
37: