ClassFileElement, CodeElement, Instructionpublic 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.
| 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. |
opcode, sizeInBytes
int lowValue()
int highValue()
Label defaultTarget()
List<SwitchCase> cases()
static TableSwitchInstruction of(int lowValue, int highValue, Label defaultTarget, List<SwitchCase> cases)
lowValue - the low value of the switch target range, inclusivehighValue - the high value of the switch target range, inclusivedefaultTarget - the default target of the switchcases - the cases of the switch; duplicate or out of bound case handling is not specified
© 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/TableSwitchInstruction.html