1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\Reflection;
4:
5: use PHPStan\TrinaryLogic;
6: use PHPStan\Type\Type;
7:
8: /** @api */
9: interface FunctionReflection
10: {
11:
12: public function getName(): string;
13:
14: public function getFileName(): ?string;
15:
16: /**
17: * @return ParametersAcceptorWithPhpDocs[]
18: */
19: public function getVariants(): array;
20:
21: public function isDeprecated(): TrinaryLogic;
22:
23: public function getDeprecatedDescription(): ?string;
24:
25: public function isFinal(): TrinaryLogic;
26:
27: public function isInternal(): TrinaryLogic;
28:
29: public function getThrowType(): ?Type;
30:
31: public function hasSideEffects(): TrinaryLogic;
32:
33: public function isBuiltin(): bool;
34:
35: public function getAsserts(): Assertions;
36:
37: public function getDocComment(): ?string;
38:
39: public function returnsByReference(): TrinaryLogic;
40:
41: }
42: