From 87f5d3901cdf5aa687ce226302a8af2b8ac7bcf2 Mon Sep 17 00:00:00 2001 From: Wojciech Litewka Date: Fri, 16 Feb 2024 12:43:42 +0100 Subject: [PATCH] [IR] Autogenerate IrPropertyImpl ^KT-65773 In Progress --- .../kotlin/ir/declarations/IrProperty.kt | 2 + .../ir/declarations/impl/IrPropertyImpl.kt | 42 ++++++++++--------- .../generator/ImplementationConfigurator.kt | 2 +- .../jetbrains/kotlin/ir/generator/IrTree.kt | 3 ++ 4 files changed, 29 insertions(+), 20 deletions(-) diff --git a/compiler/ir/ir.tree/gen/org/jetbrains/kotlin/ir/declarations/IrProperty.kt b/compiler/ir/ir.tree/gen/org/jetbrains/kotlin/ir/declarations/IrProperty.kt index c3855231241..1c7fd20c6cc 100644 --- a/compiler/ir/ir.tree/gen/org/jetbrains/kotlin/ir/declarations/IrProperty.kt +++ b/compiler/ir/ir.tree/gen/org/jetbrains/kotlin/ir/declarations/IrProperty.kt @@ -23,6 +23,8 @@ abstract class IrProperty : IrDeclarationBase(), IrPossiblyExternalDeclaration, abstract override val symbol: IrPropertySymbol + abstract override var overriddenSymbols: List + abstract var isVar: Boolean abstract var isConst: Boolean diff --git a/compiler/ir/ir.tree/gen/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt b/compiler/ir/ir.tree/gen/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt index 7ebe303aeed..7d871ca95c5 100644 --- a/compiler/ir/ir.tree/gen/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt +++ b/compiler/ir/ir.tree/gen/org/jetbrains/kotlin/ir/declarations/impl/IrPropertyImpl.kt @@ -1,8 +1,13 @@ /* - * Copyright 2010-2022 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 @@ -20,32 +25,35 @@ class IrPropertyImpl @IrImplementationDetail constructor( override val startOffset: Int, override val endOffset: Int, override var origin: IrDeclarationOrigin, - override val symbol: IrPropertySymbol, + override val factory: IrFactory, override var name: Name, + override var isExternal: Boolean, override var visibility: DescriptorVisibility, override var modality: Modality, + override val containerSource: DeserializedContainerSource?, + override val symbol: IrPropertySymbol, override var isVar: Boolean, override var isConst: Boolean, override var isLateinit: Boolean, override var isDelegated: Boolean, - override var isExternal: Boolean, - override var isExpect: Boolean = false, + override var isExpect: Boolean, override var isFakeOverride: Boolean, - override var containerSource: DeserializedContainerSource?, - override val factory: IrFactory, ) : IrProperty() { + override var annotations: List = emptyList() - init { - symbol.bind(this) - } + override lateinit var parent: IrDeclarationParent + + override var metadata: MetadataSource? = null + + override var attributeOwnerId: IrAttributeContainer = this + + override var originalBeforeInline: IrAttributeContainer? = null @ObsoleteDescriptorBasedAPI override val descriptor: PropertyDescriptor get() = symbol.descriptor - override lateinit var parent: IrDeclarationParent - - override var annotations: List = emptyList() + override var overriddenSymbols: List = emptyList() override var backingField: IrField? = null @@ -53,11 +61,7 @@ class IrPropertyImpl @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 + init { + symbol.bind(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 9b19f36c6de..2ddb73647a9 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 @@ -53,7 +53,7 @@ object ImplementationConfigurator : AbstractIrTreeImplementationConfigurator() { } impl(property) { - implementation.doPrint = false + defaultNull("backingField", "getter", "setter") } impl(propertyWithLateBinding) { implementation.doPrint = false diff --git a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/IrTree.kt b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/IrTree.kt index 395f942e7fa..922afe7d871 100644 --- a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/IrTree.kt +++ b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/IrTree.kt @@ -505,6 +505,9 @@ object IrTree : AbstractTreeBuilder() { +descriptor("PropertyDescriptor") +symbol(propertySymbolType) + +listField("overriddenSymbols", propertySymbolType, mutability = Var) { + skipInIrFactory() + } +field("isVar", boolean) +field("isConst", boolean) +field("isLateinit", boolean)