Package javassist.bytecode.stackmap
Class TypeData.ArrayElement
- java.lang.Object
-
- javassist.bytecode.stackmap.TypeData
-
- javassist.bytecode.stackmap.TypeData.AbsTypeVar
-
- javassist.bytecode.stackmap.TypeData.ArrayElement
-
- Enclosing class:
- TypeData
public static class TypeData.ArrayElement extends TypeData.AbsTypeVar
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javassist.bytecode.stackmap.TypeData
TypeData.AbsTypeVar, TypeData.ArrayElement, TypeData.ArrayType, TypeData.BasicType, TypeData.ClassName, TypeData.NullType, TypeData.TypeVar, TypeData.UninitData, TypeData.UninitThis, TypeData.UninitTypeVar
-
-
Field Summary
Fields Modifier and Type Field Description private TypeData.AbsTypeVar
array
-
Constructor Summary
Constructors Modifier Constructor Description private
ArrayElement(TypeData.AbsTypeVar a)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description TypeData.AbsTypeVar
arrayType()
int
dfs(java.util.List<TypeData> order, int index, ClassPool cp)
Depth-first search by Tarjan's algorithmTypeData
getArrayType(int dim)
java.lang.String
getName()
boolean
is2WordType()
TypeData.BasicType
isBasicType()
If the type is a basic type, this method normalizes the type and returns a BasicType object.static TypeData
make(TypeData array)
void
merge(TypeData t)
void
setType(java.lang.String s, ClassPool cp)
(package private) java.lang.String
toString2(java.util.Set<TypeData> set)
protected TypeData.TypeVar
toTypeVar(int dim)
Returns this if it is a TypeVar or a TypeVar that this type depends on.private static java.lang.String
typeName(java.lang.String arrayType)
-
Methods inherited from class javassist.bytecode.stackmap.TypeData.AbsTypeVar
eq, getTypeData, getTypeTag
-
Methods inherited from class javassist.bytecode.stackmap.TypeData
aastore, commonSuperClass, commonSuperClassEx, constructorCalled, eq, isNullType, isUninit, join, make, toString
-
-
-
-
Field Detail
-
array
private TypeData.AbsTypeVar array
-
-
Constructor Detail
-
ArrayElement
private ArrayElement(TypeData.AbsTypeVar a)
-
-
Method Detail
-
make
public static TypeData make(TypeData array) throws BadBytecode
- Throws:
BadBytecode
-
merge
public void merge(TypeData t)
- Specified by:
merge
in classTypeData.AbsTypeVar
-
arrayType
public TypeData.AbsTypeVar arrayType()
-
isBasicType
public TypeData.BasicType isBasicType()
Description copied from class:TypeData
If the type is a basic type, this method normalizes the type and returns a BasicType object. Otherwise, it returns null.- Specified by:
isBasicType
in classTypeData
-
is2WordType
public boolean is2WordType()
- Specified by:
is2WordType
in classTypeData
-
typeName
private static java.lang.String typeName(java.lang.String arrayType)
-
setType
public void setType(java.lang.String s, ClassPool cp) throws BadBytecode
- Specified by:
setType
in classTypeData
- Throws:
BadBytecode
-
toTypeVar
protected TypeData.TypeVar toTypeVar(int dim)
Description copied from class:TypeData
Returns this if it is a TypeVar or a TypeVar that this type depends on. Otherwise, this method returns null. It is used by dfs().
-
getArrayType
public TypeData getArrayType(int dim) throws NotFoundException
- Specified by:
getArrayType
in classTypeData
- Parameters:
dim
- array dimension. It may be negative.- Throws:
NotFoundException
-
dfs
public int dfs(java.util.List<TypeData> order, int index, ClassPool cp) throws NotFoundException
Description copied from class:TypeData
Depth-first search by Tarjan's algorithm- Overrides:
dfs
in classTypeData
- Parameters:
order
- a node stack in the order in which nodes are visited.index
- the index used by the algorithm.- Throws:
NotFoundException
-
-