From e67c8a55bf511a72df2b47e76d0f358737b2dde2 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Mon, 17 Feb 2020 11:46:31 +0300 Subject: [PATCH] [FIR-TEST] Add test with callable reference to member of local class #KT-36758 --- .../problems/callableReferenceToLocalClass.kt | 7 +++++++ .../problems/callableReferenceToLocalClass.txt | 18 ++++++++++++++++++ .../fir/FirDiagnosticsTestGenerated.java | 5 +++++ ...rDiagnosticsWithLightTreeTestGenerated.java | 5 +++++ 4 files changed, 35 insertions(+) create mode 100644 compiler/fir/resolve/testData/resolve/problems/callableReferenceToLocalClass.kt create mode 100644 compiler/fir/resolve/testData/resolve/problems/callableReferenceToLocalClass.txt diff --git a/compiler/fir/resolve/testData/resolve/problems/callableReferenceToLocalClass.kt b/compiler/fir/resolve/testData/resolve/problems/callableReferenceToLocalClass.kt new file mode 100644 index 00000000000..d0355e64b5d --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/problems/callableReferenceToLocalClass.kt @@ -0,0 +1,7 @@ +fun List.myMap(block: (T) -> R): List = null!! + +fun test_1() { + class Data(val x: Int) + val datas: List = null!! + val xs = datas.myMap(Data::x) +} diff --git a/compiler/fir/resolve/testData/resolve/problems/callableReferenceToLocalClass.txt b/compiler/fir/resolve/testData/resolve/problems/callableReferenceToLocalClass.txt new file mode 100644 index 00000000000..8cec6768385 --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/problems/callableReferenceToLocalClass.txt @@ -0,0 +1,18 @@ +FILE: callableReferenceToLocalClass.kt + public final fun R|kotlin/collections/List|.myMap(block: R|(T) -> R|): R|kotlin/collections/List| { + ^myMap Null(null)!! + } + public final fun test_1(): R|kotlin/Unit| { + local final class Data : R|kotlin/Any| { + public constructor(x: R|kotlin/Int|): R|Data| { + super() + } + + public final val x: R|kotlin/Int| = R|/x| + public get(): R|kotlin/Int| + + } + + lval datas: R|kotlin/collections/List| = Null(null)!! + lval xs: = R|/datas|.#(Q|Data|::#) + } diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java index 71017b2d1c2..b32a3f121b3 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java @@ -1269,6 +1269,11 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest { KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/resolve/testData/resolve/problems"), Pattern.compile("^([^.]+)\\.kt$"), null, true); } + @TestMetadata("callableReferenceToLocalClass.kt") + public void testCallableReferenceToLocalClass() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/problems/callableReferenceToLocalClass.kt"); + } + @TestMetadata("callableReferencesAndDefaultParameters.kt") public void testCallableReferencesAndDefaultParameters() throws Exception { runTest("compiler/fir/resolve/testData/resolve/problems/callableReferencesAndDefaultParameters.kt"); diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithLightTreeTestGenerated.java index 0af2f7531f2..2ca0ca7e745 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithLightTreeTestGenerated.java @@ -1269,6 +1269,11 @@ public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnos KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/resolve/testData/resolve/problems"), Pattern.compile("^([^.]+)\\.kt$"), null, true); } + @TestMetadata("callableReferenceToLocalClass.kt") + public void testCallableReferenceToLocalClass() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/problems/callableReferenceToLocalClass.kt"); + } + @TestMetadata("callableReferencesAndDefaultParameters.kt") public void testCallableReferencesAndDefaultParameters() throws Exception { runTest("compiler/fir/resolve/testData/resolve/problems/callableReferencesAndDefaultParameters.kt");