| // TARGET_BACKEND: JVM |
| // WITH_STDLIB |
| // FULL_JDK |
| |
| // FILE: test.kt |
| |
| @JvmOverloads |
| fun foo(id: Int, vararg pairs: String = emptyArray()): String { |
| return "$id: ${java.util.Arrays.toString(pairs)}" |
| } |
| |
| @JvmOverloads |
| fun foo2(id: Int, s: Int = 56, vararg pairs: String): String { |
| return "$id, $s: ${java.util.Arrays.toString(pairs)}" |
| } |
| |
| fun box(): String { |
| if (A.bar1() != "1: []") return "fail 1" |
| if (A.bar2() != "2: [OK]") return "fail 2" |
| if (A.bar3() != "3, 56: []") return "fail 3" |
| if (A.bar4() != "4, 56: [OK]") return "fail 4" |
| if (A.bar5() != "5, 1491: [OK]") return "fail 5" |
| |
| return "OK" |
| } |
| |
| // FILE: A.java |
| |
| public class A { |
| public static String bar1() { |
| return TestKt.foo(1); |
| } |
| |
| public static String bar2() { |
| return TestKt.foo(2, "OK"); |
| } |
| |
| public static String bar3() { |
| return TestKt.foo2(3); |
| } |
| |
| public static String bar4() { |
| return TestKt.foo2(4, "OK"); |
| } |
| |
| public static String bar5() { |
| return TestKt.foo2(5, 1491, "OK"); |
| } |
| } |