From 3be44a354040eeafb4b80c46c5cccb6312eb41a9 Mon Sep 17 00:00:00 2001 From: Anton Bannykh Date: Wed, 24 Nov 2021 23:04:03 +0300 Subject: [PATCH] [JS IR] fix missing signature --- .../js/lower/InteropCallableReferenceLowering.kt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/InteropCallableReferenceLowering.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/InteropCallableReferenceLowering.kt index da690a3fa02..a7270261174 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/InteropCallableReferenceLowering.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/InteropCallableReferenceLowering.kt @@ -336,13 +336,15 @@ class InteropCallableReferenceLowering(val context: JsIrBackendContext) : BodyLo val newDeclarations = mutableListOf() val constructor = lambdaClass.declarations.single { it is IrConstructor } as IrConstructor - val factoryDeclaration = context.irFactory.buildFun { - startOffset = lambdaClass.startOffset - endOffset = lambdaClass.endOffset - visibility = lambdaClass.visibility - returnType = lambdaClass.defaultType - name = lambdaClass.name - origin = JsStatementOrigins.FACTORY_ORIGIN + val factoryDeclaration = context.irFactory.stageController.restrictTo(lambdaClass) { + context.irFactory.buildFun { + startOffset = lambdaClass.startOffset + endOffset = lambdaClass.endOffset + visibility = lambdaClass.visibility + returnType = lambdaClass.defaultType + name = lambdaClass.name + origin = JsStatementOrigins.FACTORY_ORIGIN + } } factoryDeclaration.valueParameters = constructor.valueParameters.map { it.copyTo(factoryDeclaration) }