[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
@@ -480,6 +480,12 @@ public class ClassicNativeIrTextTestGenerated extends AbstractClassicNativeIrTex
runTest("compiler/testData/ir/irText/declarations/kt52677.kt");
}
@Test
@TestMetadata("kt65273.kt")
public void testKt65273() throws Exception {
runTest("compiler/testData/ir/irText/declarations/kt65273.kt");
}
@Test
@TestMetadata("localClassWithOverrides.kt")
public void testLocalClassWithOverrides() throws Exception {
@@ -480,6 +480,12 @@ public class FirLightTreeNativeIrTextTestGenerated extends AbstractFirLightTreeN
runTest("compiler/testData/ir/irText/declarations/kt52677.kt");
}
@Test
@TestMetadata("kt65273.kt")
public void testKt65273() throws Exception {
runTest("compiler/testData/ir/irText/declarations/kt65273.kt");
}
@Test
@TestMetadata("localClassWithOverrides.kt")
public void testLocalClassWithOverrides() throws Exception {
@@ -480,6 +480,12 @@ public class FirPsiNativeIrTextTestGenerated extends AbstractFirPsiNativeIrTextT
runTest("compiler/testData/ir/irText/declarations/kt52677.kt");
}
@Test
@TestMetadata("kt65273.kt")
public void testKt65273() throws Exception {
runTest("compiler/testData/ir/irText/declarations/kt65273.kt");
}
@Test
@TestMetadata("localClassWithOverrides.kt")
public void testLocalClassWithOverrides() throws Exception {