IR: fix thisReceiver parameter type for function classes

Incorrect builder was used at line 269, which led to non-sensible type
in `IrClass.thisReceiver` for function types, such as
`SuspendFunction1<SuspendFunction1, SuspendFunction1>` in the linked
issue.

Avoid creating types manually completely to simplify this code and fix
the bug.

 #KT-49168 Fixed
This commit is contained in:
Alexander Udalov
2021-11-09 22:08:48 +01:00
parent 5b9268a108
commit 27cfcb9b3d
12 changed files with 86 additions and 23 deletions
@@ -9762,6 +9762,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
runTest("compiler/testData/codegen/box/coroutines/kt46813.kt");
}
@Test
@TestMetadata("kt49168.kt")
public void testKt49168() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/kt49168.kt");
}
@Test
@TestMetadata("lastExpressionIsLoop.kt")
public void testLastExpressionIsLoop() throws Exception {