MethodHandles.DropArgumentsToMatch Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Adapts a target method handle to match the given parameter type list.
[Android.Runtime.Register("dropArgumentsToMatch", "(Ljava/lang/invoke/MethodHandle;ILjava/util/List;I)Ljava/lang/invoke/MethodHandle;", "", ApiSince=33)]
public static Java.Lang.Invoke.MethodHandle? DropArgumentsToMatch (Java.Lang.Invoke.MethodHandle? target, int skip, System.Collections.Generic.IList<Java.Lang.Class>? newTypes, int pos);
[<Android.Runtime.Register("dropArgumentsToMatch", "(Ljava/lang/invoke/MethodHandle;ILjava/util/List;I)Ljava/lang/invoke/MethodHandle;", "", ApiSince=33)>]
static member DropArgumentsToMatch : Java.Lang.Invoke.MethodHandle * int * System.Collections.Generic.IList<Java.Lang.Class> * int -> Java.Lang.Invoke.MethodHandle
Parameters
- target
- MethodHandle
the method handle to adapt
- skip
- Int32
number of targets parameters to disregard (they will be unchanged)
- pos
- Int32
place in newTypes
where the non-skipped target parameters must occur
Returns
a possibly adapted method handle
- Attributes
Remarks
Adapts a target method handle to match the given parameter type list. If necessary, adds placeholder arguments. Some leading parameters can be skipped before matching begins. The remaining types in the target
's parameter type list must be a sub-list of the newTypes
type list at the starting position pos
. The resulting handle will have the target handle's parameter type list, with any non-matching parameter types (before or after the matching sub-list) inserted in corresponding positions of the target's original parameters, as if by #dropArguments(MethodHandle, int, Class[])
.
The resulting handle will have the same return type as the target handle.
In more formal terms, assume these two type lists:<ul> <li>The target handle has the parameter type list S..., M...
, with as many types in S
as indicated by skip
. The M
types are those that are supposed to match part of the given type list, newTypes
. <li>The newTypes
list contains types P..., M..., A...
, with as many types in P
as indicated by pos
. The M
types are precisely those that the M
types in the target handle's parameter type list are supposed to match. The types in A
are additional types found after the matching sub-list. </ul> Given these assumptions, the result of an invocation of dropArgumentsToMatch
will have the parameter type list S..., P..., M..., A...
, with the P
and A
types inserted as if by #dropArguments(MethodHandle, int, Class[])
.
Added in 9.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.