Spec-Zone.ru › OpenJDK 24

Интерфейс 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 Virtual Machine:
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)
Возвращает инструкцию переключения таблиц.

Методы, объявленные в интерфейсе java.lang.classfile.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 - случаи переключения; обработка дублирующих или выходящих за границы случаев не указана
Возвращает:
инструкцию переключения таблиц

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/instruction/TableSwitchInstruction.html

Spec-Zone.ru

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