[FIR] 2/2 Support more wider actual member visibility, if the expect member is effectively final

^KT-61955 Fixed

Introduce LV vs don't introduce LV:

introduce LV:
- K1 IDE and K2 project: IDE accurately shows compiler errors
- K2 IDE and K1 project: There are cases when IDE shows red but in reality it's green

don't introduce LV:
- K1 IDE and K2 project: There are cases when IDE shows red but in reality it's green
- K2 IDE and K1 project: There are cases when IDE shows green but in reality it's red
This commit is contained in:
Nikita Bobko
2023-09-14 20:26:14 +02:00
committed by Space Team
parent e13ebe8474
commit 7b8445f914
13 changed files with 246 additions and 3 deletions
@@ -367,6 +367,36 @@ public class FirOldFrontendMPPDiagnosticsWithLightTreeTestGenerated extends Abst
runTest("compiler/testData/diagnostics/tests/multiplatform/widerVisibilityInActualClassifier.kt");
}
@Test
@TestMetadata("widerVisibility_expectIsEffectivelyFinal.kt")
public void testWiderVisibility_expectIsEffectivelyFinal() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/widerVisibility_expectIsEffectivelyFinal.kt");
}
@Test
@TestMetadata("widerVisibility_expectIsEffectivelyFinal_fakeOverride.kt")
public void testWiderVisibility_expectIsEffectivelyFinal_fakeOverride() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/widerVisibility_expectIsEffectivelyFinal_fakeOverride.kt");
}
@Test
@TestMetadata("widerVisibility_expectIsEffectivelyFinal_oldLanguageVersion.kt")
public void testWiderVisibility_expectIsEffectivelyFinal_oldLanguageVersion() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/widerVisibility_expectIsEffectivelyFinal_oldLanguageVersion.kt");
}
@Test
@TestMetadata("widerVisibility_expectSetterIsEffectivelyFinal.kt")
public void testWiderVisibility_expectSetterIsEffectivelyFinal() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/widerVisibility_expectSetterIsEffectivelyFinal.kt");
}
@Test
@TestMetadata("widerVisibility_expectSetterIsEffectivelyFinal_fakeOverride.kt")
public void testWiderVisibility_expectSetterIsEffectivelyFinal_fakeOverride() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/widerVisibility_expectSetterIsEffectivelyFinal_fakeOverride.kt");
}
@Nested
@TestMetadata("compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker")
@TestDataPath("$PROJECT_ROOT")
@@ -367,6 +367,36 @@ public class FirOldFrontendMPPDiagnosticsWithPsiTestGenerated extends AbstractFi
runTest("compiler/testData/diagnostics/tests/multiplatform/widerVisibilityInActualClassifier.kt");
}
@Test
@TestMetadata("widerVisibility_expectIsEffectivelyFinal.kt")
public void testWiderVisibility_expectIsEffectivelyFinal() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/widerVisibility_expectIsEffectivelyFinal.kt");
}
@Test
@TestMetadata("widerVisibility_expectIsEffectivelyFinal_fakeOverride.kt")
public void testWiderVisibility_expectIsEffectivelyFinal_fakeOverride() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/widerVisibility_expectIsEffectivelyFinal_fakeOverride.kt");
}
@Test
@TestMetadata("widerVisibility_expectIsEffectivelyFinal_oldLanguageVersion.kt")
public void testWiderVisibility_expectIsEffectivelyFinal_oldLanguageVersion() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/widerVisibility_expectIsEffectivelyFinal_oldLanguageVersion.kt");
}
@Test
@TestMetadata("widerVisibility_expectSetterIsEffectivelyFinal.kt")
public void testWiderVisibility_expectSetterIsEffectivelyFinal() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/widerVisibility_expectSetterIsEffectivelyFinal.kt");
}
@Test
@TestMetadata("widerVisibility_expectSetterIsEffectivelyFinal_fakeOverride.kt")
public void testWiderVisibility_expectSetterIsEffectivelyFinal_fakeOverride() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/widerVisibility_expectSetterIsEffectivelyFinal_fakeOverride.kt");
}
@Nested
@TestMetadata("compiler/testData/diagnostics/tests/multiplatform/actualClassifierMustHasTheSameMembersAsNonFinalExpectClassifierChecker")
@TestDataPath("$PROJECT_ROOT")