K2: Fix false positive NotImplemented error for size property

The problem appeared because not all of the `realOverridden` have been
collected because inside AbstractSerializableListDecorator some of the
scopes returned the same instance as direct overridden and after that
overridden tree traversal stopped without detecting real overrides.

Thus, the modality of intersection for
AbstractSerializableListDecorator::size and MutableSet::size
was incorrectly computed to ABSTRACT

The similar thing is already done at the place where we're obtaining
all overrides.
See https://github.com/JetBrains/kotlin/commit/c80cfb0fdb00323ba9b5e1dd98c5cbd0bfab6b8b#diff-182d90c9b8050557e4e2eb319a84b9a51fd0600c728dd0fce85cf6491c13e16dR152

^KT-57693 Fixed
This commit is contained in:
Denis.Zharkov
2023-04-18 14:21:57 +02:00
committed by Space Team
parent 6544220b3e
commit 4e2107abe7
7 changed files with 118 additions and 3 deletions
@@ -20319,6 +20319,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/tests/j+k/specialBuiltIns/hashtableInheritance.kt");
}
@Test
@TestMetadata("inheritanceThroughEmptyClass.kt")
public void testInheritanceThroughEmptyClass() throws Exception {
runTest("compiler/testData/diagnostics/tests/j+k/specialBuiltIns/inheritanceThroughEmptyClass.kt");
}
@Test
@TestMetadata("securityProvider.kt")
public void testSecurityProvider() throws Exception {
@@ -20319,6 +20319,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/tests/j+k/specialBuiltIns/hashtableInheritance.kt");
}
@Test
@TestMetadata("inheritanceThroughEmptyClass.kt")
public void testInheritanceThroughEmptyClass() throws Exception {
runTest("compiler/testData/diagnostics/tests/j+k/specialBuiltIns/inheritanceThroughEmptyClass.kt");
}
@Test
@TestMetadata("securityProvider.kt")
public void testSecurityProvider() throws Exception {