public class InferredJavaType
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static class |
InferredJavaType.ClashState |
private static interface |
InferredJavaType.IJTInternal |
private static class |
InferredJavaType.IJTInternal_Clash |
private static class |
InferredJavaType.IJTInternal_Impl |
static class |
InferredJavaType.Source |
Modifier and Type | Field and Description |
---|---|
private static int |
global_id |
static InferredJavaType |
IGNORE |
private InferredJavaType.IJTInternal |
value |
Modifier | Constructor and Description |
---|---|
|
InferredJavaType() |
private |
InferredJavaType(InferredJavaType.IJTInternal_Clash clash) |
|
InferredJavaType(JavaTypeInstance type,
InferredJavaType.Source source) |
|
InferredJavaType(JavaTypeInstance type,
InferredJavaType.Source source,
boolean locked) |
private static int global_id
private InferredJavaType.IJTInternal value
public static final InferredJavaType IGNORE
public InferredJavaType()
public InferredJavaType(JavaTypeInstance type, InferredJavaType.Source source)
public InferredJavaType(JavaTypeInstance type, InferredJavaType.Source source, boolean locked)
private InferredJavaType(InferredJavaType.IJTInternal_Clash clash)
private static java.util.List<JavaTypeInstance> getMostDerivedType(java.util.Set<JavaTypeInstance> types)
private static InferredJavaType mkClash(java.util.List<JavaTypeInstance> types)
public static InferredJavaType combineOrClash(InferredJavaType t1, InferredJavaType t2)
public static InferredJavaType mkClash(JavaTypeInstance... types)
private static java.util.Map<JavaTypeInstance,JavaGenericRefTypeInstance> getBoundSuperClasses(JavaTypeInstance clashType)
public InferredJavaType.Source getSource()
private void mergeGenericInfo(JavaGenericRefTypeInstance otherTypeInstance)
public void noteUseAs(JavaTypeInstance type)
public void forceType(JavaTypeInstance type, boolean ignoreLockIfResolveClash)
public boolean isClash()
public InferredJavaType collapseTypeClash()
public int getLocalId()
public int getTaggedBytecodeLocation()
public void setTaggedBytecodeLocation(int location)
private static boolean checkGenericCompatibility(JavaGenericRefTypeInstance thisType, JavaGenericRefTypeInstance otherType)
private boolean checkBaseCompatibility(JavaTypeInstance otherType)
private static boolean checkBaseCompatibility(JavaTypeInstance thisType, JavaTypeInstance otherType)
private CastAction chainFrom(InferredJavaType other)
private static void mkDelegate(InferredJavaType.IJTInternal a, InferredJavaType.IJTInternal b)
public void forceDelegate(InferredJavaType other)
private CastAction chainIntegralTypes(InferredJavaType other)
public static void compareAsWithoutCasting(InferredJavaType a, InferredJavaType b, boolean aLit, boolean bLit)
public void useAsWithCast(RawJavaType otherRaw)
public void useInArithOp(InferredJavaType other, RawJavaType otherRaw, boolean forbidBool)
public static void useInArithOp(InferredJavaType lhs, InferredJavaType rhs, ArithOp op)
public void useAsWithoutCasting(JavaTypeInstance otherTypeInstance)
private void improveGenericType(JavaGenericRefTypeInstance otherGeneric)
public void deGenerify(JavaTypeInstance other)
public void applyKnownBaseType()
private static boolean isPrimitiveArray(InferredJavaType.IJTInternal i)
public CastAction chain(InferredJavaType other)
public RawJavaType getRawType()
public void shallowSetCanBeVar()
public void confirmVarIfPossible()
public JavaTypeInstance getJavaTypeInstance()
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object