[FakeOverrideBuilder] Fix referencing a local type from a return type

Copying tree part happens in two stages.
1. Collect all symbols to copy and create new version of them
2. Do copy tree, replacing collected symbols

For f/o builder 1-st stage traversed more nodes, than seconds.
This led to unbound symbols in tree.

^KT-65273 Fixed
This commit is contained in:
Pavel Kunyavskiy
2024-02-06 15:15:19 +01:00
committed by Space Team
parent 90db7cd685
commit 831ef0f909
19 changed files with 509 additions and 22 deletions
@@ -423,6 +423,11 @@ public class KlibIrTextTestCaseGenerated extends AbstractKlibIrTextTestCase {
runTest("compiler/testData/ir/irText/declarations/kt52677.kt");
}
@TestMetadata("kt65273.kt")
public void testKt65273() throws Exception {
runTest("compiler/testData/ir/irText/declarations/kt65273.kt");
}
@TestMetadata("localClassWithOverrides.kt")
public void testLocalClassWithOverrides() throws Exception {
runTest("compiler/testData/ir/irText/declarations/localClassWithOverrides.kt");