mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[java-inspections] VarArgMethodHandle: more tests
GitOrigin-RevId: c6489c2b4fc223f845daa353d790e7036905d9b8
This commit is contained in:
committed by
intellij-monorepo-bot
parent
303651e1c3
commit
f08711f091
@@ -23,5 +23,23 @@ public class VarArgMethodHandle {
|
||||
System.out.println(MH_main.invokeExact<warning descr="One argument is expected">(1, 2)</warning>.toString());
|
||||
System.out.println(MH_main.invokeExact(new String[] {"one", "two"}).toString());
|
||||
System.out.println(MH_main.invokeExact(<warning descr="Argument type should be exactly 'java.lang.String[]'">new Object[] {"one", "two"}</warning>).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<warning descr="2 arguments are expected">(1, 2, 3)</warning>;
|
||||
MH_vararg2.invoke(1);
|
||||
MH_vararg2.invoke(1, <warning descr="Argument is not assignable to 'java.lang.String'">2</warning>);
|
||||
MH_vararg2.invoke(1, <warning descr="Argument is not assignable to 'java.lang.String'">2</warning>, <warning descr="Argument is not assignable to 'java.lang.String'">3</warning>);
|
||||
MH_vararg2.invokeExact<warning descr="2 arguments are expected">(1, 2, 3)</warning>;
|
||||
MH_vararg2.invoke(1, "x");
|
||||
MH_vararg2.invoke(1, "x", "y");
|
||||
MH_vararg2.invokeExact<warning descr="2 arguments are expected">(1, "x", "y")</warning>;
|
||||
}
|
||||
|
||||
public static <T> void vararg(T first, T... rest) {}
|
||||
public static void vararg2(Object first, String... rest) {}
|
||||
}
|
||||
Reference in New Issue
Block a user