From 25fdbdfecb1021d36cca4f0a18474c23501774ee Mon Sep 17 00:00:00 2001 From: "victor.petukhov" Date: Fri, 13 Dec 2019 11:49:32 +0300 Subject: [PATCH] NI: Update FIR test data --- .../arrayAsVarargAfterSamArgument.fir.kt | 54 +++++++++++++++++++ ...yAsVarargAfterSamArgumentProhibited.fir.kt | 54 +++++++++++++++++++ ...entWithoutSamConversionsPerArgument.fir.kt | 54 +++++++++++++++++++ 3 files changed, 162 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/samConversions/arrayAsVarargAfterSamArgument.fir.kt create mode 100644 compiler/testData/diagnostics/tests/samConversions/arrayAsVarargAfterSamArgumentProhibited.fir.kt create mode 100644 compiler/testData/diagnostics/tests/samConversions/arrayAsVarargAfterSamArgumentWithoutSamConversionsPerArgument.fir.kt diff --git a/compiler/testData/diagnostics/tests/samConversions/arrayAsVarargAfterSamArgument.fir.kt b/compiler/testData/diagnostics/tests/samConversions/arrayAsVarargAfterSamArgument.fir.kt new file mode 100644 index 00000000000..396f55a397e --- /dev/null +++ b/compiler/testData/diagnostics/tests/samConversions/arrayAsVarargAfterSamArgument.fir.kt @@ -0,0 +1,54 @@ +// !DIAGNOSTICS: -UNUSED_VARIABLE +// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions +SamConversionPerArgument +// IGNORE_BACKEND: JS +// SKIP_TXT + +// FILE: Test.java +public class Test { + public static String foo1(Runnable r, String... strs) { + return null; + } + public String foo2(Runnable r1, Runnable r2, String... strs) { + return null; + } + public Test(Runnable r, String... strs) {} + public Test(Runnable r, Runnable r, String... strs) {} +} + +// FILE: main.kt +fun main(x2: Runnable) { + val x1 = {} + val x3 = arrayOf() + + Test.foo1({}, arrayOf()) + Test.foo1({}, *arrayOf()) + Test.foo1({}, x3) + Test.foo1({}, *arrayOf("")) + + Test.foo1(x1, arrayOf()) + Test.foo1(x1, *arrayOf()) + Test.foo1(x2, arrayOf()) + Test.foo1(x2, *arrayOf()) + + Test.foo1(x1, x3) + Test.foo1(x1, *x3) + Test.foo1(x2, arrayOf("")) + Test.foo1(x2, *arrayOf("")) + + val i1 = Test({}, arrayOf()) + val i2 = Test({}, *arrayOf()) + val i3 = Test({}, x3) + val i4 = Test({}, arrayOf("")) + val i5 = Test({}, {}, *arrayOf("")) + val i6 = Test({}, {}, arrayOf()) + + i1.foo2({}, {}, arrayOf()) + i1.foo2({}, {}, *arrayOf()) + i1.foo2({}, x2, arrayOf()) + i1.foo2(x2, {}, *arrayOf()) + + i1.foo2({}, {}, arrayOf("")) + i1.foo2({}, {}, *x3) + i1.foo2({}, x2, x3) + i1.foo2(x2, {}, *arrayOf("")) +} diff --git a/compiler/testData/diagnostics/tests/samConversions/arrayAsVarargAfterSamArgumentProhibited.fir.kt b/compiler/testData/diagnostics/tests/samConversions/arrayAsVarargAfterSamArgumentProhibited.fir.kt new file mode 100644 index 00000000000..8f6b82eb2a6 --- /dev/null +++ b/compiler/testData/diagnostics/tests/samConversions/arrayAsVarargAfterSamArgumentProhibited.fir.kt @@ -0,0 +1,54 @@ +// !DIAGNOSTICS: -UNUSED_VARIABLE +// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions +SamConversionPerArgument +ProhibitVarargAsArrayAfterSamArgument +// IGNORE_BACKEND: JS +// SKIP_TXT + +// FILE: Test.java +public class Test { + public static String foo1(Runnable r, String... strs) { + return null; + } + public String foo2(Runnable r, Runnable r, String... strs) { + return null; + } + public Test(Runnable r, String... strs) {} + public Test(Runnable r, Runnable r, String... strs) {} +} + +// FILE: main.kt +fun main(x2: Runnable) { + val x1 = {} + val x3 = arrayOf() + + Test.foo1({}, arrayOf()) + Test.foo1({}, *arrayOf()) + Test.foo1({}, *x3) + Test.foo1({}, arrayOf("")) + + Test.foo1(x1, arrayOf()) + Test.foo1(x1, *arrayOf()) + Test.foo1(x2, arrayOf()) + Test.foo1(x2, *arrayOf()) + + Test.foo1(x1, x3) + Test.foo1(x1, *x3) + Test.foo1(x2, arrayOf("")) + Test.foo1(x2, *arrayOf("")) + + val i1 = Test({}, arrayOf()) + val i2 = Test({}, *arrayOf()) + val i3 = Test({}, x3) + val i4 = Test({}, arrayOf("")) + val i5 = Test({}, {}, *arrayOf("")) + val i6 = Test({}, {}, arrayOf()) + + i2.foo2({}, {}, arrayOf()) + i2.foo2({}, {}, *arrayOf()) + i2.foo2({}, x2, arrayOf()) + i2.foo2(x2, {}, *arrayOf()) + + i2.foo2({}, {}, arrayOf("")) + i2.foo2({}, {}, *x3) + i2.foo2({}, x2, x3) + i2.foo2(x2, {}, *arrayOf("")) +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/samConversions/arrayAsVarargAfterSamArgumentWithoutSamConversionsPerArgument.fir.kt b/compiler/testData/diagnostics/tests/samConversions/arrayAsVarargAfterSamArgumentWithoutSamConversionsPerArgument.fir.kt new file mode 100644 index 00000000000..1da64d52855 --- /dev/null +++ b/compiler/testData/diagnostics/tests/samConversions/arrayAsVarargAfterSamArgumentWithoutSamConversionsPerArgument.fir.kt @@ -0,0 +1,54 @@ +// !DIAGNOSTICS: -UNUSED_VARIABLE +// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions +// IGNORE_BACKEND: JS, JS_IR +// SKIP_TXT + +// FILE: Test.java +public class Test { + public static String foo1(Runnable r, String... strs) { + return null; + } + public String foo2(Runnable r, Runnable r, String... strs) { + return null; + } + public Test(Runnable r, String... strs) {} + public Test(Runnable r, Runnable r, String... strs) {} +} + +// FILE: main.kt +fun main(x2: Runnable) { + val x1 = {} + val x3 = arrayOf() + + Test.foo1({}, arrayOf()) + Test.foo1({}, *arrayOf()) + Test.foo1({}, *x3) + Test.foo1({}, arrayOf("")) + + Test.foo1(x1, arrayOf()) + Test.foo1(x1, *arrayOf()) + Test.foo1(x2, arrayOf()) + Test.foo1(x2, *arrayOf()) + + Test.foo1(x1, x3) + Test.foo1(x1, *x3) + Test.foo1(x2, arrayOf("")) + Test.foo1(x2, *arrayOf("")) + + val i1 = Test({}, arrayOf()) + val i2 = Test({}, *arrayOf()) + val i3 = Test({}, x3) + val i4 = Test({}, arrayOf("")) + val i5 = Test({}, {}, *arrayOf("")) + val i6 = Test({}, {}, arrayOf()) + + i1.foo2({}, {}, arrayOf()) + i1.foo2({}, {}, *arrayOf()) + i1.foo2({}, x2, arrayOf()) + i1.foo2(x2, {}, *arrayOf()) + + i1.foo2({}, {}, arrayOf("")) + i1.foo2({}, {}, *x3) + i1.foo2({}, x2, x3) + i1.foo2(x2, {}, *arrayOf("")) +} \ No newline at end of file