1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\Node;
4:
5: use PhpParser\Node\Expr\Yield_;
6: use PhpParser\Node\Expr\YieldFrom;
7: use PHPStan\Analyser\ImpurePoint;
8: use PHPStan\Analyser\StatementResult;
9:
10: /**
11: * @api
12: * @api-do-not-implement
13: */
14: interface ReturnStatementsNode extends VirtualNode
15: {
16:
17: /**
18: * @return list<ReturnStatement>
19: */
20: public function getReturnStatements(): array;
21:
22: public function getStatementResult(): StatementResult;
23:
24: /**
25: * @return list<ExecutionEndNode>
26: */
27: public function getExecutionEnds(): array;
28:
29: /**
30: * @return ImpurePoint[]
31: */
32: public function getImpurePoints(): array;
33:
34: public function returnsByRef(): bool;
35:
36: public function hasNativeReturnTypehint(): bool;
37:
38: /**
39: * @return list<Yield_|YieldFrom>
40: */
41: public function getYieldStatements(): array;
42:
43: public function isGenerator(): bool;
44:
45: }
46: