From c39373647371e5702246680d3fef83f4ff0b5017 Mon Sep 17 00:00:00 2001 From: Sergej Jaskiewicz Date: Thu, 7 Dec 2023 17:58:33 +0100 Subject: [PATCH] [IR] Mark IrPropertyImpl with an opt-in annotation KT-59318 --- .../kotlin/ir/declarations/impl/IrPropertyImpl.kt | 3 ++- .../konan/BuiltInFictitiousFunctionIrClassFactory.kt | 8 ++++---- .../jetbrains/kotlin/backend/konan/lower/Autoboxing.kt | 6 ++---- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt index bcd575146c6..9c4a19d6d8d 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.ir.declarations.impl import org.jetbrains.kotlin.descriptors.DescriptorVisibility import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.PropertyDescriptor +import org.jetbrains.kotlin.ir.IrImplementationDetail import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.IrConstructorCall @@ -15,7 +16,7 @@ import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource -class IrPropertyImpl( +class IrPropertyImpl @IrImplementationDetail constructor( override val startOffset: Int, override val endOffset: Int, override var origin: IrDeclarationOrigin, 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 5e0d79cc1a1..805b1d3d6a8 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 @@ -14,7 +14,6 @@ import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl -import org.jetbrains.kotlin.ir.declarations.impl.IrPropertyImpl import org.jetbrains.kotlin.ir.declarations.impl.IrValueParameterImpl import org.jetbrains.kotlin.ir.descriptors.IrAbstractDescriptorBasedFunctionFactory import org.jetbrains.kotlin.ir.linkage.IrProvider @@ -381,21 +380,22 @@ internal class BuiltInFictitiousFunctionIrClassFactory( fun createFakeOverrideProperty(descriptor: PropertyDescriptor): IrProperty { val propertyDeclare = { s: IrPropertySymbol -> - IrPropertyImpl( + symbolTable.irFactory.createProperty( startOffset = offset, endOffset = offset, origin = memberOrigin, - symbol = s, name = descriptor.name, visibility = descriptor.visibility, modality = descriptor.modality, + symbol = s, isVar = descriptor.isVar, isConst = descriptor.isConst, isLateinit = descriptor.isLateInit, isDelegated = descriptor.isDelegated, isExternal = descriptor.isExternal, isExpect = descriptor.isExpect, - isFakeOverride = true) + isFakeOverride = true, + ) } val property = symbolTable.descriptorExtension.declareProperty(descriptor, propertyFactory = propertyDeclare) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/Autoboxing.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/Autoboxing.kt index d380a0178cb..5994391c357 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/Autoboxing.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/Autoboxing.kt @@ -19,7 +19,6 @@ import org.jetbrains.kotlin.ir.IrStatement import org.jetbrains.kotlin.ir.builders.* import org.jetbrains.kotlin.ir.builders.declarations.buildFun import org.jetbrains.kotlin.ir.declarations.* -import org.jetbrains.kotlin.ir.declarations.impl.IrPropertyImpl import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.expressions.impl.IrCallImpl import org.jetbrains.kotlin.ir.expressions.impl.IrConstantPrimitiveImpl @@ -393,19 +392,18 @@ private class InlineClassTransformer(private val context: Context) : IrBuildingT ) irField.parent = declaration - val irProperty = IrPropertyImpl( + val irProperty = context.irFactory.createProperty( startOffset, endOffset, IrDeclarationOrigin.DEFINED, - IrPropertySymbolImpl(), irField.name, irField.visibility, Modality.FINAL, + IrPropertySymbolImpl(), isVar = false, isConst = false, isLateinit = false, isDelegated = false, - isExternal = false ) irProperty.backingField = irField