public class JavaGenericRefTypeInstance extends java.lang.Object implements JavaGenericBaseInstance, ComparableUnderEC
Modifier and Type | Class and Description |
---|---|
private class |
JavaGenericRefTypeInstance.Annotated |
static class |
JavaGenericRefTypeInstance.WildcardConstraint |
Modifier and Type | Field and Description |
---|---|
private java.util.List<JavaTypeInstance> |
genericTypes |
private boolean |
hasUnbound |
private JavaRefTypeInstance |
typeInstance |
private static JavaGenericRefTypeInstance.WildcardConstraint |
WILDCARD_CONSTRAINT |
Constructor and Description |
---|
JavaGenericRefTypeInstance(JavaTypeInstance typeInstance,
java.util.List<JavaTypeInstance> genericTypes) |
private static final JavaGenericRefTypeInstance.WildcardConstraint WILDCARD_CONSTRAINT
private final JavaRefTypeInstance typeInstance
private final java.util.List<JavaTypeInstance> genericTypes
private final boolean hasUnbound
public JavaGenericRefTypeInstance(JavaTypeInstance typeInstance, java.util.List<JavaTypeInstance> genericTypes)
public void collectInto(TypeUsageCollector typeUsageCollector)
collectInto
in interface JavaTypeInstance
public JavaAnnotatedTypeInstance getAnnotatedInstance()
getAnnotatedInstance
in interface JavaTypeInstance
public boolean hasUnbound()
hasUnbound
in interface JavaGenericBaseInstance
public boolean hasForeignUnbound(ConstantPool cp, int depth, boolean noWildcard, java.util.Map<java.lang.String,FormalTypeParameter> externals)
hasForeignUnbound
in interface JavaGenericBaseInstance
public boolean isObject()
isObject
in interface JavaTypeInstance
public boolean hasL01Wildcard()
hasL01Wildcard
in interface JavaGenericBaseInstance
public JavaTypeInstance getWithoutL01Wildcard()
getWithoutL01Wildcard
in interface JavaGenericBaseInstance
public JavaGenericRefTypeInstance getBoundInstance(GenericTypeBinder genericTypeBinder)
getBoundInstance
in interface JavaGenericBaseInstance
public boolean tryFindBinding(JavaTypeInstance other, GenericTypeBinder target)
tryFindBinding
in interface JavaGenericBaseInstance
public StackType getStackType()
getStackType
in interface JavaTypeInstance
public void dumpInto(Dumper d, TypeUsageInformation typeUsageInformation, TypeContext typeContext)
dumpInto
in interface JavaTypeInstance
public java.lang.String toString()
toString
in class java.lang.Object
public JavaTypeInstance getArrayStrippedType()
getArrayStrippedType
in interface JavaTypeInstance
public java.util.List<JavaTypeInstance> getGenericTypes()
getGenericTypes
in interface JavaGenericBaseInstance
public JavaRefTypeInstance getDeGenerifiedType()
getDeGenerifiedType
in interface JavaTypeInstance
public int getNumArrayDimensions()
getNumArrayDimensions
in interface JavaTypeInstance
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String getRawName()
getRawName
in interface JavaTypeInstance
public java.lang.String getRawName(IllegalIdentifierDump iid)
getRawName
in interface JavaTypeInstance
public InnerClassInfo getInnerClassHereInfo()
getInnerClassHereInfo
in interface JavaTypeInstance
public JavaTypeInstance getTypeInstance()
public BindingSuperContainer getBindingSupers()
getBindingSupers
in interface JavaTypeInstance
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public boolean equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)
equivalentUnder
in interface ComparableUnderEC
public boolean isComplexType()
isComplexType
in interface JavaTypeInstance
public boolean isUsableType()
isUsableType
in interface JavaTypeInstance
public JavaTypeInstance removeAnArrayIndirection()
removeAnArrayIndirection
in interface JavaTypeInstance
public RawJavaType getRawTypeOfSimpleType()
getRawTypeOfSimpleType
in interface JavaTypeInstance
public boolean implicitlyCastsTo(JavaTypeInstance other, GenericTypeBinder gtb)
implicitlyCastsTo
in interface JavaTypeInstance
public boolean impreciseCanCastTo(JavaTypeInstance other, GenericTypeBinder gtb)
impreciseCanCastTo
in interface JavaTypeInstance
public boolean correctCanCastTo(JavaTypeInstance other, GenericTypeBinder gtb)
correctCanCastTo
in interface JavaTypeInstance
public java.lang.String suggestVarName()
suggestVarName
in interface JavaTypeInstance
public JavaGenericRefTypeInstance asGenericRefInstance(JavaTypeInstance other)
asGenericRefInstance
in interface JavaTypeInstance
public JavaTypeInstance directImplOf(JavaTypeInstance other)
directImplOf
in interface JavaTypeInstance
public JavaTypeInstance deObfuscate(ObfuscationTypeMap obfuscationTypeMap)
deObfuscate
in interface JavaTypeInstance
public boolean isRaw()
isRaw
in interface JavaTypeInstance