Package org.apache.bcel.generic
Class Type
java.lang.Object
org.apache.bcel.generic.Type
- Direct Known Subclasses:
BasicType
,DOUBLE_Upper
,LONG_Upper
,ReferenceType
,ReturnaddressType
Abstract super class for all possible java types, namely basic types
such as int, object types like String and array types, e.g. int[]
-
Field Summary
Modifier and TypeFieldDescriptionstatic final BasicType
static final BasicType
static final BasicType
static final ObjectType
static final BasicType
static final BasicType
static final BasicType
static final BasicType
static final Type[]
static final ReferenceType
static final ObjectType
static final BasicType
protected String
Deprecated.(since 6.0) will be made private; do not access directly, use getter/setterstatic final ObjectType
static final ObjectType
static final ObjectType
protected byte
Deprecated.(since 6.0) will be made private; do not access directly, use getter/setterstatic final Type
static final BasicType
Predefined constants -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
static Type[]
getArgumentTypes
(String signature) Convert arguments of a method (signature) to an array of Type objects.static String
getMethodSignature
(Type return_type, Type[] arg_types) Convert type to Java method signature, e.g.static Type
getReturnType
(String signature) Convert return value of a method (signature) to a Type object.static String
getSignature
(Method meth) int
getSize()
byte
getType()
static Type
Convert runtime java.lang.Class to BCEL Type object.static Type
Convert signature to a Type object.static Type[]
Convert runtime java.lang.Class[] to BCEL Type objects.int
hashCode()
boolean, short and char variable are considered as int in the stack or local variable area.toString()
-
Field Details
-
type
Deprecated.(since 6.0) will be made private; do not access directly, use getter/setter -
signature
Deprecated.(since 6.0) will be made private; do not access directly, use getter/setter -
VOID
Predefined constants -
BOOLEAN
-
INT
-
SHORT
-
BYTE
-
LONG
-
DOUBLE
-
FLOAT
-
CHAR
-
OBJECT
-
CLASS
-
STRING
-
STRINGBUFFER
-
THROWABLE
-
NO_ARGS
-
NULL
-
UNKNOWN
-
-
Constructor Details
-
Type
-
-
Method Details
-
hashCode
public int hashCode() -
equals
-
getSignature
- Returns:
- signature for given type.
-
getType
public byte getType()- Returns:
- type as defined in Constants
-
normalizeForStackOrLocal
boolean, short and char variable are considered as int in the stack or local variable area. ReturnsINT
forBOOLEAN
,SHORT
orCHAR
, otherwise returns the given type.- Since:
- 6.0
-
getSize
public int getSize()- Returns:
- stack size of this type (2 for long and double, 0 for void, 1 otherwise)
-
toString
-
getMethodSignature
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
Convert signature to a Type object.- Parameters:
signature
- signature string such as Ljava/lang/String;- Returns:
- type object
- Throws:
StringIndexOutOfBoundsException
-
getReturnType
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
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
Convert runtime java.lang.Class to BCEL Type object.- Parameters:
cl
- Java class- Returns:
- corresponding Type object
-
getTypes
Convert runtime java.lang.Class[] to BCEL Type objects.- Parameters:
classes
- an array of runtime class objects- Returns:
- array of corresponding Type objects
-
getSignature
-