[FIR] Rewrite algorithm of generating declarations by plugins
Before there was separate global stage which asks extensions to generate new declarations. Now it is changed to provider like requests, so extensions will decide do they have declarations with specific classId/callableId or not
This commit is contained in:
committed by
TeamCityServer
parent
760943f0e1
commit
15abd839ed
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.fir.checkers.registerJvmCheckers
|
||||
import org.jetbrains.kotlin.fir.deserialization.ModuleDataProvider
|
||||
import org.jetbrains.kotlin.fir.deserialization.SingleModuleDataProvider
|
||||
import org.jetbrains.kotlin.fir.extensions.BunchOfRegisteredExtensions
|
||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionDeclarationsSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.extensions.extensionService
|
||||
import org.jetbrains.kotlin.fir.extensions.registerExtensions
|
||||
import org.jetbrains.kotlin.fir.java.FirCliSession
|
||||
@@ -157,6 +158,12 @@ object FirSessionFactory {
|
||||
)
|
||||
}
|
||||
|
||||
FirSessionConfigurator(this).apply {
|
||||
registerCommonCheckers()
|
||||
registerJvmCheckers()
|
||||
init()
|
||||
}.configure()
|
||||
|
||||
val dependenciesSymbolProvider = FirDependenciesSymbolProviderImpl(this)
|
||||
register(
|
||||
FirSymbolProvider::class,
|
||||
@@ -165,6 +172,7 @@ object FirSessionFactory {
|
||||
listOfNotNull(
|
||||
firProvider.symbolProvider,
|
||||
symbolProviderForBinariesFromIncrementalCompilation,
|
||||
FirExtensionDeclarationsSymbolProvider.create(this),
|
||||
JavaSymbolProvider(this, projectEnvironment.getFirJavaFacade(this, moduleData, scope)),
|
||||
dependenciesSymbolProvider,
|
||||
)
|
||||
@@ -177,11 +185,6 @@ object FirSessionFactory {
|
||||
)
|
||||
|
||||
FirJvmDefaultErrorMessages.installJvmErrorMessages()
|
||||
FirSessionConfigurator(this).apply {
|
||||
registerCommonCheckers()
|
||||
registerJvmCheckers()
|
||||
init()
|
||||
}.configure()
|
||||
projectEnvironment.registerAsJavaElementFinder(this)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user