Methods |
public
|
__construct(
MutatingScope $scope,
bool $hasYield,
bool $isAlwaysTerminating,
StatementExitPoint[] $exitPoints,
ThrowPoint[] $throwPoints,
ImpurePoint[] $impurePoints,
EndStatementResult[] $endStatements = [],
)
|
#
|
public
|
getScope(): MutatingScope
|
#
|
public
|
hasYield(): bool
|
#
|
public
|
isAlwaysTerminating(): bool
|
#
|
public
|
filterOutLoopExitPoints(): self
|
#
|
public
|
getExitPoints(): StatementExitPoint[]
|
#
|
public
|
getExitPointsByType(class-string<Continue_>|class-string<Break_> $stmtClass): list<StatementExitPoint>
|
#
|
public
|
getExitPointsForOuterLoop(): list<StatementExitPoint>
|
#
|
public
|
getThrowPoints(): ThrowPoint[]
|
#
|
public
|
getImpurePoints(): ImpurePoint[]
|
#
|
public
|
getEndStatements(): EndStatementResult[]
Top-level StatementResult represents the state of the code
at the end of control flow statements like If_ or TryCatch. It shows how Scope etc. looks like after If_ no matter
which code branch was executed. For If_, "end statements" contain the state of the code
at the end of each branch - if, elseifs, else, including the last
statement node in each branch. For nested ifs, end statements try to contain the last non-control flow
statement like Return_ or Throw_, instead of If_, TryCatch, or Foreach_.
Top-level StatementResult represents the state of the code
at the end of control flow statements like If_ or TryCatch. It shows how Scope etc. looks like after If_ no matter
which code branch was executed. For If_, "end statements" contain the state of the code
at the end of each branch - if, elseifs, else, including the last
statement node in each branch. For nested ifs, end statements try to contain the last non-control flow
statement like Return_ or Throw_, instead of If_, TryCatch, or Foreach_.
|
#
|