W3cubDocs

/OpenJDK 25

Interface TableSwitchInstruction

All Superinterfaces:
ClassFileElement, CodeElement, Instruction
public sealed interface TableSwitchInstruction extends Instruction
Models a 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:

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<SwitchCase> 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(int lowValue, int highValue, Label defaultTarget, List<SwitchCase> cases)
Returns a table switch instruction.

Methods declared in interface Instruction

opcode, sizeInBytes

Method Details

lowValue

int lowValue()
Returns the low value of the switch target range, inclusive.
Returns:
the low value of the switch target range, inclusive

highValue

int highValue()
Returns the high value of the switch target range, inclusive.
Returns:
the high value of the switch target range, inclusive

defaultTarget

Label defaultTarget()
Returns the default target of the switch.
Returns:
the default target of the switch

cases

List<SwitchCase> cases()
Returns the cases of the switch.
Returns:
the cases of the switch

of

static TableSwitchInstruction of(int lowValue, int highValue, Label defaultTarget, List<SwitchCase> cases)
Returns a table switch instruction.
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

© 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