[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.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.PropertyDescriptor import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.ir.IrImplementationDetail
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall 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.name.Name
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
class IrPropertyImpl( class IrPropertyImpl @IrImplementationDetail constructor(
override val startOffset: Int, override val startOffset: Int,
override val endOffset: Int, override val endOffset: Int,
override var origin: IrDeclarationOrigin, 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.*
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl 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.declarations.impl.IrValueParameterImpl
import org.jetbrains.kotlin.ir.descriptors.IrAbstractDescriptorBasedFunctionFactory import org.jetbrains.kotlin.ir.descriptors.IrAbstractDescriptorBasedFunctionFactory
import org.jetbrains.kotlin.ir.linkage.IrProvider import org.jetbrains.kotlin.ir.linkage.IrProvider
@@ -381,21 +380,22 @@ internal class BuiltInFictitiousFunctionIrClassFactory(
fun createFakeOverrideProperty(descriptor: PropertyDescriptor): IrProperty { fun createFakeOverrideProperty(descriptor: PropertyDescriptor): IrProperty {
val propertyDeclare = { s: IrPropertySymbol -> val propertyDeclare = { s: IrPropertySymbol ->
IrPropertyImpl( symbolTable.irFactory.createProperty(
startOffset = offset, startOffset = offset,
endOffset = offset, endOffset = offset,
origin = memberOrigin, origin = memberOrigin,
symbol = s,
name = descriptor.name, name = descriptor.name,
visibility = descriptor.visibility, visibility = descriptor.visibility,
modality = descriptor.modality, modality = descriptor.modality,
symbol = s,
isVar = descriptor.isVar, isVar = descriptor.isVar,
isConst = descriptor.isConst, isConst = descriptor.isConst,
isLateinit = descriptor.isLateInit, isLateinit = descriptor.isLateInit,
isDelegated = descriptor.isDelegated, isDelegated = descriptor.isDelegated,
isExternal = descriptor.isExternal, isExternal = descriptor.isExternal,
isExpect = descriptor.isExpect, isExpect = descriptor.isExpect,
isFakeOverride = true) isFakeOverride = true,
)
} }
val property = symbolTable.descriptorExtension.declareProperty(descriptor, propertyFactory = propertyDeclare) 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.*
import org.jetbrains.kotlin.ir.builders.declarations.buildFun import org.jetbrains.kotlin.ir.builders.declarations.buildFun
import org.jetbrains.kotlin.ir.declarations.* 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.*
import org.jetbrains.kotlin.ir.expressions.impl.IrCallImpl import org.jetbrains.kotlin.ir.expressions.impl.IrCallImpl
import org.jetbrains.kotlin.ir.expressions.impl.IrConstantPrimitiveImpl import org.jetbrains.kotlin.ir.expressions.impl.IrConstantPrimitiveImpl
@@ -393,19 +392,18 @@ private class InlineClassTransformer(private val context: Context) : IrBuildingT
) )
irField.parent = declaration irField.parent = declaration
val irProperty = IrPropertyImpl( val irProperty = context.irFactory.createProperty(
startOffset, startOffset,
endOffset, endOffset,
IrDeclarationOrigin.DEFINED, IrDeclarationOrigin.DEFINED,
IrPropertySymbolImpl(),
irField.name, irField.name,
irField.visibility, irField.visibility,
Modality.FINAL, Modality.FINAL,
IrPropertySymbolImpl(),
isVar = false, isVar = false,
isConst = false, isConst = false,
isLateinit = false, isLateinit = false,
isDelegated = false, isDelegated = false,
isExternal = false
) )
irProperty.backingField = irField irProperty.backingField = irField