Package soot.JastAddJ
Class BranchTargetStmt
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.Stmt
-
- soot.JastAddJ.BranchTargetStmt
-
- All Implemented Interfaces:
Cloneable,Iterable<ASTNode>,BranchPropagation
- Direct Known Subclasses:
DoStmt,EnhancedForStmt,ForStmt,LabeledStmt,SwitchStmt,WhileStmt
public abstract class BranchTargetStmt extends Stmt implements Cloneable, BranchPropagation
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanbranches_computedprotected Collectionbranches_valueprotected booleanescapedBranches_computedprotected CollectionescapedBranches_valueprotected booleanreachableBreak_computedprotected booleanreachableBreak_valueprotected booleanreachableContinue_computedprotected booleanreachableContinue_valueprotected booleantargetBranches_computedprotected CollectiontargetBranches_valueprotected booleantargetBreaks_computedprotected CollectiontargetBreaks_valueprotected booleantargetContinues_computedprotected CollectiontargetContinues_value-
Fields inherited from class soot.JastAddJ.Stmt
canCompleteNormally_computed, canCompleteNormally_value, isDAafter_Variable_values, isDUafter_Variable_values, localNum_computed, localNum_value
-
Fields inherited from class soot.JastAddJ.ASTNode
children, generatedWithCacheCycle, generatedWithCircularEnabled, generatedWithComponentCheck, in$Circle, is$Final, numChildren, parent, PRIMITIVE_PACKAGE_NAME, state
-
-
Constructor Summary
Constructors Constructor Description BranchTargetStmt()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Collectionbranches()StmtbranchTarget(Stmt branchStmt)BranchTargetStmtclone()voidcollectBranches(Collection c)voidcollectFinally(Stmt branchStmt, ArrayList list)CollectionescapedBranches()voidflushCache()voidflushCollectionCache()voidinit$Children()Initializes the child array to the correct size.booleanmayHaveRewrite()protected intnumChildren()booleanreachableBreak()booleanreachableContinue()ASTNoderewriteTo()CollectiontargetBranches()CollectiontargetBreaks()CollectiontargetContinues()abstract booleantargetOf(BreakStmt stmt)abstract booleantargetOf(ContinueStmt stmt)-
Methods inherited from class soot.JastAddJ.Stmt
addsIndentationLevel, break_label, canCompleteNormally, continue_label, continueLabel, declaresVariable, Define_String_typeDeclIndent, enclosingBodyDecl, hostType, isDAafter, isDAbefore, isDUafter, isDUbefore, jimplify2, localNum, lookupMethod, lookupType, lookupType, lookupVariable, modifiedInScope, reachable, reportUnreachable
-
Methods inherited from class soot.JastAddJ.ASTNode
accessControl, addAttributes, addChild, asImmediate, asLocal, asLocal, asRValue, beginExceptionRange, checkDUeverywhere, checkEnum, checkUncheckedConversion, checkWarnings, clearLocations, cloneSubtree, collectEnclosingVariables, collectErrors, collectExceptions, collectTypesToHierarchy, collectTypesToSignatures, compilationUnit, copy, 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_insideLoop, Define_boolean_insideSwitch, Define_boolean_inStaticContext, Define_boolean_isAnonymous, Define_boolean_isAnonymousDecl, Define_boolean_isCatchParam, Define_boolean_isConstructorParameter, Define_boolean_isDAbefore, Define_boolean_isDest, Define_boolean_isDUbefore, 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_reachable, Define_boolean_reachableCatchClause, Define_boolean_reportUnreachable, 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_SimpleSet_lookupVariable, Define_soot_jimple_Stmt_condition_false_label, Define_soot_jimple_Stmt_condition_true_label, 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, Define_VariableScope_outerScope, definesLabel, 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, fullCopy, 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, toString, transformation, transformEnumConstructors, typeCheck, unassignedEverywhere, usesTypeVariable, varChildIndex, varChildIndex, warning, warningPrefix, with
-
Methods inherited from class beaver.Symbol
getColumn, getEnd, getId, getLine, getStart, makePosition
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Field Detail
-
reachableBreak_computed
protected boolean reachableBreak_computed
-
reachableBreak_value
protected boolean reachableBreak_value
-
reachableContinue_computed
protected boolean reachableContinue_computed
-
reachableContinue_value
protected boolean reachableContinue_value
-
targetBranches_computed
protected boolean targetBranches_computed
-
targetBranches_value
protected Collection targetBranches_value
-
escapedBranches_computed
protected boolean escapedBranches_computed
-
escapedBranches_value
protected Collection escapedBranches_value
-
branches_computed
protected boolean branches_computed
-
branches_value
protected Collection branches_value
-
targetContinues_computed
protected boolean targetContinues_computed
-
targetContinues_value
protected Collection targetContinues_value
-
targetBreaks_computed
protected boolean targetBreaks_computed
-
targetBreaks_value
protected Collection targetBreaks_value
-
-
Method Detail
-
flushCache
public void flushCache()
- Overrides:
flushCachein classStmt
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCachein classStmt
-
clone
public BranchTargetStmt clone() throws CloneNotSupportedException
- Overrides:
clonein classStmt- Throws:
CloneNotSupportedException
-
collectBranches
public void collectBranches(Collection c)
- Specified by:
collectBranchesin interfaceBranchPropagation- Overrides:
collectBranchesin classASTNode<ASTNode>
-
branchTarget
public Stmt branchTarget(Stmt branchStmt)
- Specified by:
branchTargetin interfaceBranchPropagation- Overrides:
branchTargetin classASTNode<ASTNode>
-
collectFinally
public void collectFinally(Stmt branchStmt, ArrayList list)
- Specified by:
collectFinallyin interfaceBranchPropagation- Overrides:
collectFinallyin classASTNode<ASTNode>
-
init$Children
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.- Overrides:
init$Childrenin classStmt
-
numChildren
protected int numChildren()
- Overrides:
numChildrenin classStmt
-
mayHaveRewrite
public boolean mayHaveRewrite()
- Overrides:
mayHaveRewritein classStmt
-
targetOf
public abstract boolean targetOf(ContinueStmt stmt)
- Specified by:
targetOfin interfaceBranchPropagation
-
targetOf
public abstract boolean targetOf(BreakStmt stmt)
- Specified by:
targetOfin interfaceBranchPropagation
-
reachableBreak
public boolean reachableBreak()
-
reachableContinue
public boolean reachableContinue()
-
targetBranches
public Collection targetBranches()
- Specified by:
targetBranchesin interfaceBranchPropagation
-
escapedBranches
public Collection escapedBranches()
- Specified by:
escapedBranchesin interfaceBranchPropagation
-
branches
public Collection branches()
- Specified by:
branchesin interfaceBranchPropagation
-
targetContinues
public Collection targetContinues()
- Specified by:
targetContinuesin interfaceBranchPropagation
-
targetBreaks
public Collection targetBreaks()
- Specified by:
targetBreaksin interfaceBranchPropagation
-
-