Интерфейс 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 |
Возвращает инструкцию проверки типа. |
static TypeCheckInstruction |
of |
Возвращает инструкцию проверки типа. |
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является примитивным типом
© 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.