Interface TableSwitchInstruction
- All Superinterfaces:
ClassFileElement, CodeElement, Instruction
public sealed interface TableSwitchInstruction extends Instruction
tableswitch instruction in the code array of a Code attribute. Delivered as a CodeElement when traversing the elements of a CodeModel. A table switch instruction is composite:
TableSwitchInstruction(
int lowValue,
int highValue,
Label defaultTarget,
List<SwitchCase> cases
)
When read from class files, the cases may omit cases that duplicate the default target. The list is sorted ascending by the caseValue.
When writing to class file, the order in the cases list does not matter, as there is only one valid order in the physical representation of table switch entries. Treatment of elements in cases whose value is less than lowValue or greater than highValue, and elements whose value duplicates that of another, is not specified.
- See Java Virtual Machine Specification:
- 6.5.tableswitch tableswitch
- Since:
- 24
- See Also:
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
List |
cases() |
Returns the cases of the switch. |
Label |
defaultTarget() |
Returns the default target of the switch. |
int |
highValue() |
Returns the high value of the switch target range, inclusive. |
int |
lowValue() |
Returns the low value of the switch target range, inclusive. |
static TableSwitchInstruction |
of |
Returns a table switch 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
lowValue
int lowValue()
- Returns:
- the low value of the switch target range, inclusive
highValue
int highValue()
- Returns:
- the high value of the switch target range, inclusive
defaultTarget
Label defaultTarget()
- Returns:
- the default target of the switch
cases
List<SwitchCase> cases()
- Returns:
- the cases of the switch
of
static TableSwitchInstruction of(int lowValue, int highValue, Label defaultTarget, List<SwitchCase> cases)
- Parameters:
-
lowValue- the low value of the switch target range, inclusive -
highValue- the high value of the switch target range, inclusive -
defaultTarget- the default target of the switch -
cases- the cases of the switch; duplicate or out of bound case handling is not specified - Returns:
- a table switch instruction
- Throws:
-
IllegalArgumentException- if the low value is greater than the high value, or if there are too many targets between the low and high values
© 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.