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: /**
23: * @return SimpleImpurePoint[]
24: */
25: public function getImpurePoints(): array;
26:
27: /**
28: * @return InvalidateExprNode[]
29: */
30: public function getInvalidateExpressions(): array;
31:
32: /**
33: * @return string[]
34: */
35: public function getUsedVariables(): array;
36:
37: }
38: