public abstract class Type
extends java.lang.Object
implements java.io.Serializable
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 |
private static long |
serialVersionUID |
static BasicType |
SHORT |
protected java.lang.String |
signature |
static ObjectType |
STRING |
static ObjectType |
STRINGBUFFER |
static ObjectType |
THROWABLE |
protected byte |
type |
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() |
(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) |
private static final long serialVersionUID
protected byte type
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 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)