Spec-Zone.ru › OpenJDK 25

Класс DynamicCallSiteDesc

java.lang.Object
java.lang.constant.DynamicCallSiteDesc
public final class DynamicCallSiteDesc extends Object
invokedynamic — это номинальный дескриптор точки вызова.

DynamicCallSiteDesc неизменяем и его поведение не зависит от идентичности объекта.

Начиная с:
12

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

Модификатор и тип Метод Описание
ConstantDesc[] bootstrapArgs()
Возвращает ConstantDesc, описывающие аргументы bootstrap-метода для invokedynamic.
MethodHandleDesc bootstrapMethod()
Возвращает MethodHandleDesc, описывающий bootstrap-метод для 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, bootstrap-метод которой не имеет статических аргументов, а параметр имени равен ConstantDescs.DEFAULT_NAME.
static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType)
Создает номинальный дескриптор для точки вызова invokedynamic, bootstrap-метод которой не имеет статических аргументов.
static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType, ConstantDesc... bootstrapArgs)
Создает номинальный дескриптор для точки вызова invokedynamic.
CallSite resolveCallSiteDesc(MethodHandles.Lookup lookup)
Рефлексивно вызывает bootstrap-метод с указанными аргументами и возвращает результирующий CallSite
String toString()
Возвращает краткое текстовое описание этой точки вызова, включая bootstrap-метод, имя и тип вызова, а также статические аргументы bootstrap-метода.
DynamicCallSiteDesc withArgs(ConstantDesc... bootstrapArgs)
Возвращает номинальный дескриптор точки вызова invokedynamic, у которой bootstrap-метод, имя и тип вызова совпадают с текущими, но указаны заданные аргументы bootstrap-метода.
DynamicCallSiteDesc withNameAndType(String invocationName, MethodTypeDesc invocationType)
Возвращает номинальный дескриптор точки вызова invokedynamic, у которой bootstrap-метод и аргументы bootstrap-метода совпадают с текущими, но указаны заданные invocationName и invocation invocationType

Методы, объявленные в классе 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, описывающий bootstrap-метод для invokedynamic
invocationName — неквалифицированное имя, которое будет указано в операнде NameAndType инструкции invokedynamic
invocationType — MethodTypeDesc, описывающий тип вызова, который будет указан в операнде NameAndType инструкции invokedynamic
bootstrapArgs — ConstantDesc, описывающие статические аргументы bootstrap-метода, которые будут указаны в атрибуте BootstrapMethods
Возвращает:
номинальный дескриптор
Вызывает исключение:
NullPointerException — если какой-либо параметр или его содержимое равно null
IllegalArgumentException — если имя вызова имеет неверный формат
См. Спецификацию виртуальной машины Java:
4.2.2 Неквалифицированные имена

of

public static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType)
Создает номинальный дескриптор для точки вызова invokedynamic, bootstrap-метод которой не имеет статических аргументов.
Параметры:
bootstrapMethod — bootstrap-метод для invokedynamic
invocationName — invocationName, которое будет указано в операнде NameAndType инструкции invokedynamic
invocationType — invocation invocationType, который будет указан в операнде NameAndType инструкции invokedynamic
Возвращает:
номинальный дескриптор
Вызывает исключение:
NullPointerException — если какой-либо параметр равен null
IllegalArgumentException — если имя вызова имеет неверный формат

of

public static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, MethodTypeDesc invocationType)
Создает номинальный дескриптор для точки вызова invokedynamic, bootstrap-метод которой не имеет статических аргументов, а параметр имени равен ConstantDescs.DEFAULT_NAME.
Параметры:
bootstrapMethod — DirectMethodHandleDesc, описывающий bootstrap-метод для invokedynamic
invocationType — MethodTypeDesc, описывающий тип вызова, который будет указан в операнде NameAndType инструкции invokedynamic
Возвращает:
номинальный дескриптор
Вызывает исключение:
NullPointerException — если какой-либо параметр равен null

withArgs

public DynamicCallSiteDesc withArgs(ConstantDesc... bootstrapArgs)
Возвращает номинальный дескриптор точки вызова invokedynamic, у которой bootstrap-метод, имя и тип вызова совпадают с текущими, но указаны заданные аргументы bootstrap-метода.
Параметры:
bootstrapArgs — ConstantDesc, описывающие статические аргументы bootstrap-метода, которые будут указаны в атрибуте BootstrapMethods
Возвращает:
номинальный дескриптор
Вызывает исключение:
NullPointerException — если аргумент или его содержимое равно null

withNameAndType

public DynamicCallSiteDesc withNameAndType(String invocationName, MethodTypeDesc invocationType)
Возвращает номинальный дескриптор точки вызова invokedynamic, у которой bootstrap-метод и аргументы bootstrap-метода совпадают с текущими, но указаны заданные invocationName и invocation invocationType
Параметры:
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, описывающий bootstrap-метод для invokedynamic.
Возвращает:
bootstrap-метод для invokedynamic

bootstrapArgs

public ConstantDesc[] bootstrapArgs()
Возвращает ConstantDesc, описывающие аргументы bootstrap-метода для invokedynamic. Возвращаемый массив всегда не равен null. Если у этого DynamicCallSiteDesc нет аргументов bootstrap-метода, возвращается массив нулевой длины.
Возвращает:
аргументы bootstrap-метода для invokedynamic

resolveCallSiteDesc

public CallSite resolveCallSiteDesc(MethodHandles.Lookup lookup) throws Throwable
Рефлексивно вызывает bootstrap-метод с указанными аргументами и возвращает результирующий CallSite
Параметры:
lookup — MethodHandles.Lookup, используемый для разрешения имен классов
Возвращает:
CallSite
Вызывает исключение:
Throwable — если bootstrap-метод выбрасывает исключение

equals

public final boolean equals(Object o)
Сравнивает указанный объект с этим дескриптором на равенство. Возвращает true тогда и только тогда, когда указанный объект также является DynamicCallSiteDesc и bootstrap-методы, списки аргументов bootstrap-метода, имена вызова и типы вызова обоих дескрипторов равны.
Переопределяет:
equals в классе Object
Параметры:
o — DynamicCallSiteDesc для сравнения с этим DynamicCallSiteDesc
Возвращает:
true, если указанный DynamicCallSiteDesc равен этому DynamicCallSiteDesc.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

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

Общий контракт метода hashCode таков:

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

toString

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, способы обхода проблем и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/DynamicCallSiteDesc.html

Spec-Zone.ru

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