[IR] Fix incorrect matching of nested classes when actualized via typealias

Also, add tests for the cases when expect and actual nested classes
have no compatible matching to check new logic doesn't crash.

^KT-31636
This commit is contained in:
Roman Efremov
2023-11-20 14:06:04 +01:00
committed by Space Team
parent d343e40ac5
commit 205690b220
22 changed files with 228 additions and 129 deletions
@@ -23725,6 +23725,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/tests/multiplatform/actualTypealiasToSpecialAnnotation_oldLanguageVersion.kt");
}
@Test
@TestMetadata("actualTypealiasWithoutExpect.kt")
public void testActualTypealiasWithoutExpect() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/actualTypealiasWithoutExpect.kt");
}
@Test
@TestMetadata("actualTypealias_defaultParamsIncompatibility.kt")
public void testActualTypealias_defaultParamsIncompatibility() throws Exception {
@@ -23874,6 +23880,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/tests/multiplatform/expectTailrec_oldLanguageVersion.kt");
}
@Test
@TestMetadata("extraNestedClassOnActualViaActualTypealias.kt")
public void testExtraNestedClassOnActualViaActualTypealias() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/extraNestedClassOnActualViaActualTypealias.kt");
}
@Test
@TestMetadata("headerFunInNonHeaderClass.kt")
public void testHeaderFunInNonHeaderClass() throws Exception {
@@ -23982,6 +23994,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/tests/multiplatform/nestedClassViaActualTypealiasExpandInTypeParam.kt");
}
@Test
@TestMetadata("nestedClassViaActualTypealiasIncompatibilities.kt")
public void testNestedClassViaActualTypealiasIncompatibilities() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/nestedClassViaActualTypealiasIncompatibilities.kt");
}
@Test
@TestMetadata("nestedClassViaActualTypealiasWithTypeParam.kt")
public void testNestedClassViaActualTypealiasWithTypeParam() throws Exception {
@@ -23725,6 +23725,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/tests/multiplatform/actualTypealiasToSpecialAnnotation_oldLanguageVersion.kt");
}
@Test
@TestMetadata("actualTypealiasWithoutExpect.kt")
public void testActualTypealiasWithoutExpect() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/actualTypealiasWithoutExpect.kt");
}
@Test
@TestMetadata("actualTypealias_defaultParamsIncompatibility.kt")
public void testActualTypealias_defaultParamsIncompatibility() throws Exception {
@@ -23874,6 +23880,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/tests/multiplatform/expectTailrec_oldLanguageVersion.kt");
}
@Test
@TestMetadata("extraNestedClassOnActualViaActualTypealias.kt")
public void testExtraNestedClassOnActualViaActualTypealias() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/extraNestedClassOnActualViaActualTypealias.kt");
}
@Test
@TestMetadata("headerFunInNonHeaderClass.kt")
public void testHeaderFunInNonHeaderClass() throws Exception {
@@ -23982,6 +23994,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/tests/multiplatform/nestedClassViaActualTypealiasExpandInTypeParam.kt");
}
@Test
@TestMetadata("nestedClassViaActualTypealiasIncompatibilities.kt")
public void testNestedClassViaActualTypealiasIncompatibilities() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/nestedClassViaActualTypealiasIncompatibilities.kt");
}
@Test
@TestMetadata("nestedClassViaActualTypealiasWithTypeParam.kt")
public void testNestedClassViaActualTypealiasWithTypeParam() throws Exception {