From db1ac079b0ee28e8b5081858cf474cf6809bb802 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Mon, 6 Jul 2020 22:51:24 +0200 Subject: [PATCH] IR: remove deprecated constructors of IrFunctionImpl (cherry picked from commit f2ffcc8b4d84d26c36e50b6de7460178e4f74681) --- ...BuiltInFictitiousFunctionIrClassFactory.kt | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BuiltInFictitiousFunctionIrClassFactory.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BuiltInFictitiousFunctionIrClassFactory.kt index a12f78d64f5..59818fbd4ca 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BuiltInFictitiousFunctionIrClassFactory.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BuiltInFictitiousFunctionIrClassFactory.kt @@ -5,7 +5,10 @@ package org.jetbrains.kotlin.backend.konan -import org.jetbrains.kotlin.backend.common.ir.* +import org.jetbrains.kotlin.backend.common.ir.copyTo +import org.jetbrains.kotlin.backend.common.ir.createDispatchReceiverParameter +import org.jetbrains.kotlin.backend.common.ir.createParameterDeclarations +import org.jetbrains.kotlin.backend.common.ir.simpleFunctions import org.jetbrains.kotlin.backend.konan.descriptors.findPackage import org.jetbrains.kotlin.builtins.functions.FunctionClassDescriptor import org.jetbrains.kotlin.descriptors.* @@ -136,16 +139,18 @@ internal class BuiltInFictitiousFunctionIrClassFactory( descriptor: FunctionDescriptor, origin: IrDeclarationOrigin, returnType: IrType - ) = symbolTable?.declareSimpleFunction(descriptor) { - IrFunctionImpl( - SYNTHETIC_OFFSET, SYNTHETIC_OFFSET, origin, - it, returnType, descriptor - ) - } ?: IrFunctionImpl( - SYNTHETIC_OFFSET, SYNTHETIC_OFFSET, origin, - descriptor, - returnType - ) + ): IrSimpleFunction { + val functionFactory: (IrSimpleFunctionSymbol) -> IrSimpleFunction = { + with(descriptor) { + IrFunctionImpl( + SYNTHETIC_OFFSET, SYNTHETIC_OFFSET, origin, it, name, visibility, modality, returnType, + isInline, isExternal, isTailrec, isSuspend, isOperator, isExpect + ) + } + } + return symbolTable?.declareSimpleFunction(descriptor, functionFactory) + ?: functionFactory(IrSimpleFunctionSymbolImpl(descriptor)) + } private val createClassLambda = { s: IrClassSymbol, d: ClassDescriptor -> IrClassImpl(offset, offset, DECLARATION_ORIGIN_FUNCTION_CLASS, s, d)