1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\Reflection;
4:
5: /**
6: * This is the interface custom properties class reflection extensions implement.
7: *
8: * To register it in the configuration file use the `phpstan.broker.propertiesClassReflectionExtension` service tag:
9: *
10: * ```
11: * services:
12: * -
13: * class: App\PHPStan\MyPropertiesClassReflectionExtension
14: * tags:
15: * - phpstan.broker.propertiesClassReflectionExtension
16: * ```
17: *
18: * Learn more: https://phpstan.org/developing-extensions/class-reflection-extensions
19: *
20: * @api
21: */
22: interface PropertiesClassReflectionExtension
23: {
24:
25: public function hasProperty(ClassReflection $classReflection, string $propertyName): bool;
26:
27: public function getProperty(ClassReflection $classReflection, string $propertyName): PropertyReflection;
28:
29: }
30: