- java.lang.Object
-
- com.sun.xml.ws.org.objectweb.asm.Type
-
public class Type extends Object
A Java type. This class can be used to make it easier to manipulate type and method descriptors.- Author:
- Eric Bruneton, Chris Nokleberg
-
-
Field Summary
Fields Modifier and Type Field Description static intARRAYThe sort of array reference types.static intBOOLEANThe sort of the boolean type.static TypeBOOLEAN_TYPEThe boolean type.static intBYTEThe sort of the byte type.static TypeBYTE_TYPEThe byte type.static intCHARThe sort of the char type.static TypeCHAR_TYPEThe char type.static intDOUBLEThe sort of the double type.static TypeDOUBLE_TYPEThe double type.static intFLOATThe sort of the float type.static TypeFLOAT_TYPEThe float type.static intINTThe sort of the int type.static TypeINT_TYPEThe int type.static intLONGThe sort of the long type.static TypeLONG_TYPEThe long type.static intOBJECTThe sort of object reference type.static intSHORTThe sort of the short type.static TypeSHORT_TYPEThe short type.static intVOIDThe sort of the void type.static TypeVOID_TYPEThe void type.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object o)Tests if the given object is equal to this type.static Type[]getArgumentTypes(Method method)Returns the Java types corresponding to the argument types of the given method.static Type[]getArgumentTypes(String methodDescriptor)Returns the Java types corresponding to the argument types of the given method descriptor.StringgetClassName()Returns the name of the class corresponding to this type.static StringgetConstructorDescriptor(Constructor c)Returns the descriptor corresponding to the given constructor.StringgetDescriptor()Returns the descriptor corresponding to this Java type.static StringgetDescriptor(Class c)Returns the descriptor corresponding to the given Java type.intgetDimensions()Returns the number of dimensions of this array type.TypegetElementType()Returns the type of the elements of this array type.StringgetInternalName()Returns the internal name of the class corresponding to this object or array type.static StringgetInternalName(Class c)Returns the internal name of the given class.static StringgetMethodDescriptor(Type returnType, Type[] argumentTypes)Returns the descriptor corresponding to the given argument and return types.static StringgetMethodDescriptor(Method m)Returns the descriptor corresponding to the given method.static TypegetObjectType(String internalName)Returns the Java type corresponding to the given internal name.intgetOpcode(int opcode)Returns a JVM instruction opcode adapted to this Java type.static TypegetReturnType(Method method)Returns the Java type corresponding to the return type of the given method.static TypegetReturnType(String methodDescriptor)Returns the Java type corresponding to the return type of the given method descriptor.intgetSize()Returns the size of values of this type.intgetSort()Returns the sort of this Java type.static TypegetType(Class c)Returns the Java type corresponding to the given class.static TypegetType(String typeDescriptor)Returns the Java type corresponding to the given type descriptor.inthashCode()Returns a hash code value for this type.StringtoString()Returns a string representation of this type.
-
-
-
Field Detail
-
VOID
public static final int VOID
The sort of the void type. SeegetSort.- See Also:
- Constant Field Values
-
BOOLEAN
public static final int BOOLEAN
The sort of the boolean type. SeegetSort.- See Also:
- Constant Field Values
-
CHAR
public static final int CHAR
The sort of the char type. SeegetSort.- See Also:
- Constant Field Values
-
BYTE
public static final int BYTE
The sort of the byte type. SeegetSort.- See Also:
- Constant Field Values
-
SHORT
public static final int SHORT
The sort of the short type. SeegetSort.- See Also:
- Constant Field Values
-
INT
public static final int INT
The sort of the int type. SeegetSort.- See Also:
- Constant Field Values
-
FLOAT
public static final int FLOAT
The sort of the float type. SeegetSort.- See Also:
- Constant Field Values
-
LONG
public static final int LONG
The sort of the long type. SeegetSort.- See Also:
- Constant Field Values
-
DOUBLE
public static final int DOUBLE
The sort of the double type. SeegetSort.- See Also:
- Constant Field Values
-
ARRAY
public static final int ARRAY
The sort of array reference types. SeegetSort.- See Also:
- Constant Field Values
-
OBJECT
public static final int OBJECT
The sort of object reference type. SeegetSort.- See Also:
- Constant Field Values
-
VOID_TYPE
public static final Type VOID_TYPE
The void type.
-
BOOLEAN_TYPE
public static final Type BOOLEAN_TYPE
The boolean type.
-
CHAR_TYPE
public static final Type CHAR_TYPE
The char type.
-
BYTE_TYPE
public static final Type BYTE_TYPE
The byte type.
-
SHORT_TYPE
public static final Type SHORT_TYPE
The short type.
-
INT_TYPE
public static final Type INT_TYPE
The int type.
-
FLOAT_TYPE
public static final Type FLOAT_TYPE
The float type.
-
LONG_TYPE
public static final Type LONG_TYPE
The long type.
-
DOUBLE_TYPE
public static final Type DOUBLE_TYPE
The double type.
-
-
Method Detail
-
getType
public static Type getType(String typeDescriptor)
Returns the Java type corresponding to the given type descriptor.- Parameters:
typeDescriptor- a type descriptor.- Returns:
- the Java type corresponding to the given type descriptor.
-
getObjectType
public static Type getObjectType(String internalName)
Returns the Java type corresponding to the given internal name.- Parameters:
internalName- an internal name.- Returns:
- the Java type corresponding to the given internal name.
-
getType
public static Type getType(Class c)
Returns the Java type corresponding to the given class.- Parameters:
c- a class.- Returns:
- the Java type corresponding to the given class.
-
getArgumentTypes
public static Type[] getArgumentTypes(String methodDescriptor)
Returns the Java types corresponding to the argument types of the given method descriptor.- Parameters:
methodDescriptor- a method descriptor.- Returns:
- the Java types corresponding to the argument types of the given method descriptor.
-
getArgumentTypes
public static Type[] getArgumentTypes(Method method)
Returns the Java types corresponding to the argument types of the given method.- Parameters:
method- a method.- Returns:
- the Java types corresponding to the argument types of the given method.
-
getReturnType
public static Type getReturnType(String methodDescriptor)
Returns the Java type corresponding to the return type of the given method descriptor.- Parameters:
methodDescriptor- a method descriptor.- Returns:
- the Java type corresponding to the return type of the given method descriptor.
-
getReturnType
public static Type getReturnType(Method method)
Returns the Java type corresponding to the return type of the given method.- Parameters:
method- a method.- Returns:
- the Java type corresponding to the return type of the given method.
-
getSort
public int getSort()
Returns the sort of this Java type.
-
getDimensions
public int getDimensions()
Returns the number of dimensions of this array type. This method should only be used for an array type.- Returns:
- the number of dimensions of this array type.
-
getElementType
public Type getElementType()
Returns the type of the elements of this array type. This method should only be used for an array type.- Returns:
- Returns the type of the elements of this array type.
-
getClassName
public String getClassName()
Returns the name of the class corresponding to this type.- Returns:
- the fully qualified name of the class corresponding to this type.
-
getInternalName
public String getInternalName()
Returns the internal name of the class corresponding to this object or array type. The internal name of a class is its fully qualified name (as returned by Class.getName(), where '.' are replaced by '/'. This method should only be used for an object or array type.- Returns:
- the internal name of the class corresponding to this object type.
-
getDescriptor
public String getDescriptor()
Returns the descriptor corresponding to this Java type.- Returns:
- the descriptor corresponding to this Java type.
-
getMethodDescriptor
public static String getMethodDescriptor(Type returnType, Type[] argumentTypes)
Returns the descriptor corresponding to the given argument and return types.- Parameters:
returnType- the return type of the method.argumentTypes- the argument types of the method.- Returns:
- the descriptor corresponding to the given argument and return types.
-
getInternalName
public static String getInternalName(Class c)
Returns the internal name of the given class. The internal name of a class is its fully qualified name, as returned by Class.getName(), where '.' are replaced by '/'.- Parameters:
c- an object or array class.- Returns:
- the internal name of the given class.
-
getDescriptor
public static String getDescriptor(Class c)
Returns the descriptor corresponding to the given Java type.- Parameters:
c- an object class, a primitive class or an array class.- Returns:
- the descriptor corresponding to the given class.
-
getConstructorDescriptor
public static String getConstructorDescriptor(Constructor c)
Returns the descriptor corresponding to the given constructor.- Parameters:
c- aConstructorobject.- Returns:
- the descriptor of the given constructor.
-
getMethodDescriptor
public static String getMethodDescriptor(Method m)
Returns the descriptor corresponding to the given method.- Parameters:
m- aMethodobject.- Returns:
- the descriptor of the given method.
-
getSize
public int getSize()
Returns the size of values of this type.- Returns:
- the size of values of this type, i.e., 2 for long and double, and 1 otherwise.
-
getOpcode
public int getOpcode(int opcode)
Returns a JVM instruction opcode adapted to this Java type.- Parameters:
opcode- a JVM instruction opcode. This opcode must be one of ILOAD, ISTORE, IALOAD, IASTORE, IADD, ISUB, IMUL, IDIV, IREM, INEG, ISHL, ISHR, IUSHR, IAND, IOR, IXOR and IRETURN.- Returns:
- an opcode that is similar to the given opcode, but adapted to this Java type. For example, if this type is float and opcode is IRETURN, this method returns FRETURN.
-
equals
public boolean equals(Object o)
Tests if the given object is equal to this type.
-
hashCode
public int hashCode()
Returns a hash code value for this type.
-
-