Psi2Ir: somewhat simplify Psi2IrTranslator API

Inline some methods only used once, deduplicate usages, rearrange
parameters, etc.
This commit is contained in:
Alexander Udalov
2020-07-13 18:24:20 +02:00
parent 241f82c70f
commit d3a34a8898
7 changed files with 56 additions and 106 deletions
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.scripting.repl.js
import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureDescriptor
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
import org.jetbrains.kotlin.cli.common.environment.setIdeaIoUseFallback
import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport
@@ -18,12 +17,12 @@ import org.jetbrains.kotlin.config.languageVersionSettings
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.ir.backend.js.JsIrBackendContext
import org.jetbrains.kotlin.ir.backend.js.generateJsCode
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc
import org.jetbrains.kotlin.ir.backend.js.utils.NameTables
import org.jetbrains.kotlin.ir.util.ExternalDependenciesGenerator
import org.jetbrains.kotlin.ir.util.SymbolTable
import org.jetbrains.kotlin.ir.util.generateTypicalIrProviderList
import org.jetbrains.kotlin.js.config.JSConfigurationKeys
import org.jetbrains.kotlin.psi2ir.Psi2IrConfiguration
import org.jetbrains.kotlin.psi2ir.Psi2IrTranslator
import org.jetbrains.kotlin.scripting.compiler.plugin.repl.ReplCodeAnalyzerBase
import org.jetbrains.kotlin.serialization.js.ModuleKind
@@ -58,12 +57,9 @@ class JsCoreScriptingCompiler(
}
val files = listOf(snippetKtFile)
val module = analysisResult.moduleDescriptor
val bindingContext = analysisResult.bindingContext
val mangler = JsManglerDesc
val signaturer = IdSignatureDescriptor(mangler)
val psi2ir = Psi2IrTranslator(environment.configuration.languageVersionSettings, signaturer = signaturer)
val psi2irContext = psi2ir.createGeneratorContext(module, bindingContext, symbolTable = symbolTable)
val (bindingContext, module) = analysisResult
val psi2ir = Psi2IrTranslator(environment.configuration.languageVersionSettings, Psi2IrConfiguration())
val psi2irContext = psi2ir.createGeneratorContext(module, bindingContext, symbolTable)
val providers = generateTypicalIrProviderList(module, psi2irContext.irBuiltIns, psi2irContext.symbolTable)
val irModuleFragment = psi2ir.generateModuleFragment(psi2irContext, files, providers, emptyList(), null) // TODO: deserializer