java.dyn
Class MethodHandles
java.lang.Object
java.dyn.MethodHandles
public class MethodHandles
- extends java.lang.Object
Method Summary |
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_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 java.lang.Object |
invoke(MethodHandle target,
java.lang.Object... arguments)
|
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)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MethodHandles
public MethodHandles()
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)