Spec-Zone.ru › OpenJDK 21

Класс DynamicCallSiteDesc

java.lang.Object
java.lang.constant.DynamicCallSiteDesc
public class DynamicCallSiteDesc extends Object
Описание вызова 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 типа, у метода запуска которого нет статических аргументов, и параметр name равен 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 Virtual Machine:
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 , у которого метод инициализации не имеет статических аргументов и для которого параметр name равен 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 Virtual Machine:
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()
Возвращает компактное текстовое описание этого описания места вызова, включая метод загрузки, имя и тип вызова, а также статические аргументы загрузки.
Переопределяет:
toString в классе Object
Возвращает:
Компактное текстовое описание этого описателя места вызова

© 1993, 2023, 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/21/docs/api/java.base/java/lang/constant/DynamicCallSiteDesc.html

Spec-Zone.ru

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