Класс DynamicCallSiteDesc
java.lang.Object
java.lang.constant.DynamicCallSiteDesc
public class DynamicCallSiteDesc extends Object
A номинальный дескриптор для
invokedynamic места вызова. Конкретные подтипы DynamicCallSiteDesc должны быть неизменяемыми, и их поведение не должно зависеть от тождественности объектов.
- Since:
- 12
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ConstantDesc[] |
bootstrapArgs() |
Возвращает ConstantDesc, описывающие аргументы загрузки для invokedynamic. |
MethodHandleDesc |
bootstrapMethod() |
Возвращает MethodHandleDesc, описывающий метод загрузки для invokedynamic. |
final boolean |
equals |
Сравнивает указанный объект с этим дескриптором для равенства. |
final int |
hashCode() |
Возвращает значение хэш-кода для этого объекта. |
String |
invocationName() |
Возвращает имя вызова, которое будет отображаться в NameAndType операнде invokedynamic. |
MethodTypeDesc |
invocationType() |
Возвращает MethodTypeDesc, описывающий тип вызова, который будет отображаться в NameAndType операнде invokedynamic. |
static DynamicCallSiteDesc |
of |
Создает номинальный дескриптор для invokedynamic места вызова, метод загрузки которого не имеет статических аргументов, и для которого параметр имени является ConstantDescs.DEFAULT_NAME. |
static DynamicCallSiteDesc |
of |
Создает номинальный дескриптор для invokedynamic места вызова, метод загрузки которого не имеет статических аргументов. |
static DynamicCallSiteDesc |
of |
Создает номинальный дескриптор для invokedynamic места вызова. |
CallSite |
resolveCallSiteDesc |
Рефлексивно вызывает метод загрузки со специфицированными аргументами и возвращает полученный CallSite
|
String |
toString() |
Возвращает компактное текстовое описание этого описания места вызова, включая метод загрузки, имя и тип вызова, а также статические аргументы загрузки. |
DynamicCallSiteDesc |
withArgs |
Возвращает номинальный дескриптор для invokedynamic места вызова, метод загрузки, имя и тип вызова которого такие же, как у этого, но со специфицированными аргументами загрузки. |
DynamicCallSiteDesc |
withNameAndType |
Возвращает номинальный дескриптор для invokedynamic места вызова, метод загрузки и аргументы загрузки которого такие же, как у этого, но с указанным именем и типом вызова |
Подробное описание методов
of
public static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType, ConstantDesc... bootstrapArgs)
Создаёт номинальный дескриптор для узла вызова
invokedynamic.- Параметры:
-
bootstrapMethod-DirectMethodHandleDesc, описывающий метод загрузки дляinvokedynamic -
invocationName- Неполное имя, которое должно появиться вNameAndTypeоперандеinvokedynamic -
invocationType-MethodTypeDesc, описывающий тип вызова, который должен появиться вNameAndTypeоперандеinvokedynamic -
bootstrapArgs-ConstantDesc, описывающие статические аргументы для загрузки, которые должны появиться вBootstrapMethodsатрибуте - Возвращает:
- номинальный дескриптор
- Исключения:
-
NullPointerException- если какой-либо параметр или его содержимоеnull -
IllegalArgumentException- если имя вызова имеет неправильный формат - См. Спецификацию виртуальной машины Java:
- 4.2.2 Неполные имена
of
public static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType)
Создаёт номинальный дескриптор для узла вызова
invokedynamic, метод загрузки которого не имеет статических аргументов.- Параметры:
-
bootstrapMethod- метод загрузки дляinvokedynamic -
invocationName- имя вызова, которое должно появиться вNameAndTypeоперандеinvokedynamic -
invocationType- тип вызова, который должен появиться вNameAndTypeоперандеinvokedynamic - Возвращает:
- номинальный дескриптор
- Исключения:
-
NullPointerException- если какой-либо параметр равен null -
IllegalArgumentException- если имя вызова имеет неправильный формат
of
public static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, MethodTypeDesc invocationType)
Создаёт номинальный дескриптор для узла вызова
invokedynamic, метод загрузки которого не имеет статических аргументов, а параметр имени имеет значение ConstantDescs.DEFAULT_NAME.- Параметры:
-
bootstrapMethod-DirectMethodHandleDesc, описывающий метод загрузки дляinvokedynamic -
invocationType-MethodTypeDesc, описывающий тип вызова, который должен появиться вNameAndTypeоперандеinvokedynamic - Возвращает:
- номинальный дескриптор
- Исключения:
-
NullPointerException- если какой-либо параметр равен null
withArgs
public DynamicCallSiteDesc withArgs(ConstantDesc... bootstrapArgs)
Возвращает номинальный дескриптор для узла вызова
invokedynamic, метод загрузки, имя и тип вызова которого совпадают с текущим, но со специфицированными аргументами загрузки.- Параметры:
-
bootstrapArgs-ConstantDesc, описывающие статические аргументы загрузки, которые должны появиться вBootstrapMethodsатрибуте - Возвращает:
- номинальный дескриптор
- Исключения:
-
NullPointerException- если аргумент или его содержимоеnull
withNameAndType
public DynamicCallSiteDesc withNameAndType(String invocationName, MethodTypeDesc invocationType)
Возвращает номинальный дескриптор для узла вызова
invokedynamic, метод загрузки и аргументы загрузки которого совпадают с текущим, но со специфицированными именем и типом вызова.- Параметры:
-
invocationName- Неполное имя, которое должно появиться вNameAndTypeоперандеinvokedynamic -
invocationType-MethodTypeDesc, описывающий тип вызова, который должен появиться вNameAndTypeоперандеinvokedynamic - Возвращает:
- номинальный дескриптор
- Исключения:
-
NullPointerException- если какой-либо параметр равен null -
IllegalArgumentException- если имя вызова имеет неправильный формат - См. Спецификацию виртуальной машины Java:
- 4.2.2 Неполные имена
invocationName
public String invocationName()
Возвращает имя вызова, которое должно появиться в
NameAndType операнде invokedynamic.- Возвращает:
- имя вызова
invocationType
public MethodTypeDesc invocationType()
Возвращает
MethodTypeDesc, описывающий тип вызова, который должен появиться в NameAndType операнде invokedynamic.- Возвращает:
- тип вызова
bootstrapMethod
public MethodHandleDesc bootstrapMethod()
Возвращает
MethodHandleDesc, описывающий метод загрузки для invokedynamic.- Возвращает:
- метод загрузки для
invokedynamic
bootstrapArgs
public ConstantDesc[] bootstrapArgs()
Возвращает
ConstantDesc, описывающие аргументы загрузки для invokedynamic. Возвращаемый массив всегда не null. Массив нулевой длины возвращается, если у этого DynamicCallSiteDesc нет аргументов загрузки.- Возвращает:
- аргументы загрузки для
invokedynamic
resolveCallSiteDesc
public CallSite resolveCallSiteDesc(MethodHandles.Lookup lookup) throws Throwable
Рефлексивно вызывает метод загрузки с указанными аргументами и возвращает результирующий
CallSite
- Параметры:
-
lookup-MethodHandles.Lookup, используемый для разрешения имён классов - Возвращает:
-
CallSite - Исключения:
-
Throwable- если метод загрузки генерирует исключение
equals
public final boolean equals(Object o)
Сравнивает указанный объект с этим дескриптором на равенство. Возвращает true тогда и только тогда, когда указанный объект также является DynamicCallSiteDesc и оба дескриптора имеют равные методы загрузки, списки аргументов загрузки, имя вызова и тип вызова.
hashCode
public final int hashCode()
Описание, скопированное из класса:
ObjectВозвращает значение хэш-кода для этого объекта. Этот метод поддерживается для использования в хэш-таблицах, таких как те, которые предоставляются
HashMap. Общий контракт hashCode:
- Всякий раз, когда он вызывается для одного и того же объекта более одного раза во время выполнения Java-приложения, метод
hashCodeдолжен последовательно возвращать одно и то же целое число, при условии, что никакая информация, используемая вequalsсравнениях объекта, не изменяется. Это целое число не должно оставаться постоянным от одного выполнения приложения к другому выполнению того же приложения. - Если два объекта равны согласно методу
equals, то вызов методаhashCodeдля каждого из этих двух объектов должен дать один и тот же результат. - Не требуется, чтобы, если два объекта не равны согласно методу
equals, вызов методаhashCodeдля каждого из них давал разные целочисленные результаты. Однако программист должен понимать, что получение разных целочисленных результатов для неравных объектов может улучшить производительность хэш-таблиц.
toString
© 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/constant/DynamicCallSiteDesc.html