[FIR & FIR2IR] Prepare test and CLI infrastructure to support MPP

- Move out getAnalyzerServices from FirFrontendFacade to TestSetupUtils
- Simplify DependencyListForCliModule. Now it takes BinaryModuleData as input
- FirOutArtifact contains several FirOutputArtifactPart
- Simplify FirFrontendFacade
This commit is contained in:
Ivan Kochurkin
2022-11-18 19:51:58 +01:00
committed by Space Team
parent 3029e47609
commit 5d273ce839
44 changed files with 1025 additions and 788 deletions
@@ -48,7 +48,7 @@ class FirAnalyzerFacade(
val irGeneratorExtensions: Collection<IrGenerationExtension>,
val useLightTree: Boolean = false,
val enablePluginPhases: Boolean = false,
val generateSignatures: Boolean = false,
val generateSignatures: Boolean = false
) : AbstractFirAnalyzerFacade() {
private var firFiles: List<FirFile>? = null
private var _scopeSession: ScopeSession? = null
@@ -108,13 +108,8 @@ class FirAnalyzerFacade(
val mangler = JvmDescriptorMangler(null)
val signaturer = JvmIdSignatureDescriptor(mangler)
val commonFirFiles = session.moduleData.dependsOnDependencies
.map { it.session }
.filter { it.kind == FirSession.Kind.Source }
.flatMap { (it.firProvider as FirProviderImpl).getAllFirFiles() }
return Fir2IrConverter.createModuleFragmentWithSignaturesIfNeeded(
session, _scopeSession!!, firFiles!! + commonFirFiles,
session, _scopeSession!!, firFiles!!,
languageVersionSettings, signaturer,
fir2IrExtensions,
FirJvmKotlinMangler(session), JvmIrMangler, IrFactoryImpl,