From 92c56d053596e3af6dcdf7c1e02dde62bf5be29f Mon Sep 17 00:00:00 2001 From: Wojciech Litewka Date: Thu, 15 Feb 2024 11:49:29 +0100 Subject: [PATCH] [IR] Remove custom error messages for missing IrDeclaration.parent This is to remove custom logic from those classes, so that source generator will be able to generate them in a straight-forward way. Otherwise, it would need to be thought about those special cases, which is better to be avoided. It is also a small step for future work, which likely involves making parent property nullable. Unfortunately, this change causes a loss of some details from exception messages. ^KT-65773 In Progress --- .../jetbrains/kotlin/ir/declarations/impl/IrScriptImpl.kt | 8 +------- .../kotlin/ir/declarations/impl/IrVariableImpl.kt | 8 +------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrScriptImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrScriptImpl.kt index 3f696b2f880..55b81b98806 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrScriptImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrScriptImpl.kt @@ -30,13 +30,7 @@ class IrScriptImpl( ) : IrScript() { override var origin: IrDeclarationOrigin = SCRIPT_ORIGIN - private var _parent: IrDeclarationParent? = null - override var parent: IrDeclarationParent - get() = _parent - ?: throw UninitializedPropertyAccessException("Parent not initialized: $this") - set(v) { - _parent = v - } + override lateinit var parent: IrDeclarationParent override var annotations: List = SmartList() diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrVariableImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrVariableImpl.kt index ddc84964a75..b7fc41e0280 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrVariableImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrVariableImpl.kt @@ -39,13 +39,7 @@ class IrVariableImpl( override var isConst: Boolean, override var isLateinit: Boolean ) : IrVariable() { - private var _parent: IrDeclarationParent? = null - override var parent: IrDeclarationParent - get() = _parent - ?: throw UninitializedPropertyAccessException("Parent not initialized: $this") - set(v) { - _parent = v - } + override lateinit var parent: IrDeclarationParent override var annotations: List = emptyList()