1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\Reflection\Deprecation;
4:
5: use PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnumBackedCase;
6: use PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnumUnitCase;
7:
8: /**
9: * This interface allows you to provide custom deprecation information
10: *
11: * To register it in the configuration file use the following tag:
12: *
13: * ```
14: * services:
15: * -
16: * class: App\PHPStan\MyProvider
17: * tags:
18: * - phpstan.enumCaseDeprecationExtension
19: * ```
20: *
21: * @api
22: */
23: interface EnumCaseDeprecationExtension
24: {
25:
26: public const ENUM_CASE_EXTENSION_TAG = 'phpstan.enumCaseDeprecationExtension';
27:
28: public function getEnumCaseDeprecation(ReflectionEnumUnitCase|ReflectionEnumBackedCase $reflection): ?Deprecation;
29:
30: }
31: