Интерфейс 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 |
Возвращает MethodTypeDesc, идентичный данному, за исключением того, что тип одного параметра изменен на указанный тип. |
MethodTypeDesc |
changeReturnType |
Возвращает MethodTypeDesc, идентичный данному, за исключением того, что у него указан тип возвращаемого значения. |
String |
descriptorString() |
Возвращает строку дескриптора типа метода. |
default String |
displayDescriptor() |
Возвращает понятное человеку представление дескриптора этого типа метода, используя канонические имена типов параметров и возвращаемого значения. |
MethodTypeDesc |
dropParameterTypes |
Возвращает MethodTypeDesc, идентичный данному, за исключением того, что диапазон типов параметров удален. |
boolean |
equals |
Сравнивает указанный объект с этим дескриптором на равенство. |
MethodTypeDesc |
insertParameterTypes |
Возвращает MethodTypeDesc, идентичный данному, за исключением того, что добавлен диапазон дополнительных типов параметров. |
static MethodTypeDesc |
of |
Возвращает MethodTypeDesc с указанным типом возвращаемого значения и без типов параметров. |
static MethodTypeDesc |
of |
Возвращает MethodTypeDesc с указанными типом возвращаемого значения и типами параметров. |
static MethodTypeDesc |
of |
Возвращает MethodTypeDesc с указанными типом возвращаемого значения и списком типов параметров. |
static MethodTypeDesc |
ofDescriptor |
Создает MethodTypeDesc по строке дескриптора метода. |
ClassDesc[] |
parameterArray() |
Возвращает типы параметров в виде массива. |
int |
parameterCount() |
Возвращает количество параметров типа метода, описанного этим MethodTypeDesc. |
List |
parameterList() |
Возвращает типы параметров в виде неизменяемого List. |
ClassDesc |
parameterType |
Возвращает тип параметра index-го параметра типа метода, описанного этим MethodTypeDesc. |
MethodType |
resolveConstantDesc |
|
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, оба дескриптора имеют одинаковую арность, их типы возвращаемых значений равны, а каждая пара соответствующих типов параметров равна.
© 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