FIR: provide nested classes and objects via declared member scope

This commit is contained in:
Simon Ogorodnik
2019-04-23 04:19:03 +03:00
committed by Mikhail Glukhikh
parent ee73d21d32
commit d22eab680e
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.scopes.impl
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
import org.jetbrains.kotlin.fir.scopes.FirPosition
import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.scopes.ProcessorAction.NEXT
@@ -55,4 +56,13 @@ class FirClassDeclaredMemberScope(
}
return NEXT
}
override fun processClassifiersByName(name: Name, position: FirPosition, processor: (ConeClassifierSymbol) -> Boolean): Boolean {
val matchedClass = classIndex[classId.createNestedClassId(name)]
if (matchedClass != null && !processor(matchedClass)) {
return false
}
return super.processClassifiersByName(name, position, processor)
}
}