Interface IncrementInstruction
- All Superinterfaces:
ClassFileElement, CodeElement, Instruction
public sealed interface IncrementInstruction extends Instruction
Models a local variable increment instruction in the where
code array of a Code attribute. Corresponding opcodes have a kind of Opcode.Kind.INCREMENT. Delivered as a CodeElement when traversing the elements of a CodeModel. A local variable increment instruction is composite:
IncrementInstruction(
int slot,
int constant
)
-
slotmust beu2. -
constantmust be within[-32768, 32767].
- See Java Virtual Machine Specification:
- 6.5.iinc iinc
- Since:
- 24
- See Also:
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
int |
constant() |
Returns the value to increment by. |
static IncrementInstruction |
of |
Returns an increment instruction. |
static IncrementInstruction |
of |
Returns an increment instruction. |
int |
slot() |
Returns the local variable slot to increment. |
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
slot
int slot()
Returns the local variable slot to increment.
- Returns:
- the local variable slot to increment
constant
int constant()
Returns the value to increment by.
- Returns:
- the value to increment by
of
static IncrementInstruction of(int slot, int constant)
Returns an increment instruction.
-
slotmust beu2. -
constantmust be within[-32768, 32767].
- Parameters:
-
slot- the local variable slot to increment -
constant- the value to increment by - Returns:
- an increment instruction
- Throws:
-
IllegalArgumentException- ifslotorconstantis out of range
of
static IncrementInstruction of(Opcode op, int slot, int constant)
Returns an increment instruction.
slot must be u1 and constant must be within [-128, 127] for iinc, or slot must be u2 and constant must be within [-32768, 32767] for wide iinc.
- API Note:
- The explicit
opargument allows creatingwideor regular increment instructions whenslotandconstantcan be encoded with more optimized increment instructions. - Parameters:
-
op- the opcode for the specific type of increment instruction, which must be of kindOpcode.Kind.INCREMENT -
slot- the local variable slot to increment -
constant- the increment constant - Returns:
- an increment instruction
- Throws:
-
IllegalArgumentException- if the opcode kind is notOpcode.Kind.INCREMENTorslotorconstantis out of range - Since:
- 27
© 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.