From e194a0735842f25d5a70a6bb0ce2710cf2838a7c Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Wed, 15 Sep 2021 14:03:17 +0500 Subject: [PATCH] [tests] Added some tests --- .../FirBlackBoxInlineCodegenTestGenerated.java | 6 ++++++ .../innerClasses/innerInlineFunCapturesOuter.kt | 11 +++++++++++ .../codegen/BlackBoxInlineCodegenTestGenerated.java | 6 ++++++ ...CompileKotlinAgainstInlineKotlinTestGenerated.java | 6 ++++++ .../codegen/IrBlackBoxInlineCodegenTestGenerated.java | 6 ++++++ ...CompileKotlinAgainstInlineKotlinTestGenerated.java | 6 ++++++ ...CompileKotlinAgainstInlineKotlinTestGenerated.java | 6 ++++++ .../JvmIrAgainstOldBoxInlineTestGenerated.java | 6 ++++++ .../JvmOldAgainstIrBoxInlineTestGenerated.java | 6 ++++++ .../semantics/IrJsCodegenInlineES6TestGenerated.java | 5 +++++ .../ir/semantics/IrJsCodegenInlineTestGenerated.java | 5 +++++ .../test/semantics/JsCodegenInlineTestGenerated.java | 5 +++++ kotlin-native/backend.native/tests/build.gradle | 6 ++++++ .../innerInlineFunCapturesOuter_linkTest_lib.kt | 7 +++++++ .../innerInlineFunCapturesOuter_linkTest_main.kt | 5 +++++ .../innerInlineFunCapturesOuter_linkTest_main.out | 1 + 16 files changed, 93 insertions(+) create mode 100644 compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt create mode 100644 kotlin-native/backend.native/tests/codegen/inline/innerInlineFunCapturesOuter_linkTest_lib.kt create mode 100644 kotlin-native/backend.native/tests/codegen/inline/innerInlineFunCapturesOuter_linkTest_main.kt create mode 100644 kotlin-native/backend.native/tests/codegen/inline/innerInlineFunCapturesOuter_linkTest_main.out diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxInlineCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxInlineCodegenTestGenerated.java index abb742baeb9..00b94f78b05 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxInlineCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxInlineCodegenTestGenerated.java @@ -2590,6 +2590,12 @@ public class FirBlackBoxInlineCodegenTestGenerated extends AbstractFirBlackBoxIn runTest("compiler/testData/codegen/boxInline/innerClasses/fakeOverride.kt"); } + @Test + @TestMetadata("innerInlineFunCapturesOuter.kt") + public void testInnerInlineFunCapturesOuter() throws Exception { + runTest("compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt"); + } + @Test @TestMetadata("innerLambda.kt") public void testInnerLambda() throws Exception { diff --git a/compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt b/compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt new file mode 100644 index 00000000000..fdd5033bfb7 --- /dev/null +++ b/compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt @@ -0,0 +1,11 @@ +// IGNORE_BACKEND: JS_IR +// FILE: 1.kt +class E(val x: String) { + inner class Inner { + inline fun foo(y: String) = x + y + } +} + +// FILE: 2.kt + +fun box() = E("O").Inner().foo("K") diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java index debbcd7e74c..8b1d622b4e8 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java @@ -2590,6 +2590,12 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo runTest("compiler/testData/codegen/boxInline/innerClasses/fakeOverride.kt"); } + @Test + @TestMetadata("innerInlineFunCapturesOuter.kt") + public void testInnerInlineFunCapturesOuter() throws Exception { + runTest("compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt"); + } + @Test @TestMetadata("innerLambda.kt") public void testInnerLambda() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java index 23616ded81c..ccb39b43de1 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java @@ -2590,6 +2590,12 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi runTest("compiler/testData/codegen/boxInline/innerClasses/fakeOverride.kt"); } + @Test + @TestMetadata("innerInlineFunCapturesOuter.kt") + public void testInnerInlineFunCapturesOuter() throws Exception { + runTest("compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt"); + } + @Test @TestMetadata("innerLambda.kt") public void testInnerLambda() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenTestGenerated.java index 0d49c428261..432d2ff5692 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenTestGenerated.java @@ -2590,6 +2590,12 @@ public class IrBlackBoxInlineCodegenTestGenerated extends AbstractIrBlackBoxInli runTest("compiler/testData/codegen/boxInline/innerClasses/fakeOverride.kt"); } + @Test + @TestMetadata("innerInlineFunCapturesOuter.kt") + public void testInnerInlineFunCapturesOuter() throws Exception { + runTest("compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt"); + } + @Test @TestMetadata("innerLambda.kt") public void testInnerLambda() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java index 6567675084c..2e6103f65dd 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java @@ -2590,6 +2590,12 @@ public class IrCompileKotlinAgainstInlineKotlinTestGenerated extends AbstractIrC runTest("compiler/testData/codegen/boxInline/innerClasses/fakeOverride.kt"); } + @Test + @TestMetadata("innerInlineFunCapturesOuter.kt") + public void testInnerInlineFunCapturesOuter() throws Exception { + runTest("compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt"); + } + @Test @TestMetadata("innerLambda.kt") public void testInnerLambda() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java index ea38b1edd30..fc4f0932762 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java @@ -2590,6 +2590,12 @@ public class IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated extends Ab runTest("compiler/testData/codegen/boxInline/innerClasses/fakeOverride.kt"); } + @Test + @TestMetadata("innerInlineFunCapturesOuter.kt") + public void testInnerInlineFunCapturesOuter() throws Exception { + runTest("compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt"); + } + @Test @TestMetadata("innerLambda.kt") public void testInnerLambda() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java index 38169839158..26291d1247b 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java @@ -2590,6 +2590,12 @@ public class JvmIrAgainstOldBoxInlineTestGenerated extends AbstractJvmIrAgainstO runTest("compiler/testData/codegen/boxInline/innerClasses/fakeOverride.kt"); } + @Test + @TestMetadata("innerInlineFunCapturesOuter.kt") + public void testInnerInlineFunCapturesOuter() throws Exception { + runTest("compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt"); + } + @Test @TestMetadata("innerLambda.kt") public void testInnerLambda() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java index 466818c86d5..3b032ba58f5 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java @@ -2590,6 +2590,12 @@ public class JvmOldAgainstIrBoxInlineTestGenerated extends AbstractJvmOldAgainst runTest("compiler/testData/codegen/boxInline/innerClasses/fakeOverride.kt"); } + @Test + @TestMetadata("innerInlineFunCapturesOuter.kt") + public void testInnerInlineFunCapturesOuter() throws Exception { + runTest("compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt"); + } + @Test @TestMetadata("innerLambda.kt") public void testInnerLambda() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenInlineES6TestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenInlineES6TestGenerated.java index 2e36d496dda..275546a8f81 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenInlineES6TestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenInlineES6TestGenerated.java @@ -2090,6 +2090,11 @@ public class IrJsCodegenInlineES6TestGenerated extends AbstractIrJsCodegenInline public void testFakeOverride() throws Exception { runTest("compiler/testData/codegen/boxInline/innerClasses/fakeOverride.kt"); } + + @TestMetadata("innerInlineFunCapturesOuter.kt") + public void testInnerInlineFunCapturesOuter() throws Exception { + runTest("compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt"); + } } @TestMetadata("compiler/testData/codegen/boxInline/invokedynamic") diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenInlineTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenInlineTestGenerated.java index ea3bd5d2158..5590f9cb9b8 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenInlineTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenInlineTestGenerated.java @@ -2090,6 +2090,11 @@ public class IrJsCodegenInlineTestGenerated extends AbstractIrJsCodegenInlineTes public void testFakeOverride() throws Exception { runTest("compiler/testData/codegen/boxInline/innerClasses/fakeOverride.kt"); } + + @TestMetadata("innerInlineFunCapturesOuter.kt") + public void testInnerInlineFunCapturesOuter() throws Exception { + runTest("compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt"); + } } @TestMetadata("compiler/testData/codegen/boxInline/invokedynamic") diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenInlineTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenInlineTestGenerated.java index 70c7afe958c..bce70a6dd44 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenInlineTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenInlineTestGenerated.java @@ -2090,6 +2090,11 @@ public class JsCodegenInlineTestGenerated extends AbstractJsCodegenInlineTest { public void testFakeOverride() throws Exception { runTest("compiler/testData/codegen/boxInline/innerClasses/fakeOverride.kt"); } + + @TestMetadata("innerInlineFunCapturesOuter.kt") + public void testInnerInlineFunCapturesOuter() throws Exception { + runTest("compiler/testData/codegen/boxInline/innerClasses/innerInlineFunCapturesOuter.kt"); + } } @TestMetadata("compiler/testData/codegen/boxInline/invokedynamic") diff --git a/kotlin-native/backend.native/tests/build.gradle b/kotlin-native/backend.native/tests/build.gradle index edc9a8bdbd5..91a3c155696 100644 --- a/kotlin-native/backend.native/tests/build.gradle +++ b/kotlin-native/backend.native/tests/build.gradle @@ -3971,6 +3971,12 @@ linkTest("inline_inlineCtor_linkTest") { lib = "codegen/inline/inlineCtor_linkTest_lib.kt" } +linkTest("inline_innerInlineFunCapturesOuter_linkTest") { + useGoldenData = true + source = "codegen/inline/innerInlineFunCapturesOuter_linkTest_main.kt" + lib = "codegen/inline/innerInlineFunCapturesOuter_linkTest_lib.kt" +} + def generateWithSpaceDefFile() { def mapOption = "--Map \"${buildDir}/cutom map.map\"" if (isAppleTarget(project)) { diff --git a/kotlin-native/backend.native/tests/codegen/inline/innerInlineFunCapturesOuter_linkTest_lib.kt b/kotlin-native/backend.native/tests/codegen/inline/innerInlineFunCapturesOuter_linkTest_lib.kt new file mode 100644 index 00000000000..ffe1e575a38 --- /dev/null +++ b/kotlin-native/backend.native/tests/codegen/inline/innerInlineFunCapturesOuter_linkTest_lib.kt @@ -0,0 +1,7 @@ +package a + +class E(val x: String) { + inner class Inner { + inline fun foo(y: String) = x + y + } +} \ No newline at end of file diff --git a/kotlin-native/backend.native/tests/codegen/inline/innerInlineFunCapturesOuter_linkTest_main.kt b/kotlin-native/backend.native/tests/codegen/inline/innerInlineFunCapturesOuter_linkTest_main.kt new file mode 100644 index 00000000000..1528b8a28dc --- /dev/null +++ b/kotlin-native/backend.native/tests/codegen/inline/innerInlineFunCapturesOuter_linkTest_main.kt @@ -0,0 +1,5 @@ +import a.* + +fun main() { + println(E("O").Inner().foo("K")) +} \ No newline at end of file diff --git a/kotlin-native/backend.native/tests/codegen/inline/innerInlineFunCapturesOuter_linkTest_main.out b/kotlin-native/backend.native/tests/codegen/inline/innerInlineFunCapturesOuter_linkTest_main.out new file mode 100644 index 00000000000..d86bac9de59 --- /dev/null +++ b/kotlin-native/backend.native/tests/codegen/inline/innerInlineFunCapturesOuter_linkTest_main.out @@ -0,0 +1 @@ +OK