[IR] Drop unused language version settings parameters from DependenciesGenerator

This commit is contained in:
Roman Artemev
2020-09-17 13:45:06 +03:00
parent 06498c0efd
commit ba5193870e
10 changed files with 15 additions and 23 deletions
@@ -293,8 +293,7 @@ class Fir2IrConverter(
generateTypicalIrProviderList(irModuleFragment.descriptor, irBuiltIns, symbolTable, extensions = generatorExtensions) generateTypicalIrProviderList(irModuleFragment.descriptor, irBuiltIns, symbolTable, extensions = generatorExtensions)
val externalDependenciesGenerator = ExternalDependenciesGenerator( val externalDependenciesGenerator = ExternalDependenciesGenerator(
symbolTable, symbolTable,
irProviders, irProviders
languageVersionSettings
) )
// Necessary call to generate built-in IR classes // Necessary call to generate built-in IR classes
externalDependenciesGenerator.generateUnboundSymbolsAsDependencies() externalDependenciesGenerator.generateUnboundSymbolsAsDependencies()
@@ -10,7 +10,6 @@ import org.jetbrains.kotlin.analyzer.AbstractAnalyzerWithCompilerReport
import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig
import org.jetbrains.kotlin.backend.common.phaser.invokeToplevel import org.jetbrains.kotlin.backend.common.phaser.invokeToplevel
import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.languageVersionSettings
import org.jetbrains.kotlin.ir.backend.js.lower.generateTests import org.jetbrains.kotlin.ir.backend.js.lower.generateTests
import org.jetbrains.kotlin.ir.backend.js.lower.moveBodilessDeclarationsToSeparatePlace import org.jetbrains.kotlin.ir.backend.js.lower.moveBodilessDeclarationsToSeparatePlace
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.IrModuleToJsTransformer import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.IrModuleToJsTransformer
@@ -80,7 +79,7 @@ fun compile(
// Load declarations referenced during `context` initialization // Load declarations referenced during `context` initialization
val irProviders = listOf(deserializer) val irProviders = listOf(deserializer)
ExternalDependenciesGenerator(symbolTable, irProviders, configuration.languageVersionSettings).generateUnboundSymbolsAsDependencies() ExternalDependenciesGenerator(symbolTable, irProviders).generateUnboundSymbolsAsDependencies()
deserializer.postProcess() deserializer.postProcess()
symbolTable.noUnboundLeft("Unbound symbols at the end of linker") symbolTable.noUnboundLeft("Unbound symbols at the end of linker")
@@ -171,7 +171,7 @@ class JvmIrCodegenFactory(private val phaseConfig: PhaseConfig) : CodegenFactory
symbolTable, phaseConfig, extensions, backendExtension symbolTable, phaseConfig, extensions, backendExtension
) )
/* JvmBackendContext creates new unbound symbols, have to resolve them. */ /* JvmBackendContext creates new unbound symbols, have to resolve them. */
ExternalDependenciesGenerator(symbolTable, irProviders, state.languageVersionSettings).generateUnboundSymbolsAsDependencies() ExternalDependenciesGenerator(symbolTable, irProviders).generateUnboundSymbolsAsDependencies()
state.mapInlineClass = { descriptor -> state.mapInlineClass = { descriptor ->
context.typeMapper.mapType(context.referenceClass(descriptor).defaultType) context.typeMapper.mapType(context.referenceClass(descriptor).defaultType)
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.backend.wasm.ir2wasm.WasmCompiledModuleFragment
import org.jetbrains.kotlin.backend.wasm.ir2wasm.WasmModuleFragmentGenerator import org.jetbrains.kotlin.backend.wasm.ir2wasm.WasmModuleFragmentGenerator
import org.jetbrains.kotlin.backend.wasm.ir2wasm.generateStringLiteralsSupport import org.jetbrains.kotlin.backend.wasm.ir2wasm.generateStringLiteralsSupport
import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.languageVersionSettings
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.impl.IrFactoryImpl
@@ -56,7 +55,7 @@ fun compileWasm(
// Load declarations referenced during `context` initialization // Load declarations referenced during `context` initialization
allModules.forEach { allModules.forEach {
val irProviders = generateTypicalIrProviderList(it.descriptor, irBuiltIns, symbolTable, deserializer) val irProviders = generateTypicalIrProviderList(it.descriptor, irBuiltIns, symbolTable, deserializer)
ExternalDependenciesGenerator(symbolTable, irProviders, configuration.languageVersionSettings) ExternalDependenciesGenerator(symbolTable, irProviders)
.generateUnboundSymbolsAsDependencies() .generateUnboundSymbolsAsDependencies()
} }
@@ -67,7 +66,7 @@ fun compileWasm(
// Create stubs // Create stubs
val irProviders = generateTypicalIrProviderList(moduleDescriptor, irBuiltIns, symbolTable, deserializer) val irProviders = generateTypicalIrProviderList(moduleDescriptor, irBuiltIns, symbolTable, deserializer)
ExternalDependenciesGenerator(symbolTable, irProviders, configuration.languageVersionSettings).generateUnboundSymbolsAsDependencies() ExternalDependenciesGenerator(symbolTable, irProviders).generateUnboundSymbolsAsDependencies()
moduleFragment.patchDeclarationParents() moduleFragment.patchDeclarationParents()
wasmPhases.invokeToplevel(phaseConfig, context, moduleFragment) wasmPhases.invokeToplevel(phaseConfig, context, moduleFragment)
@@ -60,12 +60,12 @@ class ModuleGenerator(
irModule.descriptor, context.irBuiltIns, context.symbolTable, deserializer, irModule.descriptor, context.irBuiltIns, context.symbolTable, deserializer,
extensions extensions
) )
ExternalDependenciesGenerator(context.symbolTable, fullIrProvidersList, context.languageVersionSettings) ExternalDependenciesGenerator(context.symbolTable, fullIrProvidersList)
.generateUnboundSymbolsAsDependencies() .generateUnboundSymbolsAsDependencies()
} }
fun generateUnboundSymbolsAsDependencies(irProviders: List<IrProvider>) { fun generateUnboundSymbolsAsDependencies(irProviders: List<IrProvider>) {
ExternalDependenciesGenerator(context.symbolTable, irProviders, context.languageVersionSettings) ExternalDependenciesGenerator(context.symbolTable, irProviders)
.generateUnboundSymbolsAsDependencies() .generateUnboundSymbolsAsDependencies()
} }
@@ -16,7 +16,6 @@
package org.jetbrains.kotlin.ir.util package org.jetbrains.kotlin.ir.util
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.declarations.IrDeclaration
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
@@ -27,8 +26,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstNotNullResult
class ExternalDependenciesGenerator( class ExternalDependenciesGenerator(
val symbolTable: SymbolTable, val symbolTable: SymbolTable,
private val irProviders: List<IrProvider>, private val irProviders: List<IrProvider>
private val languageVersionSettings: LanguageVersionSettings
) { ) {
fun generateUnboundSymbolsAsDependencies() { fun generateUnboundSymbolsAsDependencies() {
// There should be at most one DeclarationStubGenerator (none in closed world?) // There should be at most one DeclarationStubGenerator (none in closed world?)
@@ -289,7 +289,7 @@ fun loadIr(
val moduleFragment = deserializedModuleFragments.last() val moduleFragment = deserializedModuleFragments.last()
irLinker.init(null, emptyList()) irLinker.init(null, emptyList())
ExternalDependenciesGenerator(symbolTable, listOf(irLinker), configuration.languageVersionSettings).generateUnboundSymbolsAsDependencies() ExternalDependenciesGenerator(symbolTable, listOf(irLinker)).generateUnboundSymbolsAsDependencies()
irLinker.postProcess() irLinker.postProcess()
return IrModuleInfo(moduleFragment, deserializedModuleFragments, irBuiltIns, symbolTable, irLinker) return IrModuleInfo(moduleFragment, deserializedModuleFragments, irBuiltIns, symbolTable, irLinker)
@@ -529,7 +529,7 @@ class GenerateIrRuntime {
val moduleFragment = jsLinker.deserializeFullModule(moduleDescriptor, moduleDescriptor.kotlinLibrary) val moduleFragment = jsLinker.deserializeFullModule(moduleDescriptor, moduleDescriptor.kotlinLibrary)
jsLinker.init(null, emptyList()) jsLinker.init(null, emptyList())
// Create stubs // Create stubs
ExternalDependenciesGenerator(symbolTable, listOf(jsLinker), languageVersionSettings) ExternalDependenciesGenerator(symbolTable, listOf(jsLinker))
.generateUnboundSymbolsAsDependencies() .generateUnboundSymbolsAsDependencies()
jsLinker.postProcess() jsLinker.postProcess()
@@ -560,7 +560,7 @@ class GenerateIrRuntime {
// Create stubs // Create stubs
jsLinker.init(null, emptyList()) jsLinker.init(null, emptyList())
// Create stubs // Create stubs
ExternalDependenciesGenerator(symbolTable, listOf(jsLinker), languageVersionSettings) ExternalDependenciesGenerator(symbolTable, listOf(jsLinker))
.generateUnboundSymbolsAsDependencies() .generateUnboundSymbolsAsDependencies()
jsLinker.postProcess() jsLinker.postProcess()
@@ -574,7 +574,7 @@ class GenerateIrRuntime {
private fun doBackEnd(module: IrModuleFragment, symbolTable: SymbolTable, irBuiltIns: IrBuiltIns, jsLinker: JsIrLinker): CompilerResult { private fun doBackEnd(module: IrModuleFragment, symbolTable: SymbolTable, irBuiltIns: IrBuiltIns, jsLinker: JsIrLinker): CompilerResult {
val context = JsIrBackendContext(module.descriptor, irBuiltIns, symbolTable, module, emptySet(), configuration) val context = JsIrBackendContext(module.descriptor, irBuiltIns, symbolTable, module, emptySet(), configuration)
ExternalDependenciesGenerator(symbolTable, listOf(jsLinker), languageVersionSettings).generateUnboundSymbolsAsDependencies() ExternalDependenciesGenerator(symbolTable, listOf(jsLinker)).generateUnboundSymbolsAsDependencies()
jsPhases.invokeToplevel(phaseConfig, context, listOf(module)) jsPhases.invokeToplevel(phaseConfig, context, listOf(module))
@@ -84,8 +84,7 @@ class JsCoreScriptingCompiler(
irModuleFragment.descriptor, irModuleFragment.descriptor,
psi2irContext.irBuiltIns, psi2irContext.irBuiltIns,
psi2irContext.symbolTable psi2irContext.symbolTable
), )
environment.configuration.languageVersionSettings
).generateUnboundSymbolsAsDependencies() ).generateUnboundSymbolsAsDependencies()
environment.configuration.put(JSConfigurationKeys.MODULE_KIND, ModuleKind.PLAIN) environment.configuration.put(JSConfigurationKeys.MODULE_KIND, ModuleKind.PLAIN)
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.scripting.repl.js
import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
import org.jetbrains.kotlin.config.languageVersionSettings
import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
@@ -18,7 +17,6 @@ import org.jetbrains.kotlin.ir.backend.js.emptyLoggingContext
import org.jetbrains.kotlin.ir.backend.js.generateJsCode import org.jetbrains.kotlin.ir.backend.js.generateJsCode
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsIrLinker import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsIrLinker
import org.jetbrains.kotlin.ir.backend.js.utils.NameTables import org.jetbrains.kotlin.ir.backend.js.utils.NameTables
import org.jetbrains.kotlin.ir.declarations.impl.IrModuleFragmentImpl
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
import org.jetbrains.kotlin.ir.descriptors.IrFunctionFactory import org.jetbrains.kotlin.ir.descriptors.IrFunctionFactory
import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.ir.util.*
@@ -58,7 +56,7 @@ class JsScriptDependencyCompiler(
jsLinker.init(null, emptyList()) jsLinker.init(null, emptyList())
ExternalDependenciesGenerator(symbolTable, irProviders, configuration.languageVersionSettings) ExternalDependenciesGenerator(symbolTable, irProviders)
.generateUnboundSymbolsAsDependencies() .generateUnboundSymbolsAsDependencies()
moduleFragment.patchDeclarationParents() moduleFragment.patchDeclarationParents()
@@ -72,7 +70,7 @@ class JsScriptDependencyCompiler(
true true
) )
ExternalDependenciesGenerator(symbolTable, irProviders, configuration.languageVersionSettings) ExternalDependenciesGenerator(symbolTable, irProviders)
.generateUnboundSymbolsAsDependencies() .generateUnboundSymbolsAsDependencies()
moduleFragment.patchDeclarationParents() moduleFragment.patchDeclarationParents()
jsLinker.postProcess() jsLinker.postProcess()