[IR] Mark IrPropertyImpl with an opt-in annotation

KT-59318
This commit is contained in:
Sergej Jaskiewicz
2023-12-07 17:58:33 +01:00
committed by Space Team
parent 2953d9ec90
commit c393736473
3 changed files with 8 additions and 9 deletions
@@ -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,
@@ -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)
@@ -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