Package soot.JastAddJ
Class AbstractWildcardType
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.TypeDecl
-
- soot.JastAddJ.AbstractWildcardType
-
- Direct Known Subclasses:
WildcardExtendsType
,WildcardSuperType
,WildcardType
public abstract class AbstractWildcardType extends TypeDecl implements Cloneable
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface soot.JastAddJ.SimpleSet
SimpleSet.SimpleSetImpl
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
getSootClassDecl_computed
protected SootClass
getSootClassDecl_value
-
Fields inherited from class soot.JastAddJ.TypeDecl
accessibleFrom_TypeDecl_values, accessibleFromExtend_TypeDecl_values, accessibleFromPackage_String_values, accessorCounter, ancestorMethods_String_values, anonymousIndex, arrayType_computed, arrayType_value, boxed_computed, boxed_value, castingConversionTo_TypeDecl_values, clinit, componentType_computed, componentType_value, constructors_computed, constructors_value, containedIn_TypeDecl_values, createEnumArray_TypeDecl_values, createEnumIndex_EnumConstant_values, createEnumMethod_TypeDecl_values, dimension_computed, dimension_value, elementType_computed, elementType_value, enclosingVariables_computed, enclosingVariables_value, erasure_computed, erasure_value, fullName_computed, fullName_value, getSootField_String_TypeDecl_values, getSootType_computed, getSootType_value, hasAbstract_computed, hasAbstract_value, IDend, IDstart, implementedInterfaces_computed, implementedInterfaces_value, inExplicitConstructorInvocation_computed, inExplicitConstructorInvocation_value, innerClassesAttributeEntries_computed, innerClassesAttributeEntries_value, instanceOf_TypeDecl_values, inStaticContext_computed, inStaticContext_value, involvesTypeParameters_computed, involvesTypeParameters_initialized, involvesTypeParameters_value, involvesTypeParameters_visited, isAnonymous_computed, isAnonymous_value, isCheckedException_computed, isCheckedException_value, isCircular_computed, isCircular_initialized, isCircular_value, isCircular_visited, isDAbefore_Variable_values, isDUbefore_Variable_values, isException_computed, isException_value, isIterable_computed, isIterable_value, isObject_computed, isObject_value, isPublic_computed, isPublic_value, isStatic_computed, isStatic_value, isString_computed, isString_value, isUncheckedException_computed, isUncheckedException_value, jvmName_computed, jvmName_value, localFields_String_values, localFieldsMap_computed, localFieldsMap_value, localMethodsSignatureMap_computed, localMethodsSignatureMap_value, localTypeDecls_String_values, lookupMethod_String_values, lookupType_String_values, lookupVariable_String_values, mayCatch_TypeDecl_values, memberFields_String_values, memberFieldsMap_computed, memberFieldsMap_value, memberTypes_String_values, methodInvocationConversionTo_TypeDecl_values, methodsNameMap_computed, methodsNameMap_value, methodsSignatureMap_computed, methodsSignatureMap_value, narrowingConversionTo_TypeDecl_values, needsClinit_computed, needsClinit_value, packageName_computed, packageName_value, sameStructure_TypeDecl_values, sootClass_computed, sootClass_value, sourceTypeDecl_computed, sourceTypeDecl_value, subtype_TypeDecl_values, tokenString_ID, typeError_computed, typeError_value, typeException_computed, typeException_value, typeName_computed, typeName_value, typeObject_computed, typeObject_value, typeRuntimeException_computed, typeRuntimeException_value, unboxed_computed, unboxed_value, unimplementedMethods_computed, unimplementedMethods_value, uniqueIndex_computed, uniqueIndex_value, unknownType_computed, unknownType_value, unqualifiedLookupMethod_String_values, usesTypeVariable_computed, usesTypeVariable_initialized, usesTypeVariable_value, usesTypeVariable_visited
-
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 AbstractWildcardType()
AbstractWildcardType(Modifiers p0, Symbol p1, List<BodyDecl> p2)
AbstractWildcardType(Modifiers p0, String p1, List<BodyDecl> p2)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addBodyDecl(BodyDecl node)
Append an element to the BodyDecl list.void
addBodyDeclNoTransform(BodyDecl node)
AbstractWildcardType
clone()
Access
createQualifiedAccess()
Qualified access for wildcard types.void
flushCache()
void
flushCollectionCache()
BodyDecl
getBodyDecl(int i)
Retrieves the element at indexi
in the BodyDecl list..List<BodyDecl>
getBodyDeclList()
Retrieves the BodyDecl list.List<BodyDecl>
getBodyDeclListNoTransform()
Retrieves the BodyDecl list.List<BodyDecl>
getBodyDecls()
Retrieves the BodyDecl list.List<BodyDecl>
getBodyDeclsNoTransform()
Retrieves the BodyDecl list.String
getID()
Retrieves the value for the lexeme ID.Modifiers
getModifiers()
Retrieves the Modifiers child.Modifiers
getModifiersNoTransform()
Retrieves the Modifiers child.int
getNumBodyDecl()
Retrieves the number of children in the BodyDecl list.int
getNumBodyDeclNoTransform()
Retrieves the number of children in the BodyDecl list.SootClass
getSootClassDecl()
void
init$Children()
Initializes the child array to the correct size.boolean
isWildcard()
boolean
mayHaveRewrite()
protected int
numChildren()
ASTNode
rewriteTo()
void
setBodyDecl(BodyDecl node, int i)
Replaces the BodyDecl list element at indexi
with the new nodenode
.void
setBodyDeclList(List<BodyDecl> list)
Replaces the BodyDecl list.void
setID(Symbol symbol)
JastAdd-internal setter for lexeme ID using the Beaver parser.void
setID(String value)
Replaces the lexeme ID.void
setModifiers(Modifiers node)
Replaces the Modifiers child.-
Methods inherited from class soot.JastAddJ.TypeDecl
accessibleFrom, accessibleFromExtend, accessibleFromPackage, add, add, addAccessor, addAttributes, addConstructor, addEnclosingVariables, addMemberClass, addMemberField, addMemberMethod, addNestedType, addsIndentationLevel, addUsedNestedType, allMethodsAbstract, ancestorMethods, andBitwise, annotation, arrayType, assignableToInt, assignConversionTo, asWildcardExtends, asWildcardSuper, binaryNumericPromotion, bitNot, boxed, boxingConversionTo, bridgeCandidates, cast, castingConversionTo, checkModifiers, commensurateWith, compilationUnit, componentType, constructors, containedIn, contains, createAssertionsDisabled, createBoundAccess, createEnumArray, createEnumIndex, createEnumMethod, createStaticClassField, createStaticClassMethod, declaredBeforeUse, declaredBeforeUse, Define_boolean_enclosedByExceptionHandler, Define_boolean_insideLoop, Define_boolean_insideSwitch, Define_boolean_inStaticContext, Define_boolean_isAnonymous, Define_boolean_isDAbefore, Define_boolean_isDest, Define_boolean_isDUbefore, Define_boolean_isLocalClass, 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_reportUnreachable, Define_boolean_withinDeprecatedAnnotation, Define_boolean_withinSuppressWarnings, Define_Collection_lookupConstructor, Define_Collection_lookupMethod, Define_Collection_lookupSuperConstructor, Define_NameType_nameType, Define_SimpleSet_lookupType, Define_SimpleSet_lookupVariable, Define_String_methodHost, Define_TypeDecl_componentType, Define_TypeDecl_enclosingInstance, Define_TypeDecl_enclosingType, Define_TypeDecl_hostType, Define_TypeDecl_returnType, Define_VariableScope_outerScope, dimension, div, dumpString, elementType, emitBoxingOperation, emitCastTo, emitCastTo, emitUnboxingOperation, enclosedBy, encloses, enclosing, enclosingBlock, enclosingBodyDecl, enclosingInstance, enclosingType, enclosingVariables, eqIsTrue, erasure, fieldsIterator, findSingleVariable, fullName, getAccessor, getAccessorSource, getSootField, getSootType, hasAbstract, hasAnnotationSafeVarargs, hasAnnotationSuppressWarnings, hasEnclosingTypeDecl, hasField, hasMethod, hasNext, hasPackage, hasType, hostPackage, hostType, identityConversionTo, implementedInterfaces, inExplicitConstructorInvocation, innerClassesAttributeEntries, instanceOf, inStaticContext, involvesTypeParameters, isAbstract, isAnnotationDecl, isAnonymous, isAnonymousInNonStaticContext, isArrayDecl, isBoolean, isByte, isChar, isCheckedException, isCircular, isClassDecl, isDAbefore, isDeprecated, isDouble, isDUbefore, isEmpty, isEnumDecl, isException, isFinal, isFloat, isGenericType, isInnerClass, isInnerType, isInnerTypeOf, isInt, isIntegralType, isInterfaceDecl, isIterable, isLocalClass, isLong, isMemberType, isNestedType, isNull, isNumericType, isObject, isParameterizedType, isPrimitive, isPrimitiveType, isPrivate, isProtected, isPublic, isRawType, isReferenceType, isReifiable, isShort, isSingleton, isSingleton, isStatic, isStrictfp, isString, isSupertypeOfArrayDecl, isSupertypeOfClassDecl, isSupertypeOfInterfaceDecl, isSupertypeOfNullType, isSupertypeOfPrimitiveType, isSupertypeOfVoidType, isSynthetic, isTopLevelType, isTypeVariable, isUnboxedPrimitive, isUncheckedConversionTo, isUncheckedException, isUnknown, isValidAnnotationMethodReturnType, isVoid, iterator, jimplify1phase2, jimplify2, jimplify2clinit, jvmName, leIsTrue, localFields, localFieldsMap, localMethodsIterator, localMethodsSignature, localMethodsSignatureMap, localTypeDecls, lookupConstructor, lookupGLBType, lookupLUBType, lookupMethod, lookupSuperConstructor, lookupType, lookupType, lookupVariable, lookupWildcardExtends, lookupWildcardSuper, lshift, ltIsTrue, makeGeneric, mayAccess, mayAccess, mayCatch, memberFields, memberFieldsMap, memberMethods, memberTypes, methodInvocationConversionTo, methodsIterator, methodsNameMap, methodsSignature, methodsSignatureMap, methodWithArgs, minus, mod, mul, name, nameCheck, narrowingConversionTo, needsClinit, needsEnclosing, needsSuperEnclosing, nestedTypes, next, nextAnonymousIndex, orBitwise, original, packageName, plus, ppBodyDecls, primitiveClassName, questionColon, referenceClassFieldName, refined_TypeHierarchyCheck_TypeDecl_typeCheck, remove, rshift, sameSignature, sameStructure, size, sootClass, sootRef, sootTypeModifiers, sourceNameWithoutPath, sourceTypeDecl, stringConversion, stringPromotion, sub, substitute, substitute, substituteParameterType, substituteReturnType, subtype, superEnclosing, supertypeArrayDecl, supertypeClassDecl, supertypeClassDeclSubstituted, supertypeGenericClassDecl, supertypeGenericClassDeclSubstituted, supertypeGenericInterfaceDecl, supertypeGenericInterfaceDeclSubstituted, supertypeGLBType, supertypeInterfaceDecl, supertypeInterfaceDeclSubstituted, supertypeLUBType, supertypeNullType, supertypeParClassDecl, supertypeParInterfaceDecl, supertypePrimitiveType, supertypeRawClassDecl, supertypeRawInterfaceDecl, supertypeTypeVariable, supertypeVoidType, supertypeWildcard, supertypeWildcardExtends, supertypeWildcardSuper, topLevelType, transformation, typeCheck, typeCloneable, typeDescriptor, typeError, typeException, typeInt, typeName, typeObject, typeRuntimeException, typeSerializable, typeVoid, typeWildcard, unaryNumericPromotion, unboxed, unboxingConversionTo, unimplementedMethods, uniqueIndex, unknownType, unqualifiedLookupMethod, urshift, usedNestedTypes, usesTypeVariable, variableSize, wideningConversionTo, withinBodyThatSubclasses, withinDeprecatedAnnotation, withinSuppressWarnings, xorBitwise
-
Methods inherited from class soot.JastAddJ.ASTNode
accessControl, addChild, asImmediate, asLocal, asLocal, asRValue, beginExceptionRange, branchTarget, checkDUeverywhere, checkEnum, checkUncheckedConversion, checkWarnings, clearLocations, cloneSubtree, collectBranches, collectEnclosingVariables, collectErrors, collectExceptions, collectFinally, collectTypesToHierarchy, collectTypesToSignatures, copy, Define_Annotation_lookupAnnotation, Define_ArrayList_exceptionRanges, Define_ASTNode_enclosingBlock, Define_BodyDecl_enclosingBodyDecl, Define_boolean_handlesException, Define_boolean_hasPackage, Define_boolean_inExplicitConstructorInvocation, Define_boolean_inExtendsOrImplements, Define_boolean_inhModifiedInScope, Define_boolean_isAnonymousDecl, Define_boolean_isCatchParam, Define_boolean_isConstructorParameter, Define_boolean_isExceptionHandlerParameter, Define_boolean_isExplicitGenericConstructorAccess, Define_boolean_isIncOrDec, Define_boolean_isMemberType, Define_boolean_isMethodParameter, Define_boolean_reachable, Define_boolean_reachableCatchClause, Define_boolean_resourcePreviouslyDeclared, Define_boolean_variableArityValid, Define_Case_bind, Define_CatchClause_catchClause, Define_ClassInstanceExpr_getClassInstanceExpr, 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_assignConvertedType, Define_TypeDecl_declType, Define_TypeDecl_enclosingAnnotationDecl, Define_TypeDecl_expectedType, Define_TypeDecl_genericDecl, 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, 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, fullCopy, getChild, getChildNoTransform, getIndexOfChild, getNumChild, getNumChildNoTransform, getParent, in$Circle, in$Circle, indent, insertChild, is$Final, is$Final, isDescendantTo, isStringAdd, jimplify1phase1, jimplify2, lineNumber, location, newLabel, options, putSimpleSetElement, reachedException, removeChild, removeInstanceMethods, removeInstanceVariables, replace, setChild, setEnd, setLocation, setParent, setStart, sourceFile, start, state, toString, 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
-
getSootClassDecl_computed
protected boolean getSootClassDecl_computed
-
getSootClassDecl_value
protected SootClass getSootClassDecl_value
-
-
Method Detail
-
flushCache
public void flushCache()
- Overrides:
flushCache
in classTypeDecl
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCache
in classTypeDecl
-
clone
public AbstractWildcardType clone() throws CloneNotSupportedException
- Overrides:
clone
in classTypeDecl
- Throws:
CloneNotSupportedException
-
createQualifiedAccess
public Access createQualifiedAccess()
Qualified access for wildcard types. Since they have no ordinary package and type name we just return the bound access.- Overrides:
createQualifiedAccess
in classTypeDecl
-
init$Children
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.- Overrides:
init$Children
in classTypeDecl
-
numChildren
protected int numChildren()
- Overrides:
numChildren
in classTypeDecl
-
mayHaveRewrite
public boolean mayHaveRewrite()
- Overrides:
mayHaveRewrite
in classTypeDecl
-
setModifiers
public void setModifiers(Modifiers node)
Replaces the Modifiers child.- Overrides:
setModifiers
in classTypeDecl
- Parameters:
node
- The new node to replace the Modifiers child.
-
getModifiers
public Modifiers getModifiers()
Retrieves the Modifiers child.- Overrides:
getModifiers
in classTypeDecl
- 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:
getModifiersNoTransform
in classTypeDecl
- Returns:
- The current node used as the Modifiers child.
-
setID
public void setID(String value)
Replaces 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.
-
setBodyDeclList
public void setBodyDeclList(List<BodyDecl> list)
Replaces the BodyDecl list.- Overrides:
setBodyDeclList
in classTypeDecl
- Parameters:
list
- The new list node to be used as the BodyDecl list.
-
getNumBodyDecl
public int getNumBodyDecl()
Retrieves the number of children in the BodyDecl list.- Overrides:
getNumBodyDecl
in classTypeDecl
- Returns:
- Number of children in the BodyDecl list.
-
getNumBodyDeclNoTransform
public int getNumBodyDeclNoTransform()
Retrieves the number of children in the BodyDecl list. Calling this method will not trigger rewrites..- Overrides:
getNumBodyDeclNoTransform
in classTypeDecl
- Returns:
- Number of children in the BodyDecl list.
-
getBodyDecl
public BodyDecl getBodyDecl(int i)
Retrieves the element at indexi
in the BodyDecl list..- Overrides:
getBodyDecl
in classTypeDecl
- Parameters:
i
- Index of the element to return.- Returns:
- The element at position
i
in the BodyDecl list.
-
addBodyDecl
public void addBodyDecl(BodyDecl node)
Append an element to the BodyDecl list.- Overrides:
addBodyDecl
in classTypeDecl
- Parameters:
node
- The element to append to the BodyDecl list.
-
addBodyDeclNoTransform
public void addBodyDeclNoTransform(BodyDecl node)
- Overrides:
addBodyDeclNoTransform
in classTypeDecl
-
setBodyDecl
public void setBodyDecl(BodyDecl node, int i)
Replaces the BodyDecl list element at indexi
with the new nodenode
.- Overrides:
setBodyDecl
in classTypeDecl
- Parameters:
node
- The new node to replace the old list element.i
- The list index of the node to be replaced.
-
getBodyDecls
public List<BodyDecl> getBodyDecls()
Retrieves the BodyDecl list.- Overrides:
getBodyDecls
in classTypeDecl
- Returns:
- The node representing the BodyDecl list.
-
getBodyDeclsNoTransform
public List<BodyDecl> getBodyDeclsNoTransform()
Retrieves the BodyDecl list.This method does not invoke AST transformations.
- Overrides:
getBodyDeclsNoTransform
in classTypeDecl
- Returns:
- The node representing the BodyDecl list.
-
getBodyDeclList
public List<BodyDecl> getBodyDeclList()
Retrieves the BodyDecl list.- Overrides:
getBodyDeclList
in classTypeDecl
- Returns:
- The node representing the BodyDecl list.
-
getBodyDeclListNoTransform
public List<BodyDecl> getBodyDeclListNoTransform()
Retrieves the BodyDecl list.This method does not invoke AST transformations.
- Overrides:
getBodyDeclListNoTransform
in classTypeDecl
- Returns:
- The node representing the BodyDecl list.
-
isWildcard
public boolean isWildcard()
- Overrides:
isWildcard
in classTypeDecl
-
getSootClassDecl
public SootClass getSootClassDecl()
- Overrides:
getSootClassDecl
in classTypeDecl
-
-