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: /** @api */
11: interface ReturnStatementsNode extends VirtualNode
12: {
13:
14: /**
15: * @return list<ReturnStatement>
16: */
17: public function getReturnStatements(): array;
18:
19: public function getStatementResult(): StatementResult;
20:
21: /**
22: * @return list<ExecutionEndNode>
23: */
24: public function getExecutionEnds(): array;
25:
26: /**
27: * @return ImpurePoint[]
28: */
29: public function getImpurePoints(): array;
30:
31: public function returnsByRef(): bool;
32:
33: public function hasNativeReturnTypehint(): bool;
34:
35: /**
36: * @return list<Yield_|YieldFrom>
37: */
38: public function getYieldStatements(): array;
39:
40: public function isGenerator(): bool;
41:
42: }
43: