< prev index next >

test/hotspot/jtreg/compiler/runtime/SpreadNullArg.java

Print this page




  32 
  33 package compiler.runtime;
  34 
  35 import java.lang.invoke.MethodHandle;
  36 import java.lang.invoke.MethodHandles;
  37 import java.lang.invoke.MethodType;
  38 
  39 public class SpreadNullArg {
  40 
  41   public static void main(String args[]) {
  42 
  43     MethodType mt_ref_arg = MethodType.methodType(int.class, Integer.class);
  44     MethodHandle mh_spreadInvoker = MethodHandles.spreadInvoker(mt_ref_arg, 0);
  45     MethodHandle mh_spread_target;
  46     int result = 42;
  47 
  48     try {
  49       mh_spread_target =
  50           MethodHandles.lookup().findStatic(SpreadNullArg.class, "target_spread_arg", mt_ref_arg);
  51       result = (int) mh_spreadInvoker.invokeExact(mh_spread_target, (Object[]) null);
  52       throw new Error("Expected IllegalArgumentException was not thrown");
  53     } catch (IllegalArgumentException e) {
  54       System.out.println("Expected exception : " + e);
  55     } catch (Throwable e) {
  56       throw new Error(e);
  57     }
  58 
  59     if (result != 42) {
  60       throw new Error("result [" + result
  61           + "] != 42 : Expected IllegalArgumentException was not thrown?");
  62     }
  63   }
  64 
  65   public static int target_spread_arg(Integer i1) {
  66     return i1.intValue();
  67   }
  68 
  69 }


  32 
  33 package compiler.runtime;
  34 
  35 import java.lang.invoke.MethodHandle;
  36 import java.lang.invoke.MethodHandles;
  37 import java.lang.invoke.MethodType;
  38 
  39 public class SpreadNullArg {
  40 
  41   public static void main(String args[]) {
  42 
  43     MethodType mt_ref_arg = MethodType.methodType(int.class, Integer.class);
  44     MethodHandle mh_spreadInvoker = MethodHandles.spreadInvoker(mt_ref_arg, 0);
  45     MethodHandle mh_spread_target;
  46     int result = 42;
  47 
  48     try {
  49       mh_spread_target =
  50           MethodHandles.lookup().findStatic(SpreadNullArg.class, "target_spread_arg", mt_ref_arg);
  51       result = (int) mh_spreadInvoker.invokeExact(mh_spread_target, (Object[]) null);
  52       throw new Error("Expected NullPointerException was not thrown");
  53     } catch (NullPointerException e) {
  54       System.out.println("Expected exception : " + e);
  55     } catch (Throwable e) {
  56       throw new Error(e);
  57     }
  58 
  59     if (result != 42) {
  60       throw new Error("result [" + result
  61           + "] != 42 : Expected NullPointerException was not thrown?");
  62     }
  63   }
  64 
  65   public static int target_spread_arg(Integer i1) {
  66     return i1.intValue();
  67   }
  68 
  69 }
< prev index next >