FIR: provide nested classes and objects via declared member scope
This commit is contained in:
committed by
Mikhail Glukhikh
parent
ee73d21d32
commit
d22eab680e
+10
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.scopes.impl
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
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.FirScope
|
||||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction.NEXT
|
import org.jetbrains.kotlin.fir.scopes.ProcessorAction.NEXT
|
||||||
@@ -55,4 +56,13 @@ class FirClassDeclaredMemberScope(
|
|||||||
}
|
}
|
||||||
return NEXT
|
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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user