de.fub.bytecode.generic
Class Type
java.lang.Object
|
+--de.fub.bytecode.generic.Type
- Direct Known Subclasses:
- BasicType, ReferenceType, ReturnaddressType
- public abstract class Type
- extends java.lang.Object
Abstract super class for all possible java types, namely basic types
such as int, object types like String and array types, e.g. int[]
- Version:
- $Id: Type.java,v 1.12 2001/05/30 12:01:08 ehaase Exp $
- Author:
- M. Dahm
Constructor Summary |
protected |
Type(byte t,
java.lang.String s)
|
Method Summary |
static Type[] |
getArgumentTypes(java.lang.String signature)
Convert arguments of a method (signature) to an array of Type objects. |
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. |
java.lang.String |
getSignature()
|
int |
getSize()
|
byte |
getType()
|
static Type |
getType(java.lang.String signature)
Convert signature to a Type object. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
type
protected 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
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
Type
protected Type(byte t,
java.lang.String s)
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:
toString
in class java.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
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