[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, // This is essentially the same as FakeOverrideBuilder,
// but it bypasses SymbolTable. // but it bypasses SymbolTable.
// TODO: merge it with FakeOverrideBuilder. // TODO: merge it with FakeOverrideBuilder.
private object FakeOverrideBuilderForLowerings : FakeOverrideBuilderStrategy() { private class FakeOverrideBuilderForLowerings : FakeOverrideBuilderStrategy() {
override fun linkFunctionFakeOverride(declaration: IrFakeOverrideFunction) { override fun linkFunctionFakeOverride(declaration: IrFakeOverrideFunction) {
declaration.acquireSymbol(IrSimpleFunctionSymbolImpl(WrappedSimpleFunctionDescriptor())) declaration.acquireSymbol(IrSimpleFunctionSymbolImpl(WrappedSimpleFunctionDescriptor()))
@@ -491,7 +491,7 @@ private object FakeOverrideBuilderForLowerings : FakeOverrideBuilderStrategy() {
} }
fun IrClass.addFakeOverrides(irBuiltIns: IrBuiltIns, implementedMembers: List<IrOverridableMember> = emptyList()) { fun IrClass.addFakeOverrides(irBuiltIns: IrBuiltIns, implementedMembers: List<IrOverridableMember> = emptyList()) {
IrOverridingUtil(irBuiltIns, FakeOverrideBuilderForLowerings) IrOverridingUtil(irBuiltIns, FakeOverrideBuilderForLowerings())
.buildFakeOverridesForClassUsingOverriddenSymbols(this, implementedMembers) .buildFakeOverridesForClassUsingOverriddenSymbols(this, implementedMembers)
.forEach { addChild(it) } .forEach { addChild(it) }
} }