Package sootup.core.jimple.common.stmt
Class JIfStmt
java.lang.Object
sootup.core.jimple.common.stmt.AbstractStmt
sootup.core.jimple.common.stmt.JIfStmt
- All Implemented Interfaces:
EquivTo
,BranchingStmt
,FallsThroughStmt
,Stmt
,Acceptor<StmtVisitor>
If the condition is true, jumps to the target, otherwise continues to the next stmt. The first
successor (index=0) is the fallsthrough Stmt and the second successor (index=1) is the rbanching
one.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final int
Fields inherited from class sootup.core.jimple.common.stmt.AbstractStmt
positionInfo
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<V extends StmtVisitor>
Vaccept
(V v) Called when this object is visited.boolean
branches()
Returns true if execution after this statement does not necessarily continue at the following statement.int
Returns a (not necessarily fixed) hash code for this object.boolean
equivTo
(Object o, JimpleComparator comparator) Returns true if this object is equivalent to o according to the given comparator.boolean
Returns true if execution after this statement may continue at the following statement.int
Returns the amount of unexceptional successors the Stmt needs to have in the StmtGraph.getTargetStmts
(Body body) getUses()
Returns a list of Values used in this Stmt.toString()
void
toString
(StmtPrinter stmtPrinter) withCondition
(AbstractConditionExpr condition) withPositionInfo
(StmtPositionInfo positionInfo) Methods inherited from class sootup.core.jimple.common.stmt.AbstractStmt
asInvokableStmt, containsArrayRef, containsFieldRef, getArrayRef, getDef, getFieldRef, getPositionInfo, getUsesAndDefs, isInvokableStmt, withNewUse
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface sootup.core.jimple.common.stmt.Stmt
asInvokableStmt, containsArrayRef, containsFieldRef, getArrayRef, getDef, getFieldRef, getPositionInfo, getUsesAndDefs, isInvokableStmt, withNewUse
-
Field Details
-
FALSE_BRANCH_IDX
public static final int FALSE_BRANCH_IDX- See Also:
-
TRUE_BRANCH_IDX
public static final int TRUE_BRANCH_IDX- See Also:
-
-
Constructor Details
-
JIfStmt
-
-
Method Details
-
toString
-
toString
-
getCondition
-
getTargetStmts
- Specified by:
getTargetStmts
in interfaceBranchingStmt
-
getExpectedSuccessorCount
public int getExpectedSuccessorCount()Description copied from class:AbstractStmt
Returns the amount of unexceptional successors the Stmt needs to have in the StmtGraph.- Specified by:
getExpectedSuccessorCount
in interfaceStmt
- Overrides:
getExpectedSuccessorCount
in classAbstractStmt
-
getUses
Description copied from class:AbstractStmt
Returns a list of Values used in this Stmt. Note that they are returned in usual evaluation order.- Specified by:
getUses
in interfaceStmt
- Overrides:
getUses
in classAbstractStmt
-
accept
Description copied from interface:Acceptor
Called when this object is visited.- Specified by:
accept
in interfaceAcceptor<StmtVisitor>
-
fallsThrough
public boolean fallsThrough()Description copied from interface:Stmt
Returns true if execution after this statement may continue at the following statement. (e.g. GotoStmt will return false and e.g. IfStmt will return true).- Specified by:
fallsThrough
in interfaceFallsThroughStmt
- Specified by:
fallsThrough
in interfaceStmt
-
branches
public boolean branches()Description copied from interface:Stmt
Returns true if execution after this statement does not necessarily continue at the following statement. TheBranchingStmt
's GotoStmt, JSwitchStmt and IfStmt will return true.- Specified by:
branches
in interfaceBranchingStmt
- Specified by:
branches
in interfaceStmt
-
equivTo
Description copied from interface:EquivTo
Returns true if this object is equivalent to o according to the given comparator. -
equivHashCode
public int equivHashCode()Description copied from interface:EquivTo
Returns a (not necessarily fixed) hash code for this object. This hash code coincides with equivTo; it is undefined in the presence of mutable objects. The contract is defined inJimpleComparator
.- Specified by:
equivHashCode
in interfaceEquivTo
-
withCondition
-
withPositionInfo
-