Spec-Zone.ru › OpenJDK 25

Интерфейс MethodTypeDesc

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

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

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

TypeDescriptor.OfField<F>, 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 — List объектов 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 — если класс, метод или поле не удалось разрешить с помощью рефлексии в процессе разрешения
Начиная с:
21

equals

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/MethodTypeDesc.html

Spec-Zone.ru

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