Spec-Zone.ru › OpenJDK 27

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:

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:
  • Opcode.Kind.TABLE_SWITCH
  • CodeBuilder::tableswitch

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
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.
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
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

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2026, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API