From be688356c96e7227489d0ab581d40d3cbbf4a32c Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Wed, 16 Dec 2020 18:39:09 +0500 Subject: [PATCH] [IR] Fixed bug with thread unsafety There is no need in a singleton here --- .../src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt index 49487090bcd..9ea06bc92a7 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/IrUtils.kt @@ -466,7 +466,7 @@ val IrFunction.allParametersCount: Int // This is essentially the same as FakeOverrideBuilder, // but it bypasses SymbolTable. // TODO: merge it with FakeOverrideBuilder. -private object FakeOverrideBuilderForLowerings : FakeOverrideBuilderStrategy() { +private class FakeOverrideBuilderForLowerings : FakeOverrideBuilderStrategy() { override fun linkFunctionFakeOverride(declaration: IrFakeOverrideFunction) { declaration.acquireSymbol(IrSimpleFunctionSymbolImpl(WrappedSimpleFunctionDescriptor())) @@ -491,7 +491,7 @@ private object FakeOverrideBuilderForLowerings : FakeOverrideBuilderStrategy() { } fun IrClass.addFakeOverrides(irBuiltIns: IrBuiltIns, implementedMembers: List = emptyList()) { - IrOverridingUtil(irBuiltIns, FakeOverrideBuilderForLowerings) + IrOverridingUtil(irBuiltIns, FakeOverrideBuilderForLowerings()) .buildFakeOverridesForClassUsingOverriddenSymbols(this, implementedMembers) .forEach { addChild(it) } }