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