## org.apache.bcel.generic
Class Type

    java.lang.Object
      |
      +--org.apache.bcel.generic.Type

Direct Known Subclasses:
  BasicType, DOUBLE_Upper, LONG_Upper, 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.1.1.1 2001/10/29 20:00:28 jvanzyl Exp $
Author:
  M. Dahm

Field Summary
`static BasicType` `BOOLEAN`
`static BasicType` `BYTE`
`static BasicType` `CHAR`
`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`
`static ObjectType` `STRING`
`static ObjectType` `STRINGBUFFER`
`static ObjectType` `THROWABLE`
`protected byte` `type`
`static Type` `UNKNOWN`
`static BasicType` `VOID` Predefined constants

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`

Field Detail

### 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

Constructor Detail

### Type

    protected Type(byte t,
                   java.lang.String s)

Method Detail

### 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 returns
    `arg_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