From eaa7cf44c83f4873114ec9b18627f1fc8075f44b Mon Sep 17 00:00:00 2001 From: Vasily Levchenko Date: Mon, 7 Dec 2020 07:14:35 +0100 Subject: [PATCH] [IR] adopts 5d9e86863a33c9c6969fb2747b4edbc00d8697bc [IR] Make isHidden and isAssignable explicit on IrValueParameter. --- .../src/org/jetbrains/kotlin/backend/konan/Boxing.kt | 8 ++++++-- .../konan/BuiltInFictitiousFunctionIrClassFactory.kt | 6 ++++-- .../src/org/jetbrains/kotlin/backend/konan/EntryPoint.kt | 4 +++- .../org/jetbrains/kotlin/backend/konan/cgen/CBridgeGen.kt | 5 +++-- .../kotlin/backend/konan/cgen/CBridgeGenUtils.kt | 2 +- .../kotlin/backend/konan/lower/BridgesBuilding.kt | 3 ++- .../backend/konan/lower/EnumConstructorsLowering.kt | 4 +++- .../kotlin/backend/konan/lower/InteropLowering.kt | 4 +++- .../src/org/jetbrains/kotlin/ir/util/IrUtils2.kt | 2 +- 9 files changed, 26 insertions(+), 12 deletions(-) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Boxing.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Boxing.kt index a6b01056bde..bf75c8f8cb7 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Boxing.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Boxing.kt @@ -87,7 +87,9 @@ internal val Context.getBoxFunction: (IrClass) -> IrSimpleFunction by Context.la varargElementType = null, isCrossinline = false, type = parameterType, - isNoinline = false + isNoinline = false, + isHidden = false, + isAssignable = false ).apply { it.bind(this) parent = function @@ -142,7 +144,9 @@ internal val Context.getUnboxFunction: (IrClass) -> IrSimpleFunction by Context. varargElementType = null, isCrossinline = false, type = parameterType, - isNoinline = false + isNoinline = false, + isHidden = false, + isAssignable = false ).apply { it.bind(this) parent = function diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BuiltInFictitiousFunctionIrClassFactory.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BuiltInFictitiousFunctionIrClassFactory.kt index a3afe3410a3..2c0c4bdccc8 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BuiltInFictitiousFunctionIrClassFactory.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BuiltInFictitiousFunctionIrClassFactory.kt @@ -213,7 +213,7 @@ internal class BuiltInFictitiousFunctionIrClassFactory( SYNTHETIC_OFFSET, SYNTHETIC_OFFSET, invokeFunctionOrigin, IrValueParameterSymbolImpl(it), it.name, it.index, functionClass.typeParameters[it.index].defaultType, null, - it.isCrossinline, it.isNoinline + it.isCrossinline, it.isNoinline, false, false ).also { it.parent = this } } if (!isFakeOverride) @@ -271,7 +271,9 @@ internal class BuiltInFictitiousFunctionIrClassFactory( toIrType(descriptor.type), varargType?.let { toIrType(it) }, descriptor.isCrossinline, - descriptor.isNoinline + descriptor.isNoinline, + false, + false ).also { it.parent = this } diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/EntryPoint.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/EntryPoint.kt index 282ee96fecf..433abae593d 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/EntryPoint.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/EntryPoint.kt @@ -55,7 +55,9 @@ internal fun makeEntryPoint(context: Context): IrFunction { varargElementType = null, isCrossinline = false, type = context.irBuiltIns.arrayClass.typeWith(context.irBuiltIns.stringType), - isNoinline = false + isNoinline = false, + isAssignable = false, + isHidden = false ).apply { it.bind(this) parent = function diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGen.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGen.kt index 7c0c6563e02..c0ba2c18396 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGen.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGen.kt @@ -1142,7 +1142,7 @@ private class ObjCBlockPointerValuePassing( Name.identifier("blockPointer"), 0, symbols.nativePtrType, - varargElementType = null, isCrossinline = false, isNoinline = false + varargElementType = null, isCrossinline = false, isNoinline = false, isHidden = false, isAssignable = false ) constructorParameterDescriptor.bind(constructorParameter) constructor.valueParameters += constructorParameter @@ -1187,7 +1187,8 @@ private class ObjCBlockPointerValuePassing( Name.identifier("p$index"), index, functionType.arguments[index].typeOrNull!!, - varargElementType = null, isCrossinline = false, isNoinline = false + varargElementType = null, isCrossinline = false, isNoinline = false, + isHidden = false, isAssignable = false ) parameterDescriptor.bind(parameter) parameter.parent = invokeMethod diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGenUtils.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGenUtils.kt index dee663372ef..09bf3a26deb 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGenUtils.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/cgen/CBridgeGenUtils.kt @@ -87,7 +87,7 @@ internal class KotlinBridgeBuilder( bridge.startOffset, bridge.endOffset, bridge.origin, IrValueParameterSymbolImpl(descriptor), Name.identifier("p$index"), index, type, - null, false, false + null, false, false, false, false ).apply { descriptor.bind(this) parent = bridge diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/BridgesBuilding.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/BridgesBuilding.kt index a5bee8d2929..95695631ea7 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/BridgesBuilding.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/BridgesBuilding.kt @@ -104,7 +104,8 @@ internal class WorkersBridgesBuilding(val context: Context) : DeclarationContain varargElementType = null, isCrossinline = arg.isCrossinline, isNoinline = arg.isNoinline, - isAssignable = arg.isAssignable + isAssignable = arg.isAssignable, + isHidden = arg.isHidden ).apply { it.bind(this) } } } diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/EnumConstructorsLowering.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/EnumConstructorsLowering.kt index 6208ec8a143..e5b0ba52a0c 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/EnumConstructorsLowering.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/EnumConstructorsLowering.kt @@ -141,7 +141,9 @@ internal class EnumConstructorsLowering(val context: Context) : ClassLoweringPas type, varargElementType = null, isCrossinline = false, - isNoinline = false + isNoinline = false, + isHidden = false, + isAssignable = false ).apply { it.bind(this) parent = loweredConstructor 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 791d47dee94..4f5c3803985 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 @@ -356,7 +356,9 @@ private class InteropLoweringPart1(val context: Context) : BaseInteropIrTransfor type, varargElementType = null, isCrossinline = false, - isNoinline = false + isNoinline = false, + isHidden = false, + isAssignable = false ).apply { it.bind(this) parent = newFunction 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 6d1c44d3d62..0e8fd7ae9d1 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 @@ -374,7 +374,7 @@ fun IrValueParameter.copy(newDescriptor: ParameterDescriptor): IrValueParameter return IrValueParameterImpl( startOffset, endOffset, IrDeclarationOrigin.DEFINED, IrValueParameterSymbolImpl(newDescriptor), newDescriptor.name, newDescriptor.indexOrMinusOne, type, varargElementType, - newDescriptor.isCrossinline, newDescriptor.isNoinline + newDescriptor.isCrossinline, newDescriptor.isNoinline, false, false ) }