Spec-Zone.ru › OpenJDK 25

Интерфейс FieldInstruction

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

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

FieldInstruction(
    Opcode opcode,
    FieldRefEntry field,
)
Начиная с:
24
См. также:
  • Opcode.Kind.FIELD_ACCESS
  • CodeBuilder::fieldAccess

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

Модификатор и тип Метод Описание
FieldRefEntry field()
Возвращает константу FieldRefEntry, описанную этой инструкцией.
default Utf8Entry name()
Возвращает имя поля.
static FieldInstruction of(Opcode op, ClassEntry owner, NameAndTypeEntry nameAndType)
Возвращает инструкцию доступа к полю.
static FieldInstruction of(Opcode op, ClassEntry owner, Utf8Entry name, Utf8Entry type)
Возвращает инструкцию доступа к полю.
static FieldInstruction of(Opcode op, FieldRefEntry field)
Возвращает инструкцию доступа к полю.
default ClassEntry owner()
Возвращает класс, содержащий поле.
default Utf8Entry type()
Возвращает строку дескриптора поля.
default ClassDesc typeSymbol()
Возвращает символический дескриптор типа поля.

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

opcode, sizeInBytes

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

field

FieldRefEntry field()
Возвращает константу FieldRefEntry, описанную этой инструкцией.
Возвращает:
константу FieldRefEntry, описанную этой инструкцией

owner

default ClassEntry owner()
Возвращает класс, содержащий поле.
Возвращает:
класс, содержащий поле

name

default Utf8Entry name()
Возвращает имя поля.
Возвращает:
имя поля

type

default Utf8Entry type()
Возвращает строку дескриптора поля.
Примечание к API:
Символический дескриптор типа поля доступен через typeSymbol().
Возвращает:
строку дескриптора поля

typeSymbol

default ClassDesc typeSymbol()
Возвращает символический дескриптор типа поля.
Возвращает:
символический дескриптор типа поля

of

static FieldInstruction of(Opcode op, FieldRefEntry field)
Возвращает инструкцию доступа к полю.
Параметры:
op — код операции для конкретного типа инструкции доступа к полю; он должен иметь тип Opcode.Kind.FIELD_ACCESS
field — запись пула констант, описывающая поле
Возвращает:
инструкцию доступа к полю
Выбрасывает:
IllegalArgumentException — если тип кода операции не является Opcode.Kind.FIELD_ACCESS.

of

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

of

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/instruction/FieldInstruction.html

Spec-Zone.ru

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