## jersey.repackaged.org.objectweb.asm
Class Type

    java.lang.Object
      jersey.repackaged.org.objectweb.asm.Type

    public class Type

extends java.lang.Object

A Java field or method type. This class can be used to make it easier to manipulate type and method descriptors.

Author:
  Eric Bruneton, Chris Nokleberg

Field Summary
`static int` | `ARRAY` The sort of array reference types.
`static int` | `BOOLEAN` The sort of the `boolean` type.
`static Type` | `BOOLEAN_TYPE` The `boolean` type.
`static int` | `BYTE` The sort of the `byte` type.
`static Type` | `BYTE_TYPE` The `byte` type.
`static int` | `CHAR` The sort of the `char` type.
`static Type` | `CHAR_TYPE` The `char` type.
`static int` | `DOUBLE` The sort of the `double` type.
`static Type` | `DOUBLE_TYPE` The `double` type.
`static int` | `FLOAT` The sort of the `float` type.
`static Type` | `FLOAT_TYPE` The `float` type.
`static int` | `INT` The sort of the `int` type.
`static Type` | `INT_TYPE` The `int` type.
`static int` | `LONG` The sort of the `long` type.
`static Type` | `LONG_TYPE` The `long` type.
`static int` | `METHOD` The sort of method types.
`static int` | `OBJECT` The sort of object reference types.
`static int` | `SHORT` The sort of the `short` type.
`static Type` | `SHORT_TYPE` The `short` type.
`static int` | `VOID` The sort of the `void` type.
`static Type` | `VOID_TYPE` The `void` type.

Method Summary
`boolean` | `equals(java.lang.Object o)` Tests if the given object is equal to this type.
`int` | `getArgumentsAndReturnSizes()` Returns the size of the arguments and of the return value of methods of this type.
`static int` | `getArgumentsAndReturnSizes(java.lang.String desc)` Computes the size of the arguments and of the return value of a method.
`Type[]` | `getArgumentTypes()` Returns the argument types of methods of this type.
`static Type[]` | `getArgumentTypes(java.lang.reflect.Method method)` Returns the Java types corresponding to the argument types of the given method.
`static Type[]` | `getArgumentTypes(java.lang.String methodDescriptor)` Returns the Java types corresponding to the argument types of the given method descriptor.
`java.lang.String` | `getClassName()` Returns the binary name of the class corresponding to this type.
`static java.lang.String` | `getConstructorDescriptor(java.lang.reflect.Constructor<?> c)` Returns the descriptor corresponding to the given constructor.
`java.lang.String` | `getDescriptor()` Returns the descriptor corresponding to this Java type.
`static java.lang.String` | `getDescriptor(java.lang.Class<?> c)` Returns the descriptor corresponding to the given Java type.
`int` | `getDimensions()` Returns the number of dimensions of this array type.
`Type` | `getElementType()` Returns the type of the elements of this array type.
`java.lang.String` | `getInternalName()` Returns the internal name of the class corresponding to this object or array type.
`static java.lang.String` | `getInternalName(java.lang.Class<?> c)` Returns the internal name of the given class.
`static java.lang.String` | `getMethodDescriptor(java.lang.reflect.Method m)` Returns the descriptor corresponding to the given method.
`static java.lang.String` | `getMethodDescriptor(Type returnType, Type... argumentTypes)` Returns the descriptor corresponding to the given argument and return types.
`static Type` | `getMethodType(java.lang.String methodDescriptor)` Returns the Java type corresponding to the given method descriptor.
`static Type` | `getMethodType(Type returnType, Type... argumentTypes)` Returns the Java method type corresponding to the given argument and return types.
`static Type` | `getObjectType(java.lang.String internalName)` Returns the Java type corresponding to the given internal name.
`int` | `getOpcode(int opcode)` Returns a JVM instruction opcode adapted to this Java type.
`Type` | `getReturnType()` Returns the return type of methods of this type.
`static Type` | `getReturnType(java.lang.reflect.Method method)` Returns the Java type corresponding to the return type of the given method.
`static Type` | `getReturnType(java.lang.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` | `getType(java.lang.Class<?> c)` Returns the Java type corresponding to the given class.
`static Type` | `getType(java.lang.reflect.Constructor<?> c)` Returns the Java method type corresponding to the given constructor.
`static Type` | `getType(java.lang.reflect.Method m)` Returns the Java method type corresponding to the given method.
`static Type` | `getType(java.lang.String typeDescriptor)` Returns the Java type corresponding to the given type descriptor.
`int` | `hashCode()` Returns a hash code value for this type.
`java.lang.String` | `toString()` Returns a string representation of this type.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### VOID

    public static final int VOID

  The sort of the `void` type. See `getSort`.

  See Also:
    Constant Field Values

### BOOLEAN

    public static final int BOOLEAN

  The sort of the `boolean` type. See `getSort`.

  See Also:
    Constant Field Values

### CHAR

    public static final int CHAR

  The sort of the `char` type. See `getSort`.

  See Also:
    Constant Field Values

### BYTE

    public static final int BYTE

  The sort of the `byte` type. See `getSort`.

  See Also:
    Constant Field Values

### SHORT

    public static final int SHORT

  The sort of the `short` type. See `getSort`.

  See Also:
    Constant Field Values

### INT

    public static final int INT

  The sort of the `int` type. See `getSort`.

  See Also:
    Constant Field Values

### FLOAT

    public static final int FLOAT

  The sort of the `float` type. See `getSort`.

  See Also:
    Constant Field Values

### LONG

    public static final int LONG

  The sort of the `long` type. See `getSort`.

  See Also:
    Constant Field Values

### DOUBLE

    public static final int DOUBLE

  The sort of the `double` type. See `getSort`.

  See Also:
    Constant Field Values

### ARRAY

    public static final int ARRAY

  The sort of array reference types. See `getSort`.

  See Also:
    Constant Field Values

### OBJECT

    public static final int OBJECT

  The sort of object reference types. See `getSort`.

  See Also:
    Constant Field Values

### METHOD

    public static final int METHOD

  The sort of method types. See `getSort`.

  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(java.lang.String typeDescriptor)

  Returns the Java type corresponding to the given type descriptor.

  Parameters:
    `typeDescriptor` - a field or method type descriptor.
  Returns:
    the Java type corresponding to the given type descriptor.

### getObjectType

    public static Type getObjectType(java.lang.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.

### getMethodType

    public static Type getMethodType(java.lang.String methodDescriptor)

  Returns the Java type corresponding to the given method descriptor. Equivalent to `Type.getType(methodDescriptor)`.

  Parameters:
    `methodDescriptor` - a method descriptor.
  Returns:
    the Java type corresponding to the given method descriptor.

### getMethodType

    public static Type getMethodType(Type returnType,
                                     Type... argumentTypes)

  Returns the Java method type 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 Java type corresponding to the given argument and return types.

### getType

    public static Type getType(java.lang.Class<?> c)

  Returns the Java type corresponding to the given class.

  Parameters:
    `c` - a class.
  Returns:
    the Java type corresponding to the given class.

### getType

    public static Type getType(java.lang.reflect.Constructor<?> c)

  Returns the Java method type corresponding to the given constructor.

  Parameters:
    `c` - a `Constructor` object.
  Returns:
    the Java method type corresponding to the given constructor.

### getType

    public static Type getType(java.lang.reflect.Method m)

  Returns the Java method type corresponding to the given method.

  Parameters:
    `m` - a `Method` object.
  Returns:
    the Java method type corresponding to the given method.

### getArgumentTypes

    public static Type[] getArgumentTypes(java.lang.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(java.lang.reflect.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(java.lang.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(java.lang.reflect.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.

### getArgumentsAndReturnSizes

    public static int getArgumentsAndReturnSizes(java.lang.String desc)

  Computes the size of the arguments and of the return value of a method.

  Parameters:
    `desc` - the descriptor of a method.
  Returns:
    the size of the arguments of the method (plus one for the implicit this argument), argSize, and the size of its return value, retSize, packed into a single int i = `(argSize << 2) | retSize` (argSize is therefore equal to `i >> 2`, and retSize to `i & 0x03`).

### getSort

    public int getSort()

  Returns the sort of this Java type.

  Returns:
    `VOID`, `BOOLEAN`, `CHAR`, `BYTE`, `SHORT`, `INT`, `FLOAT`, `LONG`, `DOUBLE`, `ARRAY`, `OBJECT` or `METHOD`.

### 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 java.lang.String getClassName()

  Returns the binary name of the class corresponding to this type. This method must not be used on method types.

  Returns:
    the binary name of the class corresponding to this type.

### getInternalName

    public java.lang.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.

### getArgumentTypes

    public Type[] getArgumentTypes()

  Returns the argument types of methods of this type. This method should only be used for method types.

  Returns:
    the argument types of methods of this type.

### getReturnType

    public Type getReturnType()

  Returns the return type of methods of this type. This method should only be used for method types.

  Returns:
    the return type of methods of this type.

### getArgumentsAndReturnSizes

    public int getArgumentsAndReturnSizes()

  Returns the size of the arguments and of the return value of methods of this type. This method should only be used for method types.

  Returns:
    the size of the arguments (plus one for the implicit this argument), argSize, and the size of the return value, retSize, packed into a single int i = `(argSize << 2) | retSize` (argSize is therefore equal to `i >> 2`, and retSize to `i & 0x03`).

### getDescriptor

    public java.lang.String getDescriptor()

  Returns the descriptor corresponding to this Java type.

  Returns:
    the descriptor corresponding to this Java type.

### getMethodDescriptor

    public static java.lang.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 java.lang.String getInternalName(java.lang.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 java.lang.String getDescriptor(java.lang.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 java.lang.String getConstructorDescriptor(java.lang.reflect.Constructor<?> c)

  Returns the descriptor corresponding to the given constructor.

  Parameters:
    `c` - a `Constructor` object.
  Returns:
    the descriptor of the given constructor.

### getMethodDescriptor

    public static java.lang.String getMethodDescriptor(java.lang.reflect.Method m)

  Returns the descriptor corresponding to the given method.

  Parameters:
    `m` - a `Method` object.
  Returns:
    the descriptor of the given method.

### getSize

    public int getSize()

  Returns the size of values of this type. This method must not be used for method types.

  Returns:
    the size of values of this type, i.e., 2 for `long` and `double`, 0 for `void` and 1 otherwise.

### getOpcode

    public int getOpcode(int opcode)

  Returns a JVM instruction opcode adapted to this Java type. This method must not be used for method types.

  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(java.lang.Object o)

  Tests if the given object is equal to this type.

  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `o` - the object to be compared to this type.
  Returns:
    `true` if the given object is equal to this type.

### hashCode

    public int hashCode()

  Returns a hash code value for this type.

  Overrides:
    `hashCode` in class `java.lang.Object`
  Returns:
    a hash code value for this type.

### toString

    public java.lang.String toString()

  Returns a string representation of this type.

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    the descriptor of this type.

Copyright © 2017 Oracle Corporation. All Rights Reserved.