From 6f88b2d044196a4eeb8e4e8dc435dec828eebabb Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 25 May 2020 10:35:48 +0300 Subject: [PATCH] Get rid of deprecated IR declaration constructors usages (cherry picked from commit c4361dfee096c855cf19b7f0303f7957701cd9cd) --- .../BuiltInFictitiousFunctionIrClassFactory.kt | 18 ++++++++++++------ .../konan/serialization/KonanIrlinker.kt | 4 ++-- 2 files changed, 14 insertions(+), 8 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 146d4e2a33c..34f410e926e 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 @@ -140,11 +140,14 @@ internal class BuiltInFictitiousFunctionIrClassFactory( returnType ) - private val createClassLambda = - { s: IrClassSymbol -> IrClassImpl(offset, offset, DECLARATION_ORIGIN_FUNCTION_CLASS, s) } + private val createClassLambda = { s: IrClassSymbol, d: ClassDescriptor -> + IrClassImpl(offset, offset, DECLARATION_ORIGIN_FUNCTION_CLASS, s, d) + } private fun createClass(descriptor: FunctionClassDescriptor, declarator: SymbolTable.((IrClassSymbol) -> IrClass) -> IrClass): IrClass { - return symbolTable?.declarator(createClassLambda) ?: createClassLambda(IrClassSymbolImpl(descriptor)) + return symbolTable?.declarator { + IrClassImpl(offset, offset, DECLARATION_ORIGIN_FUNCTION_CLASS, it, descriptor) + } ?: createClassLambda(IrClassSymbolImpl(descriptor), descriptor) } private fun buildClass(descriptor: FunctionClassDescriptor, declarator: SymbolTable.((IrClassSymbol) -> IrClass) -> IrClass): IrClass = @@ -254,9 +257,12 @@ internal class BuiltInFictitiousFunctionIrClassFactory( offset, offset, memberOrigin, - symbol, + descriptor, toIrType(descriptor.type), - varargType?.let { toIrType(it) }).also { + varargType?.let { toIrType(it) }, + descriptor.name, + symbol + ).also { it.parent = this } } @@ -294,7 +300,7 @@ internal class BuiltInFictitiousFunctionIrClassFactory( fun createFakeOverrideProperty(descriptor: PropertyDescriptor): IrProperty { val propertyDeclare = { s: IrPropertySymbol -> - IrPropertyImpl(offset, offset, memberOrigin, s, descriptor.name) + IrPropertyImpl(offset, offset, memberOrigin, descriptor, s, descriptor.name) } val property = symbolTable?.declareProperty(offset, offset, memberOrigin, descriptor, propertyFactory = propertyDeclare) ?: propertyDeclare(IrPropertySymbolImpl(descriptor)) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrlinker.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrlinker.kt index 1b2e881bc02..cc165e6c9a0 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrlinker.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrlinker.kt @@ -163,7 +163,7 @@ internal class KonanIrLinker( val fqn = packageFragment.fqName return packageToFileMap.getOrPut(packageFragment.fqName) { val fileSymbol = IrFileSymbolImpl(packageFragment) - IrFileImpl(NaiveSourceBasedFileEntryImpl("forward declarations for $fqn"), fileSymbol).also { + IrFileImpl(NaiveSourceBasedFileEntryImpl("forward declarations for $fqn"), fileSymbol, packageFragment.fqName).also { moduleFragment.files.add(it) } } @@ -174,7 +174,7 @@ internal class KonanIrLinker( val irFile = getIrFile(packageDescriptor) val klass = symbolTable.declareClassFromLinker(descriptor, idSig) { s -> - IrClassImpl(offset, offset, FORWARD_DECLARATION_ORIGIN, s) + IrClassImpl(offset, offset, FORWARD_DECLARATION_ORIGIN, s, descriptor) } klass.parent = irFile