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 SummaryFields declared in interface PoolEntryTAG_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 SummaryModifier 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.booleanReturns whether this entry describes the given reference type.name()Returns theUtf8Entryreferred by this structure.Methods declared in interface LoadableConstantEntrytypeKindMethods declared in interface PoolEntryconstantPool, index, tag, width
- 
Method Details- 
constantValueReturns a symbolic descriptor of this constant.This is equivalent to asSymbol().- Specified by:
- constantValuein interface- LoadableConstantEntry
- Returns:
- a symbolic descriptor of this constant
- See Also:
 
- 
nameUtf8Entry 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:
 
- 
asInternalNameString 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
 
- 
asSymbolClassDesc asSymbol()Returns the represented reference type, as a symbolic descriptor. The returned descriptor is never primitive.- API Note:
- If only symbol equivalence is desired, matchesshould be used. It requires reduced parsing and can improveclassfile reading performance.
- Returns:
- the represented reference type, as a symbolic descriptor
- See Also:
 
- 
matchesReturns whether this entry describes the given reference type. Returnsfalseifdescis primitive.- Parameters:
- desc- the reference type
- Returns:
- whether this entry describes the given reference type
- Since:
- 25
 
 
-