[Test] Make createModuleFragmentWithSignaturesIfNeeded to be called once
This commit is contained in:
@@ -36,7 +36,27 @@ data class ModuleCompilerAnalyzedOutput(
|
|||||||
val session: FirSession,
|
val session: FirSession,
|
||||||
val scopeSession: ScopeSession,
|
val scopeSession: ScopeSession,
|
||||||
val fir: List<FirFile>
|
val fir: List<FirFile>
|
||||||
)
|
) {
|
||||||
|
fun convertToIr(
|
||||||
|
fir2IrExtensions: Fir2IrExtensions,
|
||||||
|
fir2IrConfiguration: Fir2IrConfiguration,
|
||||||
|
commonMemberStorage: Fir2IrCommonMemberStorage,
|
||||||
|
irBuiltIns: IrBuiltInsOverFir?,
|
||||||
|
irMangler: KotlinMangler.IrMangler,
|
||||||
|
visibilityConverter: Fir2IrVisibilityConverter,
|
||||||
|
kotlinBuiltIns: KotlinBuiltIns,
|
||||||
|
): Fir2IrResult {
|
||||||
|
return Fir2IrConverter.createModuleFragmentWithSignaturesIfNeeded(
|
||||||
|
session, scopeSession, fir,
|
||||||
|
fir2IrExtensions, fir2IrConfiguration,
|
||||||
|
irMangler, IrFactoryImpl, visibilityConverter,
|
||||||
|
Fir2IrJvmSpecialAnnotationSymbolProvider(), // TODO KT-60526: replace with appropriate (probably empty) implementation for other backends.
|
||||||
|
kotlinBuiltIns = kotlinBuiltIns,
|
||||||
|
commonMemberStorage = commonMemberStorage,
|
||||||
|
initializedIrBuiltIns = irBuiltIns
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
data class Fir2IrActualizedResult(
|
data class Fir2IrActualizedResult(
|
||||||
val irModuleFragment: IrModuleFragment,
|
val irModuleFragment: IrModuleFragment,
|
||||||
@@ -165,22 +185,3 @@ fun IrPluginContext.applyIrGenerationExtensions(irModuleFragment: IrModuleFragme
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun ModuleCompilerAnalyzedOutput.convertToIr(
|
|
||||||
fir2IrExtensions: Fir2IrExtensions,
|
|
||||||
fir2IrConfiguration: Fir2IrConfiguration,
|
|
||||||
commonMemberStorage: Fir2IrCommonMemberStorage,
|
|
||||||
irBuiltIns: IrBuiltInsOverFir?,
|
|
||||||
irMangler: KotlinMangler.IrMangler,
|
|
||||||
visibilityConverter: Fir2IrVisibilityConverter,
|
|
||||||
kotlinBuiltIns: KotlinBuiltIns,
|
|
||||||
): Fir2IrResult {
|
|
||||||
return Fir2IrConverter.createModuleFragmentWithSignaturesIfNeeded(
|
|
||||||
session, scopeSession, fir,
|
|
||||||
fir2IrExtensions, fir2IrConfiguration,
|
|
||||||
irMangler, IrFactoryImpl, visibilityConverter,
|
|
||||||
Fir2IrJvmSpecialAnnotationSymbolProvider(), // TODO: replace with appropriate (probably empty) implementation for other backends.
|
|
||||||
kotlinBuiltIns = kotlinBuiltIns,
|
|
||||||
commonMemberStorage = commonMemberStorage,
|
|
||||||
initializedIrBuiltIns = irBuiltIns
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|||||||
+7
-10
@@ -22,11 +22,10 @@ import org.jetbrains.kotlin.fir.AbstractFirAnalyzerFacade
|
|||||||
import org.jetbrains.kotlin.fir.FirAnalyzerFacade
|
import org.jetbrains.kotlin.fir.FirAnalyzerFacade
|
||||||
import org.jetbrains.kotlin.fir.backend.*
|
import org.jetbrains.kotlin.fir.backend.*
|
||||||
import org.jetbrains.kotlin.fir.backend.js.FirJsKotlinMangler
|
import org.jetbrains.kotlin.fir.backend.js.FirJsKotlinMangler
|
||||||
import org.jetbrains.kotlin.fir.backend.jvm.Fir2IrJvmSpecialAnnotationSymbolProvider
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||||
import org.jetbrains.kotlin.fir.descriptors.FirModuleDescriptor
|
import org.jetbrains.kotlin.fir.descriptors.FirModuleDescriptor
|
||||||
import org.jetbrains.kotlin.fir.pipeline.applyIrGenerationExtensions
|
import org.jetbrains.kotlin.fir.pipeline.ModuleCompilerAnalyzedOutput
|
||||||
import org.jetbrains.kotlin.fir.serialization.FirKLibSerializerExtension
|
import org.jetbrains.kotlin.fir.serialization.FirKLibSerializerExtension
|
||||||
import org.jetbrains.kotlin.fir.serialization.serializeSingleFirFile
|
import org.jetbrains.kotlin.fir.serialization.serializeSingleFirFile
|
||||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||||
@@ -36,7 +35,6 @@ import org.jetbrains.kotlin.ir.backend.js.incrementalDataProvider
|
|||||||
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc
|
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc
|
||||||
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerIr
|
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerIr
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
|
||||||
import org.jetbrains.kotlin.ir.util.KotlinMangler
|
import org.jetbrains.kotlin.ir.util.KotlinMangler
|
||||||
import org.jetbrains.kotlin.library.metadata.resolver.KotlinResolvedLibrary
|
import org.jetbrains.kotlin.library.metadata.resolver.KotlinResolvedLibrary
|
||||||
import org.jetbrains.kotlin.library.unresolvedDependencies
|
import org.jetbrains.kotlin.library.unresolvedDependencies
|
||||||
@@ -181,16 +179,15 @@ fun AbstractFirAnalyzerFacade.convertToJsIr(
|
|||||||
.putIfAbsent(CommonConfigurationKeys.EVALUATED_CONST_TRACKER, EvaluatedConstTracker.create()),
|
.putIfAbsent(CommonConfigurationKeys.EVALUATED_CONST_TRACKER, EvaluatedConstTracker.create()),
|
||||||
inlineConstTracker = null,
|
inlineConstTracker = null,
|
||||||
)
|
)
|
||||||
return Fir2IrConverter.createModuleFragmentWithSignaturesIfNeeded(
|
|
||||||
session, scopeSession, firFiles.toList(),
|
return ModuleCompilerAnalyzedOutput(this.session, this.scopeSession, firFiles.toList()).convertToIr(
|
||||||
fir2IrExtensions,
|
fir2IrExtensions,
|
||||||
fir2IrConfiguration,
|
fir2IrConfiguration,
|
||||||
irMangler, IrFactoryImpl,
|
commonMemberStorage,
|
||||||
|
irBuiltIns,
|
||||||
|
irMangler,
|
||||||
Fir2IrVisibilityConverter.Default,
|
Fir2IrVisibilityConverter.Default,
|
||||||
Fir2IrJvmSpecialAnnotationSymbolProvider(), // TODO: replace with appropriate (probably empty) implementation
|
builtIns ?: DefaultBuiltIns.Instance // TODO: consider passing externally,
|
||||||
kotlinBuiltIns = builtIns ?: DefaultBuiltIns.Instance, // TODO: consider passing externally,
|
|
||||||
commonMemberStorage = commonMemberStorage,
|
|
||||||
initializedIrBuiltIns = irBuiltIns
|
|
||||||
).also {
|
).also {
|
||||||
(it.irModuleFragment.descriptor as? FirModuleDescriptor)?.let { it.allDependencyModules = dependencies }
|
(it.irModuleFragment.descriptor as? FirModuleDescriptor)?.let { it.allDependencyModules = dependencies }
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-9
@@ -22,10 +22,10 @@ import org.jetbrains.kotlin.fir.AbstractFirAnalyzerFacade
|
|||||||
import org.jetbrains.kotlin.fir.FirAnalyzerFacade
|
import org.jetbrains.kotlin.fir.FirAnalyzerFacade
|
||||||
import org.jetbrains.kotlin.fir.backend.*
|
import org.jetbrains.kotlin.fir.backend.*
|
||||||
import org.jetbrains.kotlin.fir.backend.js.FirJsKotlinMangler
|
import org.jetbrains.kotlin.fir.backend.js.FirJsKotlinMangler
|
||||||
import org.jetbrains.kotlin.fir.backend.jvm.Fir2IrJvmSpecialAnnotationSymbolProvider
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||||
import org.jetbrains.kotlin.fir.descriptors.FirModuleDescriptor
|
import org.jetbrains.kotlin.fir.descriptors.FirModuleDescriptor
|
||||||
|
import org.jetbrains.kotlin.fir.pipeline.ModuleCompilerAnalyzedOutput
|
||||||
import org.jetbrains.kotlin.fir.serialization.FirKLibSerializerExtension
|
import org.jetbrains.kotlin.fir.serialization.FirKLibSerializerExtension
|
||||||
import org.jetbrains.kotlin.fir.serialization.serializeSingleFirFile
|
import org.jetbrains.kotlin.fir.serialization.serializeSingleFirFile
|
||||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||||
@@ -35,7 +35,6 @@ import org.jetbrains.kotlin.ir.backend.js.incrementalDataProvider
|
|||||||
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc
|
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc
|
||||||
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerIr
|
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerIr
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
|
||||||
import org.jetbrains.kotlin.ir.util.KotlinMangler
|
import org.jetbrains.kotlin.ir.util.KotlinMangler
|
||||||
import org.jetbrains.kotlin.library.metadata.resolver.KotlinResolvedLibrary
|
import org.jetbrains.kotlin.library.metadata.resolver.KotlinResolvedLibrary
|
||||||
import org.jetbrains.kotlin.library.unresolvedDependencies
|
import org.jetbrains.kotlin.library.unresolvedDependencies
|
||||||
@@ -178,16 +177,15 @@ fun AbstractFirAnalyzerFacade.convertToWasmIr(
|
|||||||
.putIfAbsent(CommonConfigurationKeys.EVALUATED_CONST_TRACKER, EvaluatedConstTracker.create()),
|
.putIfAbsent(CommonConfigurationKeys.EVALUATED_CONST_TRACKER, EvaluatedConstTracker.create()),
|
||||||
inlineConstTracker = null,
|
inlineConstTracker = null,
|
||||||
)
|
)
|
||||||
return Fir2IrConverter.createModuleFragmentWithSignaturesIfNeeded(
|
|
||||||
session, scopeSession, firFiles.toList(),
|
return ModuleCompilerAnalyzedOutput(this.session, this.scopeSession, firFiles.toList()).convertToIr(
|
||||||
fir2IrExtensions,
|
fir2IrExtensions,
|
||||||
fir2IrConfiguration,
|
fir2IrConfiguration,
|
||||||
irMangler, IrFactoryImpl,
|
commonMemberStorage,
|
||||||
|
irBuiltIns,
|
||||||
|
irMangler,
|
||||||
Fir2IrVisibilityConverter.Default,
|
Fir2IrVisibilityConverter.Default,
|
||||||
Fir2IrJvmSpecialAnnotationSymbolProvider(), // TODO: replace with appropriate (probably empty) implementation
|
builtIns ?: DefaultBuiltIns.Instance // TODO: consider passing externally,
|
||||||
kotlinBuiltIns = builtIns ?: DefaultBuiltIns.Instance, // TODO: consider passing externally,
|
|
||||||
commonMemberStorage = commonMemberStorage,
|
|
||||||
initializedIrBuiltIns = irBuiltIns
|
|
||||||
).also {
|
).also {
|
||||||
(it.irModuleFragment.descriptor as? FirModuleDescriptor)?.let { it.allDependencyModules = dependencies }
|
(it.irModuleFragment.descriptor as? FirModuleDescriptor)?.let { it.allDependencyModules = dependencies }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,17 +12,16 @@ import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory
|
|||||||
import org.jetbrains.kotlin.diagnostics.KtDiagnostic
|
import org.jetbrains.kotlin.diagnostics.KtDiagnostic
|
||||||
import org.jetbrains.kotlin.fir.analysis.collectors.FirDiagnosticsCollector
|
import org.jetbrains.kotlin.fir.analysis.collectors.FirDiagnosticsCollector
|
||||||
import org.jetbrains.kotlin.fir.backend.*
|
import org.jetbrains.kotlin.fir.backend.*
|
||||||
import org.jetbrains.kotlin.fir.backend.jvm.Fir2IrJvmSpecialAnnotationSymbolProvider
|
|
||||||
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmVisibilityConverter
|
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmVisibilityConverter
|
||||||
import org.jetbrains.kotlin.fir.builder.PsiRawFirBuilder
|
import org.jetbrains.kotlin.fir.builder.PsiRawFirBuilder
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||||
import org.jetbrains.kotlin.fir.lightTree.LightTree2Fir
|
import org.jetbrains.kotlin.fir.lightTree.LightTree2Fir
|
||||||
|
import org.jetbrains.kotlin.fir.pipeline.ModuleCompilerAnalyzedOutput
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.firProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.firProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirProviderImpl
|
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirProviderImpl
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveProcessor
|
import org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveProcessor
|
||||||
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrMangler
|
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrMangler
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.sourceFiles.LightTreeFile
|
import org.jetbrains.kotlin.sourceFiles.LightTreeFile
|
||||||
import org.jetbrains.kotlin.test.FirParser
|
import org.jetbrains.kotlin.test.FirParser
|
||||||
@@ -112,16 +111,14 @@ class FirAnalyzerFacade(
|
|||||||
): Fir2IrResult {
|
): Fir2IrResult {
|
||||||
if (_scopeSession == null) runResolution()
|
if (_scopeSession == null) runResolution()
|
||||||
|
|
||||||
return Fir2IrConverter.createModuleFragmentWithSignaturesIfNeeded(
|
return ModuleCompilerAnalyzedOutput(this.session, this.scopeSession, firFiles!!.toList()).convertToIr(
|
||||||
session, _scopeSession!!, firFiles!!,
|
|
||||||
fir2IrExtensions,
|
fir2IrExtensions,
|
||||||
fir2IrConfiguration,
|
fir2IrConfiguration,
|
||||||
JvmIrMangler, IrFactoryImpl,
|
commonMemberStorage,
|
||||||
|
irBuiltIns,
|
||||||
|
JvmIrMangler,
|
||||||
FirJvmVisibilityConverter,
|
FirJvmVisibilityConverter,
|
||||||
Fir2IrJvmSpecialAnnotationSymbolProvider(),
|
DefaultBuiltIns.Instance
|
||||||
kotlinBuiltIns = DefaultBuiltIns.Instance, // TODO: consider passing externally,
|
|
||||||
commonMemberStorage = commonMemberStorage,
|
|
||||||
initializedIrBuiltIns = irBuiltIns
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user