Spec-Zone.ru › OpenJDK 27

Интерфейс LookupSwitchInstruction

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

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

LookupSwitchInstruction(
    Label defaultTarget,
    List<SwitchCase> cases
)
Если элементы в cases не отсортированы по возрастанию значения caseValue, вместо них будет записан отсортированный список cases.
См. Спецификацию виртуальной машины Java:
6.5.lookupswitch lookupswitch
Начиная с версии:
24
См. также:
  • Opcode.Kind.LOOKUP_SWITCH
  • CodeBuilder::lookupswitch

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

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

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

opcode, sizeInBytes
Модификатор и тип Метод Описание
Opcode opcode()
Возвращает операцию этой инструкции.
int sizeInBytes()
Возвращает размер этой инструкции в байтах.

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

defaultTarget

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

cases

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

of

static LookupSwitchInstruction of(Label defaultTarget, List<SwitchCase> cases)
Возвращает инструкцию переключения по таблице поиска.
Параметры:
defaultTarget — цель переключения по умолчанию
cases — варианты переключения
Возвращает:
инструкцию переключения по таблице поиска

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, 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.

Spec-Zone.ru

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