W3cubDocs

/OpenJDK 25

Interface ConvertInstruction

All Superinterfaces:
ClassFileElement, CodeElement, Instruction
public sealed interface ConvertInstruction extends Instruction
Models a primitive conversion instruction in the code array of a Code attribute, such as i2l. Corresponding opcodes have a kind of Opcode.Kind.CONVERT. Delivered as a CodeElement when traversing the elements of a CodeModel.

A primitive conversion instruction is composite:

ConvertInstruction(
    TypeKind fromType,
    TypeKind toType
)
where these conversions are valid:
  • Between int, long, float, and double, where fromType != toType;
  • From int to byte, char, and short.
Since:
24
See Also:

Method Summary

Modifier and Type Method Description
TypeKind fromType()
Returns the source type to convert from.
static ConvertInstruction of(Opcode op)
Returns a conversion instruction.
static ConvertInstruction of(TypeKind fromType, TypeKind toType)
Returns a conversion instruction.
TypeKind toType()
Returns the destination type to convert to.

Methods declared in interface Instruction

opcode, sizeInBytes

Method Details

fromType

TypeKind fromType()
Returns the source type to convert from.
Returns:
the source type to convert from

toType

TypeKind toType()
Returns the destination type to convert to.
Returns:
the destination type to convert to

of

static ConvertInstruction of(TypeKind fromType, TypeKind toType)
Returns a conversion instruction. Valid conversions are:
  • Between int, long, float, and double, where fromType != toType;
  • From int to byte, char, and short.
Parameters:
fromType - the type to convert from
toType - the type to convert to
Returns:
a conversion instruction
Throws:
IllegalArgumentException - if this is not a valid conversion

of

static ConvertInstruction of(Opcode op)
Returns a conversion instruction.
Parameters:
op - the opcode for the specific type of conversion instruction, which must be of kind Opcode.Kind.CONVERT
Returns:
a conversion instruction
Throws:
IllegalArgumentException - if the opcode kind is not Opcode.Kind.CONVERT.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/instruction/ConvertInstruction.html