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
ClassEntry
represents a class or interface, such asjava/lang/String
for theString
class. - A field descriptor string (JVMS 4.3.2) representing an array type,
if and only if this
ClassEntry
represents an array type, such as[I
for 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_info
Structure - Since:
- 24
- See Also:
-
Field Summary
Fields inherited from 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_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 ConstantDesc
Returns a symbolic descriptor of this constant.name()
Returns theUtf8Entry
referred by this structure.Methods inherited from interface LoadableConstantEntry
typeKind
Methods inherited from interface PoolEntry
constantPool, index, tag, width
-
Method Details
-
constantValue
Returns a symbolic descriptor of this constant.This is equivalent to
asSymbol()
.- Specified by:
constantValue
in interfaceLoadableConstantEntry
- Returns:
- a symbolic descriptor of this constant
- See Also:
-
name
Utf8Entry name()Returns theUtf8Entry
referred 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
Utf8Entry
referred 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
-