FirDefaultStarImportingScope: improve measurements

This commit is contained in:
Mikhail Glukhikh
2020-12-28 20:06:17 +03:00
parent 33037fd885
commit fd99f2b2cf
2 changed files with 20 additions and 2 deletions
@@ -86,14 +86,14 @@ abstract class FirAbstractImportingScope(
processor: (FirCallableSymbol<*>) -> Unit processor: (FirCallableSymbol<*>) -> Unit
) )
final override fun processFunctionsByName(name: Name, processor: (FirNamedFunctionSymbol) -> Unit) { override fun processFunctionsByName(name: Name, processor: (FirNamedFunctionSymbol) -> Unit) {
return processCallables( return processCallables(
name, name,
TowerScopeLevel.Token.Functions TowerScopeLevel.Token.Functions
) { if (it is FirNamedFunctionSymbol) processor(it) } ) { if (it is FirNamedFunctionSymbol) processor(it) }
} }
final override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) { override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
return processCallables( return processCallables(
name, name,
TowerScopeLevel.Token.Properties TowerScopeLevel.Token.Properties
@@ -10,6 +10,10 @@ import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.builder.buildImport import org.jetbrains.kotlin.fir.declarations.builder.buildImport
import org.jetbrains.kotlin.fir.declarations.builder.buildResolvedImport import org.jetbrains.kotlin.fir.declarations.builder.buildResolvedImport
import org.jetbrains.kotlin.fir.resolve.ScopeSession import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.fir.resolve.calls.tower.TowerScopeLevel
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
import org.jetbrains.kotlin.name.Name
class FirDefaultStarImportingScope( class FirDefaultStarImportingScope(
session: FirSession, session: FirSession,
@@ -33,4 +37,18 @@ class FirDefaultStarImportingScope(
} }
} ?: emptyList() } ?: emptyList()
} }
override fun processFunctionsByName(name: Name, processor: (FirNamedFunctionSymbol) -> Unit) {
processCallables(
name,
TowerScopeLevel.Token.Functions
) { if (it is FirNamedFunctionSymbol) processor(it) }
}
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
processCallables(
name,
TowerScopeLevel.Token.Properties
) { if (it is FirVariableSymbol<*>) processor(it) }
}
} }