From 5147a5e8053dcaf734eb41ac437283b8eaad5b5e Mon Sep 17 00:00:00 2001 From: Roman Efremov Date: Thu, 23 Nov 2023 12:16:50 +0100 Subject: [PATCH] [Test] Add test for current behavior of resolution of nested class type ...when it is actualized via typealias. ^KT-31636 --- ...CompilerTestFE10TestdataTestGenerated.java | 6 ++++++ ...sticCompilerFE10TestDataTestGenerated.java | 6 ++++++ ...DiagnosticsWithLightTreeTestGenerated.java | 6 ++++++ ...endMPPDiagnosticsWithPsiTestGenerated.java | 6 ++++++ ...OfNestedClassActualizedViaTypealias.fir.kt | 19 +++++++++++++++++++ ...tionOfNestedClassActualizedViaTypealias.kt | 19 +++++++++++++++++++ .../test/runners/DiagnosticTestGenerated.java | 6 ++++++ 7 files changed, 68 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/multiplatform/typeResolutionOfNestedClassActualizedViaTypealias.fir.kt create mode 100644 compiler/testData/diagnostics/tests/multiplatform/typeResolutionOfNestedClassActualizedViaTypealias.kt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java index 614d70e68f4..0e9bee11853 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java @@ -24060,6 +24060,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia runTest("compiler/testData/diagnostics/tests/multiplatform/supertypeActualizationWithAny.kt"); } + @Test + @TestMetadata("typeResolutionOfNestedClassActualizedViaTypealias.kt") + public void testTypeResolutionOfNestedClassActualizedViaTypealias() throws Exception { + runTest("compiler/testData/diagnostics/tests/multiplatform/typeResolutionOfNestedClassActualizedViaTypealias.kt"); + } + @Test @TestMetadata("varSetterVisibility.kt") public void testVarSetterVisibility() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java index 47c7560bcfa..28c0cad718e 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java @@ -24060,6 +24060,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated runTest("compiler/testData/diagnostics/tests/multiplatform/supertypeActualizationWithAny.kt"); } + @Test + @TestMetadata("typeResolutionOfNestedClassActualizedViaTypealias.kt") + public void testTypeResolutionOfNestedClassActualizedViaTypealias() throws Exception { + runTest("compiler/testData/diagnostics/tests/multiplatform/typeResolutionOfNestedClassActualizedViaTypealias.kt"); + } + @Test @TestMetadata("varSetterVisibility.kt") public void testVarSetterVisibility() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendMPPDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendMPPDiagnosticsWithLightTreeTestGenerated.java index fb7bc5d6d73..a31da5151b1 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendMPPDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendMPPDiagnosticsWithLightTreeTestGenerated.java @@ -421,6 +421,12 @@ public class FirOldFrontendMPPDiagnosticsWithLightTreeTestGenerated extends Abst runTest("compiler/testData/diagnostics/tests/multiplatform/supertypeActualizationWithAny.kt"); } + @Test + @TestMetadata("typeResolutionOfNestedClassActualizedViaTypealias.kt") + public void testTypeResolutionOfNestedClassActualizedViaTypealias() throws Exception { + runTest("compiler/testData/diagnostics/tests/multiplatform/typeResolutionOfNestedClassActualizedViaTypealias.kt"); + } + @Test @TestMetadata("varSetterVisibility.kt") public void testVarSetterVisibility() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendMPPDiagnosticsWithPsiTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendMPPDiagnosticsWithPsiTestGenerated.java index 0b39feee2ca..42aff062c05 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendMPPDiagnosticsWithPsiTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendMPPDiagnosticsWithPsiTestGenerated.java @@ -421,6 +421,12 @@ public class FirOldFrontendMPPDiagnosticsWithPsiTestGenerated extends AbstractFi runTest("compiler/testData/diagnostics/tests/multiplatform/supertypeActualizationWithAny.kt"); } + @Test + @TestMetadata("typeResolutionOfNestedClassActualizedViaTypealias.kt") + public void testTypeResolutionOfNestedClassActualizedViaTypealias() throws Exception { + runTest("compiler/testData/diagnostics/tests/multiplatform/typeResolutionOfNestedClassActualizedViaTypealias.kt"); + } + @Test @TestMetadata("varSetterVisibility.kt") public void testVarSetterVisibility() throws Exception { diff --git a/compiler/testData/diagnostics/tests/multiplatform/typeResolutionOfNestedClassActualizedViaTypealias.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/typeResolutionOfNestedClassActualizedViaTypealias.fir.kt new file mode 100644 index 00000000000..7aa5c5909e0 --- /dev/null +++ b/compiler/testData/diagnostics/tests/multiplatform/typeResolutionOfNestedClassActualizedViaTypealias.fir.kt @@ -0,0 +1,19 @@ +// MODULE: m1-common +// FILE: common.kt +expect class Foo { + class Nested +} + +fun foo(p: Foo.Nested) {} + +// MODULE: m2-jvm()()(m1-common) +// FILE: jvm.kt +class FooImpl { + class Nested +} + +actual typealias Foo = FooImpl + +fun test() { + foo(FooImpl.Nested()) +} diff --git a/compiler/testData/diagnostics/tests/multiplatform/typeResolutionOfNestedClassActualizedViaTypealias.kt b/compiler/testData/diagnostics/tests/multiplatform/typeResolutionOfNestedClassActualizedViaTypealias.kt new file mode 100644 index 00000000000..115c7fb0e6d --- /dev/null +++ b/compiler/testData/diagnostics/tests/multiplatform/typeResolutionOfNestedClassActualizedViaTypealias.kt @@ -0,0 +1,19 @@ +// MODULE: m1-common +// FILE: common.kt +expect class Foo { + class Nested +} + +fun foo(p: Foo.Nested) {} + +// MODULE: m2-jvm()()(m1-common) +// FILE: jvm.kt +class FooImpl { + class Nested +} + +actual typealias Foo = FooImpl + +fun test() { + foo(FooImpl.Nested()) +} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java index 4d5c97878cd..b02237343d7 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java @@ -24060,6 +24060,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/multiplatform/supertypeActualizationWithAny.kt"); } + @Test + @TestMetadata("typeResolutionOfNestedClassActualizedViaTypealias.kt") + public void testTypeResolutionOfNestedClassActualizedViaTypealias() throws Exception { + runTest("compiler/testData/diagnostics/tests/multiplatform/typeResolutionOfNestedClassActualizedViaTypealias.kt"); + } + @Test @TestMetadata("varSetterVisibility.kt") public void testVarSetterVisibility() throws Exception {