From bce92d824a80a2b0e3e91489f82d44b9063b7f0c Mon Sep 17 00:00:00 2001 From: Ilmir Usmanov Date: Fri, 9 Apr 2021 19:11:12 +0200 Subject: [PATCH] Minor. Add tests to check returning Result from functions Mainly, that virtual functions, returning Result, are mangled. #KT-45855 --- .../FirBlackBoxCodegenTestGenerated.java | 46 +++++++++++++++++++ .../box/inlineClasses/returnResult/class.kt | 8 ++++ .../returnResult/classAnyOverride.kt | 16 +++++++ .../returnResult/classGenericOverride.kt | 15 ++++++ .../returnResult/classResultOverride.kt | 16 +++++++ .../inlineClasses/returnResult/interface.kt | 10 ++++ .../inlineClasses/returnResult/topLevel.kt | 6 +++ .../inlineClasses/returnResult/class.kt | 6 +++ .../inlineClasses/returnResult/class.txt | 6 +++ .../returnResult/classAnyOverride.kt | 10 ++++ .../returnResult/classAnyOverride.txt | 13 ++++++ .../returnResult/classGenericOverride.kt | 10 ++++ .../returnResult/classGenericOverride.txt | 21 +++++++++ .../returnResult/classResultOverride.kt | 10 ++++ .../returnResult/classResultOverride.txt | 12 +++++ .../inlineClasses/returnResult/interface.kt | 6 +++ .../inlineClasses/returnResult/interface.txt | 5 ++ .../inlineClasses/returnResult/topLevel.kt | 3 ++ .../inlineClasses/returnResult/topLevel.txt | 5 ++ .../codegen/BlackBoxCodegenTestGenerated.java | 46 +++++++++++++++++++ .../IrBlackBoxCodegenTestGenerated.java | 46 +++++++++++++++++++ .../codegen/BytecodeListingTestGenerated.java | 43 +++++++++++++++++ .../LightAnalysisModeTestGenerated.java | 43 +++++++++++++++++ .../ir/IrBytecodeListingTestGenerated.java | 43 +++++++++++++++++ .../IrJsCodegenBoxES6TestGenerated.java | 43 +++++++++++++++++ .../IrJsCodegenBoxTestGenerated.java | 43 +++++++++++++++++ .../semantics/JsCodegenBoxTestGenerated.java | 43 +++++++++++++++++ .../IrCodegenBoxWasmTestGenerated.java | 43 +++++++++++++++++ 28 files changed, 617 insertions(+) create mode 100644 compiler/testData/codegen/box/inlineClasses/returnResult/class.kt create mode 100644 compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt create mode 100644 compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt create mode 100644 compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt create mode 100644 compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt create mode 100644 compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt create mode 100644 compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/class.kt create mode 100644 compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/class.txt create mode 100644 compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classAnyOverride.kt create mode 100644 compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classAnyOverride.txt create mode 100644 compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classGenericOverride.kt create mode 100644 compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classGenericOverride.txt create mode 100644 compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classResultOverride.kt create mode 100644 compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classResultOverride.txt create mode 100644 compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/interface.kt create mode 100644 compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/interface.txt create mode 100644 compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/topLevel.kt create mode 100644 compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/topLevel.txt diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java index b961880f481..f0a09ea2790 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java @@ -19482,6 +19482,52 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT } } + @Nested + @TestMetadata("compiler/testData/codegen/box/inlineClasses/returnResult") + @TestDataPath("$PROJECT_ROOT") + public class ReturnResult { + @Test + public void testAllFilesPresentInReturnResult() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/returnResult"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("class.kt") + public void testClass() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/class.kt"); + } + + @Test + @TestMetadata("classAnyOverride.kt") + public void testClassAnyOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt"); + } + + @Test + @TestMetadata("classGenericOverride.kt") + public void testClassGenericOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt"); + } + + @Test + @TestMetadata("classResultOverride.kt") + public void testClassResultOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt"); + } + + @Test + @TestMetadata("interface.kt") + public void testInterface() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt"); + } + + @Test + @TestMetadata("topLevel.kt") + public void testTopLevel() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt"); + } + } + @Nested @TestMetadata("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/testData/codegen/box/inlineClasses/returnResult/class.kt b/compiler/testData/codegen/box/inlineClasses/returnResult/class.kt new file mode 100644 index 00000000000..5565e20c15f --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/returnResult/class.kt @@ -0,0 +1,8 @@ +// WITH_RUNTIME +// KJS_WITH_FULL_RUNTIME + +class C { + fun foo(): Result = Result.success("OK") +} + +fun box() = C().foo().getOrThrow() diff --git a/compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt b/compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt new file mode 100644 index 00000000000..ad34277bcc7 --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt @@ -0,0 +1,16 @@ +// WITH_RUNTIME +// KJS_WITH_FULL_RUNTIME + +interface I { + fun foo(): Any +} + +class C : I { + override fun foo(): Result = Result.success("OK") +} + + +fun box(): String { + if (((C() as I).foo() as Result).getOrThrow() != "OK") return "FAIL 1" + return C().foo().getOrThrow() +} diff --git a/compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt b/compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt new file mode 100644 index 00000000000..d35327566c8 --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt @@ -0,0 +1,15 @@ +// WITH_RUNTIME +// KJS_WITH_FULL_RUNTIME + +interface I { + fun foo(): T +} + +class C : I> { + override fun foo(): Result = Result.success("OK") +} + +fun box(): String { + if (((C() as I>).foo() as Result).getOrThrow() != "OK") return "FAIL 1" + return C().foo().getOrThrow() +} diff --git a/compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt b/compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt new file mode 100644 index 00000000000..fab350b261e --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt @@ -0,0 +1,16 @@ +// WITH_RUNTIME +// KJS_WITH_FULL_RUNTIME + +interface I { + fun foo(): Result +} + +class C : I { + override fun foo(): Result = Result.success("OK") +} + + +fun box(): String { + if ((C() as I).foo().getOrThrow() != "OK") return "FAIL 1" + return C().foo().getOrThrow() +} diff --git a/compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt b/compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt new file mode 100644 index 00000000000..133635ec46a --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt @@ -0,0 +1,10 @@ +// WITH_RUNTIME +// KJS_WITH_FULL_RUNTIME + +interface I { + fun foo(): Result +} + +fun box() = object : I { + override fun foo() = Result.success("OK") +}.foo().getOrThrow() \ No newline at end of file diff --git a/compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt b/compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt new file mode 100644 index 00000000000..d43e09ca03e --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt @@ -0,0 +1,6 @@ +// WITH_RUNTIME +// KJS_WITH_FULL_RUNTIME + +fun foo(): Result = Result.success("OK") + +fun box() = foo().getOrThrow() diff --git a/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/class.kt b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/class.kt new file mode 100644 index 00000000000..dde57abc49e --- /dev/null +++ b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/class.kt @@ -0,0 +1,6 @@ +// WITH_RUNTIME + +class C { + fun foo(): Result = TODO() +} + diff --git a/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/class.txt b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/class.txt new file mode 100644 index 00000000000..e2a422809d8 --- /dev/null +++ b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/class.txt @@ -0,0 +1,6 @@ +@kotlin.Metadata +public final class C { + // source: 'class.kt' + public method (): void + public final @org.jetbrains.annotations.NotNull method foo-d1pmJ48(): java.lang.Object +} diff --git a/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classAnyOverride.kt b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classAnyOverride.kt new file mode 100644 index 00000000000..d6c008f641a --- /dev/null +++ b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classAnyOverride.kt @@ -0,0 +1,10 @@ +// WITH_RUNTIME + +interface I { + fun foo(): Any +} + +class C : I { + override fun foo(): Result = TODO() +} + diff --git a/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classAnyOverride.txt b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classAnyOverride.txt new file mode 100644 index 00000000000..7a1974db5b2 --- /dev/null +++ b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classAnyOverride.txt @@ -0,0 +1,13 @@ +@kotlin.Metadata +public final class C { + // source: 'classAnyOverride.kt' + public method (): void + public synthetic bridge method foo(): java.lang.Object + public @org.jetbrains.annotations.NotNull method foo-d1pmJ48(): java.lang.Object +} + +@kotlin.Metadata +public interface I { + // source: 'classAnyOverride.kt' + public abstract @org.jetbrains.annotations.NotNull method foo(): java.lang.Object +} diff --git a/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classGenericOverride.kt b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classGenericOverride.kt new file mode 100644 index 00000000000..54307654869 --- /dev/null +++ b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classGenericOverride.kt @@ -0,0 +1,10 @@ +// WITH_RUNTIME + +interface I { + fun foo(): T = TODO() +} + +class C : I> { + override fun foo(): Result = TODO() +} + diff --git a/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classGenericOverride.txt b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classGenericOverride.txt new file mode 100644 index 00000000000..d760653ff63 --- /dev/null +++ b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classGenericOverride.txt @@ -0,0 +1,21 @@ +@kotlin.Metadata +public final class C { + // source: 'classGenericOverride.kt' + public method (): void + public synthetic bridge method foo(): java.lang.Object + public @org.jetbrains.annotations.NotNull method foo-d1pmJ48(): java.lang.Object +} + +@kotlin.Metadata +public final class I$DefaultImpls { + // source: 'classGenericOverride.kt' + public static method foo(@org.jetbrains.annotations.NotNull p0: I): java.lang.Object + public final inner class I$DefaultImpls +} + +@kotlin.Metadata +public interface I { + // source: 'classGenericOverride.kt' + public abstract method foo(): java.lang.Object + public final inner class I$DefaultImpls +} diff --git a/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classResultOverride.kt b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classResultOverride.kt new file mode 100644 index 00000000000..cc0db92032f --- /dev/null +++ b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classResultOverride.kt @@ -0,0 +1,10 @@ +// WITH_RUNTIME + +interface I { + fun foo(): Result +} + +class C : I { + override fun foo(): Result = TODO() +} + diff --git a/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classResultOverride.txt b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classResultOverride.txt new file mode 100644 index 00000000000..dbf4d8fe168 --- /dev/null +++ b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classResultOverride.txt @@ -0,0 +1,12 @@ +@kotlin.Metadata +public final class C { + // source: 'classResultOverride.kt' + public method (): void + public @org.jetbrains.annotations.NotNull method foo-d1pmJ48(): java.lang.Object +} + +@kotlin.Metadata +public interface I { + // source: 'classResultOverride.kt' + public abstract @org.jetbrains.annotations.NotNull method foo-d1pmJ48(): java.lang.Object +} diff --git a/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/interface.kt b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/interface.kt new file mode 100644 index 00000000000..f3597514109 --- /dev/null +++ b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/interface.kt @@ -0,0 +1,6 @@ +// WITH_RUNTIME + +interface I { + fun foo(): Result +} + diff --git a/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/interface.txt b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/interface.txt new file mode 100644 index 00000000000..23391ad9647 --- /dev/null +++ b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/interface.txt @@ -0,0 +1,5 @@ +@kotlin.Metadata +public interface I { + // source: 'interface.kt' + public abstract @org.jetbrains.annotations.NotNull method foo-d1pmJ48(): java.lang.Object +} diff --git a/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/topLevel.kt b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/topLevel.kt new file mode 100644 index 00000000000..c9fb4bdbb3d --- /dev/null +++ b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/topLevel.kt @@ -0,0 +1,3 @@ +// WITH_RUNTIME + +fun foo(): Result = TODO() \ No newline at end of file diff --git a/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/topLevel.txt b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/topLevel.txt new file mode 100644 index 00000000000..3a3464b2f15 --- /dev/null +++ b/compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/topLevel.txt @@ -0,0 +1,5 @@ +@kotlin.Metadata +public final class TopLevelKt { + // source: 'topLevel.kt' + public final static @org.jetbrains.annotations.NotNull method foo(): java.lang.Object +} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java index 372f9d4805c..40b8fb25194 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java @@ -19464,6 +19464,52 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { } } + @Nested + @TestMetadata("compiler/testData/codegen/box/inlineClasses/returnResult") + @TestDataPath("$PROJECT_ROOT") + public class ReturnResult { + @Test + public void testAllFilesPresentInReturnResult() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/returnResult"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true); + } + + @Test + @TestMetadata("class.kt") + public void testClass() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/class.kt"); + } + + @Test + @TestMetadata("classAnyOverride.kt") + public void testClassAnyOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt"); + } + + @Test + @TestMetadata("classGenericOverride.kt") + public void testClassGenericOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt"); + } + + @Test + @TestMetadata("classResultOverride.kt") + public void testClassResultOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt"); + } + + @Test + @TestMetadata("interface.kt") + public void testInterface() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt"); + } + + @Test + @TestMetadata("topLevel.kt") + public void testTopLevel() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt"); + } + } + @Nested @TestMetadata("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index f9cd7d6d9dd..1d88ec1791d 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -19482,6 +19482,52 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes } } + @Nested + @TestMetadata("compiler/testData/codegen/box/inlineClasses/returnResult") + @TestDataPath("$PROJECT_ROOT") + public class ReturnResult { + @Test + public void testAllFilesPresentInReturnResult() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/returnResult"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("class.kt") + public void testClass() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/class.kt"); + } + + @Test + @TestMetadata("classAnyOverride.kt") + public void testClassAnyOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt"); + } + + @Test + @TestMetadata("classGenericOverride.kt") + public void testClassGenericOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt"); + } + + @Test + @TestMetadata("classResultOverride.kt") + public void testClassResultOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt"); + } + + @Test + @TestMetadata("interface.kt") + public void testInterface() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt"); + } + + @Test + @TestMetadata("topLevel.kt") + public void testTopLevel() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt"); + } + } + @Nested @TestMetadata("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/BytecodeListingTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/BytecodeListingTestGenerated.java index 602093c5688..687351fa05d 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/BytecodeListingTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/BytecodeListingTestGenerated.java @@ -1361,6 +1361,49 @@ public class BytecodeListingTestGenerated extends AbstractBytecodeListingTest { } } + @TestMetadata("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ReturnResult extends AbstractBytecodeListingTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath); + } + + public void testAllFilesPresentInReturnResult() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true); + } + + @TestMetadata("class.kt") + public void testClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/class.kt"); + } + + @TestMetadata("classAnyOverride.kt") + public void testClassAnyOverride() throws Exception { + runTest("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classAnyOverride.kt"); + } + + @TestMetadata("classGenericOverride.kt") + public void testClassGenericOverride() throws Exception { + runTest("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classGenericOverride.kt"); + } + + @TestMetadata("classResultOverride.kt") + public void testClassResultOverride() throws Exception { + runTest("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classResultOverride.kt"); + } + + @TestMetadata("interface.kt") + public void testInterface() throws Exception { + runTest("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/interface.kt"); + } + + @TestMetadata("topLevel.kt") + public void testTopLevel() throws Exception { + runTest("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/topLevel.kt"); + } + } + @TestMetadata("compiler/testData/codegen/bytecodeListing/inlineClasses/stdlibManglingIn1430") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index a2d4e440d58..8806f058617 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -16206,6 +16206,49 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes } } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/returnResult") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ReturnResult extends AbstractLightAnalysisModeTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath); + } + + public void testAllFilesPresentInReturnResult() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/returnResult"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true); + } + + @TestMetadata("class.kt") + public void testClass() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/class.kt"); + } + + @TestMetadata("classAnyOverride.kt") + public void testClassAnyOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt"); + } + + @TestMetadata("classGenericOverride.kt") + public void testClassGenericOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt"); + } + + @TestMetadata("classResultOverride.kt") + public void testClassResultOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt"); + } + + @TestMetadata("interface.kt") + public void testInterface() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt"); + } + + @TestMetadata("topLevel.kt") + public void testTopLevel() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt"); + } + } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/ir/IrBytecodeListingTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/ir/IrBytecodeListingTestGenerated.java index cc143cf7818..7542fdb0c9e 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/ir/IrBytecodeListingTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/ir/IrBytecodeListingTestGenerated.java @@ -1361,6 +1361,49 @@ public class IrBytecodeListingTestGenerated extends AbstractIrBytecodeListingTes } } + @TestMetadata("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ReturnResult extends AbstractIrBytecodeListingTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath); + } + + public void testAllFilesPresentInReturnResult() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("class.kt") + public void testClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/class.kt"); + } + + @TestMetadata("classAnyOverride.kt") + public void testClassAnyOverride() throws Exception { + runTest("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classAnyOverride.kt"); + } + + @TestMetadata("classGenericOverride.kt") + public void testClassGenericOverride() throws Exception { + runTest("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classGenericOverride.kt"); + } + + @TestMetadata("classResultOverride.kt") + public void testClassResultOverride() throws Exception { + runTest("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/classResultOverride.kt"); + } + + @TestMetadata("interface.kt") + public void testInterface() throws Exception { + runTest("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/interface.kt"); + } + + @TestMetadata("topLevel.kt") + public void testTopLevel() throws Exception { + runTest("compiler/testData/codegen/bytecodeListing/inlineClasses/returnResult/topLevel.kt"); + } + } + @TestMetadata("compiler/testData/codegen/bytecodeListing/inlineClasses/stdlibManglingIn1430") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java index 44b617dbb73..38c9e79057d 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java @@ -14280,6 +14280,49 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes } } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/returnResult") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ReturnResult extends AbstractIrJsCodegenBoxES6Test { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest0(this::doTest, TargetBackend.JS_IR_ES6, testDataFilePath); + } + + public void testAllFilesPresentInReturnResult() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/returnResult"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @TestMetadata("class.kt") + public void testClass() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/class.kt"); + } + + @TestMetadata("classAnyOverride.kt") + public void testClassAnyOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt"); + } + + @TestMetadata("classGenericOverride.kt") + public void testClassGenericOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt"); + } + + @TestMetadata("classResultOverride.kt") + public void testClassResultOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt"); + } + + @TestMetadata("interface.kt") + public void testInterface() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt"); + } + + @TestMetadata("topLevel.kt") + public void testTopLevel() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt"); + } + } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java index 3cd5090e4c0..52180ad6c30 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java @@ -13701,6 +13701,49 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { } } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/returnResult") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ReturnResult extends AbstractIrJsCodegenBoxTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest0(this::doTest, TargetBackend.JS_IR, testDataFilePath); + } + + public void testAllFilesPresentInReturnResult() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/returnResult"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @TestMetadata("class.kt") + public void testClass() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/class.kt"); + } + + @TestMetadata("classAnyOverride.kt") + public void testClassAnyOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt"); + } + + @TestMetadata("classGenericOverride.kt") + public void testClassGenericOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt"); + } + + @TestMetadata("classResultOverride.kt") + public void testClassResultOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt"); + } + + @TestMetadata("interface.kt") + public void testInterface() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt"); + } + + @TestMetadata("topLevel.kt") + public void testTopLevel() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt"); + } + } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index b4eb968e992..cee96591873 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -13766,6 +13766,49 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { } } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/returnResult") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ReturnResult extends AbstractJsCodegenBoxTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest0(this::doTest, TargetBackend.JS, testDataFilePath); + } + + public void testAllFilesPresentInReturnResult() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/returnResult"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS, true); + } + + @TestMetadata("class.kt") + public void testClass() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/class.kt"); + } + + @TestMetadata("classAnyOverride.kt") + public void testClassAnyOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt"); + } + + @TestMetadata("classGenericOverride.kt") + public void testClassGenericOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt"); + } + + @TestMetadata("classResultOverride.kt") + public void testClassResultOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt"); + } + + @TestMetadata("interface.kt") + public void testInterface() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt"); + } + + @TestMetadata("topLevel.kt") + public void testTopLevel() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt"); + } + } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java index 2fd707cdb8a..4efa7c317ac 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java @@ -7787,6 +7787,49 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest } } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/returnResult") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ReturnResult extends AbstractIrCodegenBoxWasmTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest0(this::doTest, TargetBackend.WASM, testDataFilePath); + } + + public void testAllFilesPresentInReturnResult() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/returnResult"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true); + } + + @TestMetadata("class.kt") + public void testClass() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/class.kt"); + } + + @TestMetadata("classAnyOverride.kt") + public void testClassAnyOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt"); + } + + @TestMetadata("classGenericOverride.kt") + public void testClassGenericOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt"); + } + + @TestMetadata("classResultOverride.kt") + public void testClassResultOverride() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt"); + } + + @TestMetadata("interface.kt") + public void testInterface() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt"); + } + + @TestMetadata("topLevel.kt") + public void testTopLevel() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt"); + } + } + @TestMetadata("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class)