[Analysis API] Minor, move out fallback computation for designation path

This commit is contained in:
Yan Zhulanow
2024-01-11 20:40:50 +09:00
committed by Space Team
parent 5d7f54500f
commit 2c4fbb1eb1
@@ -140,13 +140,16 @@ private fun collectDesignationPathWithContainingClass(target: FirDeclaration, co
val firFile = target.getContainingFile() val firFile = target.getContainingFile()
if (firFile != null && firFile.packageFqName == containingClassId.packageFqName) { if (firFile != null && firFile.packageFqName == containingClassId.packageFqName) {
// We should do fallback to the heavy implementation if something goes wrong. val designationPath = collectDesignationPathWithContainingClassByFirFile(firFile, containingClassId, target)
// For example, we can't be able to find an on-air declaration by this way if (designationPath != null) {
collectDesignationPathWithContainingClassByFirFile(firFile, containingClassId, target)?.let { return designationPath
return it
} }
} }
return collectDesignationPathWithContainingClassFallback(target, containingClassId)
}
private fun collectDesignationPathWithContainingClassFallback(target: FirDeclaration, containingClassId: ClassId): List<FirRegularClass>? {
val useSiteSession = getTargetSession(target) val useSiteSession = getTargetSession(target)
fun resolveChunk(classId: ClassId): FirRegularClass { fun resolveChunk(classId: ClassId): FirRegularClass {