Spec-Zone.ru › OpenJDK 21

Интерфейс MethodTypeDesc

Все суперинтерфейсы:
ConstantDesc, TypeDescriptor, TypeDescriptor.OfMethod<ClassDesc,MethodTypeDesc>
public sealed interface MethodTypeDesc extends ConstantDesc, TypeDescriptor.OfMethod<ClassDesc,MethodTypeDesc>
Номинальный дескриптор для константы MethodType.
С момента:
12

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в интерфейсе java.lang.invoke.TypeDescriptor

TypeDescriptor.OfField<F extends TypeDescriptor.OfField<F>>, TypeDescriptor.OfMethod<F extends TypeDescriptor.OfField<F>,M extends TypeDescriptor.OfMethod<F,M>>

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

Модификатор и тип Метод Описание
MethodTypeDesc changeParameterType(int index, ClassDesc paramType)
Возвращает MethodTypeDesc, идентичный этому, за исключением того, что тип одного параметра изменен на указанный.
MethodTypeDesc changeReturnType(ClassDesc returnType)
Возвращает MethodTypeDesc, идентичный этому, за исключением указанного возвращаемого типа.
String descriptorString()
Возвращает строку-дескриптор типа метода.
default String displayDescriptor()
Возвращает удобочитаемый дескриптор для этого типа метода, используя канонические имена параметров и возвращаемого типа.
MethodTypeDesc dropParameterTypes(int start, int end)
Возвращает MethodTypeDesc, идентичный этому, за исключением удаления диапазона типов параметров.
boolean equals(Object o)
Сравнивает указанный объект с этим дескриптором на равенство.
MethodTypeDesc insertParameterTypes(int pos, ClassDesc... paramTypes)
Возвращает MethodTypeDesc, идентичный этому, за исключением вставки диапазона дополнительных типов параметров.
static MethodTypeDesc of(ClassDesc returnDesc)
Возвращает MethodTypeDesc с указанным возвращаемым типом и без типов параметров.
static MethodTypeDesc of(ClassDesc returnDesc, ClassDesc... paramDescs)
Возвращает MethodTypeDesc с заданным возвращаемым типом и типами параметров.
static MethodTypeDesc of(ClassDesc returnDesc, List<ClassDesc> paramDescs)
Возвращает MethodTypeDesc с заданным возвращаемым типом и списком типов параметров.
static MethodTypeDesc ofDescriptor(String descriptor)
Создаёт MethodTypeDesc по строке-дескриптору метода.
ClassDesc[] parameterArray()
Возвращает типы параметров в виде массива.
int parameterCount()
Возвращает количество параметров типа метода, описываемого этим MethodTypeDesc.
List<ClassDesc> parameterList()
Возвращает типы параметров в виде неизменяемого List.
ClassDesc parameterType(int index)
Возвращает тип параметра index-го параметра типа метода, описываемого этим MethodTypeDesc.
MethodType resolveConstantDesc(MethodHandles.Lookup lookup)
Решает этот дескриптор рефлексивно, моделируя поведение разрешения JVMS 5.4.3 и поведение контроля доступа JVMS 5.4.4.
ClassDesc returnType()
Возвращает возвращаемый тип типа метода, описанного этим MethodTypeDesc.

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

ofDescriptor

static MethodTypeDesc ofDescriptor(String descriptor)
Создаёт MethodTypeDesc по строке описания метода.
Параметры:
descriptor - строка описания метода
Возвращает:
MethodTypeDesc, описывающий желаемый тип метода
Исключения:
NullPointerException - если аргумент null
IllegalArgumentException - если строка описания не является корректным описанием метода
См. Спецификацию виртуальной машины Java:
4.3.3 Описания методов

of

static MethodTypeDesc of(ClassDesc returnDesc)
Возвращает MethodTypeDesc с заданным типом возвращаемого значения и без типов параметров.
Параметры:
returnDesc - ClassDesc, описывающий тип возвращаемого значения
Возвращает:
MethodTypeDesc с заданным типом возвращаемого значения и без типов параметров
Исключения:
NullPointerException - если returnDesc null
С:
21

of

static MethodTypeDesc of(ClassDesc returnDesc, List<ClassDesc> paramDescs)
Возвращает MethodTypeDesc по заданному типу возвращаемого значения и списку типов параметров.
Параметры:
returnDesc - ClassDesc, описывающий тип возвращаемого значения
paramDescs - Список ClassDesc описывающих типы параметров
Возвращает:
MethodTypeDesc по заданному типу возвращаемого значения и списку типов параметров
Исключения:
NullPointerException - если любой аргумент или его содержимое null
IllegalArgumentException - если любой элемент paramDescs является ClassDesc для void
С:
21

of

static MethodTypeDesc of(ClassDesc returnDesc, ClassDesc... paramDescs)
Возвращает MethodTypeDesc по заданному типу возвращаемого значения и типам параметров.
Параметры:
returnDesc - ClassDesc, описывающий тип возвращаемого значения
paramDescs - ClassDesc описывающие типы аргументов
Возвращает:
MethodTypeDesc, описывающий желаемый тип метода
Исключения:
NullPointerException - если любой аргумент или его содержимое null
IllegalArgumentException - если любой элемент paramDescs является ClassDesc для void

returnType

ClassDesc returnType()
Возвращает тип возвращаемого значения для данного MethodTypeDesc.
Унаследовано от:
returnType в интерфейсе TypeDescriptor.OfMethod<ClassDesc,MethodTypeDesc>
Возвращает:
ClassDesc, описывающий тип возвращаемого значения метода

parameterCount

int parameterCount()
Возвращает количество параметров для данного MethodTypeDesc.
Унаследовано от:
parameterCount в интерфейсе TypeDescriptor.OfMethod<ClassDesc,MethodTypeDesc>
Возвращает:
количество параметров

parameterType

ClassDesc parameterType(int index)
Возвращает тип параметра с индексом index для данного MethodTypeDesc.
Унаследовано от:
parameterType в интерфейсе TypeDescriptor.OfMethod<ClassDesc,MethodTypeDesc>
Параметры:
index - индекс параметра для получения
Возвращает:
ClassDesc, описывающий желаемый тип параметра
Исключения:
IndexOutOfBoundsException - если индекс находится вне полуоткрытого диапазона [0, parameterCount())

parameterList

List<ClassDesc> parameterList()
Возвращает типы параметров в качестве неизменяемого List.
Унаследовано от:
parameterList в интерфейсе TypeDescriptor.OfMethod<ClassDesc,MethodTypeDesc>
Возвращает:
List ClassDesc, описывающий типы параметров

parameterArray

ClassDesc[] parameterArray()
Возвращает типы параметров в виде массива.
Унаследовано от:
parameterArray в интерфейсе TypeDescriptor.OfMethod<ClassDesc,MethodTypeDesc>
Возвращает:
массив ClassDesc описывающий типы параметров

changeReturnType

MethodTypeDesc changeReturnType(ClassDesc returnType)
Возвращает MethodTypeDesc, идентичный текущему, но с заданным типом возвращаемого значения.
Унаследовано от:
changeReturnType в интерфейсе TypeDescriptor.OfMethod<ClassDesc,MethodTypeDesc>
Параметры:
returnType - ClassDesc, описывающий новый тип возвращаемого значения
Возвращает:
MethodTypeDesc, описывающий желаемый тип метода
Исключения:
NullPointerException - если аргумент null

changeParameterType

MethodTypeDesc changeParameterType(int index, ClassDesc paramType)
Возвращает MethodTypeDesc, идентичный текущему, но с изменённым типом одного параметра.
Унаследовано от:
changeParameterType в интерфейсе TypeDescriptor.OfMethod<ClassDesc,MethodTypeDesc>
Параметры:
index - индекс параметра для изменения
paramType - ClassDesc, описывающий новый тип параметра
Возвращает:
MethodTypeDesc, описывающий желаемый тип метода
Исключения:
NullPointerException - если любой аргумент null
IndexOutOfBoundsException - если индекс вне полуоткрытого диапазона [0, parameterCount)

dropParameterTypes

MethodTypeDesc dropParameterTypes(int start, int end)
Возвращает MethodTypeDesc, идентичный текущему, но с удалённым диапазоном типов параметров.
Унаследовано от:
dropParameterTypes в интерфейсе TypeDescriptor.OfMethod<ClassDesc,MethodTypeDesc>
Параметры:
start - индекс первого параметра для удаления
end - индекс после последнего параметра для удаления
Возвращает:
MethodTypeDesc, описывающий желаемый тип метода
Исключения:
IndexOutOfBoundsException - если start вне полуоткрытого диапазона [0, parameterCount), или end вне закрытого диапазона [0, parameterCount], или если start > end

insertParameterTypes

MethodTypeDesc insertParameterTypes(int pos, ClassDesc... paramTypes)
Возвращает MethodTypeDesc, идентичный текущему, но с вставленным диапазоном дополнительных типов параметров.
Унаследовано от:
insertParameterTypes в интерфейсе TypeDescriptor.OfMethod<ClassDesc,MethodTypeDesc>
Параметры:
pos - индекс вставки первого вставляемого параметра
paramTypes - ClassDesc, описывающие новые типы параметров для вставки
Возвращает:
MethodTypeDesc, описывающий желаемый тип метода
Исключения:
NullPointerException - если любой аргумент или его содержимое null
IndexOutOfBoundsException - если pos вне закрытого диапазона [0, parameterCount]
IllegalArgumentException - если любой элемент paramTypes является ClassDesc для void

descriptorString

String descriptorString()
Возвращает строку-дескриптор типа метода.
Указано в:
descriptorString в интерфейсе TypeDescriptor
Возвращает:
строку-дескриптор типа метода
См. Спецификацию виртуальной машины Java:
4.3.3 Дескрипторы методов

displayDescriptor

default String displayDescriptor()
Возвращает удобочитаемый дескриптор этого типа метода, используя канонические имена типов параметров и возвращаемого значения.
Возвращает:
удобочитаемый дескриптор этого типа метода

resolveConstantDesc

MethodType resolveConstantDesc(MethodHandles.Lookup lookup) throws ReflectiveOperationException
Разрешает этот дескриптор рефлексивно, моделируя поведение разрешения JVMS 5.4.3 и поведение контроля доступа JVMS 5.4.4. Контекст разрешения и контроля доступа предоставляется параметром MethodHandles.Lookup. Кэширование результата не выполняется.
Указано в:
resolveConstantDesc в интерфейсе ConstantDesc
Примечание API:
MethodTypeDesc может представлять дескрипторы типов методов, которые не могут быть представлены MethodType, например, методы с более чем 255 слотами параметров, поэтому попытки разрешения могут привести к ошибкам.
Параметры:
lookup - MethodHandles.Lookup для обеспечения разрешения имен и контекста контроля доступа
Возвращает:
разрешенное значение константы
Изначает:
ReflectiveOperationException - если класс, метод или поле не удалось разрешить рефлексивно в ходе разрешения

equals

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

© 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/MethodTypeDesc.html

Spec-Zone.ru

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