W3cubDocs

/OpenJDK 25

Interface FieldInstruction

All Superinterfaces:
ClassFileElement, CodeElement, Instruction
public sealed interface FieldInstruction extends Instruction
Models a field access instruction in the code array of a Code attribute. Corresponding opcodes have a kind of Opcode.Kind.FIELD_ACCESS. Delivered as a CodeElement when traversing the elements of a CodeModel.

A field access instruction is composite:

FieldInstruction(
    Opcode opcode,
    FieldRefEntry field,
)
Since:
24
See Also:

Method Summary

Modifier and Type Method Description
FieldRefEntry field()
Returns the FieldRefEntry constant described by this instruction.
default Utf8Entry name()
Returns the name of the field.
static FieldInstruction of(Opcode op, ClassEntry owner, NameAndTypeEntry nameAndType)
Returns a field access instruction.
static FieldInstruction of(Opcode op, ClassEntry owner, Utf8Entry name, Utf8Entry type)
Returns a field access instruction.
static FieldInstruction of(Opcode op, FieldRefEntry field)
Returns a field access instruction.
default ClassEntry owner()
Returns the class holding the field.
default Utf8Entry type()
Returns the field descriptor string of the field.
default ClassDesc typeSymbol()
Returns a symbolic descriptor for the type of the field.

Methods declared in interface Instruction

opcode, sizeInBytes

Method Details

field

FieldRefEntry field()
Returns the FieldRefEntry constant described by this instruction.
Returns:
the FieldRefEntry constant described by this instruction

owner

default ClassEntry owner()
Returns the class holding the field.
Returns:
the class holding the field

name

default Utf8Entry name()
Returns the name of the field.
Returns:
the name of the field

type

default Utf8Entry type()
Returns the field descriptor string of the field.
API Note:
A symbolic descriptor for the type of the field is available through typeSymbol().
Returns:
the field descriptor string of the field

typeSymbol

default ClassDesc typeSymbol()
Returns a symbolic descriptor for the type of the field.
Returns:
a symbolic descriptor for the type of the field

of

static FieldInstruction of(Opcode op, FieldRefEntry field)
Returns a field access instruction.
Parameters:
op - the opcode for the specific type of field access instruction, which must be of kind Opcode.Kind.FIELD_ACCESS
field - a constant pool entry describing the field
Returns:
a field access instruction
Throws:
IllegalArgumentException - if the opcode kind is not Opcode.Kind.FIELD_ACCESS.

of

static FieldInstruction of(Opcode op, ClassEntry owner, Utf8Entry name, Utf8Entry type)
Returns a field access instruction.
Parameters:
op - the opcode for the specific type of field access instruction, which must be of kind Opcode.Kind.FIELD_ACCESS
owner - the class holding the field
name - the name of the field
type - the field descriptor
Returns:
a field access instruction
Throws:
IllegalArgumentException - if the opcode kind is not Opcode.Kind.FIELD_ACCESS.

of

static FieldInstruction of(Opcode op, ClassEntry owner, NameAndTypeEntry nameAndType)
Returns a field access instruction.
Parameters:
op - the opcode for the specific type of field access instruction, which must be of kind Opcode.Kind.FIELD_ACCESS
owner - the class holding the field
nameAndType - the name and field descriptor of the field
Returns:
a field access instruction
Throws:
IllegalArgumentException - if the opcode kind is not Opcode.Kind.FIELD_ACCESS.

© 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