public class SwitchStmt extends BranchTargetStmt implements Cloneable
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
canCompleteNormally_computed |
protected boolean |
canCompleteNormally_value |
protected boolean |
defaultCase_computed |
protected DefaultCase |
defaultCase_value |
protected boolean |
end_label_computed |
protected Stmt |
end_label_value |
protected Map |
isDAafter_Variable_values |
protected Map |
isDUafter_Variable_values |
protected Map |
targetOf_BreakStmt_values |
protected Map |
targetOf_ContinueStmt_values |
protected boolean |
typeInt_computed |
protected TypeDecl |
typeInt_value |
protected boolean |
typeLong_computed |
protected TypeDecl |
typeLong_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 |
|---|
SwitchStmt() |
SwitchStmt(Expr p0,
Block p1) |
branches, branchTarget, collectBranches, collectFinally, escapedBranches, reachableBreak, reachableContinue, targetBranches, targetBreaks, targetContinuesaddsIndentationLevel, continue_label, continueLabel, declaresVariable, Define_String_typeDeclIndent, enclosingBodyDecl, hostType, isDAbefore, isDUbefore, localNum, lookupMethod, lookupType, lookupType, lookupVariable, 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_insideLoop, 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_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_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, 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, 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 boolean canCompleteNormally_computed
protected boolean canCompleteNormally_value
protected boolean defaultCase_computed
protected DefaultCase defaultCase_value
protected boolean end_label_computed
protected Stmt end_label_value
protected boolean typeInt_computed
protected TypeDecl typeInt_value
protected boolean typeLong_computed
protected TypeDecl typeLong_value
public void flushCache()
flushCache in class BranchTargetStmtpublic void flushCollectionCache()
flushCollectionCache in class BranchTargetStmtpublic SwitchStmt clone() throws CloneNotSupportedException
clone in class BranchTargetStmtCloneNotSupportedExceptionpublic SwitchStmt copy()
public SwitchStmt fullCopy()
public void toString(StringBuffer s)
public void transformation()
transformation in class ASTNode<ASTNode>public void init$Children()
init$Children in class BranchTargetStmtprotected int numChildren()
numChildren in class BranchTargetStmtpublic boolean mayHaveRewrite()
mayHaveRewrite in class BranchTargetStmtpublic void setExpr(Expr node)
node - The new node to replace the Expr child.public Expr getExpr()
public Expr getExprNoTransform()
This method does not invoke AST transformations.
public void setBlock(Block node)
node - The new node to replace the Block child.public Block getBlock()
public Block getBlockNoTransform()
This method does not invoke AST transformations.
public void refined_Enums_SwitchStmt_typeCheck()
public void typeCheck()
Overrides the type checking of the switch statement's expression.
In JSR 334 a switch statement may use an expression of type String.
public boolean targetOf(ContinueStmt stmt)
targetOf in interface BranchPropagationtargetOf in class BranchTargetStmtpublic boolean targetOf(BreakStmt stmt)
targetOf in interface BranchPropagationtargetOf in class BranchTargetStmtpublic boolean assignedAfterLastStmt(Variable v)
public boolean unassignedAfterLastStmt(Variable v)
public boolean switchLabelEndsBlock()
public boolean lastStmtCanCompleteNormally()
public boolean noStmts()
public boolean noStmtsAfterLastLabel()
public boolean noDefaultLabel()
public boolean canCompleteNormally()
canCompleteNormally in class Stmtpublic DefaultCase defaultCase()
public Stmt end_label()
public Stmt break_label()
break_label in class Stmtpublic boolean modifiedInScope(Variable var)
modifiedInScope in class Stmtpublic TypeDecl typeInt()
public TypeDecl typeLong()
public 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 boolean Define_boolean_insideSwitch(ASTNode caller, ASTNode child)
Define_boolean_insideSwitch in class ASTNode<ASTNode>public Case Define_Case_bind(ASTNode caller, ASTNode child, Case c)
Define_Case_bind in class ASTNode<ASTNode>public TypeDecl Define_TypeDecl_switchType(ASTNode caller, ASTNode child)
Define_TypeDecl_switchType 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 ASTNode rewriteTo()
rewriteTo in class BranchTargetStmtCopyright © 2020 Soot OSS. All rights reserved.