[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:
Brian Norman
2023-07-24 15:34:31 -05:00
committed by Space Team
parent b55fda0c55
commit 997e062de9
14 changed files with 202 additions and 54 deletions
@@ -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 {
@@ -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 {