From f472f68dc555d75bd69b42cc40229ea8d8a66e5a Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 8 May 2023 11:52:04 +0200 Subject: [PATCH] SymbolTable: replace assert with require in createOwnerSafe Related to KT-57049 --- .../ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt index ee8a85c55a3..8025c9d9333 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt @@ -220,7 +220,10 @@ open class SymbolTable( protected inline fun createOwnerSafe(symbol: S, createOwner: (S) -> B): B { val owner = createOwner(symbol) - assert(symbol.isBound && symbol.owner === owner) + require(symbol.isBound) + require(symbol.owner === owner) { + "Attempt to rebind an IR symbol or to re-create its owner: old owner ${symbol.owner.render()}, new owner ${owner.render()}" + } return owner } }