Remove dependency of backend.wasm on ir.tree.impl and ir.tree.persistent
This commit is contained in:
@@ -11,6 +11,7 @@ dependencies {
|
|||||||
compile(project(":compiler:backend-common"))
|
compile(project(":compiler:backend-common"))
|
||||||
compile(project(":compiler:ir.backend.common"))
|
compile(project(":compiler:ir.backend.common"))
|
||||||
compile(project(":compiler:ir.serialization.js"))
|
compile(project(":compiler:ir.serialization.js"))
|
||||||
|
compile(project(":compiler:ir.tree.impl"))
|
||||||
compile(project(":compiler:backend.js"))
|
compile(project(":compiler:backend.js"))
|
||||||
compile(project(":compiler:backend.wasm"))
|
compile(project(":compiler:backend.wasm"))
|
||||||
compile(project(":js:js.translator"))
|
compile(project(":js:js.translator"))
|
||||||
|
|||||||
@@ -232,6 +232,7 @@ class K2JsIrCompiler : CLICompiler<K2JSCompilerArguments>() {
|
|||||||
AnalyzerWithCompilerReport(config.configuration),
|
AnalyzerWithCompilerReport(config.configuration),
|
||||||
config.configuration,
|
config.configuration,
|
||||||
PhaseConfig(wasmPhases),
|
PhaseConfig(wasmPhases),
|
||||||
|
IrFactoryImpl,
|
||||||
allDependencies = resolvedLibraries,
|
allDependencies = resolvedLibraries,
|
||||||
friendDependencies = friendDependencies,
|
friendDependencies = friendDependencies,
|
||||||
exportedDeclarations = setOf(FqName("main"))
|
exportedDeclarations = setOf(FqName("main"))
|
||||||
|
|||||||
@@ -11,8 +11,6 @@ dependencies {
|
|||||||
compile(project(":compiler:ir.backend.common"))
|
compile(project(":compiler:ir.backend.common"))
|
||||||
compile(project(":compiler:ir.serialization.common"))
|
compile(project(":compiler:ir.serialization.common"))
|
||||||
compile(project(":compiler:ir.serialization.js"))
|
compile(project(":compiler:ir.serialization.js"))
|
||||||
compile(project(":compiler:ir.tree.persistent"))
|
|
||||||
compile(project(":compiler:ir.tree.impl"))
|
|
||||||
compile(project(":js:js.ast"))
|
compile(project(":js:js.ast"))
|
||||||
compile(project(":js:js.frontend"))
|
compile(project(":js:js.frontend"))
|
||||||
compile(project(":compiler:backend.js"))
|
compile(project(":compiler:backend.js"))
|
||||||
|
|||||||
+1
-2
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.ir.backend.js.lower.JsInnerClassesSupport
|
|||||||
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
|
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
|
||||||
import org.jetbrains.kotlin.ir.declarations.*
|
import org.jetbrains.kotlin.ir.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl
|
||||||
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
|
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
|
||||||
import org.jetbrains.kotlin.ir.symbols.impl.DescriptorlessExternalPackageFragmentSymbol
|
import org.jetbrains.kotlin.ir.symbols.impl.DescriptorlessExternalPackageFragmentSymbol
|
||||||
@@ -39,7 +38,7 @@ class WasmBackendContext(
|
|||||||
override val builtIns = module.builtIns
|
override val builtIns = module.builtIns
|
||||||
override var inVerbosePhase: Boolean = false
|
override var inVerbosePhase: Boolean = false
|
||||||
override val scriptMode = false
|
override val scriptMode = false
|
||||||
override val irFactory: IrFactory = IrFactoryImpl
|
override val irFactory: IrFactory = symbolTable.irFactory
|
||||||
|
|
||||||
// Place to store declarations excluded from code generation
|
// Place to store declarations excluded from code generation
|
||||||
private val excludedDeclarations = mutableMapOf<FqName, IrPackageFragment>()
|
private val excludedDeclarations = mutableMapOf<FqName, IrPackageFragment>()
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.backend.wasm.ir2wasm.generateStringLiteralsSupport
|
|||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
import org.jetbrains.kotlin.ir.backend.js.MainModule
|
import org.jetbrains.kotlin.ir.backend.js.MainModule
|
||||||
import org.jetbrains.kotlin.ir.backend.js.loadIr
|
import org.jetbrains.kotlin.ir.backend.js.loadIr
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
import org.jetbrains.kotlin.ir.declarations.IrFactory
|
||||||
import org.jetbrains.kotlin.ir.util.ExternalDependenciesGenerator
|
import org.jetbrains.kotlin.ir.util.ExternalDependenciesGenerator
|
||||||
import org.jetbrains.kotlin.ir.util.patchDeclarationParents
|
import org.jetbrains.kotlin.ir.util.patchDeclarationParents
|
||||||
import org.jetbrains.kotlin.library.KotlinLibrary
|
import org.jetbrains.kotlin.library.KotlinLibrary
|
||||||
@@ -34,15 +34,13 @@ fun compileWasm(
|
|||||||
analyzer: AbstractAnalyzerWithCompilerReport,
|
analyzer: AbstractAnalyzerWithCompilerReport,
|
||||||
configuration: CompilerConfiguration,
|
configuration: CompilerConfiguration,
|
||||||
phaseConfig: PhaseConfig,
|
phaseConfig: PhaseConfig,
|
||||||
|
irFactory: IrFactory,
|
||||||
allDependencies: KotlinLibraryResolveResult,
|
allDependencies: KotlinLibraryResolveResult,
|
||||||
friendDependencies: List<KotlinLibrary>,
|
friendDependencies: List<KotlinLibrary>,
|
||||||
exportedDeclarations: Set<FqName> = emptySet()
|
exportedDeclarations: Set<FqName> = emptySet()
|
||||||
): WasmCompilerResult {
|
): WasmCompilerResult {
|
||||||
val (moduleFragment, dependencyModules, irBuiltIns, symbolTable, deserializer) =
|
val (moduleFragment, dependencyModules, irBuiltIns, symbolTable, deserializer) =
|
||||||
loadIr(
|
loadIr(project, mainModule, analyzer, configuration, allDependencies, friendDependencies, irFactory)
|
||||||
project, mainModule, analyzer, configuration, allDependencies, friendDependencies,
|
|
||||||
IrFactoryImpl
|
|
||||||
)
|
|
||||||
|
|
||||||
val allModules = when (mainModule) {
|
val allModules = when (mainModule) {
|
||||||
is MainModule.SourceFiles -> dependencyModules + listOf(moduleFragment)
|
is MainModule.SourceFiles -> dependencyModules + listOf(moduleFragment)
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
|||||||
import org.jetbrains.kotlin.config.*
|
import org.jetbrains.kotlin.config.*
|
||||||
import org.jetbrains.kotlin.ir.backend.js.MainModule
|
import org.jetbrains.kotlin.ir.backend.js.MainModule
|
||||||
import org.jetbrains.kotlin.ir.backend.js.loadKlib
|
import org.jetbrains.kotlin.ir.backend.js.loadKlib
|
||||||
|
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||||
import org.jetbrains.kotlin.js.config.JsConfig
|
import org.jetbrains.kotlin.js.config.JsConfig
|
||||||
import org.jetbrains.kotlin.js.facade.TranslationUnit
|
import org.jetbrains.kotlin.js.facade.TranslationUnit
|
||||||
import org.jetbrains.kotlin.js.test.engines.ExternalTool
|
import org.jetbrains.kotlin.js.test.engines.ExternalTool
|
||||||
@@ -137,6 +138,7 @@ abstract class BasicWasmBoxTest(
|
|||||||
analyzer = AnalyzerWithCompilerReport(config.configuration),
|
analyzer = AnalyzerWithCompilerReport(config.configuration),
|
||||||
configuration = config.configuration,
|
configuration = config.configuration,
|
||||||
phaseConfig = phaseConfig,
|
phaseConfig = phaseConfig,
|
||||||
|
irFactory = IrFactoryImpl,
|
||||||
// TODO: Bypass the resolver fow wasm.
|
// TODO: Bypass the resolver fow wasm.
|
||||||
allDependencies = KotlinLibraryResolverResultImpl(listOf(KotlinResolvedLibraryImpl(wasmRuntimeKlib))),
|
allDependencies = KotlinLibraryResolverResultImpl(listOf(KotlinResolvedLibraryImpl(wasmRuntimeKlib))),
|
||||||
friendDependencies = emptyList(),
|
friendDependencies = emptyList(),
|
||||||
|
|||||||
Reference in New Issue
Block a user