Access to ir and external symbol table
This commit is contained in:
@@ -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.DescriptorsFactory
|
||||||
import org.jetbrains.kotlin.backend.common.descriptors.SharedVariablesManager
|
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.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
|
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
|
||||||
|
|
||||||
interface BackendContext {
|
interface BackendContext {
|
||||||
|
val ir: Ir<CommonBackendContext>
|
||||||
val builtIns: KotlinBuiltIns
|
val builtIns: KotlinBuiltIns
|
||||||
val irBuiltIns: IrBuiltIns
|
val irBuiltIns: IrBuiltIns
|
||||||
val sharedVariablesManager: SharedVariablesManager
|
val sharedVariablesManager: SharedVariablesManager
|
||||||
|
|||||||
+1
-1
@@ -23,7 +23,7 @@ import kotlin.reflect.KProperty
|
|||||||
|
|
||||||
interface CommonBackendContext : BackendContext {
|
interface CommonBackendContext : BackendContext {
|
||||||
|
|
||||||
val ir: Ir<CommonBackendContext>
|
override val ir: Ir<CommonBackendContext>
|
||||||
|
|
||||||
//TODO move to builtins
|
//TODO move to builtins
|
||||||
fun getInternalClass(name: String): ClassDescriptor
|
fun getInternalClass(name: String): ClassDescriptor
|
||||||
|
|||||||
@@ -44,6 +44,12 @@ abstract class Symbols<out T : CommonBackendContext>(val context: T, private val
|
|||||||
return initializer()
|
return initializer()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Use this table to reference external dependencies.
|
||||||
|
*/
|
||||||
|
open val externalSymbolTable: ReferenceSymbolTable
|
||||||
|
get() = symbolTable
|
||||||
|
|
||||||
// val refClass = calc { symbolTable.referenceClass(context.getInternalClass("Ref")) }
|
// val refClass = calc { symbolTable.referenceClass(context.getInternalClass("Ref")) }
|
||||||
|
|
||||||
//abstract val areEqualByValue: List<IrFunctionSymbol>
|
//abstract val areEqualByValue: List<IrFunctionSymbol>
|
||||||
|
|||||||
Reference in New Issue
Block a user