[FIR] Check top-level property initialization via CFG
Now that files have a CFG, use it to validate properties are initialized correctly. Update FirTopLevelPropertiesChecker to collect initialization info for the property being checked - similar to FirMemberPropertiesChecker - and validate proper initialization. #KT-56683 Fixed #KT-58531 Fixed
This commit is contained in:
Vendored
+4
-1
@@ -3,4 +3,7 @@ fun foo(): String
|
||||
class A {
|
||||
abstract fun foo()
|
||||
}
|
||||
class B: A
|
||||
class B: A
|
||||
|
||||
// IGNORE_FIR
|
||||
// Does not pass because of KT-61296
|
||||
|
||||
+6
@@ -3242,6 +3242,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
|
||||
runTest("compiler/testData/diagnostics/tests/backingField/SetterWithExplicitType.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("TopLevelPropertyInitialization.kt")
|
||||
public void testTopLevelPropertyInitialization() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/backingField/TopLevelPropertyInitialization.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ValDeferredInitInFinalClass.kt")
|
||||
public void testValDeferredInitInFinalClass() throws Exception {
|
||||
|
||||
+6
@@ -3242,6 +3242,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
|
||||
runTest("compiler/testData/diagnostics/tests/backingField/SetterWithExplicitType.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("TopLevelPropertyInitialization.kt")
|
||||
public void testTopLevelPropertyInitialization() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/backingField/TopLevelPropertyInitialization.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ValDeferredInitInFinalClass.kt")
|
||||
public void testValDeferredInitInFinalClass() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user