Package soot.JastAddJ
Class ParMethodAccess
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.Expr
-
- soot.JastAddJ.Access
-
- soot.JastAddJ.MethodAccess
-
- soot.JastAddJ.ParMethodAccess
-
public class ParMethodAccess extends MethodAccess implements Cloneable
-
-
Field Summary
Fields Modifier and Type Field Description protected MaptypeArguments_MethodDecl_values-
Fields inherited from class soot.JastAddJ.MethodAccess
computeDAbefore_int_Variable_values, decl_computed, decl_value, decls_computed, decls_value, exceptionCollection_computed, exceptionCollection_value, IDend, IDstart, tokenString_ID, type_computed, type_value
-
Fields inherited from class soot.JastAddJ.Access
hasPrevExpr_computed, hasPrevExpr_value, prevExpr_computed, prevExpr_value
-
Fields inherited from class soot.JastAddJ.Expr
false_label_computed, false_label_value, true_label_computed, true_label_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 ParMethodAccess()ParMethodAccess(Symbol p0, List<Expr> p1, List<Access> p2)ParMethodAccess(String p0, List<Expr> p1, List<Access> p2)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddArg(Expr node)Append an element to the Arg list.voidaddArgNoTransform(Expr node)voidaddTypeArgument(Access node)Append an element to the TypeArgument list.voidaddTypeArgumentNoTransform(Access node)ParMethodAccessclone()ParMethodAccesscopy()NameTypeDefine_NameType_nameType(ASTNode caller, ASTNode child)SimpleSetDefine_SimpleSet_lookupType(ASTNode caller, ASTNode child, String name)voidflushCache()voidflushCollectionCache()ParMethodAccessfullCopy()Create a deep copy of the AST subtree at this node.ExprgetArg(int i)Retrieves the element at indexiin the Arg list..List<Expr>getArgList()Retrieves the Arg list.List<Expr>getArgListNoTransform()Retrieves the Arg list.List<Expr>getArgs()Retrieves the Arg list.List<Expr>getArgsNoTransform()Retrieves the Arg list.StringgetID()Retrieves the value for the lexeme ID.intgetNumArg()Retrieves the number of children in the Arg list.intgetNumArgNoTransform()Retrieves the number of children in the Arg list.intgetNumTypeArgument()Retrieves the number of children in the TypeArgument list.intgetNumTypeArgumentNoTransform()Retrieves the number of children in the TypeArgument list.AccessgetTypeArgument(int i)Retrieves the element at indexiin the TypeArgument list..List<Access>getTypeArgumentList()Retrieves the TypeArgument list.List<Access>getTypeArgumentListNoTransform()Retrieves the TypeArgument list.List<Access>getTypeArguments()Retrieves the TypeArgument list.List<Access>getTypeArgumentsNoTransform()Retrieves the TypeArgument list.voidinit$Children()Initializes the child array to the correct size.booleanmayHaveRewrite()protected intnumChildren()ASTNoderewriteTo()voidsetArg(Expr node, int i)Replaces the Arg list element at indexiwith the new nodenode.voidsetArgList(List<Expr> list)Replaces the Arg list.voidsetID(Symbol symbol)JastAdd-internal setter for lexeme ID using the Beaver parser.voidsetID(String value)Replaces the lexeme ID.voidsetTypeArgument(Access node, int i)Replaces the TypeArgument list element at indexiwith the new nodenode.voidsetTypeArgumentList(List<Access> list)Replaces the TypeArgument list.voidtoString(StringBuffer s)ArrayListtypeArguments(MethodDecl m)voidtypeCheck()-
Methods inherited from class soot.JastAddJ.MethodAccess
accessible, applicable, applicableByMethodInvocationConversion, applicableByMethodInvocationConversion, applicableBySubtyping, applicableBySubtyping, applicableVariableArity, applicableVariableArity, arity, checkModifiers, checkWarnings, collectExceptions, collectTypesToSignatures, computeConstraints, computeDAbefore, decl, decls, Define_boolean_hasPackage, Define_boolean_isDAbefore, Define_Collection_lookupMethod, Define_SimpleSet_lookupVariable, Define_String_methodHost, Define_TypeDecl_assignConvertedType, dumpString, eval, exceptionCollection, exceptionHandling, handlesException, inExplicitConstructorInvocation, invokesVariableArityAsArray, isDAafter, isDAafterFalse, isDAafterTrue, isMethodAccess, maxSpecific, methodQualifierType, name, nameCheck, potentiallyApplicable, potentiallyApplicable, predNameType, reachedException, refined_GenericsCodegen_MethodAccess_methodQualifierType, refined_Transformations_MethodAccess_transformation, requiresAccessor, singleCandidateDecl, superAccessorTarget, transformation, type, typeObject, unknownMethod, validArgs, withinSuppressWarnings
-
Methods inherited from class soot.JastAddJ.Access
addArrayDims, addArraySize, emitLoadLocalInNestedClass, emitThis, hasPrevExpr, isDiamond, isQualified, lastAccess, nestedScope, prevExpr, qualifier, substituted, superConstructorQualifier, unknownField, unknownType, unqualifiedScope, withinDeprecatedAnnotation
-
Methods inherited from class soot.JastAddJ.Expr
addDependencyIfNeeded, applicableAndAccessible, assignConvertedType, canBeFalse, canBeTrue, chooseConstructor, collectTypesToHierarchy, condition_false_label, condition_true_label, constant, emitBooleanCondition, emitEvalBranch, emitStore, enclosingBodyDecl, enclosingStmt, false_label, hasNextAccess, hasPackage, hasParentDot, hasQualifiedPackage, hostPackage, hostType, inExtendsOrImplements, inStaticContext, isArrayAccess, isClassAccess, isConstant, isDAbefore, isDest, isDUafter, isDUafterFalse, isDUafterTrue, isDUbefore, isEnumConstant, isFalse, isFieldAccess, isIncOrDec, isLeftChildOfDot, isPackageAccess, isPositive, isRightChildOfDot, isSource, isSuperAccess, isSuperConstructorAccess, isThisAccess, isTrue, isTypeAccess, isUnknown, isVariable, isVariable, keepAccessibleFields, keepAccessibleTypes, lookupMethod, lookupType, lookupType, lookupVariable, mayAccess, methodHost, modifiedInScope, mostSpecific, mostSpecificConstructor, nameType, nextAccess, packageName, parentDot, qualifiedLookupType, qualifiedLookupVariable, qualifiesAccess, refined_BooleanExpressions_Expr_emitEvalBranch, representableIn, staticContextQualifier, throwTypes, true_label, typeBoolean, typeByte, typeChar, typeDouble, typeFloat, typeInt, typeLong, typeName, typeNull, typeShort, typeString, typeVoid, varDecl
-
Methods inherited from class soot.JastAddJ.ASTNode
accessControl, addAttributes, addChild, addsIndentationLevel, asImmediate, asLocal, asLocal, asRValue, beginExceptionRange, branchTarget, checkDUeverywhere, checkEnum, checkUncheckedConversion, clearLocations, cloneSubtree, collectBranches, collectEnclosingVariables, collectErrors, collectFinally, compilationUnit, Define_Annotation_lookupAnnotation, Define_ArrayList_exceptionRanges, Define_ASTNode_enclosingBlock, Define_BodyDecl_enclosingBodyDecl, Define_boolean_enclosedByExceptionHandler, Define_boolean_handlesException, 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_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_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_SimpleSet_allImportedTypes, Define_soot_jimple_Stmt_condition_false_label, Define_soot_jimple_Stmt_condition_true_label, Define_String_hostPackage, Define_String_packageName, Define_String_typeDeclIndent, 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, dumpTree, dumpTree, dumpTreeNoRewrite, dumpTreeNoRewrite, duringAnnotations, duringAnonymousClasses, duringBoundNames, duringDU, duringEnums, duringGenericTypeVariables, duringImplicitConstructor, duringLiterals, duringNameResolution, duringSyntacticClassification, duringVariableDeclarationTransformation, emitConstant, end, endExceptionRange, error, errorPrefix, 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, newLabel, options, putSimpleSetElement, removeChild, removeInstanceMethods, removeInstanceVariables, replace, setChild, setEnd, setLocation, setParent, setStart, sourceFile, start, state, toString, transformEnumConstructors, 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
-
typeArguments_MethodDecl_values
protected Map typeArguments_MethodDecl_values
-
-
Method Detail
-
flushCache
public void flushCache()
- Overrides:
flushCachein classMethodAccess
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCachein classMethodAccess
-
clone
public ParMethodAccess clone() throws CloneNotSupportedException
- Overrides:
clonein classMethodAccess- Throws:
CloneNotSupportedException
-
copy
public ParMethodAccess copy()
- Overrides:
copyin classMethodAccess
-
fullCopy
public ParMethodAccess fullCopy()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.- Overrides:
fullCopyin classMethodAccess- Returns:
- dangling copy of the subtree at this node
-
typeCheck
public void typeCheck()
- Overrides:
typeCheckin classMethodAccess
-
toString
public void toString(StringBuffer s)
- Overrides:
toStringin classMethodAccess
-
init$Children
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.- Overrides:
init$Childrenin classMethodAccess
-
numChildren
protected int numChildren()
- Overrides:
numChildrenin classMethodAccess
-
mayHaveRewrite
public boolean mayHaveRewrite()
- Overrides:
mayHaveRewritein classMethodAccess
-
setID
public void setID(String value)
Replaces the lexeme ID.- Overrides:
setIDin classMethodAccess- 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 classMethodAccess
-
getID
public String getID()
Retrieves the value for the lexeme ID.- Overrides:
getIDin classMethodAccess- Returns:
- The value for the lexeme ID.
-
setArgList
public void setArgList(List<Expr> list)
Replaces the Arg list.- Overrides:
setArgListin classMethodAccess- Parameters:
list- The new list node to be used as the Arg list.
-
getNumArg
public int getNumArg()
Retrieves the number of children in the Arg list.- Overrides:
getNumArgin classMethodAccess- Returns:
- Number of children in the Arg list.
-
getNumArgNoTransform
public int getNumArgNoTransform()
Retrieves the number of children in the Arg list. Calling this method will not trigger rewrites..- Overrides:
getNumArgNoTransformin classMethodAccess- Returns:
- Number of children in the Arg list.
-
getArg
public Expr getArg(int i)
Retrieves the element at indexiin the Arg list..- Overrides:
getArgin classMethodAccess- Parameters:
i- Index of the element to return.- Returns:
- The element at position
iin the Arg list.
-
addArg
public void addArg(Expr node)
Append an element to the Arg list.- Overrides:
addArgin classMethodAccess- Parameters:
node- The element to append to the Arg list.
-
addArgNoTransform
public void addArgNoTransform(Expr node)
- Overrides:
addArgNoTransformin classMethodAccess
-
setArg
public void setArg(Expr node, int i)
Replaces the Arg list element at indexiwith the new nodenode.- Overrides:
setArgin classMethodAccess- Parameters:
node- The new node to replace the old list element.i- The list index of the node to be replaced.
-
getArgs
public List<Expr> getArgs()
Retrieves the Arg list.- Overrides:
getArgsin classMethodAccess- Returns:
- The node representing the Arg list.
-
getArgsNoTransform
public List<Expr> getArgsNoTransform()
Retrieves the Arg list.This method does not invoke AST transformations.
- Overrides:
getArgsNoTransformin classMethodAccess- Returns:
- The node representing the Arg list.
-
getArgList
public List<Expr> getArgList()
Retrieves the Arg list.- Overrides:
getArgListin classMethodAccess- Returns:
- The node representing the Arg list.
-
getArgListNoTransform
public List<Expr> getArgListNoTransform()
Retrieves the Arg list.This method does not invoke AST transformations.
- Overrides:
getArgListNoTransformin classMethodAccess- Returns:
- The node representing the Arg list.
-
setTypeArgumentList
public void setTypeArgumentList(List<Access> list)
Replaces the TypeArgument list.- Parameters:
list- The new list node to be used as the TypeArgument list.
-
getNumTypeArgument
public int getNumTypeArgument()
Retrieves the number of children in the TypeArgument list.- Returns:
- Number of children in the TypeArgument list.
-
getNumTypeArgumentNoTransform
public int getNumTypeArgumentNoTransform()
Retrieves the number of children in the TypeArgument list. Calling this method will not trigger rewrites..- Returns:
- Number of children in the TypeArgument list.
-
getTypeArgument
public Access getTypeArgument(int i)
Retrieves the element at indexiin the TypeArgument list..- Parameters:
i- Index of the element to return.- Returns:
- The element at position
iin the TypeArgument list.
-
addTypeArgument
public void addTypeArgument(Access node)
Append an element to the TypeArgument list.- Parameters:
node- The element to append to the TypeArgument list.
-
addTypeArgumentNoTransform
public void addTypeArgumentNoTransform(Access node)
-
setTypeArgument
public void setTypeArgument(Access node, int i)
Replaces the TypeArgument list element at indexiwith the new nodenode.- Parameters:
node- The new node to replace the old list element.i- The list index of the node to be replaced.
-
getTypeArguments
public List<Access> getTypeArguments()
Retrieves the TypeArgument list.- Returns:
- The node representing the TypeArgument list.
-
getTypeArgumentsNoTransform
public List<Access> getTypeArgumentsNoTransform()
Retrieves the TypeArgument list.This method does not invoke AST transformations.
- Returns:
- The node representing the TypeArgument list.
-
getTypeArgumentList
public List<Access> getTypeArgumentList()
Retrieves the TypeArgument list.- Returns:
- The node representing the TypeArgument list.
-
getTypeArgumentListNoTransform
public List<Access> getTypeArgumentListNoTransform()
Retrieves the TypeArgument list.This method does not invoke AST transformations.
- Returns:
- The node representing the TypeArgument list.
-
typeArguments
public ArrayList typeArguments(MethodDecl m)
- Overrides:
typeArgumentsin classMethodAccess
-
Define_NameType_nameType
public NameType Define_NameType_nameType(ASTNode caller, ASTNode child)
- Overrides:
Define_NameType_nameTypein classMethodAccess
-
Define_SimpleSet_lookupType
public SimpleSet Define_SimpleSet_lookupType(ASTNode caller, ASTNode child, String name)
- Overrides:
Define_SimpleSet_lookupTypein classMethodAccess
-
rewriteTo
public ASTNode rewriteTo()
- Overrides:
rewriteToin classMethodAccess
-
-