[FIR] Process all overridden members from intersection scopes

Previously, there was a contract that each callable symbol in the chain
  of `processDirectOverriddenWithBaseScope` will be unique. And if some
  symbol is accessible from multiple scopes, then only last of them will
  be returned as a component of `MemberWithScope`

But after the change from previous commit, we don't have this contract anymore.
  Which means that we may meet the same symbol during processing hierarchy
  of overridden functions (but with different base scopes)

So if some code utilizes `process...Overridden...WithBaseScope` functions
  it should consider that the same symbol may be obtained several times

^KT-63738 Fixed
This commit is contained in:
Dmitriy Novozhilov
2023-12-06 15:40:00 +02:00
committed by Space Team
parent c34511af37
commit 4272f2e156
6 changed files with 25 additions and 26 deletions
@@ -1,7 +1,5 @@
// ISSUE: KT-55828
// DUMP_IR
// IGNORE_BACKEND_K2: ANY
// Ignore reason: FIR scopes skip part of overridden hierarchy. It will fixed in next commits
// IGNORE_CODEGEN_WITH_IR_FAKE_OVERRIDE_GENERATION: extra overridden symbols for declarations in MyMutableList.
// ^ This is most likely not a problem, and IR dump can be changed once IR fake override generation is enabled by default.