[FIR2IR] Introduce & use declaration-based SymbolTable.enter(leave)Scope

This commit is contained in:
Mikhail Glukhikh
2020-06-04 12:22:36 +03:00
parent e593c7270f
commit 538535c3b7
5 changed files with 47 additions and 43 deletions
@@ -947,10 +947,18 @@ open class SymbolTable(
scopedSymbolTables.forEach { it.enterScope(owner) }
}
fun enterScope(owner: IrDeclaration) {
enterScope(owner.descriptor)
}
override fun leaveScope(owner: DeclarationDescriptor) {
scopedSymbolTables.forEach { it.leaveScope(owner) }
}
fun leaveScope(owner: IrDeclaration) {
leaveScope(owner.descriptor)
}
fun referenceValue(value: ValueDescriptor): IrValueSymbol =
when (value) {
is ParameterDescriptor ->