Package java.dyn
Class MethodHandles
- java.lang.Object
-
- java.dyn.MethodHandles
-
public class MethodHandles extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MethodHandles.Lookup
-
Constructor Summary
Constructors Constructor Description MethodHandles()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static MethodHandle
arrayElementGetter(java.lang.Class<?> arrayClass)
static MethodHandle
arrayElementSetter(java.lang.Class<?> arrayClass)
static MethodHandle
catchException(MethodHandle target, java.lang.Class<? extends java.lang.Throwable> exType, MethodHandle handler)
static MethodHandle
collectArguments(MethodHandle target, MethodType newType)
static MethodHandle
convertArguments(MethodHandle target, MethodType newType)
static MethodHandle
dropArguments(MethodHandle target, int pos, java.lang.Class<?>... valueTypes)
static MethodHandle
exactInvoker(MethodType type)
static MethodHandle
foldArguments(MethodHandle target, MethodHandle combiner)
static MethodHandle
genericInvoker(MethodType type, int objectArgCount, boolean varargs)
static MethodHandle
guardWithTest(MethodHandle test, MethodHandle target, MethodHandle fallback)
static MethodHandle
insertArguments(MethodHandle target, int pos, java.lang.Object... value)
static java.lang.Object
invoke(MethodHandle target, java.lang.Object... arguments)
static java.lang.Object
invoke_0(MethodHandle target)
static java.lang.Object
invoke_1(MethodHandle target, java.lang.Object a0)
static java.lang.Object
invoke_10(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3, java.lang.Object a4, java.lang.Object a5, java.lang.Object a6, java.lang.Object a7, java.lang.Object a8, java.lang.Object a9)
static java.lang.Object
invoke_2(MethodHandle target, java.lang.Object a0, java.lang.Object a1)
static java.lang.Object
invoke_3(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2)
static java.lang.Object
invoke_4(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3)
static java.lang.Object
invoke_5(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3, java.lang.Object a4)
static java.lang.Object
invoke_6(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3, java.lang.Object a4, java.lang.Object a5)
static java.lang.Object
invoke_7(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3, java.lang.Object a4, java.lang.Object a5, java.lang.Object a6)
static java.lang.Object
invoke_8(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3, java.lang.Object a4, java.lang.Object a5, java.lang.Object a6, java.lang.Object a7)
static java.lang.Object
invoke_9(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3, java.lang.Object a4, java.lang.Object a5, java.lang.Object a6, java.lang.Object a7, java.lang.Object a8)
static MethodHandles.Lookup
lookup()
static MethodHandle
permuteArguments(MethodHandle target, MethodType newType, int[] reorder)
static MethodHandle
spreadArguments(MethodHandle target, MethodType newType)
static MethodHandle
throwException(java.lang.Class<?> returnType, java.lang.Class<? extends java.lang.Throwable> exType)
-
-
-
Method Detail
-
lookup
public static MethodHandles.Lookup lookup()
-
arrayElementGetter
public static MethodHandle arrayElementGetter(java.lang.Class<?> arrayClass) throws java.lang.IllegalArgumentException
- Throws:
java.lang.IllegalArgumentException
-
arrayElementSetter
public static MethodHandle arrayElementSetter(java.lang.Class<?> arrayClass) throws java.lang.IllegalArgumentException
- Throws:
java.lang.IllegalArgumentException
-
invoke
public static java.lang.Object invoke(MethodHandle target, java.lang.Object... arguments)
-
invoke_0
public static java.lang.Object invoke_0(MethodHandle target) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
invoke_1
public static java.lang.Object invoke_1(MethodHandle target, java.lang.Object a0) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
invoke_2
public static java.lang.Object invoke_2(MethodHandle target, java.lang.Object a0, java.lang.Object a1) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
invoke_3
public static java.lang.Object invoke_3(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
invoke_4
public static java.lang.Object invoke_4(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
invoke_5
public static java.lang.Object invoke_5(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3, java.lang.Object a4) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
invoke_6
public static java.lang.Object invoke_6(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3, java.lang.Object a4, java.lang.Object a5) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
invoke_7
public static java.lang.Object invoke_7(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3, java.lang.Object a4, java.lang.Object a5, java.lang.Object a6) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
invoke_8
public static java.lang.Object invoke_8(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3, java.lang.Object a4, java.lang.Object a5, java.lang.Object a6, java.lang.Object a7) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
invoke_9
public static java.lang.Object invoke_9(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3, java.lang.Object a4, java.lang.Object a5, java.lang.Object a6, java.lang.Object a7, java.lang.Object a8) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
invoke_10
public static java.lang.Object invoke_10(MethodHandle target, java.lang.Object a0, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3, java.lang.Object a4, java.lang.Object a5, java.lang.Object a6, java.lang.Object a7, java.lang.Object a8, java.lang.Object a9) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
genericInvoker
public static MethodHandle genericInvoker(MethodType type, int objectArgCount, boolean varargs)
-
exactInvoker
public static MethodHandle exactInvoker(MethodType type)
-
convertArguments
public static MethodHandle convertArguments(MethodHandle target, MethodType newType)
-
permuteArguments
public static MethodHandle permuteArguments(MethodHandle target, MethodType newType, int[] reorder)
-
spreadArguments
public static MethodHandle spreadArguments(MethodHandle target, MethodType newType)
-
collectArguments
public static MethodHandle collectArguments(MethodHandle target, MethodType newType)
-
insertArguments
public static MethodHandle insertArguments(MethodHandle target, int pos, java.lang.Object... value)
-
dropArguments
public static MethodHandle dropArguments(MethodHandle target, int pos, java.lang.Class<?>... valueTypes)
-
guardWithTest
public static MethodHandle guardWithTest(MethodHandle test, MethodHandle target, MethodHandle fallback)
-
catchException
public static MethodHandle catchException(MethodHandle target, java.lang.Class<? extends java.lang.Throwable> exType, MethodHandle handler)
-
throwException
public static MethodHandle throwException(java.lang.Class<?> returnType, java.lang.Class<? extends java.lang.Throwable> exType)
-
foldArguments
public static MethodHandle foldArguments(MethodHandle target, MethodHandle combiner)
-
-