New mechanism for mappings between old and produced declarations

This commit is contained in:
Anton Bannykh
2020-01-16 20:00:56 +03:00
parent e8fba8bcb6
commit 20dc3ccdb8
8 changed files with 109 additions and 11 deletions
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.backend.wasm
import org.jetbrains.kotlin.backend.common.CommonBackendContext
import org.jetbrains.kotlin.backend.common.ir.Ir
import org.jetbrains.kotlin.backend.common.ir.Symbols
import org.jetbrains.kotlin.backend.js.JsDeclarationFactory
@@ -14,6 +13,8 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
import org.jetbrains.kotlin.descriptors.impl.EmptyPackageFragmentDescriptor
import org.jetbrains.kotlin.ir.IrElement
import org.jetbrains.kotlin.ir.backend.js.JsCommonBackendContext
import org.jetbrains.kotlin.ir.backend.js.JsMapping
import org.jetbrains.kotlin.ir.backend.js.JsSharedVariablesManager
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
@@ -34,7 +35,7 @@ class WasmBackendContext(
irModuleFragment: IrModuleFragment,
val additionalExportedDeclarations: Set<FqName>,
override val configuration: CompilerConfiguration
) : CommonBackendContext {
) : JsCommonBackendContext {
override val builtIns = module.builtIns
override var inVerbosePhase: Boolean = false
override val scriptMode = false
@@ -49,7 +50,9 @@ class WasmBackendContext(
)
}
override val declarationFactory = JsDeclarationFactory()
override val mapping = JsMapping()
override val declarationFactory = JsDeclarationFactory(mapping)
val objectToGetInstanceFunction = mutableMapOf<IrClassSymbol, IrSimpleFunction>()
override val internalPackageFqn = FqName("kotlin.wasm")