Access to ir and external symbol table

This commit is contained in:
Leonid Startsev
2018-07-10 14:26:49 +03:00
parent 87da6e2226
commit 28319a76df
3 changed files with 9 additions and 1 deletions
@@ -18,10 +18,12 @@ package org.jetbrains.kotlin.backend.common
import org.jetbrains.kotlin.backend.common.descriptors.DescriptorsFactory
import org.jetbrains.kotlin.backend.common.descriptors.SharedVariablesManager
import org.jetbrains.kotlin.backend.common.ir.Ir
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
interface BackendContext {
val ir: Ir<CommonBackendContext>
val builtIns: KotlinBuiltIns
val irBuiltIns: IrBuiltIns
val sharedVariablesManager: SharedVariablesManager
@@ -23,7 +23,7 @@ import kotlin.reflect.KProperty
interface CommonBackendContext : BackendContext {
val ir: Ir<CommonBackendContext>
override val ir: Ir<CommonBackendContext>
//TODO move to builtins
fun getInternalClass(name: String): ClassDescriptor
@@ -44,6 +44,12 @@ abstract class Symbols<out T : CommonBackendContext>(val context: T, private val
return initializer()
}
/**
* Use this table to reference external dependencies.
*/
open val externalSymbolTable: ReferenceSymbolTable
get() = symbolTable
// val refClass = calc { symbolTable.referenceClass(context.getInternalClass("Ref")) }
//abstract val areEqualByValue: List<IrFunctionSymbol>