PoolEntryFieldRefEntry, InterfaceMethodRefEntry, MethodRefEntrypublic sealed interface MemberRefEntry extends PoolEntry permits FieldRefEntry, InterfaceMethodRefEntry, MethodRefEntry (not exhaustive)
class file, which include references to fields, class methods, and interface methods. Different types of symbolic references to a member of a class or interface bear structural similarities and share parts of the resolution processes, and they can sometimes appear in the same locations. For example, both MethodRefEntry and InterfaceMethodRefEntry can appear in an invokestatic instruction.
A member reference entry is composite:
MemberRefEntry(
ClassEntry owner,
NameAndTypeEntry nameAndType
)
CONSTANT_Fieldref_info,
CONSTANT_Methodref_info, and
CONSTANT_InterfaceMethodref_info StructuresTAG_CLASS, TAG_DOUBLE, TAG_DYNAMIC, TAG_FIELDREF, TAG_FLOAT, TAG_INTEGER, TAG_INTERFACE_METHODREF, TAG_INVOKE_DYNAMIC, TAG_LONG, TAG_METHOD_HANDLE, TAG_METHOD_TYPE, TAG_METHODREF, TAG_MODULE, TAG_NAME_AND_TYPE, TAG_PACKAGE, TAG_STRING, TAG_UTF8
| Modifier and Type | Method | Description |
|---|---|---|
default Utf8Entry |
name() |
Returns the name of the member. |
NameAndTypeEntry |
nameAndType() |
Returns the name and descriptor string of the member. |
ClassEntry |
owner() |
Returns the class or interface which this member belongs to. |
default Utf8Entry |
type() |
Returns the descriptor string of the member. |
constantPool, index, tag, width
ClassEntry owner()
NameAndTypeEntry nameAndType()
default Utf8Entry name()
default Utf8Entry type()
FieldRefEntry, or a method descriptor string if this entry is a MethodRefEntry or InterfaceMethodRefEntry.typeSymbol() accessor for the symbolic descriptor for the member 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/constantpool/MemberRefEntry.html