[FIR] Record generated classes in FirProvider

This commit is contained in:
Dmitriy Novozhilov
2020-05-29 11:04:32 +03:00
parent ed55e84afa
commit 1b120c189e
4 changed files with 67 additions and 38 deletions
@@ -12,8 +12,10 @@ import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.builder.RawFirBuilder
import org.jetbrains.kotlin.fir.declarations.FirClassLikeDeclaration
import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
import org.jetbrains.kotlin.fir.psi
import org.jetbrains.kotlin.fir.resolve.providers.FirProvider
import org.jetbrains.kotlin.fir.resolve.providers.FirProviderInternals
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirProviderImpl
import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.KotlinScopeProvider
@@ -149,6 +151,12 @@ class FirIdeProvider(
getFirClassifierByFqName(classId)
return cacheProvider.getNestedClassifierScope(classId)
}
@FirProviderInternals
override fun recordNestedClass(owner: FirRegularClass, klass: FirRegularClass) {
// TODO: check that this implementation is correct
cacheProvider.recordNestedClass(owner, klass)
}
}
val FirSession.firIdeProvider: FirIdeProvider by FirSession.sessionComponentAccessor()