From 2648fb2ddde527ed518cad74c1a39d8cb2666767 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 30 Aug 2019 13:36:22 +0200 Subject: [PATCH] Do not use typeMapper.mapAsmMethod for erased invoke in MethodInliner Return type of erased `invoke` is always java/lang/Object anyway --- .../src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt index d1afc6b34ce..36f4a9cbc25 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt @@ -303,10 +303,9 @@ class MethodInliner( result.mergeWithNotChangeInfo(lambdaResult) result.reifiedTypeParametersUsages.mergeAll(lambdaResult.reifiedTypeParametersUsages) - val bridge = typeMapper.mapAsmMethod(erasedInvokeFunction) StackValue .onStack(info.invokeMethod.returnType, info.invokeMethodDescriptor.returnType) - .put(bridge.returnType, erasedInvokeFunction.returnType, this) + .put(OBJECT_TYPE, erasedInvokeFunction.returnType, this) setLambdaInlining(false) addInlineMarker(this, false) childSourceMapper.endMapping()