# Uses of Interface
java.lang.constant.MethodTypeDesc

Packages that use MethodTypeDesc
Package
Description
java.lang.constant
Classes and interfaces to represent nominal descriptors for run-time entities such as classes or method handles, and classfile entities such as constant pool entries or `invokedynamic` call sites.
java.lang.invoke
The `java.lang.invoke` package provides low-level primitives for interacting with the Java Virtual Machine.

## Uses of MethodTypeDesc in java.lang.constant

Fields in java.lang.constant declared as MethodTypeDesc
Modifier and Type
Field
Description
`static final MethodTypeDesc`
ConstantDescs.`MTD_void`
Nominal descriptor representing the method descriptor `()V`, taking no argument and returning `void`.
Methods in java.lang.constant that return MethodTypeDesc
Modifier and Type
Method
Description
`MethodTypeDesc`
MethodTypeDesc.`changeParameterType(int index, ClassDesc paramType)`
Returns a MethodTypeDesc that is identical to this one, except that a single parameter type has been changed to the specified type.
`MethodTypeDesc`
MethodTypeDesc.`changeReturnType(ClassDesc returnType)`
Returns a MethodTypeDesc that is identical to this one, except with the specified return type.
`MethodTypeDesc`
MethodTypeDesc.`dropParameterTypes(int start, int end)`
Returns a MethodTypeDesc that is identical to this one, except that a range of parameter types have been removed.
`MethodTypeDesc`
MethodTypeDesc.`insertParameterTypes(int pos, ClassDesc... paramTypes)`
Returns a MethodTypeDesc that is identical to this one, except that a range of additional parameter types have been inserted.
`MethodTypeDesc`
DynamicCallSiteDesc.`invocationType()`
Returns a `MethodTypeDesc` describing the invocation type that would appear in the `NameAndType` operand of the `invokedynamic`.
`MethodTypeDesc`
MethodHandleDesc.`invocationType()`
Returns a `MethodTypeDesc` describing the invocation type of the method handle described by this nominal descriptor.
`static MethodTypeDesc`
MethodTypeDesc.`of(ClassDesc returnDesc)`
Returns a MethodTypeDesc with the given return type and no parameter types.
`static MethodTypeDesc`
MethodTypeDesc.`of(ClassDesc returnDesc, ClassDesc... paramDescs)`
Returns a MethodTypeDesc given the return type and parameter types.
`static MethodTypeDesc`
MethodTypeDesc.`of(ClassDesc returnDesc, List<ClassDesc> paramDescs)`
Returns a MethodTypeDesc given the return type and a list of parameter types.
`static MethodTypeDesc`
MethodTypeDesc.`ofDescriptor(String descriptor)`
Creates a MethodTypeDesc given a method descriptor string.
Methods in java.lang.constant with parameters of type MethodTypeDesc
Modifier and Type
Method
Description
`default MethodHandleDesc`
MethodHandleDesc.`asType(MethodTypeDesc type)`
Returns a MethodHandleDesc that describes this method handle adapted to a different type, as if by `MethodHandle.asType(MethodType)`.
`static DynamicCallSiteDesc`
DynamicCallSiteDesc.`of(DirectMethodHandleDesc bootstrapMethod, MethodTypeDesc invocationType)`
Creates a nominal descriptor for an `invokedynamic` call site whose bootstrap method has no static arguments and for which the name parameter is `ConstantDescs.DEFAULT_NAME`.
`static DynamicCallSiteDesc`
DynamicCallSiteDesc.`of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType)`
Creates a nominal descriptor for an `invokedynamic` call site whose bootstrap method has no static arguments.
`static DynamicCallSiteDesc`
DynamicCallSiteDesc.`of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType, ConstantDesc... bootstrapArgs)`
Creates a nominal descriptor for an `invokedynamic` call site.
`static DirectMethodHandleDesc`
MethodHandleDesc.`ofMethod(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, MethodTypeDesc lookupMethodType)`
Creates a MethodHandleDesc corresponding to an invocation of a declared method or constructor.
`DynamicCallSiteDesc`
DynamicCallSiteDesc.`withNameAndType(String invocationName, MethodTypeDesc invocationType)`
Returns a nominal descriptor for an `invokedynamic` call site whose bootstrap and bootstrap arguments are the same as this one, but with the specified invocationName and invocation invocationType

## Uses of MethodTypeDesc in java.lang.invoke

Methods in java.lang.invoke that return types with arguments of type MethodTypeDesc
Modifier and Type
Method
Description
`Optional<MethodTypeDesc>`
MethodType.`describeConstable()`
Returns a nominal descriptor for this instance, if one can be constructed, or an empty `Optional` if one cannot be.