Spec-Zone.ru › OpenJDK 25

Класс перечисления Opcode.Kind

java.lang.Object
java.lang.Enum<Opcode.Kind>
java.lang.classfile.Opcode.Kind
Все реализуемые интерфейсы:
Serializable, Comparable<Opcode.Kind>, Constable
Охватывающий класс:
Opcode
public static enum Opcode.Kind extends Enum<Opcode.Kind>
Виды кодов операций. Каждый вид кода операции имеет собственный интерфейс моделирования для своих инструкций.
Начиная с версии:
24

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе Enum

Enum.EnumDesc<E>

Краткое описание констант перечисления

Константа перечисления Описание
ARRAY_LOAD
Загрузка из массива.
ARRAY_STORE
Сохранение в массив.
BRANCH
Переход.
CONSTANT
Константы.
CONVERT
Преобразования типов.
DISCONTINUED_JSR
Устаревший переход к подпрограмме.
DISCONTINUED_RET
Устаревший возврат из подпрограммы.
FIELD_ACCESS
Доступ к полю.
INCREMENT
Увеличение значения локальной переменной.
INVOKE
Вызов метода или конструктора.
INVOKE_DYNAMIC
Вызов динамически вычисляемой точки вызова.
LOAD
Загрузка из локальной переменной.
LOOKUP_SWITCH
Обращение к таблице переходов по совпадению ключа и выполнение перехода.
MONITOR
Монитор.
NEW_MULTI_ARRAY
Создание нового многомерного массива.
NEW_OBJECT
Создание нового объекта.
NEW_PRIMITIVE_ARRAY
Создание нового массива.
NEW_REF_ARRAY
Создание нового массива reference.
NOP
Ничего не делать.
OPERATOR
Операторы.
RETURN
Возврат из метода.
STACK
Операции со стеком.
STORE
Сохранение в локальную переменную.
TABLE_SWITCH
Обращение к таблице переходов по индексу и выполнение перехода.
THROW_EXCEPTION
Генерация исключения или ошибки.
TYPE_CHECK
Проверка, принадлежит ли объект заданному типу.

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

Модификатор и тип Метод Описание
static Opcode.Kind valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем.
static Opcode.Kind[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.

Методы, объявленные в классе Enum

clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

Методы, объявленные в классе Object

getClass, notify, notifyAll, wait, wait, wait

Подробное описание констант перечисления

LOAD

public static final Opcode.Kind LOAD
Загрузка из локальной переменной.
См. также:
  • LoadInstruction
  • Opcode.ILOAD
  • Opcode.LLOAD
  • Opcode.FLOAD
  • Opcode.DLOAD
  • Opcode.ALOAD
  • Opcode.ILOAD_0
  • Opcode.ILOAD_1
  • Opcode.ILOAD_2
  • Opcode.ILOAD_3
  • Opcode.LLOAD_0
  • Opcode.LLOAD_1
  • Opcode.LLOAD_2
  • Opcode.LLOAD_3
  • Opcode.FLOAD_0
  • Opcode.FLOAD_1
  • Opcode.FLOAD_2
  • Opcode.FLOAD_3
  • Opcode.DLOAD_0
  • Opcode.DLOAD_1
  • Opcode.DLOAD_2
  • Opcode.DLOAD_3
  • Opcode.ALOAD_0
  • Opcode.ALOAD_1
  • Opcode.ALOAD_2
  • Opcode.ALOAD_3
  • Opcode.ILOAD_W
  • Opcode.LLOAD_W
  • Opcode.FLOAD_W
  • Opcode.DLOAD_W
  • Opcode.ALOAD_W

STORE

public static final Opcode.Kind STORE
Сохранение в локальную переменную.
См. также:
  • StoreInstruction
  • Opcode.ISTORE
  • Opcode.LSTORE
  • Opcode.FSTORE
  • Opcode.DSTORE
  • Opcode.ASTORE
  • Opcode.ISTORE_0
  • Opcode.ISTORE_1
  • Opcode.ISTORE_2
  • Opcode.ISTORE_3
  • Opcode.LSTORE_0
  • Opcode.LSTORE_1
  • Opcode.LSTORE_2
  • Opcode.LSTORE_3
  • Opcode.FSTORE_0
  • Opcode.FSTORE_1
  • Opcode.FSTORE_2
  • Opcode.FSTORE_3
  • Opcode.DSTORE_0
  • Opcode.DSTORE_1
  • Opcode.DSTORE_2
  • Opcode.DSTORE_3
  • Opcode.ASTORE_0
  • Opcode.ASTORE_1
  • Opcode.ASTORE_2
  • Opcode.ASTORE_3
  • Opcode.ISTORE_W
  • Opcode.LSTORE_W
  • Opcode.FSTORE_W
  • Opcode.DSTORE_W
  • Opcode.ASTORE_W

INCREMENT

public static final Opcode.Kind INCREMENT
Увеличение значения локальной переменной.
См. также:
  • IncrementInstruction
  • Opcode.IINC
  • Opcode.IINC_W

BRANCH

public static final Opcode.Kind BRANCH
Переход.
См. также:
  • BranchInstruction
  • Opcode.IFEQ
  • Opcode.IFNE
  • Opcode.IFLT
  • Opcode.IFGE
  • Opcode.IFGT
  • Opcode.IFLE
  • Opcode.IF_ICMPEQ
  • Opcode.IF_ICMPNE
  • Opcode.IF_ICMPLT
  • Opcode.IF_ICMPGE
  • Opcode.IF_ICMPGT
  • Opcode.IF_ICMPLE
  • Opcode.IF_ACMPEQ
  • Opcode.IF_ACMPNE
  • Opcode.GOTO
  • Opcode.IFNULL
  • Opcode.IFNONNULL
  • Opcode.GOTO_W

LOOKUP_SWITCH

public static final Opcode.Kind LOOKUP_SWITCH
Обращение к таблице переходов по совпадению ключа и выполнение перехода.
См. также:
  • LookupSwitchInstruction
  • Opcode.LOOKUPSWITCH

TABLE_SWITCH

public static final Opcode.Kind TABLE_SWITCH
Обращение к таблице переходов по индексу и выполнение перехода.
См. также:
  • TableSwitchInstruction
  • Opcode.TABLESWITCH

RETURN

public static final Opcode.Kind RETURN
Возврат из метода.
См. также:
  • ReturnInstruction
  • Opcode.IRETURN
  • Opcode.LRETURN
  • Opcode.FRETURN
  • Opcode.DRETURN
  • Opcode.ARETURN
  • Opcode.RETURN

THROW_EXCEPTION

public static final Opcode.Kind THROW_EXCEPTION
Генерация исключения или ошибки.
См. также:
  • ThrowInstruction
  • Opcode.ATHROW

FIELD_ACCESS

public static final Opcode.Kind FIELD_ACCESS
Доступ к полю.
См. также:
  • FieldInstruction
  • Opcode.GETSTATIC
  • Opcode.PUTSTATIC
  • Opcode.GETFIELD
  • Opcode.PUTFIELD

INVOKE

public static final Opcode.Kind INVOKE
Вызов метода или конструктора.
См. также:
  • InvokeInstruction
  • Opcode.INVOKEVIRTUAL
  • Opcode.INVOKESPECIAL
  • Opcode.INVOKESTATIC
  • Opcode.INVOKEINTERFACE

INVOKE_DYNAMIC

public static final Opcode.Kind INVOKE_DYNAMIC
Вызов динамически вычисляемой точки вызова.
См. также:
  • InvokeDynamicInstruction
  • Opcode.INVOKEDYNAMIC

NEW_OBJECT

public static final Opcode.Kind NEW_OBJECT
Создание нового объекта.
См. также:
  • NewObjectInstruction
  • Opcode.NEW

NEW_PRIMITIVE_ARRAY

public static final Opcode.Kind NEW_PRIMITIVE_ARRAY
Создание нового массива.
См. также:
  • NewPrimitiveArrayInstruction
  • Opcode.NEWARRAY

NEW_REF_ARRAY

public static final Opcode.Kind NEW_REF_ARRAY
Создание нового массива reference.
См. также:
  • NewReferenceArrayInstruction
  • Opcode.ANEWARRAY

NEW_MULTI_ARRAY

public static final Opcode.Kind NEW_MULTI_ARRAY
Создание нового многомерного массива.
См. также:
  • NewMultiArrayInstruction
  • Opcode.MULTIANEWARRAY

TYPE_CHECK

public static final Opcode.Kind TYPE_CHECK
Проверка, принадлежит ли объект заданному типу.
См. также:
  • TypeCheckInstruction
  • Opcode.CHECKCAST
  • Opcode.INSTANCEOF

ARRAY_LOAD

public static final Opcode.Kind ARRAY_LOAD
Загрузка из массива.
См. также:
  • ArrayLoadInstruction
  • Opcode.IALOAD
  • Opcode.LALOAD
  • Opcode.FALOAD
  • Opcode.DALOAD
  • Opcode.AALOAD
  • Opcode.BALOAD
  • Opcode.CALOAD
  • Opcode.SALOAD

ARRAY_STORE

public static final Opcode.Kind ARRAY_STORE
Сохранение в массив.
См. также:
  • ArrayStoreInstruction
  • Opcode.IASTORE
  • Opcode.LASTORE
  • Opcode.FASTORE
  • Opcode.DASTORE
  • Opcode.AASTORE
  • Opcode.BASTORE
  • Opcode.CASTORE
  • Opcode.SASTORE

STACK

public static final Opcode.Kind STACK
Операции со стеком.
См. также:
  • StackInstruction
  • Opcode.POP
  • Opcode.POP2
  • Opcode.DUP
  • Opcode.DUP_X1
  • Opcode.DUP_X2
  • Opcode.DUP2
  • Opcode.DUP2_X1
  • Opcode.DUP2_X2
  • Opcode.SWAP

CONVERT

public static final Opcode.Kind CONVERT
Преобразования типов.
См. также:
  • ConvertInstruction
  • Opcode.I2L
  • Opcode.I2F
  • Opcode.I2D
  • Opcode.L2I
  • Opcode.L2F
  • Opcode.L2D
  • Opcode.F2I
  • Opcode.F2L
  • Opcode.F2D
  • Opcode.D2I
  • Opcode.D2L
  • Opcode.D2F
  • Opcode.I2B
  • Opcode.I2C
  • Opcode.I2S

OPERATOR

public static final Opcode.Kind OPERATOR
Операторы.
См. также:
  • OperatorInstruction
  • Opcode.IADD
  • Opcode.LADD
  • Opcode.FADD
  • Opcode.DADD
  • Opcode.ISUB
  • Opcode.LSUB
  • Opcode.FSUB
  • Opcode.DSUB
  • Opcode.IMUL
  • Opcode.LMUL
  • Opcode.FMUL
  • Opcode.DMUL
  • Opcode.IDIV
  • Opcode.LDIV
  • Opcode.FDIV
  • Opcode.DDIV
  • Opcode.IREM
  • Opcode.LREM
  • Opcode.FREM
  • Opcode.DREM
  • Opcode.INEG
  • Opcode.LNEG
  • Opcode.FNEG
  • Opcode.DNEG
  • Opcode.ISHL
  • Opcode.LSHL
  • Opcode.ISHR
  • Opcode.LSHR
  • Opcode.IUSHR
  • Opcode.LUSHR
  • Opcode.IAND
  • Opcode.LAND
  • Opcode.IOR
  • Opcode.LOR
  • Opcode.IXOR
  • Opcode.LXOR
  • Opcode.LCMP
  • Opcode.FCMPL
  • Opcode.FCMPG
  • Opcode.DCMPL
  • Opcode.DCMPG
  • Opcode.ARRAYLENGTH

CONSTANT

public static final Opcode.Kind CONSTANT
Константы.
См. также:
  • ConstantInstruction
  • Opcode.ACONST_NULL
  • Opcode.ICONST_M1
  • Opcode.ICONST_0
  • Opcode.ICONST_1
  • Opcode.ICONST_2
  • Opcode.ICONST_3
  • Opcode.ICONST_4
  • Opcode.ICONST_5
  • Opcode.LCONST_0
  • Opcode.LCONST_1
  • Opcode.FCONST_0
  • Opcode.FCONST_1
  • Opcode.FCONST_2
  • Opcode.DCONST_0
  • Opcode.DCONST_1
  • Opcode.BIPUSH
  • Opcode.SIPUSH
  • Opcode.LDC
  • Opcode.LDC_W
  • Opcode.LDC2_W

MONITOR

public static final Opcode.Kind MONITOR
Монитор.
См. также:
  • MonitorInstruction
  • Opcode.MONITORENTER
  • Opcode.MONITOREXIT

NOP

public static final Opcode.Kind NOP
Ничего не делать.
См. также:
  • NopInstruction
  • Opcode.NOP

DISCONTINUED_JSR

public static final Opcode.Kind DISCONTINUED_JSR
Устаревший переход к подпрограмме.
См. также:
  • DiscontinuedInstruction.JsrInstruction
  • Opcode.JSR
  • Opcode.JSR_W

DISCONTINUED_RET

public static final Opcode.Kind DISCONTINUED_RET
Устаревший возврат из подпрограммы.
См. также:
  • DiscontinuedInstruction.RetInstruction
  • Opcode.RET
  • Opcode.RET_W

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

values

public static Opcode.Kind[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.
Возвращает:
массив, содержащий константы этого класса перечисления в порядке их объявления

valueOf

public static Opcode.Kind valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем. Строка должна точно совпадать с идентификатором, использованным для объявления константы перечисления в этом классе. (Пробельные символы не допускаются.)
Параметры:
name — имя возвращаемой константы перечисления.
Возвращает:
константу перечисления с указанным именем
Выбрасывает:
IllegalArgumentException — если в этом классе перечисления нет константы с указанным именем
NullPointerException — если аргумент равен null

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры основных понятий, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065, США.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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/Opcode.Kind.html

Spec-Zone.ru

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