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