From 8335ce8665a53bec4a278d133d3ea8fc79ab16c8 Mon Sep 17 00:00:00 2001 From: Roman Artemev Date: Wed, 29 Apr 2020 10:43:16 +0300 Subject: [PATCH] [IR] Fix to make K/N work --- .../src/org/jetbrains/kotlin/backend/common/ir/Ir.kt | 6 +++--- .../jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt | 2 +- .../src/org/jetbrains/kotlin/backend/jvm/JvmSymbols.kt | 2 +- .../src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) 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 41ad8e63c6d..21995ac7d13 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 @@ -48,7 +48,7 @@ abstract class Ir(val context: T, val irModule: Ir /** * Symbols for builtins that are available without any context and are not specific to any backend */ -open class BuiltinSymbolsBase(protected val irBuiltIns: IrBuiltIns, private val builtIns: KotlinBuiltIns, private val symbolTable: ReferenceSymbolTable) { +open class BuiltinSymbolsBase(protected val irBuiltIns: IrBuiltIns, protected val builtIns: KotlinBuiltIns, private val symbolTable: ReferenceSymbolTable) { protected fun builtInsPackage(vararg packageNameSegments: String) = builtIns.builtInsModule.getPackage(FqName.fromSegments(listOf(*packageNameSegments))).memberScope @@ -231,8 +231,8 @@ open class BuiltinSymbolsBase(protected val irBuiltIns: IrBuiltIns, private val // Some symbols below are used in kotlin-native, so they can't be private @Suppress("MemberVisibilityCanBePrivate", "PropertyName") -abstract class Symbols(val context: T, symbolTable: SymbolTable) : - BuiltinSymbolsBase(context.irBuiltIns, context.builtIns, symbolTable) { +abstract class Symbols(val context: T, irBuiltIns: IrBuiltIns, symbolTable: SymbolTable) : + BuiltinSymbolsBase(irBuiltIns, context.builtIns, symbolTable) { abstract val ThrowNullPointerException: IrFunctionSymbol abstract val ThrowNoWhenBranchMatchedException: IrFunctionSymbol abstract val ThrowTypeCastException: IrFunctionSymbol diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt index 4a637272b85..7cfb0a132e1 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt @@ -181,7 +181,7 @@ class JsIrBackendContext( fun getOperatorByName(name: Name, type: IrSimpleType) = operatorMap[name]?.get(type.classifier) override val ir = object : Ir(this, irModuleFragment) { - override val symbols = object : Symbols(this@JsIrBackendContext, symbolTable) { + override val symbols = object : Symbols(this@JsIrBackendContext, irBuiltIns, symbolTable) { override val ThrowNullPointerException = symbolTable.referenceSimpleFunction(getFunctions(kotlinPackageFqn.child(Name.identifier("THROW_NPE"))).single()) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmSymbols.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmSymbols.kt index 506d9ad65e7..c3e304c2c5b 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmSymbols.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmSymbols.kt @@ -39,7 +39,7 @@ import org.jetbrains.kotlin.types.Variance class JvmSymbols( context: JvmBackendContext, private val symbolTable: SymbolTable -) : Symbols(context, symbolTable) { +) : Symbols(context, context.irBuiltIns, symbolTable) { private val storageManager = LockBasedStorageManager(this::class.java.simpleName) private val kotlinPackage: IrPackageFragment = createPackage(FqName("kotlin")) private val kotlinCoroutinesPackage: IrPackageFragment = createPackage(FqName("kotlin.coroutines")) diff --git a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt index 8cb9ab7b34c..d022aa1112f 100644 --- a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt +++ b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.types.SimpleType class WasmSymbols( context: WasmBackendContext, private val symbolTable: SymbolTable -) : Symbols(context, symbolTable) { +) : Symbols(context, context.irBuiltIns, symbolTable) { override val ThrowNullPointerException get() = TODO()