Spec-Zone.ru › OpenJDK 25

Интерфейс 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.

Методы, объявленные в интерфейсе ConstantPool

bootstrapMethodCount, bootstrapMethodEntry, entryByIndex, entryByIndex, iterator, size

Методы, объявленные в интерфейсе 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 — строка
Возвращает:
Utf8Entry, описывающую предоставленную String
См. также:
  • Utf8Entry::stringValue

utf8Entry

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

utf8Entry

default Utf8Entry utf8Entry(MethodTypeDesc desc)
Возвращает Utf8Entry, описывающую строку дескриптора метода предоставленного MethodTypeDesc.
Параметры:
desc — символьный дескриптор типа метода
Возвращает:
Utf8Entry, описывающую строку дескриптора метода предоставленного MethodTypeDesc

classEntry

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

classEntry

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

packageEntry

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

packageEntry

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

moduleEntry

ModuleEntry moduleEntry(Utf8Entry moduleName)
Возвращает ModuleEntry, ссылающуюся на предоставленную Utf8Entry. Utf8Entry описывает имя модуля.
Параметры:
moduleName — запись пула констант, описывающая имя модуля
Возвращает:
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, описывающую метод интерфейса.
Параметры:
owner — интерфейс, содержащий метод
name — неквалифицированное имя метода
type — дескриптор метода
Возвращает:
InterfaceMethodRefEntry, описывающую метод интерфейса
Вызывает исключение:
IllegalArgumentException — если owner представляет примитивный тип
См. также:
  • InterfaceMethodRefEntry::typeSymbol

methodTypeEntry

MethodTypeEntry methodTypeEntry(MethodTypeDesc descriptor)
Возвращает MethodTypeEntry, описывающую тот же тип метода, что и предоставленный MethodTypeDesc.
Параметры:
descriptor — символьный дескриптор типа метода
Возвращает:
MethodTypeEntry, описывающую тот же тип метода, что и предоставленный MethodTypeDesc
См. также:
  • MethodTypeEntry::asSymbol

methodTypeEntry

MethodTypeEntry methodTypeEntry(Utf8Entry descriptor)
Возвращает MethodTypeEntry, ссылающуюся на Utf8Entry. Utf8Entry представляет строку дескриптора метода.
Параметры:
descriptor — Utf8Entry
Возвращает:
MethodTypeEntry, ссылающуюся на Utf8Entry
См. также:
  • MethodTypeEntry::descriptor

methodHandleEntry

default MethodHandleEntry methodHandleEntry(DirectMethodHandleDesc descriptor)
Возвращает MethodHandleEntry, описывающую тот же дескриптор метода, что и заданный DirectMethodHandleDesc.
Параметры:
descriptor — символьный дескриптор дескриптора метода
Возвращает:
MethodHandleEntry, описывающую тот же дескриптор метода, что и заданный DirectMethodHandleDesc
См. также:
  • MethodHandleEntry::asSymbol

methodHandleEntry

MethodHandleEntry methodHandleEntry(int refKind, MemberRefEntry reference)
Возвращает MethodHandleEntry, кодирующую вид ссылки и ссылающуюся на MemberRefEntry. Вид ссылки должен входить в [1, 9], а MemberRefEntry подчиняется различным ограничениям, зависящим от вида ссылки (JVMS 4.4.8).
Параметры:
refKind — вид ссылки дескриптора метода
reference — MemberRefEntry
Возвращает:
MethodHandleEntry, кодирующую вид ссылки и ссылающуюся на MemberRefEntry
См. также:
  • Виды ссылок
  • MethodHandleEntry::kind
  • MethodHandleEntry::reference

invokeDynamicEntry

default InvokeDynamicEntry invokeDynamicEntry(DynamicCallSiteDesc dcsd)
Возвращает InvokeDynamicEntry, описывающую ту же динамическую точку вызова, что и предоставленный DynamicCallSiteDesc.
Параметры:
dcsd — символьный дескриптор динамической точки вызова
Возвращает:
InvokeDynamicEntry, описывающую ту же динамическую точку вызова, что и предоставленный DynamicCallSiteDesc
См. также:
  • InvokeDynamicEntry::asSymbol

invokeDynamicEntry

InvokeDynamicEntry invokeDynamicEntry(BootstrapMethodEntry bootstrapMethodEntry, NameAndTypeEntry nameAndType)
Возвращает InvokeDynamicEntry, ссылающуюся на BootstrapMethodEntry и NameAndTypeEntry. BootstrapMethodEntry описывает метод начальной загрузки и аргументы его вызова, а также имя и тип; NameAndTypeEntry содержит имя и дескриптор метода.
Параметры:
bootstrapMethodEntry — BootstrapMethodEntry
nameAndType — NameAndTypeEntry
Возвращает:
InvokeDynamicEntry, ссылающуюся на BootstrapMethodEntry и NameAndTypeEntry
См. также:
  • InvokeDynamicEntry::bootstrap
  • InvokeDynamicEntry::nameAndType

constantDynamicEntry

default ConstantDynamicEntry constantDynamicEntry(DynamicConstantDesc<?> dcd)
Возвращает ConstantDynamicEntry, описывающую динамическую константу в виде предоставленного DynamicConstantDesc.
Параметры:
dcd — символический дескриптор константы
Возвращает:
ConstantDynamicEntry, описывающую динамическую константу в виде предоставленного DynamicConstantDesc
См. также:
  • ConstantDynamicEntry::asSymbol

constantDynamicEntry

ConstantDynamicEntry constantDynamicEntry(BootstrapMethodEntry bootstrapMethodEntry, NameAndTypeEntry nameAndType)
Возвращает ConstantDynamicEntry, ссылающуюся на BootstrapMethodEntry и NameAndTypeEntry. BootstrapMethodEntry описывает метод начальной загрузки и аргументы его вызова, а также имя и тип, а NameAndTypeEntry — имя и дескриптор поля.
Параметры:
bootstrapMethodEntry — BootstrapMethodEntry
nameAndType — NameAndTypeEntry
Возвращает:
ConstantDynamicEntry, ссылающуюся на BootstrapMethodEntry и NameAndTypeEntry
См. также:
  • 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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе документации Java SE, где представлены более подробные описания для разработчиков, содержащие обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/constantpool/ConstantPoolBuilder.html

Spec-Zone.ru

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