Класс 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 |
Сравнивает указанный объект с этим дескриптором на равенство. |
final int |
hashCode() |
Возвращает хеш-код этого объекта. |
String |
invocationName() |
Возвращает имя вызова, которое будет указано в операнде NameAndType инструкции invokedynamic. |
MethodTypeDesc |
invocationType() |
Возвращает MethodTypeDesc, описывающий тип вызова, который будет указан в операнде NameAndType инструкции invokedynamic. |
static DynamicCallSiteDesc |
of |
Создает номинальный дескриптор для точки вызова invokedynamic, bootstrap-метод которой не имеет статических аргументов, а параметр имени равен ConstantDescs.DEFAULT_NAME. |
static DynamicCallSiteDesc |
of |
Создает номинальный дескриптор для точки вызова invokedynamic, bootstrap-метод которой не имеет статических аргументов. |
static DynamicCallSiteDesc |
of |
Создает номинальный дескриптор для точки вызова invokedynamic. |
CallSite |
resolveCallSiteDesc |
Рефлексивно вызывает bootstrap-метод с указанными аргументами и возвращает результирующий CallSite
|
String |
toString() |
Возвращает краткое текстовое описание этой точки вызова, включая bootstrap-метод, имя и тип вызова, а также статические аргументы bootstrap-метода. |
DynamicCallSiteDesc |
withArgs |
Возвращает номинальный дескриптор точки вызова invokedynamic, у которой bootstrap-метод, имя и тип вызова совпадают с текущими, но указаны заданные аргументы bootstrap-метода. |
DynamicCallSiteDesc |
withNameAndType |
Возвращает номинальный дескриптор точки вызова invokedynamic, у которой bootstrap-метод и аргументы bootstrap-метода совпадают с текущими, но указаны заданные invocationName и invocation invocationType |
Подробное описание методов
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-метода, имена вызова и типы вызова обоих дескрипторов равны.hashCode
public final int hashCode()
Описание скопировано из класса:
ObjectВозвращает хеш-код этого объекта. Этот метод поддерживается для использования в хеш-таблицах, например в тех, которые предоставляются
HashMap. Общий контракт метода hashCode таков:
- При каждом вызове для одного и того же объекта в ходе выполнения Java-приложения метод
hashCodeдолжен возвращать одно и то же целое число, если только информация, используемая при сравнении объектов с помощьюequals, не изменяется. Это целое число не обязано оставаться неизменным при разных запусках одного и того же приложения. - Если два объекта равны согласно методу
equals, то вызов методаhashCodeдля каждого из этих объектов должен возвращать одинаковое целое число. - Не требуется, чтобы вызов метода
hashCodeдля двух объектов, не равных согласно методуequals, возвращал разные целые числа. Однако программисту следует учитывать, что получение разных целых чисел для неравных объектов может повысить производительность хеш-таблиц.
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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/DynamicCallSiteDesc.html