[IR] Autogenerate IrPropertyWithLateBindingImpl
^KT-65773 In Progress
This commit is contained in:
committed by
Space Team
parent
5aedc24f00
commit
6de200dea1
+33
-26
@@ -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.
|
* 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
|
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.ir.IrImplementationDetail
|
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.*
|
||||||
@@ -20,37 +26,39 @@ class IrPropertyWithLateBindingImpl @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,
|
||||||
|
override val factory: IrFactory,
|
||||||
override var name: Name,
|
override var name: Name,
|
||||||
|
override var isExternal: Boolean,
|
||||||
override var visibility: DescriptorVisibility,
|
override var visibility: DescriptorVisibility,
|
||||||
override var modality: Modality,
|
override var modality: Modality,
|
||||||
override var isVar: Boolean,
|
override var isVar: Boolean,
|
||||||
override var isConst: Boolean,
|
override var isConst: Boolean,
|
||||||
override var isLateinit: Boolean,
|
override var isLateinit: Boolean,
|
||||||
override var isDelegated: Boolean,
|
override var isDelegated: Boolean,
|
||||||
override var isExternal: Boolean,
|
|
||||||
override var isExpect: Boolean,
|
override var isExpect: Boolean,
|
||||||
override var isFakeOverride: Boolean,
|
override var isFakeOverride: Boolean,
|
||||||
override val factory: IrFactory,
|
|
||||||
) : IrPropertyWithLateBinding() {
|
) : IrPropertyWithLateBinding() {
|
||||||
|
override var annotations: List<IrConstructorCall> = 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
|
override val symbol: IrPropertySymbol
|
||||||
get() = _symbol ?: error("$this has not acquired a symbol yet")
|
get() = _symbol ?: error("$this has not acquired a symbol yet")
|
||||||
|
|
||||||
@ObsoleteDescriptorBasedAPI
|
override var overriddenSymbols: List<IrPropertySymbol> = emptyList()
|
||||||
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<IrConstructorCall> = emptyList()
|
|
||||||
|
|
||||||
override var backingField: IrField? = null
|
override var backingField: IrField? = null
|
||||||
|
|
||||||
@@ -58,16 +66,15 @@ class IrPropertyWithLateBindingImpl @IrImplementationDetail constructor(
|
|||||||
|
|
||||||
override var setter: IrSimpleFunction? = null
|
override var setter: IrSimpleFunction? = null
|
||||||
|
|
||||||
override var overriddenSymbols: List<IrPropertySymbol> = emptyList()
|
|
||||||
|
|
||||||
override var metadata: MetadataSource? = null
|
|
||||||
|
|
||||||
override var attributeOwnerId: IrAttributeContainer = this
|
|
||||||
override var originalBeforeInline: IrAttributeContainer? = null
|
|
||||||
|
|
||||||
override val isBound: Boolean
|
override val isBound: Boolean
|
||||||
get() = _symbol != null
|
get() = _symbol != null
|
||||||
|
|
||||||
override val containerSource: DeserializedContainerSource?
|
private var _symbol: IrPropertySymbol? = null
|
||||||
get() = null
|
|
||||||
|
override fun acquireSymbol(symbol: IrPropertySymbol): IrPropertyWithLateBinding {
|
||||||
|
assert(_symbol == null) { "$this already has symbol _symbol" }
|
||||||
|
_symbol = symbol
|
||||||
|
symbol.bind(this)
|
||||||
|
return this
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+3
-1
@@ -56,7 +56,9 @@ object ImplementationConfigurator : AbstractIrTreeImplementationConfigurator() {
|
|||||||
defaultNull("backingField", "getter", "setter")
|
defaultNull("backingField", "getter", "setter")
|
||||||
}
|
}
|
||||||
impl(propertyWithLateBinding) {
|
impl(propertyWithLateBinding) {
|
||||||
implementation.doPrint = false
|
defaultNull("backingField", "getter", "setter")
|
||||||
|
defaultNull("containerSource", withGetter = true)
|
||||||
|
configureDeclarationWithLateBindinig(propertySymbolType)
|
||||||
}
|
}
|
||||||
|
|
||||||
impl(localDelegatedProperty) {
|
impl(localDelegatedProperty) {
|
||||||
|
|||||||
Reference in New Issue
Block a user