Minor: make DeepCopySymbolsRemapper open

This commit is contained in:
Dmitry Petrov
2017-05-23 15:42:49 +03:00
parent e7eb078c3f
commit ec9427a36b
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.ir.symbols.impl.*
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
class DeepCopySymbolsRemapper( open class DeepCopySymbolsRemapper(
val descriptorsRemapper: DescriptorsRemapper = DescriptorsRemapper.DEFAULT val descriptorsRemapper: DescriptorsRemapper = DescriptorsRemapper.DEFAULT
) : IrElementVisitorVoid, SymbolRemapper { ) : IrElementVisitorVoid, SymbolRemapper {
private val classes = hashMapOf<IrClassSymbol, IrClassSymbol>() private val classes = hashMapOf<IrClassSymbol, IrClassSymbol>()
@@ -42,7 +42,7 @@ class DeepCopySymbolsRemapper(
element.acceptChildrenVoid(this) element.acceptChildrenVoid(this)
} }
private inline fun <D : DeclarationDescriptor, B : IrSymbolOwner, reified S : IrBindableSymbol<D, B>> protected inline fun <D : DeclarationDescriptor, B : IrSymbolOwner, reified S : IrBindableSymbol<D, B>>
remapSymbol(map: MutableMap<S, S>, owner: B, createNewSymbol: (S) -> S) { remapSymbol(map: MutableMap<S, S>, owner: B, createNewSymbol: (S) -> S) {
val symbol = owner.symbol as S val symbol = owner.symbol as S
map[symbol] = createNewSymbol(symbol) map[symbol] = createNewSymbol(symbol)