From 3efe07d0cbdcf1202443304c83cabd72dcb4a445 Mon Sep 17 00:00:00 2001 From: Ivan Kylchik Date: Tue, 15 Aug 2023 14:40:03 +0200 Subject: [PATCH] [Native] Drop `getArgumentsWithIr` from `IrUtils2` We can reuse the same function from common `IrUtils` --- .../org/jetbrains/kotlin/ir/util/IrUtils2.kt | 43 ++----------------- 1 file changed, 4 insertions(+), 39 deletions(-) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUtils2.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUtils2.kt index 4fe71c815bd..15afe1424cb 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUtils2.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/ir/util/IrUtils2.kt @@ -6,16 +6,16 @@ package org.jetbrains.kotlin.ir.util import org.jetbrains.kotlin.backend.common.CommonBackendContext -import org.jetbrains.kotlin.backend.common.ErrorReportingContext import org.jetbrains.kotlin.backend.konan.KonanBackendContext -import org.jetbrains.kotlin.backend.konan.KonanCompilationException import org.jetbrains.kotlin.backend.konan.descriptors.synthesizedName import org.jetbrains.kotlin.backend.konan.ir.buildSimpleAnnotation -import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.descriptors.DescriptorVisibilities import org.jetbrains.kotlin.descriptors.ParameterDescriptor import org.jetbrains.kotlin.descriptors.impl.PackageFragmentDescriptorImpl -import org.jetbrains.kotlin.ir.* +import org.jetbrains.kotlin.ir.IrBuiltIns +import org.jetbrains.kotlin.ir.IrFileEntry +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI +import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET import org.jetbrains.kotlin.ir.builders.* import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.impl.IrFieldImpl @@ -30,16 +30,11 @@ import org.jetbrains.kotlin.ir.symbols.impl.IrValueParameterSymbolImpl import org.jetbrains.kotlin.ir.symbols.impl.IrVariableSymbolImpl import org.jetbrains.kotlin.ir.types.* import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl -import org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl import org.jetbrains.kotlin.ir.types.impl.makeTypeProjection -import org.jetbrains.kotlin.ir.visitors.IrElementVisitor import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.calls.checkers.isRestrictsSuspensionReceiver import org.jetbrains.kotlin.resolve.scopes.MemberScope -import org.jetbrains.kotlin.types.KotlinType -import org.jetbrains.kotlin.types.TypeUtils -import org.jetbrains.kotlin.types.typeUtil.immediateSupertypes import java.lang.reflect.Proxy internal fun irBuilder( @@ -230,36 +225,6 @@ fun IrBuilderWithScope.irCatch(type: IrType) = } ) -/** - * Binds the arguments explicitly represented in the IR to the parameters of the accessed function. - * The arguments are to be evaluated in the same order as they appear in the resulting list. - */ -fun IrMemberAccessExpression<*>.getArgumentsWithIr(): List> { - val res = mutableListOf>() - val irFunction = when (this) { - is IrFunctionAccessExpression -> this.symbol.owner - is IrFunctionReference -> this.symbol.owner - else -> error(this) - } - - dispatchReceiver?.let { - res += (irFunction.dispatchReceiverParameter!! to it) - } - - extensionReceiver?.let { - res += (irFunction.extensionReceiverParameter!! to it) - } - - irFunction.valueParameters.forEachIndexed { index, it -> - val arg = getValueArgument(index) - if (arg != null) { - res += (it to arg) - } - } - - return res -} - fun CommonBackendContext.createArrayOfExpression( startOffset: Int, endOffset: Int, arrayElementType: IrType,