Class Type
java.lang.Object
org.gjt.sp.jedit.bsh.org.objectweb.asm.Type
A Java type. This class can be used to make it easier to manipulate type
and method descriptors.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
The sort of array reference types.static final int
The sort of the boolean type.static final Type
The boolean type.static final int
The sort of the byte type.static final Type
The byte type.static final int
The sort of the char type.static final Type
The char type.static final int
The sort of the double type.static final Type
The double type.static final int
The sort of the float type.static final Type
The float type.static final int
The sort of the int type.static final Type
The int type.static final int
The sort of the long type.static final Type
The long type.static final int
The sort of object reference type.static final int
The sort of the short type.static final Type
The short type.static final int
The sort of the void type.static final Type
The void type. -
Method Summary
Modifier and TypeMethodDescriptionstatic 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.Returns the name of the class corresponding to this object type.Returns the descriptor corresponding to this Java type.static String
Returns the descriptor corresponding to the given Java type.int
Returns the number of dimensions of this array type.Returns the type of the elements of this array type.Returns the internal name of the class corresponding to this object type.static String
Returns the internal name of the given class.static String
Returns the descriptor corresponding to the given method.static String
getMethodDescriptor
(Type returnType, Type[] argumentTypes) Returns the descriptor corresponding to the given argument and return types.int
getOpcode
(int opcode) Returns a JVM instruction opcode adapted to this Java type.static Type
getReturnType
(Method method) Returns the Java type corresponding to the return type of the given method.static Type
getReturnType
(String methodDescriptor) Returns the Java type corresponding to the return type of the given method descriptor.int
getSize()
Returns the size of values of this type.int
getSort()
Returns the sort of this Java type.static Type
Returns the Java type corresponding to the given class.static Type
Returns the Java type corresponding to the given type descriptor.
-
Field Details
-
VOID
public static final int VOIDThe sort of the void type. SeegetSort
.- See Also:
-
BOOLEAN
public static final int BOOLEANThe sort of the boolean type. SeegetSort
.- See Also:
-
CHAR
public static final int CHARThe sort of the char type. SeegetSort
.- See Also:
-
BYTE
public static final int BYTEThe sort of the byte type. SeegetSort
.- See Also:
-
SHORT
public static final int SHORTThe sort of the short type. SeegetSort
.- See Also:
-
INT
public static final int INTThe sort of the int type. SeegetSort
.- See Also:
-
FLOAT
public static final int FLOATThe sort of the float type. SeegetSort
.- See Also:
-
LONG
public static final int LONGThe sort of the long type. SeegetSort
.- See Also:
-
DOUBLE
public static final int DOUBLEThe sort of the double type. SeegetSort
.- See Also:
-
ARRAY
public static final int ARRAYThe sort of array reference types. SeegetSort
.- See Also:
-
OBJECT
public static final int OBJECTThe sort of object reference type. SeegetSort
.- See Also:
-
VOID_TYPE
The void type. -
BOOLEAN_TYPE
The boolean type. -
CHAR_TYPE
The char type. -
BYTE_TYPE
The byte type. -
SHORT_TYPE
The short type. -
INT_TYPE
The int type. -
FLOAT_TYPE
The float type. -
LONG_TYPE
The long type. -
DOUBLE_TYPE
The double type.
-
-
Method Details
-
getType
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.
-
getType
Returns the Java type corresponding to the given class.- Parameters:
c
- a class.- Returns:
- the Java type corresponding to the given class.
-
getArgumentTypes
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
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
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
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
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
Returns the name of the class corresponding to this object type. This method should only be used for an object type.- Returns:
- the fully qualified name of the class corresponding to this object type.
-
getInternalName
Returns the internal name of the class corresponding to this object type. The internal name of a class is its fully qualified name, where '.' are replaced by '/'. * This method should only be used for an object type.- Returns:
- the internal name of the class corresponding to this object type.
-
getDescriptor
Returns the descriptor corresponding to this Java type.- Returns:
- the descriptor corresponding to this Java type.
-
getMethodDescriptor
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
Returns the internal name of the given class. The internal name of a class is its fully qualified name, where '.' are replaced by '/'.- Parameters:
c
- an object class.- Returns:
- the internal name of the given class.
-
getDescriptor
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.
-
getMethodDescriptor
Returns the descriptor corresponding to the given method.- Parameters:
m
- aMethod
object.- 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.
-