From 47392098500277051af9b464ff468385943a7210 Mon Sep 17 00:00:00 2001 From: Georgy Bronnikov Date: Fri, 17 Jul 2020 18:07:13 +0300 Subject: [PATCH] IR: adapt to introduction of IrSimpleFunction.isInfix (cherry picked from commit 4fe73234d810150fd2ebce2fd6963e99e597e37d) --- .../src/org/jetbrains/kotlin/backend/konan/Boxing.kt | 6 ++++-- .../konan/BuiltInFictitiousFunctionIrClassFactory.kt | 5 +++-- .../src/org/jetbrains/kotlin/backend/konan/Context.kt | 3 ++- .../src/org/jetbrains/kotlin/backend/konan/EntryPoint.kt | 3 ++- .../kotlin/backend/konan/EnumSpecialDescriptorsFactory.kt | 3 ++- .../org/jetbrains/kotlin/backend/konan/cgen/CBridgeGen.kt | 5 +++-- .../jetbrains/kotlin/backend/konan/cgen/CBridgeGenUtils.kt | 3 ++- .../org/jetbrains/kotlin/backend/konan/lower/Autoboxing.kt | 3 ++- .../jetbrains/kotlin/backend/konan/lower/BridgesBuilding.kt | 3 ++- .../kotlin/backend/konan/lower/CallableReferenceLowering.kt | 3 ++- .../kotlin/backend/konan/lower/InitializersLowering.kt | 3 ++- .../jetbrains/kotlin/backend/konan/lower/InteropLowering.kt | 6 ++++-- .../backend/konan/lower/NativeSuspendFunctionLowering.kt | 6 ++++-- .../jetbrains/kotlin/backend/konan/lower/TestProcessor.kt | 6 ++++-- 14 files changed, 38 insertions(+), 20 deletions(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Boxing.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Boxing.kt index 4f53fad863f..3eaa6efd57f 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Boxing.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Boxing.kt @@ -74,7 +74,8 @@ internal val Context.getBoxFunction: (IrClass) -> IrSimpleFunction by Context.la isSuspend = false, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).also { function -> function.valueParameters = listOf(WrappedValueParameterDescriptor().let { IrValueParameterImpl( @@ -128,7 +129,8 @@ internal val Context.getUnboxFunction: (IrClass) -> IrSimpleFunction by Context. isSuspend = false, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).also { function -> function.valueParameters = listOf(WrappedValueParameterDescriptor().let { IrValueParameterImpl( 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 eb445c416f4..ab572d17a61 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 @@ -144,7 +144,7 @@ internal class BuiltInFictitiousFunctionIrClassFactory( with(descriptor) { IrFunctionImpl( SYNTHETIC_OFFSET, SYNTHETIC_OFFSET, origin, it, name, visibility, modality, returnType, - isInline, isExternal, isTailrec, isSuspend, isOperator, isExpect + isInline, isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect ) } } @@ -289,7 +289,8 @@ internal class BuiltInFictitiousFunctionIrClassFactory( descriptor.run { IrFunctionImpl( offset, offset, memberOrigin, s, name, visibility, modality, returnType, - isInline, isExternal, isTailrec, isSuspend, isOperator, isExpect, true + isInline, isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect, + isFakeOverride = true ) } } diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Context.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Context.kt index 0037b020edc..3d7eb03e335 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Context.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Context.kt @@ -148,7 +148,8 @@ internal class SpecialDeclarationsFactory(val context: Context) { returnType = returnType, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).apply { val bridge = this descriptor.bind(bridge) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/EntryPoint.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/EntryPoint.kt index b5e9722e2f2..8472fa0540e 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/EntryPoint.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/EntryPoint.kt @@ -42,7 +42,8 @@ internal fun makeEntryPoint(context: Context): IrFunction { isSuspend = false, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).also { function -> function.valueParameters = listOf(WrappedValueParameterDescriptor().let { IrValueParameterImpl( diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/EnumSpecialDescriptorsFactory.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/EnumSpecialDescriptorsFactory.kt index 1b806f09a42..b531dd608d0 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/EnumSpecialDescriptorsFactory.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/EnumSpecialDescriptorsFactory.kt @@ -99,7 +99,8 @@ internal class EnumSpecialDeclarationsFactory(val context: Context) { isSuspend = false, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).apply { it.bind(this) parent = implObject diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGen.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGen.kt index 19c3e480174..f6891989ac2 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGen.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGen.kt @@ -576,7 +576,8 @@ private fun KotlinStubs.createFakeKotlinExternalFunction( isSuspend = false, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ) bridgeDescriptor.bind(bridge) @@ -1283,7 +1284,7 @@ private class ObjCBlockPointerValuePassing( Visibilities.PUBLIC, Modality.FINAL, returnType = functionType.arguments.last().typeOrNull!!, isInline = false, isExternal = false, isTailrec = false, isSuspend = false, isExpect = false, - isFakeOverride = false, isOperator = false + isFakeOverride = false, isOperator = false, isInfix = false ) invokeMethodDescriptor.bind(invokeMethod) invokeMethod.overriddenSymbols += overriddenInvokeMethod.symbol diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGenUtils.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGenUtils.kt index 606639a9339..c6f15b82bc3 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGenUtils.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGenUtils.kt @@ -123,7 +123,8 @@ private fun createKotlinBridge( isSuspend = false, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ) bridgeDescriptor.bind(bridge) if (isExternal) { diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/Autoboxing.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/Autoboxing.kt index b837cbaec9b..46b17eab550 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/Autoboxing.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/Autoboxing.kt @@ -509,7 +509,8 @@ private val Context.getLoweredInlineClassConstructor: (IrConstructor) -> IrSimpl returnType = irConstructor.returnType, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).apply { descriptor.bind(this) parent = irConstructor.parent diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/BridgesBuilding.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/BridgesBuilding.kt index 798bb4c9c9b..a9c67bf83b5 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/BridgesBuilding.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/BridgesBuilding.kt @@ -82,7 +82,8 @@ internal class WorkersBridgesBuilding(val context: Context) : DeclarationContain returnType = context.irBuiltIns.anyNType, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).apply { it.bind(this) } diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt index ef7395da226..8c2dbb3082f 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/CallableReferenceLowering.kt @@ -322,7 +322,8 @@ internal class CallableReferenceLowering(val context: Context): FileLoweringPass isSuspend = superFunction.isSuspend, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).apply { it.bind(this) val function = this diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InitializersLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InitializersLowering.kt index e7766e1d6ca..21df4b2bc0b 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InitializersLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InitializersLowering.kt @@ -121,7 +121,8 @@ internal class InitializersLowering(val context: CommonBackendContext) : ClassLo isTailrec = false, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).apply { it.bind(this) parent = irClass diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InteropLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InteropLowering.kt index c24f249366b..b4821f632d7 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InteropLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/InteropLowering.kt @@ -258,7 +258,8 @@ private class InteropLoweringPart1(val context: Context) : BaseInteropIrTransfor isSuspend = false, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).also { result -> resultDescriptor.bind(result) result.parent = irClass @@ -402,7 +403,8 @@ private class InteropLoweringPart1(val context: Context) : BaseInteropIrTransfor isSuspend = false, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).apply { it.bind(this) } diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeSuspendFunctionLowering.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeSuspendFunctionLowering.kt index be7be513cc8..1bf1cd4c803 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeSuspendFunctionLowering.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeSuspendFunctionLowering.kt @@ -490,7 +490,8 @@ internal class NativeSuspendFunctionsLowering(ctx: Context): AbstractSuspendFunc isSuspend = false, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).apply { it.bind(this) } @@ -511,7 +512,8 @@ internal class NativeSuspendFunctionsLowering(ctx: Context): AbstractSuspendFunc isSuspend = false, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).apply { it.bind(this) } diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/TestProcessor.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/TestProcessor.kt index 14ae051e15e..8b03dfc151f 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/TestProcessor.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/TestProcessor.kt @@ -350,7 +350,8 @@ internal class TestProcessor (val context: Context) { isSuspend = false, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).apply { descriptor.bind(this) parent = owner @@ -389,7 +390,8 @@ internal class TestProcessor (val context: Context) { isSuspend = false, isExpect = false, isFakeOverride = false, - isOperator = false + isOperator = false, + isInfix = false ).apply { descriptor.bind(this) parent = owner