FIR IDE: do not resolve symbols by transitive module dependencies

This commit is contained in:
Ilya Kirillov
2020-09-12 12:38:16 +03:00
parent 01875635db
commit f1c808384e
33 changed files with 355 additions and 312 deletions
@@ -43,7 +43,7 @@ fun FirSession.registerCommonComponents() {
* Resolve components which are same on all platforms
*/
@OptIn(SessionConfiguration::class)
fun FirModuleBasedSession.registerResolveComponents() {
fun FirSession.registerResolveComponents() {
register(FirQualifierResolver::class, FirQualifierResolverImpl(this))
register(FirTypeResolver::class, FirTypeResolverImpl(this))
register(CheckersComponent::class, CheckersComponent())
@@ -53,7 +53,7 @@ fun FirModuleBasedSession.registerResolveComponents() {
* Resolve components which have specific implementations on JVM
*/
@OptIn(SessionConfiguration::class)
fun FirModuleBasedSession.registerJavaSpecificResolveComponents() {
fun FirSession.registerJavaSpecificResolveComponents() {
register(FirVisibilityChecker::class, FirJavaVisibilityChecker)
register(ConeCallConflictResolverFactory::class, JvmCallConflictResolverFactory)
register(FirEffectiveVisibilityResolver::class, FirJvmEffectiveVisibilityResolver(this))
@@ -35,7 +35,7 @@ import org.jetbrains.kotlin.load.kotlin.VirtualFileFinderFactory
@OptIn(PrivateSessionConstructor::class, SessionConfiguration::class)
object FirSessionFactory {
class FirSessionConfigurator(private val session: FirModuleBasedSession) {
class FirSessionConfigurator(private val session: FirSession) {
private val registeredExtensions = mutableListOf<BunchOfRegisteredExtensions>(BunchOfRegisteredExtensions.empty())
fun registerExtensions(extensions: BunchOfRegisteredExtensions) {
@@ -30,7 +30,7 @@ abstract class FirSession @PrivateSessionConstructor constructor(val sessionProv
open val moduleInfo: ModuleInfo? get() = null
val builtinTypes: BuiltinTypes = BuiltinTypes()
open val builtinTypes: BuiltinTypes = BuiltinTypes()
final override val typeRegistry: TypeRegistry<FirSessionComponent, FirSessionComponent> = Companion