public abstract class Type
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static BasicType |
BOOLEAN |
static BasicType |
BYTE |
static BasicType |
CHAR |
static ObjectType |
CLASS |
private static java.lang.ThreadLocal<java.lang.Integer> |
consumed_chars |
static BasicType |
DOUBLE |
static BasicType |
FLOAT |
static BasicType |
INT |
static BasicType |
LONG |
static Type[] |
NO_ARGS |
static ReferenceType |
NULL |
static ObjectType |
OBJECT |
static BasicType |
SHORT |
protected java.lang.String |
signature
Deprecated.
(since 6.0) will be made private; do not access directly, use getter/setter
|
static ObjectType |
STRING |
static ObjectType |
STRINGBUFFER |
static ObjectType |
THROWABLE |
protected byte |
type
Deprecated.
(since 6.0) will be made private; do not access directly, use getter/setter
|
static Type |
UNKNOWN |
static BasicType |
VOID
Predefined constants
|
Modifier | Constructor and Description |
---|---|
protected |
Type(byte t,
java.lang.String s) |
Modifier and Type | Method and Description |
---|---|
(package private) static int |
consumed(int coded) |
(package private) static int |
encode(int size,
int consumed) |
boolean |
equals(java.lang.Object o) |
static Type[] |
getArgumentTypes(java.lang.String signature)
Convert arguments of a method (signature) to an array of Type objects.
|
(package private) static int |
getArgumentTypesSize(java.lang.String signature) |
static java.lang.String |
getMethodSignature(Type return_type,
Type[] arg_types)
Convert type to Java method signature, e.g.
|
static Type |
getReturnType(java.lang.String signature)
Convert return value of a method (signature) to a Type object.
|
(package private) static int |
getReturnTypeSize(java.lang.String signature) |
java.lang.String |
getSignature() |
static java.lang.String |
getSignature(java.lang.reflect.Method meth) |
int |
getSize() |
byte |
getType() |
static Type |
getType(java.lang.Class<?> cl)
Convert runtime java.lang.Class to BCEL Type object.
|
static Type |
getType(java.lang.String signature)
Convert signature to a Type object.
|
static Type[] |
getTypes(java.lang.Class<?>[] classes)
Convert runtime java.lang.Class[] to BCEL Type objects.
|
(package private) static int |
getTypeSize(java.lang.String signature) |
int |
hashCode() |
Type |
normalizeForStackOrLocal()
boolean, short and char variable are considered as int in the stack or local variable area.
|
(package private) void |
setSignature(java.lang.String signature) |
(package private) static int |
size(int coded) |
java.lang.String |
toString() |
private static int |
unwrap(java.lang.ThreadLocal<java.lang.Integer> tl) |
private static void |
wrap(java.lang.ThreadLocal<java.lang.Integer> tl,
int value) |
@Deprecated protected byte type
@Deprecated protected java.lang.String signature
public static final BasicType VOID
public static final BasicType BOOLEAN
public static final BasicType INT
public static final BasicType SHORT
public static final BasicType BYTE
public static final BasicType LONG
public static final BasicType DOUBLE
public static final BasicType FLOAT
public static final BasicType CHAR
public static final ObjectType OBJECT
public static final ObjectType CLASS
public static final ObjectType STRING
public static final ObjectType STRINGBUFFER
public static final ObjectType THROWABLE
public static final Type[] NO_ARGS
public static final ReferenceType NULL
public static final Type UNKNOWN
private static final java.lang.ThreadLocal<java.lang.Integer> consumed_chars
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public java.lang.String getSignature()
public byte getType()
public Type normalizeForStackOrLocal()
INT
for BOOLEAN
, SHORT
or CHAR
, otherwise
returns the given type.public int getSize()
public java.lang.String toString()
toString
in class java.lang.Object
public static java.lang.String getMethodSignature(Type return_type, Type[] arg_types)
return_type
- what the method returnsarg_types
- what are the argument typesprivate static int unwrap(java.lang.ThreadLocal<java.lang.Integer> tl)
private static void wrap(java.lang.ThreadLocal<java.lang.Integer> tl, int value)
public static Type getType(java.lang.String signature) throws java.lang.StringIndexOutOfBoundsException
signature
- signature string such as Ljava/lang/String;java.lang.StringIndexOutOfBoundsException
public static Type getReturnType(java.lang.String signature)
signature
- signature string such as (Ljava/lang/String;)Vpublic static Type[] getArgumentTypes(java.lang.String signature)
signature
- signature string such as (Ljava/lang/String;)Vpublic static Type getType(java.lang.Class<?> cl)
cl
- Java classpublic static Type[] getTypes(java.lang.Class<?>[] classes)
classes
- an array of runtime class objectspublic static java.lang.String getSignature(java.lang.reflect.Method meth)
static int size(int coded)
static int consumed(int coded)
static int encode(int size, int consumed)
static int getArgumentTypesSize(java.lang.String signature)
static int getTypeSize(java.lang.String signature) throws java.lang.StringIndexOutOfBoundsException
java.lang.StringIndexOutOfBoundsException
static int getReturnTypeSize(java.lang.String signature)
void setSignature(java.lang.String signature)