diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/BackendContext.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/BackendContext.kt index 2aec18c30e8..6ed6e84c329 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/BackendContext.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/BackendContext.kt @@ -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 val builtIns: KotlinBuiltIns val irBuiltIns: IrBuiltIns val sharedVariablesManager: SharedVariablesManager diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/CommonBackendContext.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/CommonBackendContext.kt index e83804a5d1d..ff019e893a4 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/CommonBackendContext.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/CommonBackendContext.kt @@ -23,7 +23,7 @@ import kotlin.reflect.KProperty interface CommonBackendContext : BackendContext { - val ir: Ir + override val ir: Ir //TODO move to builtins fun getInternalClass(name: String): ClassDescriptor diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/Ir.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/Ir.kt index 8a115696f5e..27d2bcc44fe 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/Ir.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/ir/Ir.kt @@ -44,6 +44,12 @@ abstract class Symbols(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