Package org.apache.bcel.generic
Class Type
- java.lang.Object
-
- org.apache.bcel.generic.Type
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
BasicType,DOUBLE_Upper,LONG_Upper,ReferenceType,ReturnaddressType
public abstract class Type extends java.lang.Object implements java.io.SerializableAbstract super class for all possible java types, namely basic types such as int, object types like String and array types, e.g. int[]- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static BasicTypeBOOLEANstatic BasicTypeBYTEstatic BasicTypeCHARstatic ObjectTypeCLASSstatic BasicTypeDOUBLEstatic BasicTypeFLOATstatic BasicTypeINTstatic BasicTypeLONGstatic Type[]NO_ARGSstatic ReferenceTypeNULLstatic ObjectTypeOBJECTstatic BasicTypeSHORTprotected java.lang.Stringsignaturestatic ObjectTypeSTRINGstatic ObjectTypeSTRINGBUFFERstatic ObjectTypeTHROWABLEprotected bytetypestatic TypeUNKNOWNstatic BasicTypeVOIDPredefined constants
-
Constructor Summary
Constructors Modifier Constructor Description protectedType(byte t, java.lang.String s)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object o)static Type[]getArgumentTypes(java.lang.String signature)Convert arguments of a method (signature) to an array of Type objects.static java.lang.StringgetMethodSignature(Type return_type, Type[] arg_types)Convert type to Java method signature, e.g.static TypegetReturnType(java.lang.String signature)Convert return value of a method (signature) to a Type object.java.lang.StringgetSignature()static java.lang.StringgetSignature(java.lang.reflect.Method meth)intgetSize()bytegetType()static TypegetType(java.lang.Class<?> cl)Convert runtime java.lang.Class to BCEL Type object.static TypegetType(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.inthashCode()java.lang.StringtoString()
-
-
-
Field Detail
-
type
protected final byte type
-
signature
protected java.lang.String signature
-
VOID
public static final BasicType VOID
Predefined constants
-
BOOLEAN
public static final BasicType BOOLEAN
-
INT
public static final BasicType INT
-
SHORT
public static final BasicType SHORT
-
BYTE
public static final BasicType BYTE
-
LONG
public static final BasicType LONG
-
DOUBLE
public static final BasicType DOUBLE
-
FLOAT
public static final BasicType FLOAT
-
CHAR
public static final BasicType CHAR
-
OBJECT
public static final ObjectType OBJECT
-
CLASS
public static final ObjectType CLASS
-
STRING
public static final ObjectType STRING
-
STRINGBUFFER
public static final ObjectType STRINGBUFFER
-
THROWABLE
public static final ObjectType THROWABLE
-
NO_ARGS
public static final Type[] NO_ARGS
-
NULL
public static final ReferenceType NULL
-
UNKNOWN
public static final Type UNKNOWN
-
-
Method Detail
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object- Returns:
- hashcode of Type
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object- Returns:
- whether the Types are equal
-
getSignature
public java.lang.String getSignature()
- Returns:
- signature for given type.
-
getType
public byte getType()
- Returns:
- type as defined in Constants
-
getSize
public int getSize()
- Returns:
- stack size of this type (2 for long and double, 0 for void, 1 otherwise)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object- Returns:
- Type string, e.g. `int[]'
-
getMethodSignature
public static java.lang.String getMethodSignature(Type return_type, Type[] arg_types)
Convert type to Java method signature, e.g. int[] f(java.lang.String x) becomes (Ljava/lang/String;)[I- Parameters:
return_type- what the method returnsarg_types- what are the argument types- Returns:
- method signature for given type(s).
-
getType
public static final Type getType(java.lang.String signature) throws java.lang.StringIndexOutOfBoundsException
Convert signature to a Type object.- Parameters:
signature- signature string such as Ljava/lang/String;- Returns:
- type object
- Throws:
java.lang.StringIndexOutOfBoundsException
-
getReturnType
public static Type getReturnType(java.lang.String signature)
Convert return value of a method (signature) to a Type object.- Parameters:
signature- signature string such as (Ljava/lang/String;)V- Returns:
- return type
-
getArgumentTypes
public static Type[] getArgumentTypes(java.lang.String signature)
Convert arguments of a method (signature) to an array of Type objects.- Parameters:
signature- signature string such as (Ljava/lang/String;)V- Returns:
- array of argument types
-
getType
public static Type getType(java.lang.Class<?> cl)
Convert runtime java.lang.Class to BCEL Type object.- Parameters:
cl- Java class- Returns:
- corresponding Type object
-
getTypes
public static Type[] getTypes(java.lang.Class<?>[] classes)
Convert runtime java.lang.Class[] to BCEL Type objects.- Parameters:
classes- an array of runtime class objects- Returns:
- array of corresponding Type objects
-
getSignature
public static java.lang.String getSignature(java.lang.reflect.Method meth)
-
-