Spec-Zone.ru › OpenJDK 24

Интерфейс ConstantPoolBuilder

Все суперинтерфейсы:
ConstantPool, Iterable<PoolEntry>
public sealed interface ConstantPoolBuilder extends ConstantPool
Библиотека для создания пула констант файла class. Предоставляет чтение и запись в пул констант, который строится. Запись осуществляется только путем добавления (индекс новых записей монотонно увеличивается) и является идемпотентной (методы, содержащие записи, вернут существующую запись, если такая есть).

Для построения файла class, перегрузка ClassFile::build принимает ConstantPoolBuilder. Для трансформаций файлов class через ClassFile::transformClass, ClassFile.ConstantPoolSharingOption управляет тем, как создается библиотека построения пула констант результирующего class.

Записи пула констант "чужого" типа

В процессе построения файлов class и построения пулов констант, некоторые предоставленные записи пула констант могут быть чужими для данной библиотеки построения пула констант активного билдера файла. Например, classEntry(Utf8Entry) может быть вызвано с записью UTF8 "чужого" типа. Записи "чужого" типа будут преобразованы в запись пула этой библиотеки построения пула констант, повторно используя эквивалентные записи или добавляя новые, если таковых нет. В результате все записи пула, возвращаемые методами, содержащими записи в этой библиотеке построения пула констант, принадлежат этому пулу.

Некоторые методы ClassFileBuilder могут изменять свои результаты, если получат записи пула, чужие для их пулов констант. Например, если инструкция ldc_w с записью "чужого" типа записывается в CodeBuilder, то CodeBuilder может выдать функционально эквивалентную инструкцию ldc вместо нее, если преобразованная запись может быть закодирована в такой инструкции.

Чтобы избежать преобразования записей "чужого" типа пула констант, например, для обеспечения точности генерируемого файла class, пользователи могут всегда предоставлять записи пула констант, полученные путем вызова методов, содержащих записи пула констант, связанных с ClassFileBuilder. В противном случае, преобразования не повлияют на поведение генерируемых файлов class.

С:
24
См. также:
  • ClassFileBuilder.constantPool()

Краткое описание методов

Модификатор и тип Метод Описание
BootstrapMethodEntry bsmEntry(MethodHandleEntry methodReference, List<LoadableConstantEntry> arguments)
Возвращает BootstrapMethodEntry, относящийся к MethodHandleEntry и списку LoadableConstantEntry.
default BootstrapMethodEntry bsmEntry(DirectMethodHandleDesc methodReference, List<ConstantDesc> arguments)
Возвращает BootstrapMethodEntry, описывающий предоставленный метод загрузки и аргументы.
boolean canWriteDirect(ConstantPool constantPool)
Возвращает true, если индекс любого элемента в заданном константном пуле ссылается на тот же элемент в этом билдере.
ClassEntry classEntry(Utf8Entry ne)
Возвращает ClassEntry, относящийся к предоставленному Utf8Entry.
default ClassEntry classEntry(ClassDesc classDesc)
Возвращает ClassEntry, описывающий тот же тип ссылки, что и предоставленный ClassDesc.
ConstantDynamicEntry constantDynamicEntry(BootstrapMethodEntry bootstrapMethodEntry, NameAndTypeEntry nameAndType)
Возвращает ConstantDynamicEntry, относящийся к BootstrapMethodEntry и NameAndTypeEntry.
default ConstantDynamicEntry constantDynamicEntry(DynamicConstantDesc<?> dcd)
Возвращает ConstantDynamicEntry, описывающий динамическую константу как предоставленный DynamicConstantDesc.
default ConstantValueEntry constantValueEntry(ConstantDesc c)
Возвращает ConstantValueEntry, описывающий предоставленное постоянное значение Integer, Long, Float, Double или String.
DoubleEntry doubleEntry(double value)
Возвращает DoubleEntry, описывающий предоставленное значение.
FieldRefEntry fieldRefEntry(ClassEntry owner, NameAndTypeEntry nameAndType)
Возвращает FieldRefEntry, относящийся к ClassEntry и NameAndTypeEntry.
default FieldRefEntry fieldRefEntry(ClassDesc owner, String name, ClassDesc type)
Возвращает FieldRefEntry, описывающий поле класса.
FloatEntry floatEntry(float value)
Возвращает FloatEntry, описывающий предоставленное значение.
IntegerEntry intEntry(int value)
Возвращает IntegerEntry, описывающий предоставленное значение.
InterfaceMethodRefEntry interfaceMethodRefEntry(ClassEntry owner, NameAndTypeEntry nameAndType)
Возвращает InterfaceMethodRefEntry, относящийся к ClassEntry и NameAndTypeEntry.
default InterfaceMethodRefEntry interfaceMethodRefEntry(ClassDesc owner, String name, MethodTypeDesc type)
Возвращает InterfaceMethodRefEntry, описывающий метод интерфейса.
InvokeDynamicEntry invokeDynamicEntry(BootstrapMethodEntry bootstrapMethodEntry, NameAndTypeEntry nameAndType)
Возвращает InvokeDynamicEntry, относящийся к BootstrapMethodEntry и NameAndTypeEntry.
default InvokeDynamicEntry invokeDynamicEntry(DynamicCallSiteDesc dcsd)
Возвращает InvokeDynamicEntry, описывающий тот же динамический вызов, что и предоставленный DynamicCallSiteDesc.
default LoadableConstantEntry loadableConstantEntry(ConstantDesc c)
Возвращает LoadableConstantEntry, описывающий предоставленное постоянное значение.
LongEntry longEntry(long value)
Возвращает LongEntry, описывающий предоставленное значение.
MethodHandleEntry methodHandleEntry(int refKind, MemberRefEntry reference)
Возвращает MethodHandleEntry, кодирующий тип ссылки и относящийся к MemberRefEntry.
default MethodHandleEntry methodHandleEntry(DirectMethodHandleDesc descriptor)
Возвращает MethodHandleEntry, описывающий тот же обработчик методов, что и заданный DirectMethodHandleDesc.
MethodRefEntry methodRefEntry(ClassEntry owner, NameAndTypeEntry nameAndType)
Возвращает MethodRefEntry, относящийся к ClassEntry и NameAndTypeEntry.
default MethodRefEntry methodRefEntry(ClassDesc owner, String name, MethodTypeDesc type)
Возвращает MethodRefEntry, описывающий метод класса.
MethodTypeEntry methodTypeEntry(Utf8Entry descriptor)
Возвращает MethodTypeEntry, относящийся к Utf8Entry.
MethodTypeEntry methodTypeEntry(MethodTypeDesc descriptor)
Возвращает MethodTypeEntry, описывающий тот же тип метода, что и предоставленный MethodTypeDesc.
ModuleEntry moduleEntry(Utf8Entry moduleName)
Возвращает ModuleEntry, относящийся к предоставленному Utf8Entry.
default ModuleEntry moduleEntry(ModuleDesc moduleDesc)
Возвращает ModuleEntry, описывающий тот же модуль, что и предоставленный ModuleDesc.
NameAndTypeEntry nameAndTypeEntry(Utf8Entry nameEntry, Utf8Entry typeEntry)
Возвращает NameAndTypeEntry, относящийся к предоставленному имени и типу Utf8Entry.
default NameAndTypeEntry nameAndTypeEntry(String name, ClassDesc type)
Возвращает NameAndTypeEntry, описывающий предоставленное неопределенное имя и дескриптор поля.
default NameAndTypeEntry nameAndTypeEntry(String name, MethodTypeDesc type)
Возвращает NameAndTypeEntry, описывающий предоставленное имя и дескриптор метода.
static ConstantPoolBuilder of()
Возвращает новый билдер константного пула.
static ConstantPoolBuilder of(ClassModel classModel)
Возвращает новый билдер константного пула.
PackageEntry packageEntry(Utf8Entry nameEntry)
Возвращает PackageEntry, ссылающийся на предоставленный Utf8Entry.
default PackageEntry packageEntry(PackageDesc packageDesc)
Возвращает PackageEntry, описывающий тот же пакет, что и предоставленный PackageDesc.
StringEntry stringEntry(Utf8Entry utf8)
Возвращает StringEntry, ссылающийся на Utf8Entry.
default StringEntry stringEntry(String value)
Возвращает StringEntry, описывающий предоставленное значение.
default Utf8Entry utf8Entry(ClassDesc desc)
Возвращает Utf8Entry, описывающий строку дескриптора поля предоставленного ClassDesc.
default Utf8Entry utf8Entry(MethodTypeDesc desc)
Возвращает Utf8Entry, описывающий строку дескриптора метода предоставленного MethodTypeDesc.
Utf8Entry utf8Entry(String s)
Возвращает Utf8Entry, описывающий предоставленный String.

Методы, объявленные в интерфейсе java.lang.classfile.constantpool.ConstantPool

bootstrapMethodCount, bootstrapMethodEntry, entryByIndex, entryByIndex, iterator, size

Методы, объявленные в интерфейсе java.lang.Iterable

forEach, spliterator

Краткое описание методов

of

static ConstantPoolBuilder of(ClassModel classModel)
Возвращает новый строитель пула констант. Новый строитель пула констант будет предварительно заполнен содержимым пула констант связанного с данной моделью класса. Индекс новых записей будет начинаться с size() исходного пула.
Параметры:
classModel - класс для копирования
Возвращает:
новый строитель пула констант
См. также:
  • ClassFile.build(ClassEntry, ConstantPoolBuilder, Consumer)
  • ClassFile.ConstantPoolSharingOption.SHARED_POOL

of

static ConstantPoolBuilder of()
Возвращает новый строитель пула констант. Новый пул констант будет пустым. Индекс новых записей будет начинаться с 1.
Возвращает:
новый строитель пула констант
См. также:
  • ClassFile.ConstantPoolSharingOption.NEW_POOL

canWriteDirect

boolean canWriteDirect(ConstantPool constantPool)
Возвращает true, если индекс любой записи в данном пуле констант ссылается на ту же запись в этом строителе. Это может быть потому, что это один и тот же строитель, или потому, что этот строитель был предварительно заполнен из данного пула констант.

Если пул констант записи не может быть напрямую записан в этот пул, он является внешним для этого пула, и ClassFileBuilder, связанный с этим пулом констант, преобразует эту внешнюю запись пула констант.

Параметры:
constantPool - данный пул констант
Возвращает:
true, если индекс любой записи в данном пуле констант ссылается на ту же запись в этом строителе
См. также:
  • ClassFileBuilder::constantPool
  • Внешние записи пула констант

utf8Entry

Utf8Entry utf8Entry(String s)
Возвращает Utf8Entry, описывающий предоставленную String.
Параметры:
s - строка
Возвращает:
a Utf8Entry, описывающий предоставленную String
См. также:
  • Utf8Entry::stringValue

utf8Entry

default Utf8Entry utf8Entry(ClassDesc desc)
Возвращает Utf8Entry, описывающий строку дескриптора поля field descriptor string предоставленного ClassDesc.
Примечание к API:
Полученный Utf8Entry обычно не ссылается на ClassEntry, который использует внутреннюю форму двоичных имен.
Параметры:
desc - символический дескриптор для класса
Возвращает:
a Utf8Entry, описывающий строку дескриптора поля field descriptor string предоставленного ClassDesc

utf8Entry

default Utf8Entry utf8Entry(MethodTypeDesc desc)
Возвращает Utf8Entry, описывающий строку дескриптора метода method descriptor string предоставленного MethodTypeDesc.
Параметры:
desc - символический дескриптор для типа метода
Возвращает:
a Utf8Entry, описывающий строку дескриптора метода method descriptor string предоставленного MethodTypeDesc

classEntry

ClassEntry classEntry(Utf8Entry ne)
Возвращает ClassEntry, ссылающийся на предоставленный Utf8Entry. Utf8Entry описывает внутреннюю форму двоичного имени класса или интерфейса или строку дескриптора поля для массива.
Параметры:
ne - Utf8Entry
Возвращает:
a ClassEntry, ссылающийся на предоставленный Utf8Entry
См. также:
  • ClassEntry::name

classEntry

default ClassEntry classEntry(ClassDesc classDesc)
Возвращает ClassEntry, описывающий тот же ссылочный тип, что и предоставленный ClassDesc.
Параметры:
classDesc - символический дескриптор для ссылочного типа
Возвращает:
a ClassEntry, описывающий тот же ссылочный тип, что и предоставленный ClassDesc
Исключения:
IllegalArgumentException - если classDesc представляет примитивный тип
См. также:
  • ClassEntry::asSymbol

packageEntry

PackageEntry packageEntry(Utf8Entry nameEntry)
Возвращает PackageEntry, ссылающийся на предоставленный Utf8Entry. Utf8Entry описывает внутреннюю форму имени пакета.
Параметры:
nameEntry - Utf8Entry
Возвращает:
a PackageEntry, ссылающийся на предоставленный Utf8Entry
См. также:
  • PackageEntry::name

packageEntry

default PackageEntry packageEntry(PackageDesc packageDesc)
Возвращает PackageEntry, описывающий тот же пакет, что и предоставленный PackageDesc.
Параметры:
packageDesc - символический дескриптор для пакета
Возвращает:
a PackageEntry, описывающий тот же пакет, что и предоставленный PackageDesc
См. также:
  • PackageEntry::asSymbol

moduleEntry

ModuleEntry moduleEntry(Utf8Entry moduleName)
Возвращает ModuleEntry, ссылающийся на предоставленный Utf8Entry. Utf8Entry описывает имя модуля.
Параметры:
moduleName - запись пула констант, описывающая имя модуля
Возвращает:
a ModuleEntry, ссылающийся на предоставленный Utf8Entry
См. также:
  • ModuleEntry::name

moduleEntry

default ModuleEntry moduleEntry(ModuleDesc moduleDesc)
Возвращает ModuleEntry, описывающий тот же модуль, что и предоставленный ModuleDesc.
Параметры:
moduleDesc — символический дескриптор модуля
Возвращает:
ModuleEntry, описывающий тот же модуль, что и предоставленный ModuleDesc
См. также:
  • ModuleEntry::asSymbol

nameAndTypeEntry

NameAndTypeEntry nameAndTypeEntry(Utf8Entry nameEntry, Utf8Entry typeEntry)
Возвращает NameAndTypeEntry, ссылающийся на предоставленное имя и тип Utf8Entry. Имя Utf8Entry описывает неопределенное имя или специальное имя "<init>", а тип Utf8Entry описывает строку дескриптора поля или метода.
Параметры:
nameEntry — имя Utf8Entry
typeEntry — тип Utf8Entry
Возвращает:
NameAndTypeEntry, ссылающийся на предоставленное имя и тип Utf8Entry
См. также:
  • NameAndTypeEntry::name
  • NameAndTypeEntry::type

nameAndTypeEntry

default NameAndTypeEntry nameAndTypeEntry(String name, ClassDesc type)
Возвращает NameAndTypeEntry, описывающий предоставленное неопределённое имя и дескриптор поля.
Параметры:
name — неопределённое имя
type — дескриптор поля
Возвращает:
NameAndTypeEntry, описывающий предоставленное неопределённое имя и дескриптор поля

nameAndTypeEntry

default NameAndTypeEntry nameAndTypeEntry(String name, MethodTypeDesc type)
Возвращает NameAndTypeEntry, описывающий предоставленное имя и дескриптор метода. Имя может быть неопределённым или специальным именем "<init>".
Параметры:
name — неопределённое имя или "<init>"
type — дескриптор метода
Возвращает:
NameAndTypeEntry, описывающий предоставленное имя и дескриптор метода

fieldRefEntry

FieldRefEntry fieldRefEntry(ClassEntry owner, NameAndTypeEntry nameAndType)
Возвращает FieldRefEntry, ссылающийся на ClassEntry и NameAndTypeEntry. ClassEntry описывает класс или интерфейс, который имеет это поле в качестве члена, а NameAndTypeEntry описывает неопределённое имя и дескриптор поля для этого поля.
Параметры:
owner — ClassEntry
nameAndType — NameAndTypeEntry
Возвращает:
FieldRefEntry, ссылающийся на ClassEntry и NameAndTypeEntry
См. также:
  • FieldRefEntry::owner
  • FieldRefEntry::nameAndType

fieldRefEntry

default FieldRefEntry fieldRefEntry(ClassDesc owner, String name, ClassDesc type)
Возвращает FieldRefEntry, описывающий поле класса.
Параметры:
owner — класс или интерфейс, в котором поле является членом
name — неопределённое имя поля
type — дескриптор поля
Возвращает:
FieldRefEntry, описывающий поле класса
Исключение:
IllegalArgumentException — если owner представляет примитивный тип
См. также:
  • FieldRefEntry::typeSymbol

methodRefEntry

MethodRefEntry methodRefEntry(ClassEntry owner, NameAndTypeEntry nameAndType)
Возвращает MethodRefEntry, ссылающийся на ClassEntry и NameAndTypeEntry. ClassEntry описывает класс, который имеет этот метод в качестве члена, а NameAndTypeEntry описывает неопределённое имя или специальное имя "<init>" и дескриптор метода для этого метода.
Параметры:
owner — ClassEntry
nameAndType — NameAndTypeEntry
Возвращает:
MethodRefEntry, ссылающийся на ClassEntry и NameAndTypeEntry
См. также:
  • MethodRefEntry::owner
  • MethodRefEntry::nameAndType

methodRefEntry

default MethodRefEntry methodRefEntry(ClassDesc owner, String name, MethodTypeDesc type)
Возвращает MethodRefEntry, описывающий метод класса.
Параметры:
owner — класс, в котором метод является членом
name — неопределённое имя или специальное имя "<init>" метода
type — дескриптор метода
Возвращает:
MethodRefEntry, описывающий метод класса
Исключение:
IllegalArgumentException — если owner представляет примитивный тип
См. также:
  • MethodRefEntry::typeSymbol

interfaceMethodRefEntry

InterfaceMethodRefEntry interfaceMethodRefEntry(ClassEntry owner, NameAndTypeEntry nameAndType)
Возвращает InterfaceMethodRefEntry, ссылающийся на ClassEntry и NameAndTypeEntry. ClassEntry описывает интерфейс, который имеет этот метод в качестве члена, а NameAndTypeEntry описывает неопределённое имя и дескриптор метода для этого метода.
Параметры:
owner — ClassEntry
nameAndType — NameAndTypeEntry
Возвращает:
InterfaceMethodRefEntry, ссылающийся на ClassEntry и NameAndTypeEntry
См. также:
  • InterfaceMethodRefEntry::owner
  • InterfaceMethodRefEntry::nameAndType

interfaceMethodRefEntry

default InterfaceMethodRefEntry interfaceMethodRefEntry(ClassDesc owner, String name, MethodTypeDesc type)
Возвращает InterfaceMethodRefEntry, описывающий метод интерфейса.
Parameters:
owner - интерфейс, к которому принадлежит метод
name - неопределённое имя метода
type - описание метода
Returns:
InterfaceMethodRefEntry, описывающий метод интерфейса
Throws:
IllegalArgumentException - если owner представляет примитивный тип
See Also:
  • InterfaceMethodRefEntry::typeSymbol

methodTypeEntry

MethodTypeEntry methodTypeEntry(MethodTypeDesc descriptor)
Возвращает MethodTypeEntry, описывающий тот же тип метода, что и предоставленный MethodTypeDesc.
Parameters:
descriptor - символическое описание типа метода
Returns:
MethodTypeEntry, описывающий тот же тип метода, что и предоставленный MethodTypeDesc
See Also:
  • MethodTypeEntry::asSymbol

methodTypeEntry

MethodTypeEntry methodTypeEntry(Utf8Entry descriptor)
Возвращает MethodTypeEntry, ссылающийся на Utf8Entry. Utf8Entry представляет строку описания метода.
Parameters:
descriptor - Utf8Entry
Returns:
MethodTypeEntry, ссылающийся на Utf8Entry
See Also:
  • MethodTypeEntry::descriptor

methodHandleEntry

default MethodHandleEntry methodHandleEntry(DirectMethodHandleDesc descriptor)
Возвращает MethodHandleEntry, описывающий тот же обработчик методов, что и предоставленный DirectMethodHandleDesc.
Parameters:
descriptor - символическое описание обработчика методов
Returns:
MethodHandleEntry, описывающий тот же обработчик методов, что и предоставленный DirectMethodHandleDesc
See Also:
  • MethodHandleEntry::asSymbol

methodHandleEntry

MethodHandleEntry methodHandleEntry(int refKind, MemberRefEntry reference)
Возвращает MethodHandleEntry, кодирующий тип ссылки и ссылающийся на MemberRefEntry. Тип ссылки должен быть в [1, 9], а MemberRefEntry подчиняется различным ограничениям, основанным на типе ссылки (JVMS 4.4.8).
Parameters:
refKind - тип ссылки обработчика методов
reference - MemberRefEntry
Returns:
MethodHandleEntry, кодирующий тип ссылки и ссылающийся на MemberRefEntry
See Also:
  • Типы ссылок
  • MethodHandleEntry::kind
  • MethodHandleEntry::reference

invokeDynamicEntry

default InvokeDynamicEntry invokeDynamicEntry(DynamicCallSiteDesc dcsd)
Возвращает InvokeDynamicEntry, описывающий ту же динамическую точку вызова, что и предоставленный DynamicCallSiteDesc.
Parameters:
dcsd - символическое описание динамической точки вызова
Returns:
InvokeDynamicEntry, описывающий ту же динамическую точку вызова, что и предоставленный DynamicCallSiteDesc
See Also:
  • InvokeDynamicEntry::asSymbol

invokeDynamicEntry

InvokeDynamicEntry invokeDynamicEntry(BootstrapMethodEntry bootstrapMethodEntry, NameAndTypeEntry nameAndType)
Возвращает InvokeDynamicEntry, ссылающийся на BootstrapMethodEntry и NameAndTypeEntry. BootstrapMethodEntry описывает метод загрузки и его аргументы вызова в дополнение к имени и типу, а NameAndTypeEntry имя и описание метода.
Parameters:
bootstrapMethodEntry - BootstrapMethodEntry
nameAndType - NameAndTypeEntry
Returns:
InvokeDynamicEntry, ссылающийся на BootstrapMethodEntry и NameAndTypeEntry
See Also:
  • InvokeDynamicEntry::bootstrap
  • InvokeDynamicEntry::nameAndType

constantDynamicEntry

default ConstantDynamicEntry constantDynamicEntry(DynamicConstantDesc<?> dcd)
Возвращает ConstantDynamicEntry, описывающий динамическую константу как предоставленный DynamicConstantDesc.
Parameters:
dcd - символическое описание константы
Returns:
ConstantDynamicEntry, описывающий динамическую константу как предоставленный DynamicConstantDesc
See Also:
  • ConstantDynamicEntry::asSymbol

constantDynamicEntry

ConstantDynamicEntry constantDynamicEntry(BootstrapMethodEntry bootstrapMethodEntry, NameAndTypeEntry nameAndType)
Возвращает ConstantDynamicEntry, ссылающийся на BootstrapMethodEntry и NameAndTypeEntry. BootstrapMethodEntry описывает метод загрузки и его аргументы вызова в дополнение к имени и типу, а NameAndTypeEntry имя и описание поля.
Parameters:
bootstrapMethodEntry - BootstrapMethodEntry
nameAndType - NameAndTypeEntry
Returns:
ConstantDynamicEntry, ссылающийся на BootstrapMethodEntry и NameAndTypeEntry
See Also:
  • ConstantDynamicEntry::bootstrap
  • ConstantDynamicEntry::nameAndType

intEntry

IntegerEntry intEntry(int value)
Возвращает IntegerEntry, описывающий предоставленное значение.
Параметры:
value - значение
Возвращает:
IntegerEntry, описывающий предоставленное значение
См. также:
  • IntegerEntry::intValue

floatEntry

FloatEntry floatEntry(float value)
Возвращает FloatEntry, описывающий предоставленное значение.

Все значения NaN из float могут быть или не быть свёрнуты в одно «каноническое» значение NaN.

Параметры:
value - значение
Возвращает:
FloatEntry, описывающий предоставленное значение
См. также:
  • FloatEntry::floatValue

longEntry

LongEntry longEntry(long value)
Возвращает LongEntry, описывающий предоставленное значение.
Параметры:
value - значение
Возвращает:
LongEntry, описывающий предоставленное значение
См. также:
  • LongEntry::longValue

doubleEntry

DoubleEntry doubleEntry(double value)
Возвращает DoubleEntry, описывающий предоставленное значение.

Все значения NaN из double могут быть или не быть свёрнуты в одно «каноническое» значение NaN.

Параметры:
value - значение
Возвращает:
DoubleEntry, описывающий предоставленное значение
См. также:
  • DoubleEntry::doubleValue

stringEntry

StringEntry stringEntry(Utf8Entry utf8)
Возвращает StringEntry, ссылающийся на Utf8Entry. Utf8Entry описывает строковое значение.
Параметры:
utf8 - Utf8Entry
Возвращает:
StringEntry, ссылающийся на Utf8Entry
См. также:
  • StringEntry::utf8

stringEntry

default StringEntry stringEntry(String value)
Возвращает StringEntry, описывающий предоставленное значение.
Параметры:
value - значение
Возвращает:
StringEntry, описывающий предоставленное значение
См. также:
  • StringEntry::stringValue

constantValueEntry

default ConstantValueEntry constantValueEntry(ConstantDesc c)
Возвращает ConstantValueEntry, описывающий предоставленное постоянное значение Integer, Long, Float, Double или String.
Параметры:
c - предоставленное постоянное значение
Возвращает:
ConstantValueEntry, описывающий предоставленное постоянное значение Integer, Long, Float, Double или String
Исключения:
IllegalArgumentException - если значение не является одним из Integer, Long, Float, Double или String
См. также:
  • ConstantValueEntry::constantValue
  • ConstantValueAttribute::of(ConstantDesc)

loadableConstantEntry

default LoadableConstantEntry loadableConstantEntry(ConstantDesc c)
Возвращает LoadableConstantEntry, описывающий предоставленное постоянное значение.
Параметры:
c - номинальный дескриптор для константы
Возвращает:
LoadableConstantEntry, описывающий предоставленное постоянное значение

bsmEntry

default BootstrapMethodEntry bsmEntry(DirectMethodHandleDesc methodReference, List<ConstantDesc> arguments)
Возвращает BootstrapMethodEntry, описывающий предоставленный метод инициализации и аргументы.
Параметры:
methodReference - метод инициализации
arguments - аргументы
Возвращает:
BootstrapMethodEntry, описывающий предоставленный метод инициализации и аргументы

bsmEntry

BootstrapMethodEntry bsmEntry(MethodHandleEntry methodReference, List<LoadableConstantEntry> arguments)
Возвращает BootstrapMethodEntry, ссылающийся на MethodHandleEntry и список LoadableConstantEntry. MethodHandleEntry — это метод инициализации, а список LoadableConstantEntry — это аргументы.
Параметры:
methodReference - MethodHandleEntry
arguments - список LoadableConstantEntry
Возвращает:
BootstrapMethodEntry, ссылающийся на MethodHandleEntry и список LoadableConstantEntry
См. также:
  • BootstrapMethodEntry::bootstrapMethod
  • BootstrapMethodEntry::arguments

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/constantpool/ConstantPoolBuilder.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API