[LL FIR] refactoring, reuse the same function for registering JS FIR session components as in the compiler

So, if a new component is registered in the compiler, it's not forgotten for the LL FIR
This commit is contained in:
Ilya Kirillov
2024-01-15 11:37:41 +01:00
committed by Space Team
parent 6b409d87f5
commit f203d2d731
2 changed files with 14 additions and 23 deletions
@@ -105,8 +105,13 @@ object FirJsSessionFactory : FirAbstractSessionFactory() {
}
)
@OptIn(SessionConfiguration::class)
private fun FirSession.registerJsComponents(compilerConfiguration: CompilerConfiguration) {
val moduleKind = compilerConfiguration.get(JSConfigurationKeys.MODULE_KIND, ModuleKind.PLAIN)
registerJsComponents(moduleKind)
}
@OptIn(SessionConfiguration::class)
fun FirSession.registerJsComponents(moduleKind: ModuleKind?) {
register(ConeCallConflictResolverFactory::class, JsCallConflictResolverFactory)
register(
FirTypeSpecificityComparatorProvider::class,
@@ -114,7 +119,8 @@ object FirJsSessionFactory : FirAbstractSessionFactory() {
)
register(FirPlatformDiagnosticSuppressor::class, FirJsPlatformDiagnosticSuppressor())
val moduleKind = compilerConfiguration.get(JSConfigurationKeys.MODULE_KIND, ModuleKind.PLAIN)
register(FirJsModuleKind::class, FirJsModuleKind(moduleKind))
if (moduleKind != null) {
register(FirJsModuleKind::class, FirJsModuleKind(moduleKind))
}
}
}