[Analysis API] add info about context receivers to the Analysis API

This commit is contained in:
Ilya Kirillov
2022-06-30 17:52:10 +02:00
parent 2f822ab4d9
commit 8f89f1b368
40 changed files with 481 additions and 16 deletions
@@ -31,6 +31,12 @@ abstract class FirCallableSymbol<D : FirCallableDeclaration> : FirBasedSymbol<D>
return fir.receiverTypeRef as FirResolvedTypeRef?
}
val resolvedContextReceivers: List<FirContextReceiver>
get() {
ensureResolved(FirResolvePhase.TYPES)
return fir.contextReceivers
}
val resolvedStatus: FirResolvedDeclarationStatus
get() {
ensureResolved(FirResolvePhase.STATUS)
@@ -76,6 +76,12 @@ sealed class FirClassSymbol<C : FirClass>(classId: ClassId) : FirClassLikeSymbol
class FirRegularClassSymbol(classId: ClassId) : FirClassSymbol<FirRegularClass>(classId) {
val companionObjectSymbol: FirRegularClassSymbol?
get() = fir.companionObjectSymbol
val resolvedContextReceivers: List<FirContextReceiver>
get() {
ensureResolved(FirResolvePhase.TYPES)
return fir.contextReceivers
}
}
val ANONYMOUS_CLASS_ID = ClassId(FqName.ROOT, FqName.topLevel(SpecialNames.ANONYMOUS), true)