Interface MemberRefEntry
- All Superinterfaces:
PoolEntry
- All Known Subinterfaces:
FieldRefEntry, InterfaceMethodRefEntry, MethodRefEntry
public sealed interface MemberRefEntry
extends PoolEntry
permits FieldRefEntry, InterfaceMethodRefEntry, MethodRefEntry (not exhaustive)
Superinterface modeling symbolic references to a member of a class or interface
in the constant pool of a
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
)
- See Java Virtual Machine Specification:
-
4.4.2 The
CONSTANT_Fieldref_info,CONSTANT_Methodref_info, andCONSTANT_InterfaceMethodref_infoStructures - Sealed Class Hierarchy Graph:
- Since:
- 24
-
Field Summary
Fields declared in interface PoolEntry
TAG_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_UTF8Modifier and TypeFieldDescriptionstatic final intThe tag forCONSTANT_Classconstant kind.static final intThe tag forCONSTANT_Doubleconstant kind.static final intThe tag forCONSTANT_Dynamicconstant kind.static final intThe tag forCONSTANT_Fieldrefconstant kind.static final intThe tag forCONSTANT_Floatconstant kind.static final intThe tag forCONSTANT_Integerconstant kind.static final intThe tag forCONSTANT_InterfaceMethodrefconstant kind.static final intThe tag forCONSTANT_InvokeDynamicconstant kind.static final intThe tag forCONSTANT_Longconstant kind.static final intThe tag forCONSTANT_MethodHandleconstant kind.static final intThe tag forCONSTANT_MethodTypeconstant kind.static final intThe tag forCONSTANT_Methodrefconstant kind.static final intThe tag forCONSTANT_Moduleconstant kind.static final intThe tag forCONSTANT_NameAndTypeconstant kind.static final intThe tag forCONSTANT_Packageconstant kind.static final intThe tag forCONSTANT_Stringconstant kind.static final intThe tag forCONSTANT_Utf8constant kind. -
Method Summary
Methods declared in interface PoolEntry
constantPool, index, tag, widthModifier and TypeMethodDescriptionReturns the constant pool this entry is from.intindex()Returns the index within the constant pool corresponding to this entry.inttag()Returns the constant pool tag that describes the type of this entry.intwidth()Returns the number of constant pool slots this entry consumes.
-
Method Details
-
owner
ClassEntry owner()Returns the class or interface which this member belongs to.- Returns:
- the class or interface which this member belongs to
-
nameAndType
NameAndTypeEntry nameAndType()Returns the name and descriptor string of the member.- Returns:
- the name and descriptor string of the member
-
name
-
type
Returns the descriptor string of the member. This is a field descriptor string if this entry is aFieldRefEntry, or a method descriptor string if this entry is aMethodRefEntryorInterfaceMethodRefEntry.- API Note:
- Each subinterface defines a
typeSymbol()accessor for the symbolic descriptor for the member type. - Returns:
- the descriptor string of the member
-