From f08711f091cade25a7a537ff9da572fa30936e44 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Mon, 13 Dec 2021 12:42:09 +0700 Subject: [PATCH] [java-inspections] VarArgMethodHandle: more tests GitOrigin-RevId: c6489c2b4fc223f845daa353d790e7036905d9b8 --- .../VarArgMethodHandle.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/java/java-tests/testData/inspection/invokeHandleSignature/VarArgMethodHandle.java b/java/java-tests/testData/inspection/invokeHandleSignature/VarArgMethodHandle.java index 49a5e958753b..e9ece2f0f757 100644 --- a/java/java-tests/testData/inspection/invokeHandleSignature/VarArgMethodHandle.java +++ b/java/java-tests/testData/inspection/invokeHandleSignature/VarArgMethodHandle.java @@ -23,5 +23,23 @@ public class VarArgMethodHandle { System.out.println(MH_main.invokeExact(1, 2).toString()); System.out.println(MH_main.invokeExact(new String[] {"one", "two"}).toString()); System.out.println(MH_main.invokeExact(new Object[] {"one", "two"}).toString()); + + MethodHandle MH_vararg = publicLookup().findStatic(VarArgMethodHandle.class, "vararg", methodType(void.class, Object.class, Object[].class)); + + MethodHandle MH_vararg2 = publicLookup().findStatic(VarArgMethodHandle.class, "vararg2", methodType(void.class, Object.class, String[].class)); + MH_vararg.invoke(1); + MH_vararg.invoke(1, 2); + MH_vararg.invoke(1, 2, 3); + MH_vararg.invokeExact(1, 2, 3); + MH_vararg2.invoke(1); + MH_vararg2.invoke(1, 2); + MH_vararg2.invoke(1, 2, 3); + MH_vararg2.invokeExact(1, 2, 3); + MH_vararg2.invoke(1, "x"); + MH_vararg2.invoke(1, "x", "y"); + MH_vararg2.invokeExact(1, "x", "y"); } + + public static void vararg(T first, T... rest) {} + public static void vararg2(Object first, String... rest) {} } \ No newline at end of file