Spec-Zone.ru › OpenJDK 25

Интерфейс TableSwitchInstruction

Все суперинтерфейсы:
ClassFileElement, CodeElement, Instruction
public sealed interface TableSwitchInstruction extends Instruction
Моделирует инструкцию tableswitch в массиве code атрибута Code. Предоставляется как CodeElement при обходе элементов CodeModel.

Инструкция табличного переключения является составной:

TableSwitchInstruction(
    int lowValue,
    int highValue,
    Label defaultTarget,
    List<SwitchCase> cases
)

При чтении файлов class в cases могут отсутствовать варианты, дублирующие цель по умолчанию. Список отсортирован по возрастанию значения caseValue.

При записи в файл class порядок элементов в списке cases не имеет значения, поскольку для физического представления записей табличного переключения допустим только один порядок. Обработка элементов в cases, значение которых меньше lowValue или больше highValue, а также элементов со значениями, дублирующими друг друга, не определена.

См. Спецификацию виртуальной машины Java:
6.5.tableswitch tableswitch
Начиная с версии:
24
См. также:
  • Opcode.Kind.TABLE_SWITCH
  • CodeBuilder::tableswitch

Краткое описание методов

Модификатор и тип Метод Описание
List<SwitchCase> cases()
Возвращает варианты переключения.
Label defaultTarget()
Возвращает цель переключения по умолчанию.
int highValue()
Возвращает верхнее значение диапазона целей переключения включительно.
int lowValue()
Возвращает нижнее значение диапазона целей переключения включительно.
static TableSwitchInstruction of(int lowValue, int highValue, Label defaultTarget, List<SwitchCase> cases)
Возвращает инструкцию табличного переключения.

Методы, объявленные в интерфейсе Instruction

opcode, sizeInBytes

Подробное описание методов

lowValue

int lowValue()
Возвращает нижнее значение диапазона целей переключения включительно.
Возвращает:
нижнее значение диапазона целей переключения включительно

highValue

int highValue()
Возвращает верхнее значение диапазона целей переключения включительно.
Возвращает:
верхнее значение диапазона целей переключения включительно

defaultTarget

Label defaultTarget()
Возвращает цель переключения по умолчанию.
Возвращает:
цель переключения по умолчанию

cases

List<SwitchCase> cases()
Возвращает варианты переключения.
Возвращает:
варианты переключения

of

static TableSwitchInstruction of(int lowValue, int highValue, Label defaultTarget, List<SwitchCase> cases)
Возвращает инструкцию табличного переключения.
Параметры:
lowValue — нижнее значение диапазона целей переключения включительно
highValue — верхнее значение диапазона целей переключения включительно
defaultTarget — цель переключения по умолчанию
cases — варианты переключения; обработка дубликатов и вариантов вне диапазона не определена
Возвращает:
инструкцию табличного переключения

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

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