1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\Reflection\Callables;
4:
5: use PHPStan\Node\InvalidateExprNode;
6: use PHPStan\Reflection\ParametersAcceptor;
7: use PHPStan\TrinaryLogic;
8:
9: /**
10: * @api
11: */
12: interface CallableParametersAcceptor extends ParametersAcceptor
13: {
14:
15: /**
16: * @return SimpleThrowPoint[]
17: */
18: public function getThrowPoints(): array;
19:
20: public function isPure(): TrinaryLogic;
21:
22: public function acceptsNamedArguments(): TrinaryLogic;
23:
24: /**
25: * @return SimpleImpurePoint[]
26: */
27: public function getImpurePoints(): array;
28:
29: /**
30: * @return InvalidateExprNode[]
31: */
32: public function getInvalidateExpressions(): array;
33:
34: /**
35: * @return string[]
36: */
37: public function getUsedVariables(): array;
38:
39: }
40: