From 66650d2dcca8d7889f48c574de89e06bd306328a Mon Sep 17 00:00:00 2001 From: Ivan Kylchik Date: Tue, 15 Aug 2023 10:57:42 +0200 Subject: [PATCH] [Native] Drop `IrSerializationUtil` file Most methods from there are unused --- .../objcexport/ObjCExportCodeGenerator.kt | 3 +- .../backend/konan/lower/InteropLowering.kt | 3 +- .../serialization/IrSerializationUtil.kt | 55 ------------------- 3 files changed, 2 insertions(+), 59 deletions(-) delete mode 100644 kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/IrSerializationUtil.kt diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt index 595134606c3..80867ee1f61 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt @@ -22,7 +22,6 @@ import org.jetbrains.kotlin.backend.konan.llvm.objc.ObjCCodeGenerator import org.jetbrains.kotlin.backend.konan.llvm.objc.ObjCDataGenerator import org.jetbrains.kotlin.backend.konan.lower.getObjectClassInstanceFunction import org.jetbrains.kotlin.backend.konan.objcexport.* -import org.jetbrains.kotlin.backend.konan.serialization.resolveFakeOverrideMaybeAbstract import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.incremental.components.NoLookupLocation @@ -1535,7 +1534,7 @@ private fun ObjCExportCodeGenerator.itablePlace(irFunction: IrSimpleFunction): C assert(irFunction.isOverridable) val irClass = irFunction.parentAsClass return if (irClass.isInterface - && (irFunction.isReal || irFunction.resolveFakeOverrideMaybeAbstract().parent != context.irBuiltIns.anyClass.owner) + && (irFunction.isReal || irFunction.resolveFakeOverride(allowAbstract = true)?.parent != context.irBuiltIns.anyClass.owner) ) { context.getLayoutBuilder(irClass).itablePlace(irFunction) } else { diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InteropLowering.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InteropLowering.kt index bfaf2fe08b1..7d479f97173 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InteropLowering.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InteropLowering.kt @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.backend.konan.descriptors.synthesizedName import org.jetbrains.kotlin.backend.konan.ir.* import org.jetbrains.kotlin.backend.konan.llvm.IntrinsicType import org.jetbrains.kotlin.backend.konan.llvm.tryGetIntrinsicType -import org.jetbrains.kotlin.backend.konan.serialization.resolveFakeOverrideMaybeAbstract import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.DescriptorVisibilities @@ -1062,7 +1061,7 @@ private class InteropTransformer( builder.at(expression) val function = expression.symbol.owner - if ((function as? IrSimpleFunction)?.resolveFakeOverrideMaybeAbstract()?.symbol + if ((function as? IrSimpleFunction)?.resolveFakeOverride(allowAbstract = true)?.symbol == symbols.interopNativePointedRawPtrGetter) { // Replace by the intrinsic call to be handled by code generator: diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/IrSerializationUtil.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/IrSerializationUtil.kt deleted file mode 100644 index 614a67cd9f0..00000000000 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/IrSerializationUtil.kt +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.backend.konan.serialization - -import org.jetbrains.kotlin.backend.konan.descriptors.resolveFakeOverride -import org.jetbrains.kotlin.descriptors.* -import org.jetbrains.kotlin.ir.declarations.* -import org.jetbrains.kotlin.ir.util.resolveFakeOverride -import org.jetbrains.kotlin.resolve.OverridingUtil - -// TODO: move me somewhere - -/** - * Implementation of given method. - * - * TODO: this method is actually a part of resolve and probably duplicates another one - */ -internal fun IrSimpleFunction.resolveFakeOverrideMaybeAbstract() = this.resolveFakeOverride(allowAbstract = true)!! - -internal fun IrProperty.resolveFakeOverrideMaybeAbstract() = - this.getter!!.resolveFakeOverrideMaybeAbstract().correspondingPropertySymbol!!.owner - -internal fun IrField.resolveFakeOverrideMaybeAbstract() = - this.correspondingPropertySymbol!!.owner.resolveFakeOverrideMaybeAbstract().backingField - -/** - * Implementation of given method. - * - * TODO: this method is actually a part of resolve and probably duplicates another one - */ -internal fun T.resolveFakeOverrideMaybeAbstract(): Set { - if (this.kind.isReal) { - return setOf(this) - } else { - val overridden = OverridingUtil.getOverriddenDeclarations(this) - val filtered = OverridingUtil.filterOutOverridden(overridden) - // TODO: is it correct to take first? - @Suppress("UNCHECKED_CAST") - return filtered as Set - } -}