[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)
val externalDependenciesGenerator = ExternalDependenciesGenerator(
symbolTable,
irProviders,
languageVersionSettings
irProviders
)
// Necessary call to generate built-in IR classes
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.invokeToplevel
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.moveBodilessDeclarationsToSeparatePlace
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.IrModuleToJsTransformer
@@ -80,7 +79,7 @@ fun compile(
// Load declarations referenced during `context` initialization
val irProviders = listOf(deserializer)
ExternalDependenciesGenerator(symbolTable, irProviders, configuration.languageVersionSettings).generateUnboundSymbolsAsDependencies()
ExternalDependenciesGenerator(symbolTable, irProviders).generateUnboundSymbolsAsDependencies()
deserializer.postProcess()
symbolTable.noUnboundLeft("Unbound symbols at the end of linker")
@@ -171,7 +171,7 @@ class JvmIrCodegenFactory(private val phaseConfig: PhaseConfig) : CodegenFactory
symbolTable, phaseConfig, extensions, backendExtension
)
/* JvmBackendContext creates new unbound symbols, have to resolve them. */
ExternalDependenciesGenerator(symbolTable, irProviders, state.languageVersionSettings).generateUnboundSymbolsAsDependencies()
ExternalDependenciesGenerator(symbolTable, irProviders).generateUnboundSymbolsAsDependencies()
state.mapInlineClass = { descriptor ->
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.generateStringLiteralsSupport
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.loadIr
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
@@ -56,7 +55,7 @@ fun compileWasm(
// Load declarations referenced during `context` initialization
allModules.forEach {
val irProviders = generateTypicalIrProviderList(it.descriptor, irBuiltIns, symbolTable, deserializer)
ExternalDependenciesGenerator(symbolTable, irProviders, configuration.languageVersionSettings)
ExternalDependenciesGenerator(symbolTable, irProviders)
.generateUnboundSymbolsAsDependencies()
}
@@ -67,7 +66,7 @@ fun compileWasm(
// Create stubs
val irProviders = generateTypicalIrProviderList(moduleDescriptor, irBuiltIns, symbolTable, deserializer)
ExternalDependenciesGenerator(symbolTable, irProviders, configuration.languageVersionSettings).generateUnboundSymbolsAsDependencies()
ExternalDependenciesGenerator(symbolTable, irProviders).generateUnboundSymbolsAsDependencies()
moduleFragment.patchDeclarationParents()
wasmPhases.invokeToplevel(phaseConfig, context, moduleFragment)
@@ -60,12 +60,12 @@ class ModuleGenerator(
irModule.descriptor, context.irBuiltIns, context.symbolTable, deserializer,
extensions
)
ExternalDependenciesGenerator(context.symbolTable, fullIrProvidersList, context.languageVersionSettings)
ExternalDependenciesGenerator(context.symbolTable, fullIrProvidersList)
.generateUnboundSymbolsAsDependencies()
}
fun generateUnboundSymbolsAsDependencies(irProviders: List<IrProvider>) {
ExternalDependenciesGenerator(context.symbolTable, irProviders, context.languageVersionSettings)
ExternalDependenciesGenerator(context.symbolTable, irProviders)
.generateUnboundSymbolsAsDependencies()
}
@@ -16,7 +16,6 @@
package org.jetbrains.kotlin.ir.util
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
@@ -27,8 +26,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstNotNullResult
class ExternalDependenciesGenerator(
val symbolTable: SymbolTable,
private val irProviders: List<IrProvider>,
private val languageVersionSettings: LanguageVersionSettings
private val irProviders: List<IrProvider>
) {
fun generateUnboundSymbolsAsDependencies() {
// There should be at most one DeclarationStubGenerator (none in closed world?)
@@ -289,7 +289,7 @@ fun loadIr(
val moduleFragment = deserializedModuleFragments.last()
irLinker.init(null, emptyList())
ExternalDependenciesGenerator(symbolTable, listOf(irLinker), configuration.languageVersionSettings).generateUnboundSymbolsAsDependencies()
ExternalDependenciesGenerator(symbolTable, listOf(irLinker)).generateUnboundSymbolsAsDependencies()
irLinker.postProcess()
return IrModuleInfo(moduleFragment, deserializedModuleFragments, irBuiltIns, symbolTable, irLinker)
@@ -529,7 +529,7 @@ class GenerateIrRuntime {
val moduleFragment = jsLinker.deserializeFullModule(moduleDescriptor, moduleDescriptor.kotlinLibrary)
jsLinker.init(null, emptyList())
// Create stubs
ExternalDependenciesGenerator(symbolTable, listOf(jsLinker), languageVersionSettings)
ExternalDependenciesGenerator(symbolTable, listOf(jsLinker))
.generateUnboundSymbolsAsDependencies()
jsLinker.postProcess()
@@ -560,7 +560,7 @@ class GenerateIrRuntime {
// Create stubs
jsLinker.init(null, emptyList())
// Create stubs
ExternalDependenciesGenerator(symbolTable, listOf(jsLinker), languageVersionSettings)
ExternalDependenciesGenerator(symbolTable, listOf(jsLinker))
.generateUnboundSymbolsAsDependencies()
jsLinker.postProcess()
@@ -574,7 +574,7 @@ class GenerateIrRuntime {
private fun doBackEnd(module: IrModuleFragment, symbolTable: SymbolTable, irBuiltIns: IrBuiltIns, jsLinker: JsIrLinker): CompilerResult {
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))
@@ -84,8 +84,7 @@ class JsCoreScriptingCompiler(
irModuleFragment.descriptor,
psi2irContext.irBuiltIns,
psi2irContext.symbolTable
),
environment.configuration.languageVersionSettings
)
).generateUnboundSymbolsAsDependencies()
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.config.CompilerConfiguration
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
import org.jetbrains.kotlin.config.languageVersionSettings
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
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.lower.serialization.ir.JsIrLinker
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.IrFunctionFactory
import org.jetbrains.kotlin.ir.util.*
@@ -58,7 +56,7 @@ class JsScriptDependencyCompiler(
jsLinker.init(null, emptyList())
ExternalDependenciesGenerator(symbolTable, irProviders, configuration.languageVersionSettings)
ExternalDependenciesGenerator(symbolTable, irProviders)
.generateUnboundSymbolsAsDependencies()
moduleFragment.patchDeclarationParents()
@@ -72,7 +70,7 @@ class JsScriptDependencyCompiler(
true
)
ExternalDependenciesGenerator(symbolTable, irProviders, configuration.languageVersionSettings)
ExternalDependenciesGenerator(symbolTable, irProviders)
.generateUnboundSymbolsAsDependencies()
moduleFragment.patchDeclarationParents()
jsLinker.postProcess()