public class Loop
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected Stmt |
backJump |
protected UnitGraph |
g |
protected Stmt |
header |
protected java.util.Collection<Stmt> |
loopExits |
protected java.util.List<Stmt> |
loopStatements |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj) |
Stmt |
getBackJumpStmt()
Returns the statement that jumps back to the head, thereby constituing the loop.
|
Stmt |
getHead() |
java.util.Collection<Stmt> |
getLoopExits()
Returns all loop exists.
|
java.util.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. |
java.util.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 java.util.List<Stmt> loopStatements
protected final UnitGraph g
protected java.util.Collection<Stmt> loopExits
public Stmt getHead()
public Stmt getBackJumpStmt()
public java.util.List<Stmt> getLoopStatements()
public java.util.Collection<Stmt> getLoopExits()
public java.util.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()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object