类java.lang.invoke.MethodHandleProxies源码实例Demo

下面列出了怎么用java.lang.invoke.MethodHandleProxies的API类实例代码及写法,或者点击链接到github查看源代码。

@Test
    public static void testDefaultMethods() throws Throwable {
    MethodHandle target = MethodHandles.constant(String.class, "F");
    C proxy = MethodHandleProxies.asInterfaceInstance(C.class, target);

    assertEquals(proxy.f(), "F");
    assertEquals(proxy.a(), "A");
    assertEquals(proxy.b(), "B");
    assertEquals(proxy.c(), "C");
    assertEquals(proxy.concat(), "ABC");
}
 
@Test
    public static void testOverriddenDefaultMethods() throws Throwable {
    MethodHandle target = MethodHandles.constant(String.class, "F");
    Override proxy = MethodHandleProxies.asInterfaceInstance(Override.class, target);

    assertEquals(proxy.a(), "OA");
    assertEquals(proxy.b(), "OB");
    assertEquals(proxy.c(), "OC");
}
 
源代码3 项目: TencentKona-8   文件: MethodHandlesProxiesTest.java
@Test
    public static void testDefaultMethods() throws Throwable {
    MethodHandle target = MethodHandles.constant(String.class, "F");
    C proxy = MethodHandleProxies.asInterfaceInstance(C.class, target);

    assertEquals(proxy.f(), "F");
    assertEquals(proxy.a(), "A");
    assertEquals(proxy.b(), "B");
    assertEquals(proxy.c(), "C");
    assertEquals(proxy.concat(), "ABC");
}
 
源代码4 项目: TencentKona-8   文件: MethodHandlesProxiesTest.java
@Test
    public static void testOverriddenDefaultMethods() throws Throwable {
    MethodHandle target = MethodHandles.constant(String.class, "F");
    Override proxy = MethodHandleProxies.asInterfaceInstance(Override.class, target);

    assertEquals(proxy.a(), "OA");
    assertEquals(proxy.b(), "OB");
    assertEquals(proxy.c(), "OC");
}
 
源代码5 项目: openjdk-jdk8u   文件: MethodHandlesProxiesTest.java
@Test
    public static void testDefaultMethods() throws Throwable {
    MethodHandle target = MethodHandles.constant(String.class, "F");
    C proxy = MethodHandleProxies.asInterfaceInstance(C.class, target);

    assertEquals(proxy.f(), "F");
    assertEquals(proxy.a(), "A");
    assertEquals(proxy.b(), "B");
    assertEquals(proxy.c(), "C");
    assertEquals(proxy.concat(), "ABC");
}
 
源代码6 项目: openjdk-jdk8u   文件: MethodHandlesProxiesTest.java
@Test
    public static void testOverriddenDefaultMethods() throws Throwable {
    MethodHandle target = MethodHandles.constant(String.class, "F");
    Override proxy = MethodHandleProxies.asInterfaceInstance(Override.class, target);

    assertEquals(proxy.a(), "OA");
    assertEquals(proxy.b(), "OB");
    assertEquals(proxy.c(), "OC");
}
 
源代码7 项目: openjdk-jdk9   文件: ProxyForMethodHandle.java
/**
 * MethodHandleProxies will add qualified export of sun.invoke from java.base
 * to a dynamic module
 */
@Test
public static void testRunnableMethodHandle() throws Exception {
    MethodHandles.Lookup lookup = MethodHandles.lookup();
    MethodType mt = MethodType.methodType(void.class);
    MethodHandle mh = lookup.findStatic(ProxyForMethodHandle.class, "runForRunnable", mt);
    Runnable proxy = MethodHandleProxies.asInterfaceInstance(Runnable.class, mh);
    proxy.run();

    Class<?> proxyClass = proxy.getClass();
    Module target = proxyClass.getModule();
    assertDynamicModule(target, proxyClass.getClassLoader(), proxyClass);
}
 
源代码8 项目: jdk8u_jdk   文件: MethodHandlesProxiesTest.java
@Test
    public static void testDefaultMethods() throws Throwable {
    MethodHandle target = MethodHandles.constant(String.class, "F");
    C proxy = MethodHandleProxies.asInterfaceInstance(C.class, target);

    assertEquals(proxy.f(), "F");
    assertEquals(proxy.a(), "A");
    assertEquals(proxy.b(), "B");
    assertEquals(proxy.c(), "C");
    assertEquals(proxy.concat(), "ABC");
}
 
源代码9 项目: jdk8u_jdk   文件: MethodHandlesProxiesTest.java
@Test
    public static void testOverriddenDefaultMethods() throws Throwable {
    MethodHandle target = MethodHandles.constant(String.class, "F");
    Override proxy = MethodHandleProxies.asInterfaceInstance(Override.class, target);

    assertEquals(proxy.a(), "OA");
    assertEquals(proxy.b(), "OB");
    assertEquals(proxy.c(), "OC");
}
 
源代码10 项目: dragonwell8_jdk   文件: MHProxiesTest.java
public void testProxy() throws NoSuchMethodException, IllegalAccessException {
    MethodHandle m = MethodHandles.lookup().findStatic(MHProxiesTest.class, "m",
                                                       MethodType.methodType(Byte.class, int.class));
    Sam s = MethodHandleProxies.asInterfaceInstance(Sam.class, m);
    assertEquals(66d, s.m(66));
}
 
源代码11 项目: TencentKona-8   文件: MHProxiesTest.java
public void testProxy() throws NoSuchMethodException, IllegalAccessException {
    MethodHandle m = MethodHandles.lookup().findStatic(MHProxiesTest.class, "m",
                                                       MethodType.methodType(Byte.class, int.class));
    Sam s = MethodHandleProxies.asInterfaceInstance(Sam.class, m);
    assertEquals(66d, s.m(66));
}
 
源代码12 项目: jdk8u60   文件: MHProxiesTest.java
public void testProxy() throws NoSuchMethodException, IllegalAccessException {
    MethodHandle m = MethodHandles.lookup().findStatic(MHProxiesTest.class, "m",
                                                       MethodType.methodType(Byte.class, int.class));
    Sam s = MethodHandleProxies.asInterfaceInstance(Sam.class, m);
    assertEquals(66d, s.m(66));
}
 
源代码13 项目: openjdk-jdk8u   文件: MHProxiesTest.java
public void testProxy() throws NoSuchMethodException, IllegalAccessException {
    MethodHandle m = MethodHandles.lookup().findStatic(MHProxiesTest.class, "m",
                                                       MethodType.methodType(Byte.class, int.class));
    Sam s = MethodHandleProxies.asInterfaceInstance(Sam.class, m);
    assertEquals(66d, s.m(66));
}
 
源代码14 项目: openjdk-jdk8u-backup   文件: MHProxiesTest.java
public void testProxy() throws NoSuchMethodException, IllegalAccessException {
    MethodHandle m = MethodHandles.lookup().findStatic(MHProxiesTest.class, "m",
                                                       MethodType.methodType(Byte.class, int.class));
    Sam s = MethodHandleProxies.asInterfaceInstance(Sam.class, m);
    assertEquals(66d, s.m(66));
}
 
源代码15 项目: openjdk-jdk9   文件: MHProxiesTest.java
public void testProxy() throws NoSuchMethodException, IllegalAccessException {
    MethodHandle m = MethodHandles.lookup().findStatic(MHProxiesTest.class, "m",
                                                       MethodType.methodType(Byte.class, int.class));
    Sam s = MethodHandleProxies.asInterfaceInstance(Sam.class, m);
    assertEquals(66d, s.m(66));
}
 
源代码16 项目: jdk8u-jdk   文件: MHProxiesTest.java
public void testProxy() throws NoSuchMethodException, IllegalAccessException {
    MethodHandle m = MethodHandles.lookup().findStatic(MHProxiesTest.class, "m",
                                                       MethodType.methodType(Byte.class, int.class));
    Sam s = MethodHandleProxies.asInterfaceInstance(Sam.class, m);
    assertEquals(66d, s.m(66));
}
 
源代码17 项目: hottub   文件: MHProxiesTest.java
public void testProxy() throws NoSuchMethodException, IllegalAccessException {
    MethodHandle m = MethodHandles.lookup().findStatic(MHProxiesTest.class, "m",
                                                       MethodType.methodType(Byte.class, int.class));
    Sam s = MethodHandleProxies.asInterfaceInstance(Sam.class, m);
    assertEquals(66d, s.m(66));
}
 
源代码18 项目: openjdk-8-source   文件: MHProxiesTest.java
public void testProxy() throws NoSuchMethodException, IllegalAccessException {
    MethodHandle m = MethodHandles.lookup().findStatic(MHProxiesTest.class, "m",
                                                       MethodType.methodType(Byte.class, int.class));
    Sam s = MethodHandleProxies.asInterfaceInstance(Sam.class, m);
    assertEquals(66d, s.m(66));
}
 
源代码19 项目: openjdk-8   文件: MHProxiesTest.java
public void testProxy() throws NoSuchMethodException, IllegalAccessException {
    MethodHandle m = MethodHandles.lookup().findStatic(MHProxiesTest.class, "m",
                                                       MethodType.methodType(Byte.class, int.class));
    Sam s = MethodHandleProxies.asInterfaceInstance(Sam.class, m);
    assertEquals(66d, s.m(66));
}
 
源代码20 项目: jdk8u_jdk   文件: MHProxiesTest.java
public void testProxy() throws NoSuchMethodException, IllegalAccessException {
    MethodHandle m = MethodHandles.lookup().findStatic(MHProxiesTest.class, "m",
                                                       MethodType.methodType(Byte.class, int.class));
    Sam s = MethodHandleProxies.asInterfaceInstance(Sam.class, m);
    assertEquals(66d, s.m(66));
}
 
源代码21 项目: jdk8u-jdk   文件: MHProxiesTest.java
public void testProxy() throws NoSuchMethodException, IllegalAccessException {
    MethodHandle m = MethodHandles.lookup().findStatic(MHProxiesTest.class, "m",
                                                       MethodType.methodType(Byte.class, int.class));
    Sam s = MethodHandleProxies.asInterfaceInstance(Sam.class, m);
    assertEquals(66d, s.m(66));
}
 
源代码22 项目: jdk8u-dev-jdk   文件: MHProxiesTest.java
public void testProxy() throws NoSuchMethodException, IllegalAccessException {
    MethodHandle m = MethodHandles.lookup().findStatic(MHProxiesTest.class, "m",
                                                       MethodType.methodType(Byte.class, int.class));
    Sam s = MethodHandleProxies.asInterfaceInstance(Sam.class, m);
    assertEquals(66d, s.m(66));
}
 
 类所在包
 同包方法