[FIR] Do not smartcast class delegation implemented properties

When a property is implemented via class delegation, it should be
considered unstable for smart-casting. This is because it is unknown
what kind of stability the underlying class delegate property has. It
could be a stable property, or it could be implemented via a custom
getter and unstable.

^KT-57417 Fixed
This commit is contained in:
Brian Norman
2024-01-26 13:55:18 -06:00
committed by Space Team
parent ce291b45b9
commit bb6f466162
8 changed files with 54 additions and 5 deletions
@@ -36967,6 +36967,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/tests/smartCasts/varnotnull/capturedInlineModifiedBefore.kt");
}
@Test
@TestMetadata("classDelegation.kt")
public void testClassDelegation() throws Exception {
runTest("compiler/testData/diagnostics/tests/smartCasts/varnotnull/classDelegation.kt");
}
@Test
@TestMetadata("doWhileWithBreak.kt")
public void testDoWhileWithBreak() throws Exception {
@@ -36967,6 +36967,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/tests/smartCasts/varnotnull/capturedInlineModifiedBefore.kt");
}
@Test
@TestMetadata("classDelegation.kt")
public void testClassDelegation() throws Exception {
runTest("compiler/testData/diagnostics/tests/smartCasts/varnotnull/classDelegation.kt");
}
@Test
@TestMetadata("doWhileWithBreak.kt")
public void testDoWhileWithBreak() throws Exception {