diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFactory.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFactory.kt index e32d4759473..11f179f06ff 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFactory.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/IrFactory.kt @@ -164,9 +164,10 @@ interface IrFactory { isConst: Boolean, isLateinit: Boolean, isDelegated: Boolean, - isExternal: Boolean, - isExpect: Boolean, - ): IrProperty + isExternal: Boolean = false, + isExpect: Boolean = false, + isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE, + ): IrPropertyWithLateBinding fun createTypeAlias( startOffset: Int, diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFactoryImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFactoryImpl.kt index fba3bf96b7c..7f2b325e22a 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFactoryImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFactoryImpl.kt @@ -201,10 +201,22 @@ abstract class AbstractIrFactoryImpl : IrFactory { isDelegated: Boolean, isExternal: Boolean, isExpect: Boolean, - ): IrProperty = + isFakeOverride: Boolean, + ): IrPropertyWithLateBinding = IrPropertyWithLateBindingImpl( - startOffset, endOffset, origin, name, visibility, modality, - isVar, isConst, isLateinit, isDelegated, isExternal, isExpect, + startOffset = startOffset, + endOffset = endOffset, + origin = origin, + name = name, + visibility = visibility, + modality = modality, + isVar = isVar, + isConst = isConst, + isLateinit = isLateinit, + isDelegated = isDelegated, + isExternal = isExternal, + isExpect = isExpect, + isFakeOverride = isFakeOverride, factory = this ) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFactoryImplForJsIC.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFactoryImplForJsIC.kt index 796ad9703c7..e971bc80c2f 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFactoryImplForJsIC.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFactoryImplForJsIC.kt @@ -302,8 +302,9 @@ class IrFactoryImplForJsIC(override val stageController: StageController) : Abst isLateinit: Boolean, isDelegated: Boolean, isExternal: Boolean, - isExpect: Boolean - ): IrProperty { + isExpect: Boolean, + isFakeOverride: Boolean, + ): IrPropertyWithLateBinding { return super.createPropertyWithLateBinding( startOffset, endOffset, @@ -317,6 +318,7 @@ class IrFactoryImplForJsIC(override val stageController: StageController) : Abst isDelegated, isExternal, isExpect, + isFakeOverride, ).register() }