Package soot.JastAddJ
Class MultiCatch
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.CatchClause
-
- soot.JastAddJ.MultiCatch
-
- All Implemented Interfaces:
Cloneable
,Iterable<ASTNode>
,VariableScope
public class MultiCatch extends CatchClause implements Cloneable
A catch clause that can catch a multiple exception types.
-
-
Field Summary
Fields Modifier and Type Field Description protected Map
parameterDeclaration_String_values
-
Fields inherited from class soot.JastAddJ.CatchClause
lookupVariable_String_values, reachableCatchClause_TypeDecl_values, typeThrowable_computed, typeThrowable_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 MultiCatch()
MultiCatch(CatchParameterDeclaration p0, Block p1)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MultiCatch
clone()
MultiCatch
copy()
boolean
Define_boolean_isConstructorParameter(ASTNode caller, ASTNode child)
boolean
Define_boolean_isExceptionHandlerParameter(ASTNode caller, ASTNode child)
boolean
Define_boolean_isMethodParameter(ASTNode caller, ASTNode child)
boolean
Define_boolean_reachable(ASTNode caller, ASTNode child)
SimpleSet
Define_SimpleSet_lookupVariable(ASTNode caller, ASTNode child, String name)
void
flushCache()
void
flushCollectionCache()
MultiCatch
fullCopy()
Create a deep copy of the AST subtree at this node.Block
getBlock()
Retrieves the Block child.Block
getBlockNoTransform()
Retrieves the Block child.CatchParameterDeclaration
getParameter()
Retrieves the Parameter child.CatchParameterDeclaration
getParameterNoTransform()
Retrieves the Parameter child.boolean
handles(TypeDecl exceptionType)
void
init$Children()
Initializes the child array to the correct size.boolean
mayHaveRewrite()
protected int
numChildren()
SimpleSet
parameterDeclaration(String name)
Variable lookup in catch parameter scope.ASTNode
rewriteTo()
void
setBlock(Block node)
Replaces the Block child.void
setParameter(CatchParameterDeclaration node)
Replaces the Parameter child.void
toString(StringBuffer sb)
Pretty printing of multi-catch clause.-
Methods inherited from class soot.JastAddJ.CatchClause
caughtExceptions, Define_boolean_reportUnreachable, Define_CatchClause_catchClause, hostType, lookupVariable, modifiedInScope, reachableCatchClause, reportUnreachable, typeThrowable
-
Methods inherited from class soot.JastAddJ.ASTNode
accessControl, addAttributes, addChild, addsIndentationLevel, asImmediate, asLocal, asLocal, asRValue, beginExceptionRange, branchTarget, checkDUeverywhere, checkEnum, checkUncheckedConversion, checkWarnings, clearLocations, cloneSubtree, collectBranches, collectEnclosingVariables, collectErrors, collectExceptions, collectFinally, 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_insideSwitch, Define_boolean_inStaticContext, Define_boolean_isAnonymous, Define_boolean_isAnonymousDecl, Define_boolean_isCatchParam, Define_boolean_isDAbefore, Define_boolean_isDest, Define_boolean_isDUbefore, Define_boolean_isExplicitGenericConstructorAccess, Define_boolean_isIncOrDec, Define_boolean_isLocalClass, Define_boolean_isMemberType, 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_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_soot_jimple_Stmt_condition_false_label, Define_soot_jimple_Stmt_condition_true_label, Define_String_hostPackage, Define_String_methodHost, Define_String_packageName, Define_String_typeDeclIndent, 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, getChild, getChildNoTransform, getIndexOfChild, getNumChild, getNumChildNoTransform, getParent, in$Circle, in$Circle, indent, insertChild, is$Final, is$Final, isDescendantTo, isStringAdd, iterator, jimplify1phase1, jimplify1phase2, jimplify2, jimplify2, lineNumber, location, nameCheck, newLabel, options, putSimpleSetElement, reachedException, removeChild, removeInstanceMethods, removeInstanceVariables, replace, setChild, setEnd, setLocation, setParent, setStart, sourceFile, start, state, 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
-
parameterDeclaration_String_values
protected Map parameterDeclaration_String_values
-
-
Constructor Detail
-
MultiCatch
public MultiCatch()
-
MultiCatch
public MultiCatch(CatchParameterDeclaration p0, Block p1)
-
-
Method Detail
-
flushCache
public void flushCache()
- Overrides:
flushCache
in classCatchClause
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCache
in classCatchClause
-
clone
public MultiCatch clone() throws CloneNotSupportedException
- Overrides:
clone
in classCatchClause
- Throws:
CloneNotSupportedException
-
copy
public MultiCatch copy()
-
fullCopy
public MultiCatch fullCopy()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
-
toString
public void toString(StringBuffer sb)
Pretty printing of multi-catch clause.
-
init$Children
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.- Overrides:
init$Children
in classCatchClause
-
numChildren
protected int numChildren()
- Overrides:
numChildren
in classCatchClause
-
mayHaveRewrite
public boolean mayHaveRewrite()
- Overrides:
mayHaveRewrite
in classCatchClause
-
setParameter
public void setParameter(CatchParameterDeclaration node)
Replaces the Parameter child.- Parameters:
node
- The new node to replace the Parameter child.
-
getParameter
public CatchParameterDeclaration getParameter()
Retrieves the Parameter child.- Returns:
- The current node used as the Parameter child.
-
getParameterNoTransform
public CatchParameterDeclaration getParameterNoTransform()
Retrieves the Parameter child.This method does not invoke AST transformations.
- Returns:
- The current node used as the Parameter child.
-
setBlock
public void setBlock(Block node)
Replaces the Block child.- Overrides:
setBlock
in classCatchClause
- Parameters:
node
- The new node to replace the Block child.
-
getBlock
public Block getBlock()
Retrieves the Block child.- Overrides:
getBlock
in classCatchClause
- Returns:
- The current node used as the Block child.
-
getBlockNoTransform
public Block getBlockNoTransform()
Retrieves the Block child.This method does not invoke AST transformations.
- Overrides:
getBlockNoTransform
in classCatchClause
- Returns:
- The current node used as the Block child.
-
parameterDeclaration
public SimpleSet parameterDeclaration(String name)
Variable lookup in catch parameter scope.- Overrides:
parameterDeclaration
in classCatchClause
-
handles
public boolean handles(TypeDecl exceptionType)
- Overrides:
handles
in classCatchClause
-
Define_boolean_isMethodParameter
public boolean Define_boolean_isMethodParameter(ASTNode caller, ASTNode child)
- Overrides:
Define_boolean_isMethodParameter
in classASTNode<ASTNode>
-
Define_boolean_isConstructorParameter
public boolean Define_boolean_isConstructorParameter(ASTNode caller, ASTNode child)
- Overrides:
Define_boolean_isConstructorParameter
in classASTNode<ASTNode>
-
Define_boolean_isExceptionHandlerParameter
public boolean Define_boolean_isExceptionHandlerParameter(ASTNode caller, ASTNode child)
- Overrides:
Define_boolean_isExceptionHandlerParameter
in classASTNode<ASTNode>
-
Define_SimpleSet_lookupVariable
public SimpleSet Define_SimpleSet_lookupVariable(ASTNode caller, ASTNode child, String name)
- Overrides:
Define_SimpleSet_lookupVariable
in classCatchClause
-
Define_boolean_reachable
public boolean Define_boolean_reachable(ASTNode caller, ASTNode child)
- Overrides:
Define_boolean_reachable
in classASTNode<ASTNode>
-
rewriteTo
public ASTNode rewriteTo()
- Overrides:
rewriteTo
in classCatchClause
-
-