Package soot.JastAddJ
Class ParTypeAccess
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.Expr
-
- soot.JastAddJ.Access
-
- soot.JastAddJ.ParTypeAccess
-
-
Field Summary
Fields Modifier and Type Field Description protected booleantype_computedprotected TypeDecltype_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 ParTypeAccess()ParTypeAccess(Access p0, List<Access> p1)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddTypeArgument(Access node)Append an element to the TypeArgument list.voidaddTypeArgumentNoTransform(Access node)ParTypeAccessclone()ParTypeAccesscopy()SimpleSetDefine_SimpleSet_lookupType(ASTNode caller, ASTNode child, String name)voidflushCache()voidflushCollectionCache()ParTypeAccessfullCopy()Create a deep copy of the AST subtree at this node.TypeDeclgenericDecl()intgetNumTypeArgument()Retrieves the number of children in the TypeArgument list.intgetNumTypeArgumentNoTransform()Retrieves the number of children in the TypeArgument list.AccessgetTypeAccess()Retrieves the TypeAccess child.AccessgetTypeAccessNoTransform()Retrieves the TypeAccess child.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.booleanisRaw()booleanisTypeAccess()booleanmayHaveRewrite()protected intnumChildren()ASTNoderewriteTo()voidsetTypeAccess(Access node)Replaces the TypeAccess child.voidsetTypeArgument(Access node, int i)Replaces the TypeArgument list element at indexiwith the new nodenode.voidsetTypeArgumentList(List<Access> list)Replaces the TypeArgument list.Accesssubstituted(Collection<TypeVariable> original, List<TypeVariable> substitution)Builds a copy of this Access node where all occurrences of type variables in the original type parameter list have been replaced by the substitution type parameters.voidtoString(StringBuffer s)TypeDecltype()voidtypeCheck()ExprunqualifiedScope()-
Methods inherited from class soot.JastAddJ.Access
addArrayDims, addArraySize, emitLoadLocalInNestedClass, emitThis, hasPrevExpr, inExplicitConstructorInvocation, isDiamond, isQualified, lastAccess, nestedScope, predNameType, prevExpr, qualifier, superConstructorQualifier, unknownField, unknownType, withinDeprecatedAnnotation, withinSuppressWarnings
-
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, eval, false_label, hasNextAccess, hasPackage, hasParentDot, hasQualifiedPackage, hostPackage, hostType, inExtendsOrImplements, inStaticContext, isArrayAccess, isClassAccess, isConstant, isDAafter, isDAafterFalse, isDAafterTrue, isDAbefore, isDest, isDUafter, isDUafterFalse, isDUafterTrue, isDUbefore, isEnumConstant, isFalse, isFieldAccess, isIncOrDec, isLeftChildOfDot, isMethodAccess, isPackageAccess, isPositive, isRightChildOfDot, isSource, isSuperAccess, isSuperConstructorAccess, isThisAccess, isTrue, 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, checkWarnings, clearLocations, cloneSubtree, collectBranches, collectEnclosingVariables, collectErrors, collectExceptions, collectFinally, 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_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_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_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, 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, 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
-
type_computed
protected boolean type_computed
-
type_value
protected TypeDecl type_value
-
-
Method Detail
-
flushCache
public void flushCache()
- Overrides:
flushCachein classAccess
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCachein classAccess
-
clone
public ParTypeAccess clone() throws CloneNotSupportedException
- Overrides:
clonein classAccess- Throws:
CloneNotSupportedException
-
copy
public ParTypeAccess copy()
-
fullCopy
public ParTypeAccess fullCopy()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
-
isRaw
public boolean isRaw()
-
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 classAccess
-
numChildren
protected int numChildren()
- Overrides:
numChildrenin classAccess
-
mayHaveRewrite
public boolean mayHaveRewrite()
- Overrides:
mayHaveRewritein classAccess
-
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.
-
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.
-
unqualifiedScope
public Expr unqualifiedScope()
- Overrides:
unqualifiedScopein classAccess
-
genericDecl
public TypeDecl genericDecl()
-
isTypeAccess
public boolean isTypeAccess()
- Overrides:
isTypeAccessin classExpr
-
substituted
public Access substituted(Collection<TypeVariable> original, List<TypeVariable> substitution)
Builds a copy of this Access node where all occurrences of type variables in the original type parameter list have been replaced by the substitution type parameters.- Overrides:
substitutedin classAccess- Returns:
- the substituted Access node
-
Define_SimpleSet_lookupType
public SimpleSet Define_SimpleSet_lookupType(ASTNode caller, ASTNode child, String name)
- Overrides:
Define_SimpleSet_lookupTypein classASTNode<ASTNode>
-
-