public abstract class TypeData
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
TypeData.AbsTypeVar |
static class |
TypeData.ArrayElement |
static class |
TypeData.ArrayType |
protected static class |
TypeData.BasicType
Primitive types.
|
static class |
TypeData.ClassName
Type data for OBJECT.
|
static class |
TypeData.NullType
Type data for NULL or OBJECT.
|
static class |
TypeData.TypeVar |
static class |
TypeData.UninitData
Type data for UNINIT.
|
static class |
TypeData.UninitThis |
static class |
TypeData.UninitTypeVar |
Modifier | Constructor and Description |
---|---|
protected |
TypeData() |
Modifier and Type | Method and Description |
---|---|
static void |
aastore(TypeData array,
TypeData value,
ClassPool cp) |
static CtClass |
commonSuperClass(CtClass one,
CtClass two)
Finds the most specific common super class of the given classes.
|
static CtClass |
commonSuperClassEx(CtClass one,
CtClass two)
Finds the most specific common super class of the given classes
by considering array types.
|
void |
constructorCalled(int offset) |
int |
dfs(java.util.ArrayList order,
int index,
ClassPool cp) |
(package private) static boolean |
eq(CtClass one,
CtClass two) |
abstract boolean |
eq(TypeData d) |
abstract java.lang.String |
getName() |
abstract int |
getTypeData(ConstPool cp) |
abstract int |
getTypeTag() |
abstract boolean |
is2WordType() |
abstract 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.
|
boolean |
isUninit() |
TypeData |
join() |
static TypeData[] |
make(int size) |
abstract void |
setType(java.lang.String s,
ClassPool cp) |
private static void |
setType(TypeData td,
java.lang.String className,
ClassPool cp)
Sets the type name of this object type.
|
protected TypeData.TypeVar |
toTypeVar()
Returns this if it is a TypeVar or a TypeVar that this
type depends on.
|
public static TypeData[] make(int size)
private static void setType(TypeData td, java.lang.String className, ClassPool cp) throws BadBytecode
className
- dot-separated name unless the type is an array type.BadBytecode
public abstract int getTypeTag()
public abstract int getTypeData(ConstPool cp)
public TypeData join()
public abstract TypeData.BasicType isBasicType()
public abstract boolean is2WordType()
public boolean isNullType()
public boolean isUninit()
public abstract boolean eq(TypeData d)
public abstract java.lang.String getName()
public abstract void setType(java.lang.String s, ClassPool cp) throws BadBytecode
BadBytecode
public int dfs(java.util.ArrayList order, int index, ClassPool cp) throws NotFoundException
NotFoundException
protected TypeData.TypeVar toTypeVar()
public void constructorCalled(int offset)
public static CtClass commonSuperClassEx(CtClass one, CtClass two) throws NotFoundException
NotFoundException
public static CtClass commonSuperClass(CtClass one, CtClass two) throws NotFoundException
NotFoundException
public static void aastore(TypeData array, TypeData value, ClassPool cp) throws BadBytecode
BadBytecode