FIR nested classifier scope building: optimize companion search

This commit is contained in:
Mikhail Glukhikh
2019-11-07 18:20:42 +03:00
parent 48938a20a7
commit 411dc5d60e
2 changed files with 4 additions and 4 deletions
@@ -41,8 +41,8 @@ abstract class FirAbstractTreeTransformerWithSuperTypes(
nestedClassifierScope(it.lookupTag.classId, session)
}
regularClass.addTypeParametersScope()
val companionObjects = regularClass.declarations.filterIsInstance<FirRegularClass>().filter { it.isCompanion }
for (companionObject in companionObjects) {
val companionObject = regularClass.companionObject
if (companionObject != null) {
towerScope.scopes += nestedClassifierScope(companionObject)
}
towerScope.scopes += nestedClassifierScope(regularClass)
@@ -231,8 +231,8 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer)
if (regularClass.symbol.classId.isLocal) {
prepareLocalClassForBodyResolve(regularClass)
}
val companionObjects = regularClass.declarations.filterIsInstance<FirRegularClass>().filter { it.isCompanion }
for (companionObject in companionObjects) {
val companionObject = regularClass.companionObject
if (companionObject != null) {
topLevelScopes += nestedClassifierScope(companionObject)
}
topLevelScopes += nestedClassifierScope(regularClass)