[IR] Prevent infinite recursion when rendering bound symbol references

Refactor the renderer, make BoundSymbolReferenceRenderer a static class
to prevent calling RenderIrElementVisitor's methods from it to avoid
infinite recursion in the future.

^KT-52677 Fixed
This commit is contained in:
Sergej Jaskiewicz
2022-11-09 19:05:56 +01:00
committed by Space Team
parent 9fcd185141
commit aa1b18b0c8
20 changed files with 992 additions and 278 deletions
@@ -27179,6 +27179,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/ir/kt41765.kt");
}
@Test
@TestMetadata("kt52677.kt")
public void testKt52677() throws Exception {
runTest("compiler/testData/codegen/box/ir/kt52677.kt");
}
@Test
@TestMetadata("lambdaWithLoop.kt")
public void testLambdaWithLoop() throws Exception {
@@ -28037,6 +28037,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/ir/kt41765.kt");
}
@Test
@TestMetadata("kt52677.kt")
public void testKt52677() throws Exception {
runTest("compiler/testData/codegen/box/ir/kt52677.kt");
}
@Test
@TestMetadata("lambdaWithLoop.kt")
public void testLambdaWithLoop() throws Exception {
@@ -498,6 +498,12 @@ public class IrTextTestGenerated extends AbstractIrTextTest {
runTest("compiler/testData/ir/irText/declarations/kt47527.kt");
}
@Test
@TestMetadata("kt52677.kt")
public void testKt52677() throws Exception {
runTest("compiler/testData/ir/irText/declarations/kt52677.kt");
}
@Test
@TestMetadata("localClassWithOverrides.kt")
public void testLocalClassWithOverrides() throws Exception {