Spec-Zone.ru › OpenJDK 27

Интерфейс TypeCheckInstruction

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

instanceof проверяет тип и помещает целое число в стек операндов. checkcast проверяет тип и выбрасывает ClassCastException, если проверка завершается неудачно. instanceof считают ссылку null неудачей, а checkcast считают ссылку null успехом.

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

TypeCheckInstruction(
    Opcode opcode,
    ClassEntry type
)
Начиная с версии:
24

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

Модификатор и тип Метод Описание
static TypeCheckInstruction of(Opcode op, ClassEntry type)
Возвращает инструкцию проверки типа.
static TypeCheckInstruction of(Opcode op, ClassDesc type)
Возвращает инструкцию проверки типа.
ClassEntry type()
Возвращает тип, с которым сравнивается тип инструкции.

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

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

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

type

ClassEntry type()
Возвращает тип, с которым сравнивается тип инструкции.
Возвращает:
тип, с которым сравнивается тип инструкции

of

static TypeCheckInstruction of(Opcode op, ClassEntry type)
Возвращает инструкцию проверки типа.
Параметры:
op — опкод для конкретного типа инструкции проверки типа; он должен иметь вид Opcode.Kind.TYPE_CHECK
type — тип, который необходимо проверить или привести
Возвращает:
инструкцию проверки типа
Вызывает исключение:
IllegalArgumentException — если вид опкода не равен Opcode.Kind.TYPE_CHECK

of

static TypeCheckInstruction of(Opcode op, ClassDesc type)
Возвращает инструкцию проверки типа.
Параметры:
op — опкод для конкретного типа инструкции проверки типа; он должен иметь вид Opcode.Kind.TYPE_CHECK
type — тип, который необходимо проверить или привести
Возвращает:
инструкцию проверки типа
Вызывает исключение:
IllegalArgumentException — если вид опкода не равен Opcode.Kind.TYPE_CHECK или если type является примитивным типом

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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