Cache FirSelfImportingScope and callables inside

This commit is contained in:
Mikhail Glukhikh
2019-10-22 11:59:59 +03:00
parent f136813059
commit 374c3b4561
7 changed files with 32 additions and 14 deletions
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.fir.resolve.FirProvider
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDesignatedBodyResolveTransformer
import org.jetbrains.kotlin.fir.resolve.transformers.runResolve
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.scopes.impl.FirSelfImportingScope
import org.jetbrains.kotlin.fir.scopes.impl.selfImportingScope
import org.jetbrains.kotlin.fir.symbols.CallableId
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
import org.jetbrains.kotlin.fir.types.FirErrorTypeRef
@@ -39,7 +39,7 @@ private fun FirFile.findCallableMember(
packageFqName: FqName, klassFqName: FqName?, declName: Name
): FirCallableDeclaration<*> {
val memberScope =
if (klassFqName == null) FirSelfImportingScope(this.packageFqName, session)
if (klassFqName == null) selfImportingScope(this.packageFqName, session)
else provider.getClassDeclaredMemberScope(ClassId(packageFqName, klassFqName, false))!!
var result: FirCallableDeclaration<*>? = null
val processor = { symbol: FirCallableSymbol<*> ->