Analysis API FIR/FE1.0: fix backing field rendering & resolving

This commit is contained in:
Ilya Kirillov
2021-11-30 13:06:08 +01:00
parent 0a5bbc0096
commit aef52323a8
9 changed files with 82 additions and 37 deletions
@@ -237,30 +237,45 @@ internal class FirLazyDeclarationResolver(private val firFileBuilder: FirFileBui
return firDeclarationToResolve
}
}
if (firDeclarationToResolve is FirSyntheticPropertyAccessor) {
lazyResolveDeclaration(
firDeclarationToResolve.delegate,
moduleFileCache,
scopeSession,
toPhase,
checkPCE,
skipLocalDeclaration
)
return firDeclarationToResolve
when (firDeclarationToResolve) {
is FirSyntheticPropertyAccessor -> {
lazyResolveDeclaration(
firDeclarationToResolve.delegate,
moduleFileCache,
scopeSession,
toPhase,
checkPCE,
skipLocalDeclaration
)
return firDeclarationToResolve
}
is FirBackingField -> {
lazyResolveDeclaration(
firDeclarationToResolve.propertySymbol.fir,
moduleFileCache,
scopeSession,
toPhase,
checkPCE,
skipLocalDeclaration
)
}
is FirFile -> {
lazyResolveFileDeclaration(
firFile = firDeclarationToResolve,
moduleFileCache = moduleFileCache,
toPhase = toPhase,
scopeSession = scopeSession,
checkPCE = checkPCE,
)
return firDeclarationToResolve
}
}
if (!firDeclarationToResolve.isValidForResolve()) return firDeclarationToResolve
if (firDeclarationToResolve.resolvePhase >= toPhase) return firDeclarationToResolve
if (firDeclarationToResolve is FirFile) {
lazyResolveFileDeclaration(
firFile = firDeclarationToResolve,
moduleFileCache = moduleFileCache,
toPhase = toPhase,
scopeSession = scopeSession,
checkPCE = checkPCE,
)
return firDeclarationToResolve
}
val requestedDeclarationDesignation = firDeclarationToResolve.tryCollectDesignationWithFile()