FIR resolve: add nested companion scope #KT-24095 Fixed

This commit is contained in:
Mikhail Glukhikh
2018-04-10 14:07:30 +03:00
parent 98abe08056
commit 82ae3f8f10
4 changed files with 52 additions and 0 deletions
@@ -70,6 +70,12 @@ open class FirTypeResolveTransformer : FirTransformer<Nothing?>() {
resolveSuperTypesAndExpansions(klass)
scope.scopes += FirNestedClassifierScope(classId, klass.session)
val companionObjects = klass.declarations.filterIsInstance<FirClass>().filter { it.isCompanion }
for (companionObject in companionObjects) {
val companionId = ClassId(packageFqName, classLikeName.child(companionObject.name), false)
scope.scopes += FirNestedClassifierScope(companionId, klass.session)
}
val superTypeScopes = lookupSuperTypes(klass).map { FirNestedClassifierScope(it, klass.session) }
scope.scopes.addAll(superTypeScopes)
val result = super.transformClass(klass, data)