public class ForStmt extends BranchTargetStmt implements Cloneable, VariableScope
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
begin_label_computed |
protected Stmt |
begin_label_value |
protected boolean |
canCompleteNormally_computed |
protected boolean |
canCompleteNormally_value |
protected boolean |
cond_label_computed |
protected Stmt |
cond_label_value |
protected boolean |
end_label_computed |
protected Stmt |
end_label_value |
protected Map |
isDAafter_Variable_values |
protected Map |
isDUafter_Variable_values |
protected Map |
isDUbeforeCondition_Variable_values |
protected Map |
localLookup_String_values |
protected Map |
localVariableDeclaration_String_values |
protected Map |
lookupVariable_String_values |
protected Map |
targetOf_BreakStmt_values |
protected Map |
targetOf_ContinueStmt_values |
protected boolean |
update_label_computed |
protected Stmt |
update_label_value |
branches_computed, branches_value, escapedBranches_computed, escapedBranches_value, reachableBreak_computed, reachableBreak_value, reachableContinue_computed, reachableContinue_value, targetBranches_computed, targetBranches_value, targetBreaks_computed, targetBreaks_value, targetContinues_computed, targetContinues_valuelocalNum_computed, localNum_valuechildren, generatedWithCacheCycle, generatedWithCircularEnabled, generatedWithComponentCheck, in$Circle, is$Final, numChildren, parent, PRIMITIVE_PACKAGE_NAME, state| Constructor and Description |
|---|
ForStmt() |
ForStmt(List<Stmt> p0,
Opt<Expr> p1,
List<Stmt> p2,
Stmt p3) |
| Modifier and Type | Method and Description |
|---|---|
void |
addInitStmt(Stmt node)
Append an element to the InitStmt list.
|
void |
addInitStmtNoTransform(Stmt node) |
void |
addUpdateStmt(Stmt node)
Append an element to the UpdateStmt list.
|
void |
addUpdateStmtNoTransform(Stmt node) |
Stmt |
begin_label() |
Stmt |
break_label() |
boolean |
canCompleteNormally() |
ForStmt |
clone() |
Stmt |
cond_label() |
Stmt |
continue_label() |
boolean |
continueLabel() |
ForStmt |
copy() |
boolean |
Define_boolean_insideLoop(ASTNode caller,
ASTNode child) |
boolean |
Define_boolean_isDAbefore(ASTNode caller,
ASTNode child,
Variable v) |
boolean |
Define_boolean_isDUbefore(ASTNode caller,
ASTNode child,
Variable v) |
boolean |
Define_boolean_reachable(ASTNode caller,
ASTNode child) |
boolean |
Define_boolean_reportUnreachable(ASTNode caller,
ASTNode child) |
SimpleSet |
Define_SimpleSet_lookupVariable(ASTNode caller,
ASTNode child,
String name) |
Stmt |
Define_soot_jimple_Stmt_condition_false_label(ASTNode caller,
ASTNode child) |
Stmt |
Define_soot_jimple_Stmt_condition_true_label(ASTNode caller,
ASTNode child) |
VariableScope |
Define_VariableScope_outerScope(ASTNode caller,
ASTNode child) |
boolean |
definesLabel() |
Stmt |
end_label() |
void |
flushCache() |
void |
flushCollectionCache() |
ForStmt |
fullCopy()
Create a deep copy of the AST subtree at this node.
|
Expr |
getCondition()
Retrieves the (optional) Condition child.
|
Opt<Expr> |
getConditionOpt() |
Opt<Expr> |
getConditionOptNoTransform()
Retrieves the optional node for child Condition.
|
Stmt |
getInitStmt(int i)
Retrieves the element at index
i in the InitStmt list.. |
List<Stmt> |
getInitStmtList()
Retrieves the InitStmt list.
|
List<Stmt> |
getInitStmtListNoTransform()
Retrieves the InitStmt list.
|
List<Stmt> |
getInitStmts()
Retrieves the InitStmt list.
|
List<Stmt> |
getInitStmtsNoTransform()
Retrieves the InitStmt list.
|
int |
getNumInitStmt()
Retrieves the number of children in the InitStmt list.
|
int |
getNumInitStmtNoTransform()
Retrieves the number of children in the InitStmt list.
|
int |
getNumUpdateStmt()
Retrieves the number of children in the UpdateStmt list.
|
int |
getNumUpdateStmtNoTransform()
Retrieves the number of children in the UpdateStmt list.
|
Stmt |
getStmt()
Retrieves the Stmt child.
|
Stmt |
getStmtNoTransform()
Retrieves the Stmt child.
|
Stmt |
getUpdateStmt(int i)
Retrieves the element at index
i in the UpdateStmt list.. |
List<Stmt> |
getUpdateStmtList()
Retrieves the UpdateStmt list.
|
List<Stmt> |
getUpdateStmtListNoTransform()
Retrieves the UpdateStmt list.
|
List<Stmt> |
getUpdateStmts()
Retrieves the UpdateStmt list.
|
List<Stmt> |
getUpdateStmtsNoTransform()
Retrieves the UpdateStmt list.
|
boolean |
hasCondition()
Check whether the optional Condition child exists.
|
void |
init$Children()
Initializes the child array to the correct size.
|
boolean |
isDAafter(Variable v) |
boolean |
isDAafterInitialization(Variable v) |
boolean |
isDUafter(Variable v) |
boolean |
isDUafterInit(Variable v) |
boolean |
isDUafterUpdate(Variable v) |
boolean |
isDUbeforeCondition(Variable v) |
void |
jimplify2(Body b) |
SimpleSet |
localLookup(String name) |
VariableDeclaration |
localVariableDeclaration(String name) |
SimpleSet |
lookupVariable(String name) |
boolean |
mayHaveRewrite() |
boolean |
modifiedInScope(Variable var) |
protected int |
numChildren() |
ASTNode |
rewriteTo() |
void |
setCondition(Expr node)
Replaces the (optional) Condition child.
|
void |
setConditionOpt(Opt<Expr> opt)
Replaces the optional node for the Condition child.
|
void |
setInitStmt(Stmt node,
int i)
Replaces the InitStmt list element at index
i with the new node node. |
void |
setInitStmtList(List<Stmt> list)
Replaces the InitStmt list.
|
void |
setStmt(Stmt node)
Replaces the Stmt child.
|
void |
setUpdateStmt(Stmt node,
int i)
Replaces the UpdateStmt list element at index
i with the new node node. |
void |
setUpdateStmtList(List<Stmt> list)
Replaces the UpdateStmt list.
|
boolean |
targetOf(BreakStmt stmt) |
boolean |
targetOf(ContinueStmt stmt) |
void |
toString(StringBuffer s) |
void |
typeCheck() |
Stmt |
update_label() |
branches, branchTarget, collectBranches, collectFinally, escapedBranches, reachableBreak, reachableContinue, targetBranches, targetBreaks, targetContinuesaddsIndentationLevel, declaresVariable, Define_String_typeDeclIndent, enclosingBodyDecl, hostType, isDAbefore, isDUbefore, localNum, lookupMethod, lookupType, lookupType, reachable, reportUnreachableaccessControl, addAttributes, addChild, asImmediate, asLocal, asLocal, asRValue, beginExceptionRange, checkDUeverywhere, checkEnum, checkUncheckedConversion, checkWarnings, clearLocations, cloneSubtree, collectEnclosingVariables, collectErrors, collectExceptions, collectTypesToHierarchy, collectTypesToSignatures, compilationUnit, Define_Annotation_lookupAnnotation, Define_ArrayList_exceptionRanges, Define_ASTNode_enclosingBlock, Define_BodyDecl_enclosingBodyDecl, Define_boolean_enclosedByExceptionHandler, Define_boolean_handlesException, Define_boolean_hasPackage, Define_boolean_inExplicitConstructorInvocation, Define_boolean_inExtendsOrImplements, Define_boolean_inhModifiedInScope, Define_boolean_insideSwitch, Define_boolean_inStaticContext, Define_boolean_isAnonymous, Define_boolean_isAnonymousDecl, Define_boolean_isCatchParam, Define_boolean_isConstructorParameter, Define_boolean_isDest, Define_boolean_isExceptionHandlerParameter, Define_boolean_isExplicitGenericConstructorAccess, Define_boolean_isIncOrDec, Define_boolean_isLocalClass, Define_boolean_isMemberType, Define_boolean_isMethodParameter, Define_boolean_isNestedType, Define_boolean_isSource, Define_boolean_mayBeAbstract, Define_boolean_mayBeFinal, Define_boolean_mayBeNative, Define_boolean_mayBePrivate, Define_boolean_mayBeProtected, Define_boolean_mayBePublic, Define_boolean_mayBeStatic, Define_boolean_mayBeStrictfp, Define_boolean_mayBeSynchronized, Define_boolean_mayBeTransient, Define_boolean_mayBeVolatile, Define_boolean_mayUseAnnotationTarget, Define_boolean_reachableCatchClause, Define_boolean_resourcePreviouslyDeclared, Define_boolean_variableArityValid, Define_boolean_withinDeprecatedAnnotation, Define_boolean_withinSuppressWarnings, Define_Case_bind, Define_CatchClause_catchClause, Define_ClassInstanceExpr_getClassInstanceExpr, Define_Collection_lookupConstructor, Define_Collection_lookupMethod, Define_Collection_lookupSuperConstructor, Define_Collection_TypeDecl__caughtExceptions, Define_CompilationUnit_compilationUnit, Define_ConstructorDecl_constructorDecl, Define_ConstructorDecl_unknownConstructor, Define_ElementValue_lookupElementTypeValue, Define_Expr_nestedScope, Define_GLBType_lookupGLBType, Define_int_localNum, Define_LabeledStmt_lookupLabel, Define_LUBType_lookupLUBType, Define_MethodDecl_unknownMethod, Define_NameType_nameType, Define_SimpleSet_allImportedTypes, Define_SimpleSet_lookupType, Define_String_hostPackage, Define_String_methodHost, Define_String_packageName, Define_TypeDecl_assignConvertedType, Define_TypeDecl_componentType, Define_TypeDecl_declType, Define_TypeDecl_enclosingAnnotationDecl, Define_TypeDecl_enclosingInstance, Define_TypeDecl_enclosingType, Define_TypeDecl_expectedType, Define_TypeDecl_genericDecl, Define_TypeDecl_hostType, Define_TypeDecl_lookupType, Define_TypeDecl_lookupWildcardExtends, Define_TypeDecl_lookupWildcardSuper, Define_TypeDecl_returnType, Define_TypeDecl_superType, Define_TypeDecl_switchType, Define_TypeDecl_typeBoolean, Define_TypeDecl_typeByte, Define_TypeDecl_typeChar, Define_TypeDecl_typeCloneable, Define_TypeDecl_typeDouble, Define_TypeDecl_typeError, Define_TypeDecl_typeException, Define_TypeDecl_typeFloat, Define_TypeDecl_typeInt, Define_TypeDecl_typeLong, Define_TypeDecl_typeNull, Define_TypeDecl_typeNullPointerException, Define_TypeDecl_typeObject, Define_TypeDecl_typeRuntimeException, Define_TypeDecl_typeSerializable, Define_TypeDecl_typeShort, Define_TypeDecl_typeString, Define_TypeDecl_typeThrowable, Define_TypeDecl_typeVoid, Define_TypeDecl_typeWildcard, Define_TypeDecl_unknownType, Define_Variable_unknownField, definiteAssignment, dumpString, dumpTree, dumpTree, dumpTreeNoRewrite, dumpTreeNoRewrite, duringAnnotations, duringAnonymousClasses, duringBoundNames, duringDU, duringEnums, duringGenericTypeVariables, duringImplicitConstructor, duringLiterals, duringNameResolution, duringSyntacticClassification, duringVariableDeclarationTransformation, emitConstant, end, endExceptionRange, error, errorPrefix, exceptionHandling, extractIndent, extractSingleType, flushCaches, getChild, getChildNoTransform, getIndexOfChild, getNumChild, getNumChildNoTransform, getParent, in$Circle, in$Circle, indent, insertChild, is$Final, is$Final, isDescendantTo, isStringAdd, iterator, jimplify1phase1, jimplify1phase2, jimplify2, lineNumber, location, nameCheck, newLabel, options, putSimpleSetElement, reachedException, removeChild, removeInstanceMethods, removeInstanceVariables, replace, setChild, setEnd, setLocation, setParent, setStart, sourceFile, start, state, toString, transformation, transformEnumConstructors, unassignedEverywhere, usesTypeVariable, varChildIndex, varChildIndex, warning, warningPrefix, withgetColumn, getEnd, getId, getLine, getStart, makePositionequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforEach, spliteratorprotected Map targetOf_ContinueStmt_values
protected Map targetOf_BreakStmt_values
protected Map isDAafter_Variable_values
protected Map isDUafter_Variable_values
protected Map isDUbeforeCondition_Variable_values
protected Map localLookup_String_values
protected Map localVariableDeclaration_String_values
protected boolean canCompleteNormally_computed
protected boolean canCompleteNormally_value
protected boolean cond_label_computed
protected Stmt cond_label_value
protected boolean begin_label_computed
protected Stmt begin_label_value
protected boolean update_label_computed
protected Stmt update_label_value
protected boolean end_label_computed
protected Stmt end_label_value
protected Map lookupVariable_String_values
public void flushCache()
flushCache in class BranchTargetStmtpublic void flushCollectionCache()
flushCollectionCache in class BranchTargetStmtpublic ForStmt clone() throws CloneNotSupportedException
clone in class BranchTargetStmtCloneNotSupportedExceptionpublic ForStmt fullCopy()
public void toString(StringBuffer s)
public void init$Children()
init$Children in class BranchTargetStmtprotected int numChildren()
numChildren in class BranchTargetStmtpublic boolean mayHaveRewrite()
mayHaveRewrite in class BranchTargetStmtpublic void setInitStmtList(List<Stmt> list)
list - The new list node to be used as the InitStmt list.public int getNumInitStmt()
public int getNumInitStmtNoTransform()
public Stmt getInitStmt(int i)
i in the InitStmt list..i - Index of the element to return.i in the InitStmt list.public void addInitStmt(Stmt node)
node - The element to append to the InitStmt list.public void addInitStmtNoTransform(Stmt node)
public void setInitStmt(Stmt node, int i)
i with the new node node.node - The new node to replace the old list element.i - The list index of the node to be replaced.public List<Stmt> getInitStmts()
public List<Stmt> getInitStmtsNoTransform()
This method does not invoke AST transformations.
public List<Stmt> getInitStmtList()
public List<Stmt> getInitStmtListNoTransform()
This method does not invoke AST transformations.
public void setConditionOpt(Opt<Expr> opt)
Opt node containing the child Condition, not the actual child!opt - The new node to be used as the optional node for the Condition child.public boolean hasCondition()
true if the optional Condition child exists, false if it does not.public Expr getCondition()
null otherwise.public void setCondition(Expr node)
node - The new node to be used as the Condition child.public Opt<Expr> getConditionOptNoTransform()
Opt node containing the child Condition, not the actual child!
This method does not invoke AST transformations.
public void setUpdateStmtList(List<Stmt> list)
list - The new list node to be used as the UpdateStmt list.public int getNumUpdateStmt()
public int getNumUpdateStmtNoTransform()
public Stmt getUpdateStmt(int i)
i in the UpdateStmt list..i - Index of the element to return.i in the UpdateStmt list.public void addUpdateStmt(Stmt node)
node - The element to append to the UpdateStmt list.public void addUpdateStmtNoTransform(Stmt node)
public void setUpdateStmt(Stmt node, int i)
i with the new node node.node - The new node to replace the old list element.i - The list index of the node to be replaced.public List<Stmt> getUpdateStmts()
public List<Stmt> getUpdateStmtsNoTransform()
This method does not invoke AST transformations.
public List<Stmt> getUpdateStmtList()
public List<Stmt> getUpdateStmtListNoTransform()
This method does not invoke AST transformations.
public void setStmt(Stmt node)
node - The new node to replace the Stmt child.public Stmt getStmt()
public Stmt getStmtNoTransform()
This method does not invoke AST transformations.
public boolean targetOf(ContinueStmt stmt)
targetOf in interface BranchPropagationtargetOf in class BranchTargetStmtpublic boolean targetOf(BreakStmt stmt)
targetOf in interface BranchPropagationtargetOf in class BranchTargetStmtpublic boolean isDAafterInitialization(Variable v)
public boolean isDUafterInit(Variable v)
public boolean isDUbeforeCondition(Variable v)
public boolean isDUafterUpdate(Variable v)
public VariableDeclaration localVariableDeclaration(String name)
public boolean continueLabel()
continueLabel in class Stmtpublic boolean canCompleteNormally()
canCompleteNormally in class Stmtpublic boolean definesLabel()
definesLabel in class ASTNode<ASTNode>public Stmt cond_label()
public Stmt begin_label()
public Stmt update_label()
public Stmt end_label()
public Stmt break_label()
break_label in class Stmtpublic Stmt continue_label()
continue_label in class Stmtpublic boolean modifiedInScope(Variable var)
modifiedInScope in class Stmtpublic SimpleSet lookupVariable(String name)
lookupVariable in interface VariableScopelookupVariable in class Stmtpublic boolean Define_boolean_isDAbefore(ASTNode caller, ASTNode child, Variable v)
Define_boolean_isDAbefore in class ASTNode<ASTNode>public boolean Define_boolean_isDUbefore(ASTNode caller, ASTNode child, Variable v)
Define_boolean_isDUbefore in class ASTNode<ASTNode>public SimpleSet Define_SimpleSet_lookupVariable(ASTNode caller, ASTNode child, String name)
Define_SimpleSet_lookupVariable in class ASTNode<ASTNode>public VariableScope Define_VariableScope_outerScope(ASTNode caller, ASTNode child)
Define_VariableScope_outerScope in class ASTNode<ASTNode>public boolean Define_boolean_insideLoop(ASTNode caller, ASTNode child)
Define_boolean_insideLoop in class ASTNode<ASTNode>public boolean Define_boolean_reachable(ASTNode caller, ASTNode child)
Define_boolean_reachable in class ASTNode<ASTNode>public boolean Define_boolean_reportUnreachable(ASTNode caller, ASTNode child)
Define_boolean_reportUnreachable in class ASTNode<ASTNode>public Stmt Define_soot_jimple_Stmt_condition_false_label(ASTNode caller, ASTNode child)
Define_soot_jimple_Stmt_condition_false_label in class ASTNode<ASTNode>public Stmt Define_soot_jimple_Stmt_condition_true_label(ASTNode caller, ASTNode child)
Define_soot_jimple_Stmt_condition_true_label in class ASTNode<ASTNode>public ASTNode rewriteTo()
rewriteTo in class BranchTargetStmtCopyright © 2020 Soot OSS. All rights reserved.