Package java.lang.invoke

Examples of java.lang.invoke.MethodHandle.invoke()


  @Test
  public void invoker_set_echo() throws Throwable {
    DynamicObject object = new DynamicObject();
    MethodHandle invoker = object.invoker("foo", genericMethodType(2));
    invoker.invoke(object, lookup().findStatic(DynamicObjectTest.class, "echo", genericMethodType(2)));
    Object result = invoker.invoke(object, "plop");
    assertThat(result, is((Object) "plop"));
  }

  @Test
  public void invoker_call_any() throws Throwable {
View Full Code Here


  @Test
  public void invoker_call_any() throws Throwable {
    DynamicObject object = new DynamicObject();
    MethodHandle invoker = object.invoker("foo", genericMethodType(3));
    object.define("foo", lookup().findStatic(DynamicObjectTest.class, "inAList", genericMethodType(3)));
    Object result = invoker.invoke(object, "plop", "daplop");
    assertThat(result, instanceOf(List.class));
  }

  @Test(expectedExceptions = IllegalStateException.class)
  public void invoker_set_value_frozen() throws Throwable {
View Full Code Here

  @Test(expectedExceptions = IllegalStateException.class)
  public void invoker_set_value_frozen() throws Throwable {
    DynamicObject object = new DynamicObject();
    MethodHandle invoker = object.invoker("foo", genericMethodType(2));
    invoker.invoke(object, "bar");
    assertThat(object.get("foo"), is((Object) "bar"));
    object.freeze();
    invoker.invoke(object, 666);
  }
View Full Code Here

    DynamicObject object = new DynamicObject();
    MethodHandle invoker = object.invoker("foo", genericMethodType(2));
    invoker.invoke(object, "bar");
    assertThat(object.get("foo"), is((Object) "bar"));
    object.freeze();
    invoker.invoke(object, 666);
  }

  @Test
  public void invoker_get_method_type_mismatch() throws Throwable {
    DynamicObject object = new DynamicObject();
View Full Code Here

  @Test
  public void invoker_set_method_type_mismatch() throws Throwable {
    DynamicObject object = new DynamicObject();
    object.define("foo", lookup().findStatic(DynamicObjectTest.class, "inAList", genericMethodType(3)));
    MethodHandle invoker = object.invoker("foo", genericMethodType(2));
    invoker.invoke(object, 666);
    MethodHandle callInvoker = object.invoker("foo", genericMethodType(1));
    assertThat(callInvoker.invoke(object), is((Object) 666));
  }

  @Test(expectedExceptions = WrongMethodTypeException.class)
View Full Code Here

    DynamicObject object = new DynamicObject();
    object.define("foo", lookup().findStatic(DynamicObjectTest.class, "inAList", genericMethodType(3)));
    MethodHandle invoker = object.invoker("foo", genericMethodType(2));
    invoker.invoke(object, 666);
    MethodHandle callInvoker = object.invoker("foo", genericMethodType(1));
    assertThat(callInvoker.invoke(object), is((Object) 666));
  }

  @Test(expectedExceptions = WrongMethodTypeException.class)
  public void invoker_call_any_type_mismatch() throws Throwable {
    DynamicObject object = new DynamicObject();
View Full Code Here

  @Test(expectedExceptions = WrongMethodTypeException.class)
  public void invoker_call_any_type_mismatch() throws Throwable {
    DynamicObject object = new DynamicObject();
    MethodHandle invoker = object.invoker("foo", genericMethodType(4));
    object.define("foo", lookup().findStatic(DynamicObjectTest.class, "inAList", genericMethodType(3)));
    invoker.invoke(object, "plop", "da", "plop");
  }

  @Test
  public void invoker_call_varargs() throws Throwable {
    DynamicObject object = new DynamicObject();
View Full Code Here

    DynamicObject object = new DynamicObject();
    MethodHandle handle = lookup().findStatic(DynamicObjectTest.class, "varargs", genericMethodType(1, true));
    object.define("foo", handle);

    MethodHandle invoker = object.invoker("foo", genericMethodType(1));
    assertThat(invoker.invoke(object), is((Object) 0));

    invoker = object.invoker("foo", genericMethodType(2));
    assertThat(invoker.invoke(object, 1), is((Object) 1));

    invoker = object.invoker("foo", genericMethodType(3));
View Full Code Here

    MethodHandle invoker = object.invoker("foo", genericMethodType(1));
    assertThat(invoker.invoke(object), is((Object) 0));

    invoker = object.invoker("foo", genericMethodType(2));
    assertThat(invoker.invoke(object, 1), is((Object) 1));

    invoker = object.invoker("foo", genericMethodType(3));
    assertThat(invoker.invoke(object, 1, 2), is((Object) 3));
  }
View Full Code Here

    invoker = object.invoker("foo", genericMethodType(2));
    assertThat(invoker.invoke(object, 1), is((Object) 1));

    invoker = object.invoker("foo", genericMethodType(3));
    assertThat(invoker.invoke(object, 1, 2), is((Object) 3));
  }

  @Test
  public void invoker_call_fallback() throws Throwable {
    DynamicObject object = new DynamicObject();
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.