Interface ClassEntry
- All Superinterfaces:
LoadableConstantEntry,PoolEntry
Models a
where
CONSTANT_Class_info structure, representing a reference
type, in the constant pool of a class file.
The use of a ClassEntry is modeled by a ClassDesc that is not
primitive. Conversions are through ConstantPoolBuilder.classEntry(ClassDesc) and asSymbol().
A ClassEntry is composite:
ClassEntry(Utf8Entry name)
name represents:
- The internal form of a binary name (JVMS 4.2.1), if and only if
this
ClassEntryrepresents a class or interface, such asjava/lang/Stringfor theStringclass. - A field descriptor string (JVMS 4.3.2) representing an array type,
if and only if this
ClassEntryrepresents an array type, such as[Ifor theint[]type, or[Ljava/lang/String;for theString[]type.
'[' character.- API Note:
- The internal form of a binary name, where all occurrences of
.in the name are replaced by/, is informally known as an internal name. This concept also applies to package names in addition to class and interface names. - See Java Virtual Machine Specification:
-
4.4.1 The
CONSTANT_Class_infoStructure - Since:
- 24
- See Also:
-
Field Summary
Fields declared in interface java.lang.classfile.constantpool.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_UTF8 -
Method Summary
Modifier and TypeMethodDescriptionReturns the represented reference type, as the internal form of a binary name or an array descriptor string.asSymbol()Returns the represented reference type, as a symbolic descriptor.default ConstantDescReturns a symbolic descriptor of this constant.name()Returns theUtf8Entryreferred by this structure.Methods declared in interface java.lang.classfile.constantpool.LoadableConstantEntry
typeKindMethods declared in interface java.lang.classfile.constantpool.PoolEntry
constantPool, index, tag, width
-
Method Details
-
constantValue
Returns a symbolic descriptor of this constant.This is equivalent to
asSymbol().- Specified by:
constantValuein interfaceLoadableConstantEntry- Returns:
- a symbolic descriptor of this constant
- See Also:
-
name
Utf8Entry name()Returns theUtf8Entryreferred by this structure. If the value of the UTF8 starts with a[, this represents an array type and the value is a descriptor string; otherwise, this represents a class or interface and the value is the internal form of a binary name.- Returns:
- the
Utf8Entryreferred by this structure - See Also:
-
asInternalName
String asInternalName()Returns the represented reference type, as the internal form of a binary name or an array descriptor string. This is a shortcut forname().stringValue().- Returns:
- the represented reference type, as the internal form of a binary name or an array descriptor string
-
asSymbol
-