[IR] Fixed bug with thread unsafety

There is no need in a singleton here
This commit is contained in:
Igor Chevdar
2020-12-16 18:39:09 +05:00
parent 03693e3d5a
commit be688356c9
@@ -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<IrOverridableMember> = emptyList()) {
IrOverridingUtil(irBuiltIns, FakeOverrideBuilderForLowerings)
IrOverridingUtil(irBuiltIns, FakeOverrideBuilderForLowerings())
.buildFakeOverridesForClassUsingOverriddenSymbols(this, implementedMembers)
.forEach { addChild(it) }
}