Интерфейс 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
Подробное описание методов
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/instruction/TypeCheckInstruction.html