Spec-Zone.ru › OpenJDK 27

Интерфейс 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
Модификатор и тип Метод Описание
int bootstrapMethodCount()
Возвращает количество записей в таблице методов начальной загрузки.
BootstrapMethodEntry bootstrapMethodEntry(int index)
Возвращает BootstrapMethodEntry с указанным индексом в таблице методов начальной загрузки.
PoolEntry entryByIndex(int index)
Возвращает запись с указанным индексом.
<T extends PoolEntry>
T
entryByIndex(int index, Class<T> cls)
Возвращает запись указанного типа с заданным индексом.
default Iterator<PoolEntry> iterator()
Возвращает итератор по записям пула.
int size()
Возвращает исключительную верхнюю границу допустимых индексов этого пула констант.

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

forEach, spliterator
Модификатор и тип Метод Описание
default void forEach(Consumer<? super PoolEntry> action)
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не вызовет исключение.
default Spliterator<PoolEntry> spliterator()
Создаёт Spliterator для элементов, описываемых этим Iterable.

Подробное описание методов

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
Исключения:
IllegalArgumentException — если refKind не является u1
См. также:
  • Виды ссылок
  • 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, описывающую предоставленный метод начальной загрузки и аргументы
Исключения:
IllegalArgumentException — если количество аргументов превышает ограничение u2

bsmEntry

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, 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.

Spec-Zone.ru

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