public class Loop extends Object
Modifier and Type | Field and Description |
---|---|
protected Stmt |
backJump |
protected UnitGraph |
g |
protected Stmt |
header |
protected Collection<Stmt> |
loopExits |
protected List<Stmt> |
loopStatements |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
Stmt |
getBackJumpStmt()
Returns the statement that jumps back to the head, thereby constituing the loop.
|
Stmt |
getHead() |
Collection<Stmt> |
getLoopExits()
Returns all loop exists.
|
List<Stmt> |
getLoopStatements() |
int |
hashCode() |
boolean |
hasSingleExit()
Returns
true if this loop has a single exit statement. |
boolean |
loopsForever()
Returns
true if this loop certainly loops forever, i.e. |
Collection<Stmt> |
targetsOfLoopExit(Stmt loopExit)
Computes all targets of the given loop exit, i.e.
|
protected final Stmt header
protected final Stmt backJump
protected final UnitGraph g
protected Collection<Stmt> loopExits
public Stmt getHead()
public Stmt getBackJumpStmt()
public List<Stmt> getLoopStatements()
public Collection<Stmt> getLoopExits()
public Collection<Stmt> targetsOfLoopExit(Stmt loopExit)
public boolean loopsForever()
true
if this loop certainly loops forever, i.e. if it has not exit.getLoopExits()
public boolean hasSingleExit()
true
if this loop has a single exit statement.getLoopExits()
Copyright © 2020 Sable. All rights reserved.