[Analysis API] Minor, move out fallback computation for designation path
This commit is contained in:
+7
-4
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user