FIR IDE: handle reference to package and outer classes

For a qualified name like `foo.bar.Outer.Inner`, FIR represents it as
one atomic FIR element. Hence, to properly resolve these names to the
corresponding package and class, we need some additional work.
This commit is contained in:
Tianyu Geng
2021-06-23 18:29:39 -07:00
committed by Ilya Kirillov
parent a537074e1e
commit 84f8d4d315
23 changed files with 332 additions and 58 deletions
@@ -116,6 +116,12 @@ fun FirRegularClassBuilder.addDeclarations(declarations: Collection<FirDeclarati
val FirTypeAlias.expandedConeType: ConeClassLikeType? get() = expandedTypeRef.coneTypeSafe()
val FirClassLikeDeclaration<*>.classId
get() = when (this) {
is FirClass<*> -> symbol.classId
is FirTypeAlias -> symbol.classId
}
val FirClass<*>.classId get() = symbol.classId
val FirClassSymbol<*>.superConeTypes