public static class TypeData.TypeVar extends TypeData.AbsTypeVar
TypeData.AbsTypeVar, TypeData.ArrayElement, TypeData.ArrayType, TypeData.BasicType, TypeData.ClassName, TypeData.NullType, TypeData.TypeVar, TypeData.UninitData, TypeData.UninitThis, TypeData.UninitTypeVar
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
fixedType |
private boolean |
inList |
private boolean |
is2WordType |
protected java.util.ArrayList |
lowers |
private int |
smallest |
protected java.util.ArrayList |
uppers |
protected java.util.ArrayList |
usedBy |
private int |
visited |
Modifier and Type | Method and Description |
---|---|
int |
dfs(java.util.ArrayList preOrder,
int index,
ClassPool cp) |
private CtClass |
fixByUppers(java.util.ArrayList users,
ClassPool cp,
java.util.HashSet visited,
CtClass type) |
private void |
fixTypes(java.util.ArrayList scc,
ClassPool cp) |
private java.lang.String |
fixTypes2(java.util.ArrayList scc,
java.util.HashSet lowersSet,
ClassPool cp) |
java.lang.String |
getName() |
int |
getTypeData(ConstPool cp) |
int |
getTypeTag() |
boolean |
is2WordType() |
TypeData.BasicType |
isBasicType()
If the type is a basic type, this method normalizes the type
and returns a BasicType object.
|
boolean |
isNullType()
Returns false if getName() returns a valid type name.
|
private static boolean |
isObjectArray(CtClass cc) |
boolean |
isUninit() |
void |
merge(TypeData t) |
void |
setType(java.lang.String typeName,
ClassPool cp) |
protected TypeData.TypeVar |
toTypeVar()
Returns this if it is a TypeVar or a TypeVar that this
type depends on.
|
eq
aastore, commonSuperClass, commonSuperClassEx, constructorCalled, eq, join, make
protected java.util.ArrayList lowers
protected java.util.ArrayList usedBy
protected java.util.ArrayList uppers
protected java.lang.String fixedType
private boolean is2WordType
private int visited
private int smallest
private boolean inList
public TypeVar(TypeData t)
public TypeData.BasicType isBasicType()
TypeData
isBasicType
in class TypeData
public boolean is2WordType()
is2WordType
in class TypeData
public boolean isNullType()
TypeData
isNullType
in class TypeData
public void merge(TypeData t)
merge
in class TypeData.AbsTypeVar
public int getTypeTag()
getTypeTag
in class TypeData.AbsTypeVar
public int getTypeData(ConstPool cp)
getTypeData
in class TypeData.AbsTypeVar
public void setType(java.lang.String typeName, ClassPool cp) throws BadBytecode
setType
in class TypeData
BadBytecode
protected TypeData.TypeVar toTypeVar()
TypeData
public int dfs(java.util.ArrayList preOrder, int index, ClassPool cp) throws NotFoundException
dfs
in class TypeData
NotFoundException
private void fixTypes(java.util.ArrayList scc, ClassPool cp) throws NotFoundException
NotFoundException
private java.lang.String fixTypes2(java.util.ArrayList scc, java.util.HashSet lowersSet, ClassPool cp) throws NotFoundException
NotFoundException
private static boolean isObjectArray(CtClass cc) throws NotFoundException
NotFoundException
private CtClass fixByUppers(java.util.ArrayList users, ClassPool cp, java.util.HashSet visited, CtClass type) throws NotFoundException
NotFoundException