Interface ReturnInstruction
- All Superinterfaces:
ClassFileElement, CodeElement, Instruction
public sealed interface ReturnInstruction extends Instruction
Models a return-from-method instruction in the where
code array of a Code attribute. Corresponding opcodes have a kind of Opcode.Kind.RETURN. Delivered as a CodeElement when traversing the elements of a CodeModel. A return-from-method instruction is composite:
ReturnInstruction(TypeKind typeKind)
typeKind is computational or void.- Since:
- 24
- See Also:
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
static ReturnInstruction |
of |
Returns a return instruction. |
static ReturnInstruction |
of |
Returns a return instruction. |
TypeKind |
typeKind() |
Returns the computational type, including void, of the return instruction. |
Methods declared in interface Instruction
opcode, sizeInBytes | Modifier and Type | Method | Description |
|---|---|---|
Opcode |
opcode() |
Returns the operation of this instruction. |
int |
sizeInBytes() |
Returns the size in bytes of this instruction. |
Method Details
typeKind
TypeKind typeKind()
Returns the computational type, including
void, of the return instruction.- Returns:
- the computational type, including
void, of the return instruction
of
static ReturnInstruction of(TypeKind typeKind)
Returns a return instruction.
typeKind is converted to its computational type.- Parameters:
-
typeKind- the type of the return instruction - Returns:
- a return instruction
of
static ReturnInstruction of(Opcode op)
Returns a return instruction.
- Parameters:
-
op- the opcode for the specific type of return instruction, which must be of kindOpcode.Kind.RETURN - Returns:
- a return instruction
- Throws:
-
IllegalArgumentException- if the opcode kind is notOpcode.Kind.RETURN.
© 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.