From b13d270d778b1d7f15450600aeaa7a36566e86a6 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Wed, 17 Oct 2018 13:22:24 +0300 Subject: [PATCH] Test: reference to constructor with inline class parameters --- .../constructorWithInlineClassParameters.kt | 17 +++++++++++++++++ .../codegen/BlackBoxCodegenTestGenerated.java | 5 +++++ .../codegen/LightAnalysisModeTestGenerated.java | 5 +++++ .../ir/IrBlackBoxCodegenTestGenerated.java | 5 +++++ .../semantics/IrJsCodegenBoxTestGenerated.java | 5 +++++ .../semantics/JsCodegenBoxTestGenerated.java | 5 +++++ 6 files changed, 42 insertions(+) create mode 100644 compiler/testData/codegen/box/inlineClasses/callableReferences/constructorWithInlineClassParameters.kt diff --git a/compiler/testData/codegen/box/inlineClasses/callableReferences/constructorWithInlineClassParameters.kt b/compiler/testData/codegen/box/inlineClasses/callableReferences/constructorWithInlineClassParameters.kt new file mode 100644 index 00000000000..aadb64098b7 --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/callableReferences/constructorWithInlineClassParameters.kt @@ -0,0 +1,17 @@ +// !LANGUAGE: +InlineClasses +// IGNORE_BACKEND: JVM_IR +// WITH_RUNTIME +import kotlin.test.assertEquals + +inline class Z(val x: Int) + +class Outer(val z1: Z) { + inner class Inner(val z2: Z) +} + +fun box(): String { + assertEquals(Z(1), ::Outer.invoke(Z(1)).z1) + assertEquals(Z(2), Outer::Inner.invoke(Outer(Z(1)), Z(2)).z2) + + return "OK" +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java index 416cb01e815..8aefaaf8003 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -12066,6 +12066,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/boundInlineClassPrimaryVal.kt"); } + @TestMetadata("constructorWithInlineClassParameters.kt") + public void testConstructorWithInlineClassParameters() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/constructorWithInlineClassParameters.kt"); + } + @TestMetadata("funWithInlineClassParameters.kt") public void testFunWithInlineClassParameters() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/funWithInlineClassParameters.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 8a05c8e35e3..33f7fe5f3c6 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -12066,6 +12066,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/boundInlineClassPrimaryVal.kt"); } + @TestMetadata("constructorWithInlineClassParameters.kt") + public void testConstructorWithInlineClassParameters() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/constructorWithInlineClassParameters.kt"); + } + @TestMetadata("funWithInlineClassParameters.kt") public void testFunWithInlineClassParameters() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/funWithInlineClassParameters.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java index 0b1546e7726..9f782d33451 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java @@ -12071,6 +12071,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/boundInlineClassPrimaryVal.kt"); } + @TestMetadata("constructorWithInlineClassParameters.kt") + public void testConstructorWithInlineClassParameters() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/constructorWithInlineClassParameters.kt"); + } + @TestMetadata("funWithInlineClassParameters.kt") public void testFunWithInlineClassParameters() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/funWithInlineClassParameters.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/IrJsCodegenBoxTestGenerated.java index b4cf1644689..3cddf863bc1 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/IrJsCodegenBoxTestGenerated.java @@ -10586,6 +10586,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/boundInlineClassPrimaryVal.kt"); } + @TestMetadata("constructorWithInlineClassParameters.kt") + public void testConstructorWithInlineClassParameters() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/constructorWithInlineClassParameters.kt"); + } + @TestMetadata("funWithInlineClassParameters.kt") public void testFunWithInlineClassParameters() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/funWithInlineClassParameters.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index 3199698e72d..d069ebf0201 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -11631,6 +11631,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/boundInlineClassPrimaryVal.kt"); } + @TestMetadata("constructorWithInlineClassParameters.kt") + public void testConstructorWithInlineClassParameters() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/constructorWithInlineClassParameters.kt"); + } + @TestMetadata("funWithInlineClassParameters.kt") public void testFunWithInlineClassParameters() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/callableReferences/funWithInlineClassParameters.kt");