Package soot.JastAddJ
Class ParameterDeclaration
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.ParameterDeclaration
-
- Direct Known Subclasses:
ParameterDeclarationSubstituted,VariableArityParameterDeclaration
public class ParameterDeclaration extends ASTNode<ASTNode> implements Cloneable, SimpleSet, Iterator, Variable
A parameter declaration as used in either method parameter lists or as a catch clause parameter.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface soot.JastAddJ.SimpleSet
SimpleSet.SimpleSetImpl
-
-
Field Summary
Fields Modifier and Type Field Description intIDendintIDstartLocallocalprotected booleanlocalNum_computedprotected intlocalNum_valueprotected booleansourceVariableDecl_computedprotected VariablesourceVariableDecl_valueprotected booleanthrowTypes_computedprotected Collection<TypeDecl>throwTypes_valueprotected StringtokenString_IDprotected booleantype_computedprotected TypeDecltype_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 ParameterDeclaration()ParameterDeclaration(Access type, String name)ParameterDeclaration(Modifiers p0, Access p1, Symbol p2)ParameterDeclaration(Modifiers p0, Access p1, String p2)ParameterDeclaration(TypeDecl type, String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SimpleSetadd(Object o)CatchClausecatchClause()ParameterDeclarationclone()Constantconstant()booleancontains(Object o)ParameterDeclarationcopy()booleanDefine_boolean_mayBeFinal(ASTNode caller, ASTNode child)booleanDefine_boolean_mayUseAnnotationTarget(ASTNode caller, ASTNode child, String name)NameTypeDefine_NameType_nameType(ASTNode caller, ASTNode child)StringdumpString()booleaneffectivelyFinal()BodyDeclenclosingBodyDecl()voidflushCache()voidflushCollectionCache()ParameterDeclarationfullCopy()Create a deep copy of the AST subtree at this node.StringgetID()Retrieves the value for the lexeme ID.ExprgetInit()ModifiersgetModifiers()Retrieves the Modifiers child.ModifiersgetModifiersNoTransform()Retrieves the Modifiers child.AccessgetTypeAccess()Retrieves the TypeAccess child.AccessgetTypeAccessNoTransform()Retrieves the TypeAccess child.booleanhasInit()booleanhasNext()TypeDeclhostType()booleaninhModifiedInScope(Variable var)voidinit$Children()Initializes the child array to the correct size.booleanisBlank()booleanisCatchParam()booleanisClassVariable()booleanisConstructorParameter()booleanisEmpty()booleanisExceptionHandlerParameter()booleanisFinal()booleanisInstanceVariable()booleanisLocalVariable()booleanisMethodParameter()booleanisParameter()booleanisSingleton()booleanisSingleton(Object o)booleanisStatic()booleanisSynthetic()booleanisVariableArity()booleanisVolatile()Iteratoriterator()voidjimplify2(Body b)intlocalNum()SimpleSetlookupVariable(String name)booleanmayHaveRewrite()Stringname()voidnameCheck()Objectnext()protected intnumChildren()VariableScopeouterScope()voidremove()ASTNoderewriteTo()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.voidsetTypeAccess(Access node)Replaces the TypeAccess child.intsize()VariablesourceVariableDecl()ParameterDeclarationsubstituted(Collection<TypeVariable> original, List<TypeVariable> substitution)Builds a copy of this ParameterDeclaration node where all occurrences of type variables in the original type parameter list have been replaced by the substitution type parameters.Collection<TypeDecl>throwTypes()voidtoString(StringBuffer s)TypeDecltype()-
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_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_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_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_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_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_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, 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, jimplify1phase2, jimplify2, lineNumber, location, 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
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Field Detail
-
local
public Local local
-
tokenString_ID
protected String tokenString_ID
-
IDstart
public int IDstart
-
IDend
public int IDend
-
type_computed
protected boolean type_computed
-
type_value
protected TypeDecl type_value
-
sourceVariableDecl_computed
protected boolean sourceVariableDecl_computed
-
sourceVariableDecl_value
protected Variable sourceVariableDecl_value
-
throwTypes_computed
protected boolean throwTypes_computed
-
throwTypes_value
protected Collection<TypeDecl> throwTypes_value
-
localNum_computed
protected boolean localNum_computed
-
localNum_value
protected int localNum_value
-
-
Method Detail
-
flushCache
public void flushCache()
- Overrides:
flushCachein classASTNode<ASTNode>
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCachein classASTNode<ASTNode>
-
clone
public ParameterDeclaration clone() throws CloneNotSupportedException
- Overrides:
clonein classASTNode<ASTNode>- Throws:
CloneNotSupportedException
-
copy
public ParameterDeclaration copy()
-
fullCopy
public ParameterDeclaration fullCopy()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
-
isSingleton
public boolean isSingleton()
- Specified by:
isSingletonin interfaceSimpleSet
-
isSingleton
public boolean isSingleton(Object o)
- Specified by:
isSingletonin interfaceSimpleSet
-
iterator
public Iterator iterator()
-
toString
public void toString(StringBuffer s)
-
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>
-
setModifiers
public void setModifiers(Modifiers node)
Replaces the Modifiers child.- Parameters:
node- The new node to replace the Modifiers child.
-
getModifiers
public Modifiers getModifiers()
Retrieves the Modifiers child.- Specified by:
getModifiersin interfaceVariable- Returns:
- The current node used as the Modifiers child.
-
getModifiersNoTransform
public Modifiers getModifiersNoTransform()
Retrieves the Modifiers child.This method does not invoke AST transformations.
- Returns:
- The current node used as the Modifiers child.
-
setTypeAccess
public void setTypeAccess(Access node)
Replaces the TypeAccess child.- Parameters:
node- The new node to replace the TypeAccess child.
-
getTypeAccess
public Access getTypeAccess()
Retrieves the TypeAccess child.- Returns:
- The current node used as the TypeAccess child.
-
getTypeAccessNoTransform
public Access getTypeAccessNoTransform()
Retrieves the TypeAccess child.This method does not invoke AST transformations.
- Returns:
- The current node used as the TypeAccess child.
-
setID
public void setID(String value)
Replaces the lexeme ID.- 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.
-
getID
public String getID()
Retrieves the value for the lexeme ID.- Returns:
- The value for the lexeme ID.
-
isSynthetic
public boolean isSynthetic()
- Specified by:
isSyntheticin interfaceVariable
-
dumpString
public String dumpString()
- Overrides:
dumpStringin classASTNode<ASTNode>
-
isParameter
public boolean isParameter()
- Specified by:
isParameterin interfaceVariable
-
isClassVariable
public boolean isClassVariable()
- Specified by:
isClassVariablein interfaceVariable
-
isInstanceVariable
public boolean isInstanceVariable()
- Specified by:
isInstanceVariablein interfaceVariable
-
isLocalVariable
public boolean isLocalVariable()
- Specified by:
isLocalVariablein interfaceVariable
-
isVolatile
public boolean isVolatile()
- Specified by:
isVolatilein interfaceVariable
-
sourceVariableDecl
public Variable sourceVariableDecl()
- Specified by:
sourceVariableDeclin interfaceVariable
-
isVariableArity
public boolean isVariableArity()
-
throwTypes
public Collection<TypeDecl> throwTypes()
- Specified by:
throwTypesin interfaceVariable
-
effectivelyFinal
public boolean effectivelyFinal()
-
substituted
public ParameterDeclaration substituted(Collection<TypeVariable> original, List<TypeVariable> substitution)
Builds a copy of this ParameterDeclaration node where all occurrences of type variables in the original type parameter list have been replaced by the substitution type parameters.- Returns:
- the substituted ParameterDeclaration node
-
outerScope
public VariableScope outerScope()
-
enclosingBodyDecl
public BodyDecl enclosingBodyDecl()
-
isMethodParameter
public boolean isMethodParameter()
- Specified by:
isMethodParameterin interfaceVariable
-
isConstructorParameter
public boolean isConstructorParameter()
- Specified by:
isConstructorParameterin interfaceVariable
-
isExceptionHandlerParameter
public boolean isExceptionHandlerParameter()
- Specified by:
isExceptionHandlerParameterin interfaceVariable
-
localNum
public int localNum()
-
inhModifiedInScope
public boolean inhModifiedInScope(Variable var)
- Returns:
- true if the variable var is modified in the local scope
-
isCatchParam
public boolean isCatchParam()
- Returns:
- true if this is the parameter declaration of a catch clause
-
catchClause
public CatchClause catchClause()
-
Define_boolean_mayBeFinal
public boolean Define_boolean_mayBeFinal(ASTNode caller, ASTNode child)
- Overrides:
Define_boolean_mayBeFinalin classASTNode<ASTNode>
-
Define_boolean_mayUseAnnotationTarget
public boolean Define_boolean_mayUseAnnotationTarget(ASTNode caller, ASTNode child, String name)
- Overrides:
Define_boolean_mayUseAnnotationTargetin classASTNode<ASTNode>
-
Define_NameType_nameType
public NameType Define_NameType_nameType(ASTNode caller, ASTNode child)
- Overrides:
Define_NameType_nameTypein classASTNode<ASTNode>
-
-