RefBType
Attributes
- Graph
-
- Supertypes
- Known subtypes
-
class ArrayBTypeclass ClassBType
Members list
Value members
Concrete methods
The class or array type of this reference type. Used for ANEWARRAY, MULTIANEWARRAY, INSTANCEOF and CHECKCAST instructions. Also used for emitting invokevirtual calls to (a: Array[T]).clone() for any T, see genApply.
The class or array type of this reference type. Used for ANEWARRAY, MULTIANEWARRAY, INSTANCEOF and CHECKCAST instructions. Also used for emitting invokevirtual calls to (a: Array[T]).clone() for any T, see genApply.
In contrast to the descriptor, this string does not contain the surrounding 'L' and ';' for class types, for example "java/lang/String". However, for array types, the full descriptor is used, for example "[Ljava/lang/String;".
This can be verified for example using javap or ASMifier.
Attributes
Inherited methods
Attributes
- Inherited from:
- BType
Attributes
- Inherited from:
- BType
Attributes
- Inherited from:
- BType
Attributes
- Inherited from:
- BType
Attributes
- Inherited from:
- BType
Attributes
- Returns
-
The Java descriptor of this type. Examples:
- int: I
- java.lang.String: Ljava/lang/String;
- int[]: [I
- Object m(String s, double d): (Ljava/lang/String;D)Ljava/lang/Object;
- Inherited from:
- BType
Attributes
- Inherited from:
- BType
Attributes
- Inherited from:
- BType
Attributes
- Inherited from:
- BType
Attributes
- Inherited from:
- BType
Attributes
- Inherited from:
- BType
Attributes
- Inherited from:
- BType
Attributes
- Inherited from:
- BType
Attributes
- Inherited from:
- BType
Attributes
- Inherited from:
- BType
Compute the upper bound of two types. Takes promotions of numeric primitives into account.
Compute the upper bound of two types. Takes promotions of numeric primitives into account.
Attributes
- Inherited from:
- BType
Attributes
- Returns
-
0 for void, 2 for long and double, 1 otherwise
- Inherited from:
- BType
The asm.Type corresponding to this BType.
The asm.Type corresponding to this BType.
Note about asm.Type.getObjectType (*): For class types, the method expects the internal name, i.e. without the surrounding 'L' and ';'. For array types on the other hand, the method expects a full descriptor, for example "[Ljava/lang/String;".
See method asm.Type.getType that creates a asm.Type from a type descriptor
- for an OBJECT type, the 'L' and ';' are not part of the range of the created Type
- for an ARRAY type, the full descriptor is part of the range
Attributes
- Inherited from:
- BType
Some JVM opcodes have typed variants. This method returns the correct opcode according to the type.
Some JVM opcodes have typed variants. This method returns the correct opcode according to the type.
Value 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.
Attributes
- Returns
-
The opcode adapted to this java type. For example, if this type is
float
andopcode
isIRETURN
, this method returnsFRETURN
. - Inherited from:
- BType