Class JavaRefTypeInstance
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.types.JavaRefTypeInstance
-
- All Implemented Interfaces:
JavaTypeInstance
public class JavaRefTypeInstance extends java.lang.Object implements JavaTypeInstance
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
JavaRefTypeInstance.Annotated
private static class
JavaRefTypeInstance.RefTypeInnerClassInfo
-
Field Summary
Fields Modifier and Type Field Description private BindingSuperContainer
cachedBindingSupers
private java.lang.String
className
private DCCommonState
dcCommonState
private InnerClassInfo
innerClassInfo
private java.lang.String
shortName
private java.lang.String
suggestedVarName
-
Constructor Summary
Constructors Modifier Constructor Description private
JavaRefTypeInstance(java.lang.String className, java.lang.String displayableName, JavaRefTypeInstance[] supers)
private
JavaRefTypeInstance(java.lang.String className, JavaRefTypeInstance knownOuter, DCCommonState dcCommonState)
private
JavaRefTypeInstance(java.lang.String className, DCCommonState dcCommonState)
-
Method Summary
-
-
-
Field Detail
-
className
private final java.lang.String className
-
shortName
private java.lang.String shortName
-
suggestedVarName
private java.lang.String suggestedVarName
-
innerClassInfo
private InnerClassInfo innerClassInfo
-
dcCommonState
private final DCCommonState dcCommonState
-
cachedBindingSupers
private BindingSuperContainer cachedBindingSupers
-
-
Constructor Detail
-
JavaRefTypeInstance
private JavaRefTypeInstance(java.lang.String className, DCCommonState dcCommonState)
-
JavaRefTypeInstance
private JavaRefTypeInstance(java.lang.String className, JavaRefTypeInstance knownOuter, DCCommonState dcCommonState)
-
JavaRefTypeInstance
private JavaRefTypeInstance(java.lang.String className, java.lang.String displayableName, JavaRefTypeInstance[] supers)
-
-
Method Detail
-
setUnexpectedInnerClassOf
public void setUnexpectedInnerClassOf(JavaRefTypeInstance parent)
-
getAnnotatedInstance
public JavaAnnotatedTypeInstance getAnnotatedInstance()
- Specified by:
getAnnotatedInstance
in interfaceJavaTypeInstance
-
isObject
public boolean isObject()
- Specified by:
isObject
in interfaceJavaTypeInstance
-
markNotInner
public void markNotInner()
-
suggestVarName
public java.lang.String suggestVarName()
- Specified by:
suggestVarName
in interfaceJavaTypeInstance
-
create
public static JavaRefTypeInstance create(java.lang.String rawClassName, DCCommonState dcCommonState)
-
createKnownInnerOuter
public static Pair<JavaRefTypeInstance,JavaRefTypeInstance> createKnownInnerOuter(java.lang.String inner, java.lang.String outer, JavaRefTypeInstance outerType, DCCommonState dcCommonState)
-
createTypeConstant
static JavaRefTypeInstance createTypeConstant(java.lang.String rawClassName, java.lang.String displayableName, JavaRefTypeInstance... supers)
ONLY call when creating type constants.
-
createTypeConstant
public static JavaRefTypeInstance createTypeConstant(java.lang.String rawClassName, JavaRefTypeInstance... supers)
ONLY call when creating type constants.
-
createTypeConstantWithObjectSuper
static JavaRefTypeInstance createTypeConstantWithObjectSuper(java.lang.String rawClassName)
ONLY call when creating type constants.
-
getStackType
public StackType getStackType()
- Specified by:
getStackType
in interfaceJavaTypeInstance
-
dumpInto
public void dumpInto(Dumper d, TypeUsageInformation typeUsageInformation, TypeContext typeContext)
- Specified by:
dumpInto
in interfaceJavaTypeInstance
-
getPackageName
public java.lang.String getPackageName()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getArrayStrippedType
public JavaTypeInstance getArrayStrippedType()
- Specified by:
getArrayStrippedType
in interfaceJavaTypeInstance
-
getNumArrayDimensions
public int getNumArrayDimensions()
- Specified by:
getNumArrayDimensions
in interfaceJavaTypeInstance
-
getRawName
public java.lang.String getRawName()
- Specified by:
getRawName
in interfaceJavaTypeInstance
-
getRawShortName
public java.lang.String getRawShortName()
-
getRawName
public java.lang.String getRawName(IllegalIdentifierDump iid)
- Specified by:
getRawName
in interfaceJavaTypeInstance
-
getRawShortName
public java.lang.String getRawShortName(IllegalIdentifierDump iid)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
getInnerClassHereInfo
public InnerClassInfo getInnerClassHereInfo()
- Specified by:
getInnerClassHereInfo
in interfaceJavaTypeInstance
-
forceBindingSupers
public void forceBindingSupers(BindingSuperContainer bindingSuperContainer)
-
getBindingSupers
public BindingSuperContainer getBindingSupers()
- Specified by:
getBindingSupers
in interfaceJavaTypeInstance
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
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
-
getDeGenerifiedType
public JavaTypeInstance getDeGenerifiedType()
- Specified by:
getDeGenerifiedType
in interfaceJavaTypeInstance
-
getRawTypeOfSimpleType
public RawJavaType getRawTypeOfSimpleType()
- Specified by:
getRawTypeOfSimpleType
in interfaceJavaTypeInstance
-
deObfuscate
public JavaTypeInstance deObfuscate(ObfuscationTypeMap obfuscationTypeMap)
- Specified by:
deObfuscate
in interfaceJavaTypeInstance
-
implicitlyCastsTo
public boolean implicitlyCastsTo(JavaTypeInstance other, GenericTypeBinder gtb)
- Specified by:
implicitlyCastsTo
in interfaceJavaTypeInstance
-
directImplOf
public JavaTypeInstance directImplOf(JavaTypeInstance other)
- Specified by:
directImplOf
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
-
getClassFile
public ClassFile getClassFile()
-
getShortName
private static java.lang.String getShortName(java.lang.String fullClassName)
-
getShortName
private static java.lang.String getShortName(java.lang.String fullClassName, InnerClassInfo innerClassInfo)
-
collectInto
public void collectInto(TypeUsageCollector typeUsageCollector)
- Specified by:
collectInto
in interfaceJavaTypeInstance
-
asGenericRefInstance
public JavaGenericRefTypeInstance asGenericRefInstance(JavaTypeInstance other)
- Specified by:
asGenericRefInstance
in interfaceJavaTypeInstance
-
isRaw
public boolean isRaw()
- Specified by:
isRaw
in interfaceJavaTypeInstance
-
-