Spec-Zone.ru › OpenJDK 17

Класс DynamicCallSiteDesc

java.lang.Object
java.lang.constant.DynamicCallSiteDesc
public class DynamicCallSiteDesc extends Object
Именанованный дескриптор для сайта вызова invokedynamic.

Конкретные подтипы DynamicCallSiteDesc должны быть неизменяемыми, а их поведение не должно зависеть от идентификатора объекта.

Since:
12

Краткое описание методов

Модификатор и тип Метод Описание
ConstantDesc[] bootstrapArgs()
Возвращает ConstantDescs, описывающие аргументы загрузки для 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:
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, 2021, 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/17/docs/api/java.base/java/lang/constant/DynamicCallSiteDesc.html

Spec-Zone.ru

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