From 6de200dea1e7fffcf6ed51e412086efa03938eba Mon Sep 17 00:00:00 2001 From: Wojciech Litewka Date: Fri, 16 Feb 2024 12:44:06 +0100 Subject: [PATCH] [IR] Autogenerate IrPropertyWithLateBindingImpl ^KT-65773 In Progress --- .../impl/IrPropertyWithLateBindingImpl.kt | 61 +++++++++++-------- .../generator/ImplementationConfigurator.kt | 4 +- 2 files changed, 37 insertions(+), 28 deletions(-) diff --git a/compiler/ir/ir.tree/gen/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyWithLateBindingImpl.kt b/compiler/ir/ir.tree/gen/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyWithLateBindingImpl.kt index 105716ebc9b..d50c9a4c1c8 100644 --- a/compiler/ir/ir.tree/gen/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyWithLateBindingImpl.kt +++ b/compiler/ir/ir.tree/gen/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyWithLateBindingImpl.kt @@ -1,12 +1,18 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ +// This file was generated automatically. See compiler/ir/ir.tree/tree-generator/ReadMe.md. +// DO NOT MODIFY IT MANUALLY. + +@file:Suppress("DuplicatedCode", "unused") + 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.* @@ -20,37 +26,39 @@ class IrPropertyWithLateBindingImpl @IrImplementationDetail constructor( override val startOffset: Int, override val endOffset: Int, override var origin: IrDeclarationOrigin, + override val factory: IrFactory, override var name: Name, + override var isExternal: Boolean, override var visibility: DescriptorVisibility, override var modality: Modality, override var isVar: Boolean, override var isConst: Boolean, override var isLateinit: Boolean, override var isDelegated: Boolean, - override var isExternal: Boolean, override var isExpect: Boolean, override var isFakeOverride: Boolean, - override val factory: IrFactory, ) : IrPropertyWithLateBinding() { + override var annotations: List = emptyList() - private var _symbol: IrPropertySymbol? = null + override lateinit var parent: IrDeclarationParent + + override var metadata: MetadataSource? = null + + override var attributeOwnerId: IrAttributeContainer = this + + override var originalBeforeInline: IrAttributeContainer? = null + + override val containerSource: DeserializedContainerSource? + get() = null + + @ObsoleteDescriptorBasedAPI + override val descriptor: PropertyDescriptor + get() = symbol.descriptor override val symbol: IrPropertySymbol get() = _symbol ?: error("$this has not acquired a symbol yet") - @ObsoleteDescriptorBasedAPI - override val descriptor - get() = _symbol?.descriptor ?: this.toIrBasedDescriptor() - - override fun acquireSymbol(symbol: IrPropertySymbol): IrPropertyWithLateBinding { - assert(_symbol == null) { "$this already has symbol _symbol" } - _symbol = symbol - symbol.bind(this) - return this - } - - override lateinit var parent: IrDeclarationParent - override var annotations: List = emptyList() + override var overriddenSymbols: List = emptyList() override var backingField: IrField? = null @@ -58,16 +66,15 @@ class IrPropertyWithLateBindingImpl @IrImplementationDetail constructor( override var setter: IrSimpleFunction? = null - override var overriddenSymbols: List = emptyList() - - override var metadata: MetadataSource? = null - - override var attributeOwnerId: IrAttributeContainer = this - override var originalBeforeInline: IrAttributeContainer? = null - override val isBound: Boolean get() = _symbol != null - override val containerSource: DeserializedContainerSource? - get() = null -} \ No newline at end of file + private var _symbol: IrPropertySymbol? = null + + override fun acquireSymbol(symbol: IrPropertySymbol): IrPropertyWithLateBinding { + assert(_symbol == null) { "$this already has symbol _symbol" } + _symbol = symbol + symbol.bind(this) + return this + } +} diff --git a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/ImplementationConfigurator.kt b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/ImplementationConfigurator.kt index 380ced5ab01..f8cc9f5d348 100644 --- a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/ImplementationConfigurator.kt +++ b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/ImplementationConfigurator.kt @@ -56,7 +56,9 @@ object ImplementationConfigurator : AbstractIrTreeImplementationConfigurator() { defaultNull("backingField", "getter", "setter") } impl(propertyWithLateBinding) { - implementation.doPrint = false + defaultNull("backingField", "getter", "setter") + defaultNull("containerSource", withGetter = true) + configureDeclarationWithLateBindinig(propertySymbolType) } impl(localDelegatedProperty) {