Package soot.JastAddJ
Class CatchClause
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.CatchClause
-
- All Implemented Interfaces:
Cloneable,Iterable<ASTNode>,VariableScope
- Direct Known Subclasses:
BasicCatch,MultiCatch
public abstract class CatchClause extends ASTNode<ASTNode> implements Cloneable, VariableScope
Abstract superclass for catch clauses.
-
-
Field Summary
Fields Modifier and Type Field Description protected MaplookupVariable_String_valuesprotected MapparameterDeclaration_String_valuesprotected MapreachableCatchClause_TypeDecl_valuesprotected booleantypeThrowable_computedprotected TypeDecltypeThrowable_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 CatchClause()CatchClause(Block p0)
-
Method Summary
-
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, 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_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, fullCopy, 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, 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
-
typeThrowable_computed
protected boolean typeThrowable_computed
-
typeThrowable_value
protected TypeDecl typeThrowable_value
-
lookupVariable_String_values
protected Map lookupVariable_String_values
-
reachableCatchClause_TypeDecl_values
protected Map reachableCatchClause_TypeDecl_values
-
-
Constructor Detail
-
CatchClause
public CatchClause()
-
CatchClause
public CatchClause(Block p0)
-
-
Method Detail
-
flushCache
public void flushCache()
- Overrides:
flushCachein classASTNode<ASTNode>
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCachein classASTNode<ASTNode>
-
clone
public CatchClause clone() throws CloneNotSupportedException
- Overrides:
clonein classASTNode<ASTNode>- Throws:
CloneNotSupportedException
-
init$Children
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.- Overrides:
init$Childrenin classASTNode<ASTNode>
-
numChildren
protected int numChildren()
- Overrides:
numChildrenin classASTNode<ASTNode>
-
mayHaveRewrite
public boolean mayHaveRewrite()
- Overrides:
mayHaveRewritein classASTNode<ASTNode>
-
setBlock
public void setBlock(Block node)
Replaces the Block child.- Parameters:
node- The new node to replace the Block child.
-
getBlock
public Block getBlock()
Retrieves the Block child.- Returns:
- The current node used as the Block child.
-
getBlockNoTransform
public Block getBlockNoTransform()
Retrieves the Block child.This method does not invoke AST transformations.
- Returns:
- The current node used as the Block child.
-
handles
public boolean handles(TypeDecl exceptionType)
-
modifiedInScope
public boolean modifiedInScope(Variable var)
-
typeThrowable
public TypeDecl typeThrowable()
-
lookupVariable
public SimpleSet lookupVariable(String name)
- Specified by:
lookupVariablein interfaceVariableScope
-
reachableCatchClause
public boolean reachableCatchClause(TypeDecl exceptionType)
- Returns:
- true if an exception of type exceptionType is catchable by the catch clause
-
hostType
public TypeDecl hostType()
-
caughtExceptions
public Collection<TypeDecl> caughtExceptions()
-
reportUnreachable
public boolean reportUnreachable()
-
Define_SimpleSet_lookupVariable
public SimpleSet Define_SimpleSet_lookupVariable(ASTNode caller, ASTNode child, String name)
- Overrides:
Define_SimpleSet_lookupVariablein classASTNode<ASTNode>
-
Define_CatchClause_catchClause
public CatchClause Define_CatchClause_catchClause(ASTNode caller, ASTNode child)
- Overrides:
Define_CatchClause_catchClausein classASTNode<ASTNode>
-
Define_boolean_reportUnreachable
public boolean Define_boolean_reportUnreachable(ASTNode caller, ASTNode child)
- Overrides:
Define_boolean_reportUnreachablein classASTNode<ASTNode>
-
-