[KLIB] Fix memory leak in fake override resolver
This commit is contained in:
+2
@@ -158,6 +158,8 @@ class FakeOverrideBuilder(
|
||||
|
||||
fun provideFakeOverrides(klass: IrClass) {
|
||||
buildFakeOverrideChainsForClass(klass)
|
||||
propertyOverriddenSymbols.clear()
|
||||
irOverridingUtil.clear()
|
||||
haveFakeOverrides.add(klass)
|
||||
}
|
||||
}
|
||||
|
||||
+5
@@ -59,6 +59,11 @@ class IrOverridingUtil(
|
||||
private val IrOverridableMember.original get() = originals[this] ?: error("No original for ${this.render()}")
|
||||
private val originalSuperTypes = mutableMapOf<IrOverridableMember, IrType>()
|
||||
|
||||
fun clear() {
|
||||
originals.clear()
|
||||
originalSuperTypes.clear()
|
||||
}
|
||||
|
||||
private var IrOverridableMember.overriddenSymbols: List<IrSymbol>
|
||||
get() = when (this) {
|
||||
is IrSimpleFunction -> this.overriddenSymbols
|
||||
|
||||
Reference in New Issue
Block a user