[IR] Mark IrPropertyImpl with an opt-in annotation
KT-59318
This commit is contained in:
committed by
Space Team
parent
2953d9ec90
commit
c393736473
@@ -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,
|
||||||
|
|||||||
+4
-4
@@ -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)
|
||||||
|
|
||||||
|
|||||||
+2
-4
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user