Package soot.JastAddJ
Class MethodDeclSubstituted
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.BodyDecl
-
- soot.JastAddJ.MemberDecl
-
- soot.JastAddJ.MethodDecl
-
- soot.JastAddJ.MethodDeclSubstituted
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface soot.JastAddJ.SimpleSet
SimpleSet.SimpleSetImpl
-
-
Field Summary
Fields Modifier and Type Field Description protected booleansourceMethodDecl_computedprotected MethodDeclsourceMethodDecl_valueprotected MethodDecltokenMethodDecl_Original-
Fields inherited from class soot.JastAddJ.MethodDecl
accessibleFrom_TypeDecl_values, handlesException_TypeDecl_values, hides_MethodDecl_values, IDend, IDstart, moreSpecificThan_MethodDecl_values, offsetAfterParameters_computed, offsetAfterParameters_value, offsetBeforeParameters_computed, offsetBeforeParameters_value, overrides_MethodDecl_values, parameterDeclaration_String_values, signature_computed, signature_value, sootMethod, sootMethod_computed, sootMethod_value, sootRef_computed, sootRef_value, throwsException_TypeDecl_values, tokenString_ID, type_computed, type_value, usesTypeVariable_computed, usesTypeVariable_value
-
Fields inherited from class soot.JastAddJ.BodyDecl
isDAafter_Variable_values, isDAbefore_Variable_values, isDUafter_Variable_values, isDUbefore_Variable_values, lookupVariable_String_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 MethodDeclSubstituted()MethodDeclSubstituted(Modifiers p0, Access p1, Symbol p2, List<ParameterDeclaration> p3, List<Access> p4, Opt<Block> p5, MethodDecl p6)MethodDeclSubstituted(Modifiers p0, Access p1, String p2, List<ParameterDeclaration> p3, List<Access> p4, Opt<Block> p5, MethodDecl p6)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddException(Access node)Append an element to the Exception list.voidaddExceptionNoTransform(Access node)voidaddParameter(ParameterDeclaration node)Append an element to the Parameter list.voidaddParameterNoTransform(ParameterDeclaration node)MethodDeclSubstitutedclone()MethodDeclSubstitutedcopy()MethodDeclerasedMethod()voidflushCache()voidflushCollectionCache()MethodDeclSubstitutedfullCopy()Create a deep copy of the AST subtree at this node.BlockgetBlock()Retrieves the (optional) Block child.Opt<Block>getBlockOpt()Opt<Block>getBlockOptNoTransform()Retrieves the optional node for child Block.AccessgetException(int i)Retrieves the element at indexiin the Exception list..List<Access>getExceptionList()Retrieves the Exception list.List<Access>getExceptionListNoTransform()Retrieves the Exception list.List<Access>getExceptions()Retrieves the Exception list.List<Access>getExceptionsNoTransform()Retrieves the Exception list.StringgetID()Retrieves the value for the lexeme ID.ModifiersgetModifiers()Retrieves the Modifiers child.ModifiersgetModifiersNoTransform()Retrieves the Modifiers child.intgetNumException()Retrieves the number of children in the Exception list.intgetNumExceptionNoTransform()Retrieves the number of children in the Exception list.intgetNumParameter()Retrieves the number of children in the Parameter list.intgetNumParameterNoTransform()Retrieves the number of children in the Parameter list.MethodDeclgetOriginal()Retrieves the value for the lexeme Original.ParameterDeclarationgetParameter(int i)Retrieves the element at indexiin the Parameter list..List<ParameterDeclaration>getParameterList()Retrieves the Parameter list.List<ParameterDeclaration>getParameterListNoTransform()Retrieves the Parameter list.List<ParameterDeclaration>getParameters()Retrieves the Parameter list.List<ParameterDeclaration>getParametersNoTransform()Retrieves the Parameter list.AccessgetTypeAccess()Retrieves the TypeAccess child.AccessgetTypeAccessNoTransform()Retrieves the TypeAccess child.booleanhasBlock()Check whether the optional Block child exists.voidinit$Children()Initializes the child array to the correct size.booleanmayHaveRewrite()protected intnumChildren()ASTNoderewriteTo()voidsetBlock(Block node)Replaces the (optional) Block child.voidsetBlockOpt(Opt<Block> opt)Replaces the optional node for the Block child.voidsetException(Access node, int i)Replaces the Exception list element at indexiwith the new nodenode.voidsetExceptionList(List<Access> list)Replaces the Exception list.voidsetID(Symbol symbol)JastAdd-internal setter for lexeme ID using the Beaver parser.voidsetID(String value)Replaces the lexeme ID.voidsetModifiers(Modifiers node)Replaces the Modifiers child.voidsetOriginal(MethodDecl value)Replaces the lexeme Original.voidsetParameter(ParameterDeclaration node, int i)Replaces the Parameter list element at indexiwith the new nodenode.voidsetParameterList(List<ParameterDeclaration> list)Replaces the Parameter list.voidsetTypeAccess(Access node)Replaces the TypeAccess child.MethodDeclsourceMethodDecl()voidtransformation()-
Methods inherited from class soot.JastAddJ.MethodDecl
accessibleFrom, add, addAttributes, addRuntimeInvisibleParameterAnnotationsAttribute, addRuntimeVisibleParameterAnnotationsAttribute, addSourceLevelParameterAnnotationsAttribute, annotationMethodOverride, arity, checkModifiers, checkWarnings, contains, createAccessor, createBoundAccess, createSuperAccessor, Define_ASTNode_enclosingBlock, Define_boolean_enclosedByExceptionHandler, Define_boolean_handlesException, Define_boolean_inhModifiedInScope, Define_boolean_inStaticContext, Define_boolean_isCatchParam, Define_boolean_isConstructorParameter, Define_boolean_isDAbefore, Define_boolean_isDUbefore, Define_boolean_isExceptionHandlerParameter, Define_boolean_isMethodParameter, 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_mayUseAnnotationTarget, Define_boolean_reachable, Define_boolean_variableArityValid, Define_int_localNum, Define_NameType_nameType, Define_SimpleSet_lookupVariable, Define_TypeDecl_returnType, dumpString, handlesException, hasAnnotationSafeVarargs, hasAnnotationSuppressWarnings, hasIllegalAnnotationSafeVarargs, hasNext, hides, isAbstract, isDeprecated, isEmpty, isFinal, isNative, isPrivate, isProtected, isPublic, isSingleton, isSingleton, isStatic, isStrictfp, isSynchronized, isSynthetic, isVariableArity, isVoid, iterator, jimplify1phase2, jimplify2, lastParameter, lineNumber, mayOverrideReturn, moreSpecificThan, name, nameCheck, next, offsetAfterParameters, offsetBeforeParameters, overrides, parameterDeclaration, remove, sameSignature, signature, size, sootMethod, sootRef, sootTypeModifiers, substituteBody, substitutedBodyDecl, suppressWarnings, throwsException, toString, type, typeCheck, typeObject, unknownMethod, usesTypeVariable, visibleTypeParameters, withinSuppressWarnings
-
Methods inherited from class soot.JastAddJ.MemberDecl
isConstant
-
Methods inherited from class soot.JastAddJ.BodyDecl
addsIndentationLevel, collectFinally, declaresType, Define_ArrayList_exceptionRanges, Define_BodyDecl_enclosingBodyDecl, Define_boolean_resourcePreviouslyDeclared, Define_String_typeDeclIndent, generate, hostPackage, hostType, isDAafter, isDAbefore, isDUafter, isDUbefore, isEnumConstant, lookupMethod, lookupType, lookupType, lookupVariable, nameType, type, typeThrowable
-
Methods inherited from class soot.JastAddJ.ASTNode
accessControl, addChild, asImmediate, asLocal, asLocal, asRValue, beginExceptionRange, branchTarget, checkDUeverywhere, checkEnum, checkUncheckedConversion, clearLocations, cloneSubtree, collectBranches, collectEnclosingVariables, collectErrors, collectExceptions, collectTypesToHierarchy, collectTypesToSignatures, compilationUnit, Define_Annotation_lookupAnnotation, Define_boolean_hasPackage, Define_boolean_inExplicitConstructorInvocation, Define_boolean_inExtendsOrImplements, Define_boolean_insideLoop, Define_boolean_insideSwitch, Define_boolean_isAnonymous, Define_boolean_isAnonymousDecl, Define_boolean_isDest, Define_boolean_isExplicitGenericConstructorAccess, Define_boolean_isIncOrDec, Define_boolean_isLocalClass, Define_boolean_isMemberType, Define_boolean_isNestedType, Define_boolean_isSource, Define_boolean_mayBeTransient, Define_boolean_mayBeVolatile, Define_boolean_reachableCatchClause, Define_boolean_reportUnreachable, 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_LabeledStmt_lookupLabel, Define_LUBType_lookupLUBType, Define_MethodDecl_unknownMethod, 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_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_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, 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, jimplify1phase1, jimplify2, location, newLabel, options, putSimpleSetElement, reachedException, removeChild, removeInstanceMethods, removeInstanceVariables, replace, setChild, setEnd, setLocation, setParent, setStart, sourceFile, start, state, toString, transformEnumConstructors, unassignedEverywhere, 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
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Field Detail
-
tokenMethodDecl_Original
protected MethodDecl tokenMethodDecl_Original
-
sourceMethodDecl_computed
protected boolean sourceMethodDecl_computed
-
sourceMethodDecl_value
protected MethodDecl sourceMethodDecl_value
-
-
Constructor Detail
-
MethodDeclSubstituted
public MethodDeclSubstituted()
-
MethodDeclSubstituted
public MethodDeclSubstituted(Modifiers p0, Access p1, String p2, List<ParameterDeclaration> p3, List<Access> p4, Opt<Block> p5, MethodDecl p6)
-
MethodDeclSubstituted
public MethodDeclSubstituted(Modifiers p0, Access p1, Symbol p2, List<ParameterDeclaration> p3, List<Access> p4, Opt<Block> p5, MethodDecl p6)
-
-
Method Detail
-
flushCache
public void flushCache()
- Overrides:
flushCachein classMethodDecl
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCachein classMethodDecl
-
clone
public MethodDeclSubstituted clone() throws CloneNotSupportedException
- Overrides:
clonein classMethodDecl- Throws:
CloneNotSupportedException
-
copy
public MethodDeclSubstituted copy()
- Overrides:
copyin classMethodDecl
-
fullCopy
public MethodDeclSubstituted fullCopy()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.- Overrides:
fullCopyin classMethodDecl- Returns:
- dangling copy of the subtree at this node
-
transformation
public void transformation()
- Overrides:
transformationin classMethodDecl
-
init$Children
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.- Overrides:
init$Childrenin classMethodDecl
-
numChildren
protected int numChildren()
- Overrides:
numChildrenin classMethodDecl
-
mayHaveRewrite
public boolean mayHaveRewrite()
- Overrides:
mayHaveRewritein classMethodDecl
-
setModifiers
public void setModifiers(Modifiers node)
Replaces the Modifiers child.- Overrides:
setModifiersin classMethodDecl- Parameters:
node- The new node to replace the Modifiers child.
-
getModifiers
public Modifiers getModifiers()
Retrieves the Modifiers child.- Overrides:
getModifiersin classMethodDecl- Returns:
- The current node used as the Modifiers child.
-
getModifiersNoTransform
public Modifiers getModifiersNoTransform()
Retrieves the Modifiers child.This method does not invoke AST transformations.
- Overrides:
getModifiersNoTransformin classMethodDecl- Returns:
- The current node used as the Modifiers child.
-
setTypeAccess
public void setTypeAccess(Access node)
Replaces the TypeAccess child.- Overrides:
setTypeAccessin classMethodDecl- Parameters:
node- The new node to replace the TypeAccess child.
-
getTypeAccess
public Access getTypeAccess()
Retrieves the TypeAccess child.- Overrides:
getTypeAccessin classMethodDecl- Returns:
- The current node used as the TypeAccess child.
-
getTypeAccessNoTransform
public Access getTypeAccessNoTransform()
Retrieves the TypeAccess child.This method does not invoke AST transformations.
- Overrides:
getTypeAccessNoTransformin classMethodDecl- Returns:
- The current node used as the TypeAccess child.
-
setID
public void setID(String value)
Replaces the lexeme ID.- Overrides:
setIDin classMethodDecl- Parameters:
value- The new value for the lexeme ID.
-
setID
public void setID(Symbol symbol)
JastAdd-internal setter for lexeme ID using the Beaver parser.- Overrides:
setIDin classMethodDecl
-
getID
public String getID()
Retrieves the value for the lexeme ID.- Overrides:
getIDin classMethodDecl- Returns:
- The value for the lexeme ID.
-
setParameterList
public void setParameterList(List<ParameterDeclaration> list)
Replaces the Parameter list.- Overrides:
setParameterListin classMethodDecl- Parameters:
list- The new list node to be used as the Parameter list.
-
getNumParameter
public int getNumParameter()
Retrieves the number of children in the Parameter list.- Overrides:
getNumParameterin classMethodDecl- Returns:
- Number of children in the Parameter list.
-
getNumParameterNoTransform
public int getNumParameterNoTransform()
Retrieves the number of children in the Parameter list. Calling this method will not trigger rewrites..- Overrides:
getNumParameterNoTransformin classMethodDecl- Returns:
- Number of children in the Parameter list.
-
getParameter
public ParameterDeclaration getParameter(int i)
Retrieves the element at indexiin the Parameter list..- Overrides:
getParameterin classMethodDecl- Parameters:
i- Index of the element to return.- Returns:
- The element at position
iin the Parameter list.
-
addParameter
public void addParameter(ParameterDeclaration node)
Append an element to the Parameter list.- Overrides:
addParameterin classMethodDecl- Parameters:
node- The element to append to the Parameter list.
-
addParameterNoTransform
public void addParameterNoTransform(ParameterDeclaration node)
- Overrides:
addParameterNoTransformin classMethodDecl
-
setParameter
public void setParameter(ParameterDeclaration node, int i)
Replaces the Parameter list element at indexiwith the new nodenode.- Overrides:
setParameterin classMethodDecl- Parameters:
node- The new node to replace the old list element.i- The list index of the node to be replaced.
-
getParameters
public List<ParameterDeclaration> getParameters()
Retrieves the Parameter list.- Overrides:
getParametersin classMethodDecl- Returns:
- The node representing the Parameter list.
-
getParametersNoTransform
public List<ParameterDeclaration> getParametersNoTransform()
Retrieves the Parameter list.This method does not invoke AST transformations.
- Overrides:
getParametersNoTransformin classMethodDecl- Returns:
- The node representing the Parameter list.
-
getParameterList
public List<ParameterDeclaration> getParameterList()
Retrieves the Parameter list.- Overrides:
getParameterListin classMethodDecl- Returns:
- The node representing the Parameter list.
-
getParameterListNoTransform
public List<ParameterDeclaration> getParameterListNoTransform()
Retrieves the Parameter list.This method does not invoke AST transformations.
- Overrides:
getParameterListNoTransformin classMethodDecl- Returns:
- The node representing the Parameter list.
-
setExceptionList
public void setExceptionList(List<Access> list)
Replaces the Exception list.- Overrides:
setExceptionListin classMethodDecl- Parameters:
list- The new list node to be used as the Exception list.
-
getNumException
public int getNumException()
Retrieves the number of children in the Exception list.- Overrides:
getNumExceptionin classMethodDecl- Returns:
- Number of children in the Exception list.
-
getNumExceptionNoTransform
public int getNumExceptionNoTransform()
Retrieves the number of children in the Exception list. Calling this method will not trigger rewrites..- Overrides:
getNumExceptionNoTransformin classMethodDecl- Returns:
- Number of children in the Exception list.
-
getException
public Access getException(int i)
Retrieves the element at indexiin the Exception list..- Overrides:
getExceptionin classMethodDecl- Parameters:
i- Index of the element to return.- Returns:
- The element at position
iin the Exception list.
-
addException
public void addException(Access node)
Append an element to the Exception list.- Overrides:
addExceptionin classMethodDecl- Parameters:
node- The element to append to the Exception list.
-
addExceptionNoTransform
public void addExceptionNoTransform(Access node)
- Overrides:
addExceptionNoTransformin classMethodDecl
-
setException
public void setException(Access node, int i)
Replaces the Exception list element at indexiwith the new nodenode.- Overrides:
setExceptionin classMethodDecl- Parameters:
node- The new node to replace the old list element.i- The list index of the node to be replaced.
-
getExceptions
public List<Access> getExceptions()
Retrieves the Exception list.- Overrides:
getExceptionsin classMethodDecl- Returns:
- The node representing the Exception list.
-
getExceptionsNoTransform
public List<Access> getExceptionsNoTransform()
Retrieves the Exception list.This method does not invoke AST transformations.
- Overrides:
getExceptionsNoTransformin classMethodDecl- Returns:
- The node representing the Exception list.
-
getExceptionList
public List<Access> getExceptionList()
Retrieves the Exception list.- Overrides:
getExceptionListin classMethodDecl- Returns:
- The node representing the Exception list.
-
getExceptionListNoTransform
public List<Access> getExceptionListNoTransform()
Retrieves the Exception list.This method does not invoke AST transformations.
- Overrides:
getExceptionListNoTransformin classMethodDecl- Returns:
- The node representing the Exception list.
-
setBlockOpt
public void setBlockOpt(Opt<Block> opt)
Replaces the optional node for the Block child. This is theOptnode containing the child Block, not the actual child!- Overrides:
setBlockOptin classMethodDecl- Parameters:
opt- The new node to be used as the optional node for the Block child.
-
hasBlock
public boolean hasBlock()
Check whether the optional Block child exists.- Overrides:
hasBlockin classMethodDecl- Returns:
trueif the optional Block child exists,falseif it does not.
-
getBlock
public Block getBlock()
Retrieves the (optional) Block child.- Overrides:
getBlockin classMethodDecl- Returns:
- The Block child, if it exists. Returns
nullotherwise.
-
setBlock
public void setBlock(Block node)
Replaces the (optional) Block child.- Overrides:
setBlockin classMethodDecl- Parameters:
node- The new node to be used as the Block child.
-
getBlockOpt
public Opt<Block> getBlockOpt()
- Overrides:
getBlockOptin classMethodDecl
-
getBlockOptNoTransform
public Opt<Block> getBlockOptNoTransform()
Retrieves the optional node for child Block. This is theOptnode containing the child Block, not the actual child!This method does not invoke AST transformations.
- Overrides:
getBlockOptNoTransformin classMethodDecl- Returns:
- The optional node for child Block.
-
setOriginal
public void setOriginal(MethodDecl value)
Replaces the lexeme Original.- Parameters:
value- The new value for the lexeme Original.
-
getOriginal
public MethodDecl getOriginal()
Retrieves the value for the lexeme Original.- Returns:
- The value for the lexeme Original.
-
sourceMethodDecl
public MethodDecl sourceMethodDecl()
- Overrides:
sourceMethodDeclin classMethodDecl
-
erasedMethod
public MethodDecl erasedMethod()
- Overrides:
erasedMethodin classMethodDecl
-
rewriteTo
public ASTNode rewriteTo()
- Overrides:
rewriteToin classMethodDecl
-
-