Spec-Zone.ru › OpenJDK 24

Класс 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(Object o)
Сравнивает указанный объект с этим дескриптором для равенства.
final int hashCode()
Возвращает значение хэш-кода для этого объекта.
String invocationName()
Возвращает имя вызова, которое будет отображаться в NameAndType операнде invokedynamic.
MethodTypeDesc invocationType()
Возвращает MethodTypeDesc, описывающий тип вызова, который будет отображаться в NameAndType операнде invokedynamic.
static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, MethodTypeDesc invocationType)
Создает номинальный дескриптор для invokedynamic места вызова, метод загрузки которого не имеет статических аргументов, и для которого параметр имени является ConstantDescs.DEFAULT_NAME.
static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType)
Создает номинальный дескриптор для invokedynamic места вызова, метод загрузки которого не имеет статических аргументов.
static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType, ConstantDesc... bootstrapArgs)
Создает номинальный дескриптор для invokedynamic места вызова.
CallSite resolveCallSiteDesc(MethodHandles.Lookup lookup)
Рефлексивно вызывает метод загрузки со специфицированными аргументами и возвращает полученный CallSite
String toString()
Возвращает компактное текстовое описание этого описания места вызова, включая метод загрузки, имя и тип вызова, а также статические аргументы загрузки.
DynamicCallSiteDesc withArgs(ConstantDesc... bootstrapArgs)
Возвращает номинальный дескриптор для invokedynamic места вызова, метод загрузки, имя и тип вызова которого такие же, как у этого, но со специфицированными аргументами загрузки.
DynamicCallSiteDesc withNameAndType(String invocationName, MethodTypeDesc invocationType)
Возвращает номинальный дескриптор для invokedynamic места вызова, метод загрузки и аргументы загрузки которого такие же, как у этого, но с указанным именем и типом вызова

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

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

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 и оба дескриптора имеют равные методы загрузки, списки аргументов загрузки, имя вызова и тип вызова.
Overrides:
equals в классе Object
Параметры:
o - объект для сравнения с этим дескриптором
Возвращает:
true, если указанный объект равен этому дескриптору.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public final int hashCode()
Описание, скопированное из класса: Object
Возвращает значение хэш-кода для этого объекта. Этот метод поддерживается для использования в хэш-таблицах, таких как те, которые предоставляются HashMap.

Общий контракт hashCode:

  • Всякий раз, когда он вызывается для одного и того же объекта более одного раза во время выполнения Java-приложения, метод hashCode должен последовательно возвращать одно и то же целое число, при условии, что никакая информация, используемая в equals сравнениях объекта, не изменяется. Это целое число не должно оставаться постоянным от одного выполнения приложения к другому выполнению того же приложения.
  • Если два объекта равны согласно методу equals, то вызов метода hashCode для каждого из этих двух объектов должен дать один и тот же результат.
  • Не требуется, чтобы, если два объекта не равны согласно методу equals, вызов метода hashCode для каждого из них давал разные целочисленные результаты. Однако программист должен понимать, что получение разных целочисленных результатов для неравных объектов может улучшить производительность хэш-таблиц.
Overrides:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого объекта
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

toString

public String toString()
Возвращает компактное текстовое описание этого описания места вызова, включая метод запуска, имя и тип вызова, а также статические аргументы запуска.
Overrides:
toString в классе Object
Возвращает:
компактное текстовое описание этого описателя места вызова

© 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

Spec-Zone.ru

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