[FIR] Allow actualization of expect classes by classes with wider visibility

^KT-59355 Fixed
This commit is contained in:
Dmitriy Novozhilov
2023-06-16 16:22:20 +03:00
committed by Space Team
parent 583aad2350
commit d972b78627
25 changed files with 257 additions and 4 deletions
@@ -175,6 +175,12 @@ public class FirOldFrontendMPPDiagnosticsWithLightTreeTestGenerated extends Abst
runTest("compiler/testData/diagnostics/tests/multiplatform/varSetterVisibility.kt");
}
@Test
@TestMetadata("widerVisibilityInActualClassifier.kt")
public void testWiderVisibilityInActualClassifier() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/widerVisibilityInActualClassifier.kt");
}
@Nested
@TestMetadata("compiler/testData/diagnostics/tests/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -175,6 +175,12 @@ public class FirOldFrontendMPPDiagnosticsWithPsiTestGenerated extends AbstractFi
runTest("compiler/testData/diagnostics/tests/multiplatform/varSetterVisibility.kt");
}
@Test
@TestMetadata("widerVisibilityInActualClassifier.kt")
public void testWiderVisibilityInActualClassifier() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/widerVisibilityInActualClassifier.kt");
}
@Nested
@TestMetadata("compiler/testData/diagnostics/tests/multiplatform/defaultArguments")
@TestDataPath("$PROJECT_ROOT")
@@ -33632,6 +33632,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
public void testValueClasses() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/basic/valueClasses.kt");
}
@Test
@TestMetadata("widerVisibilityInActualClassifier.kt")
public void testWiderVisibilityInActualClassifier() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/basic/widerVisibilityInActualClassifier.kt");
}
}
@Nested
@@ -33632,6 +33632,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
public void testValueClasses() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/basic/valueClasses.kt");
}
@Test
@TestMetadata("widerVisibilityInActualClassifier.kt")
public void testWiderVisibilityInActualClassifier() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/basic/widerVisibilityInActualClassifier.kt");
}
}
@Nested
@@ -40,6 +40,9 @@ class FirExpectActualMatchingContext(
override val enumConstructorsAreAlwaysCompatible: Boolean
get() = true
override val allowClassActualizationWithWiderVisibility: Boolean
get() = true
private fun CallableSymbolMarker.asSymbol(): FirCallableSymbol<*> = this as FirCallableSymbol<*>
private fun FunctionSymbolMarker.asSymbol(): FirFunctionSymbol<*> = this as FirFunctionSymbol<*>
private fun PropertySymbolMarker.asSymbol(): FirPropertySymbol = this as FirPropertySymbol