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
@@ -7230,6 +7230,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/coroutines/kt24135.kt");
}
@TestMetadata("kt49168.kt")
public void ignoreKt49168() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/kt49168.kt");
}
@TestMetadata("suspendFunctionAsSupertype.kt")
public void ignoreSuspendFunctionAsSupertype() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/suspendFunctionAsSupertype.kt");