Use safe resolveToDescriptorIfAny() when possible (related to EA-105681)
This commit is contained in:
+1
-1
@@ -159,7 +159,7 @@ object SourceNavigationHelper {
|
||||
}
|
||||
|
||||
for (candidate in candidates) {
|
||||
val candidateDescriptor = candidate.resolveToDescriptor() as CallableDescriptor
|
||||
val candidateDescriptor = candidate.resolveToDescriptorIfAny() as? CallableDescriptor ?: continue
|
||||
if (receiversMatch(declaration, candidateDescriptor)
|
||||
&& valueParametersTypesMatch(declaration, candidateDescriptor)
|
||||
&& typeParametersMatch(declaration as KtTypeParameterListOwner, candidateDescriptor.typeParameters)) {
|
||||
|
||||
+2
-2
@@ -27,7 +27,7 @@ import org.jetbrains.annotations.TestOnly
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
|
||||
@@ -81,7 +81,7 @@ class KotlinStructureViewElement(val element: NavigatablePsiElement,
|
||||
|
||||
return runReadAction {
|
||||
if (!DumbService.isDumb(element.getProject())) {
|
||||
return@runReadAction element.resolveToDescriptor()
|
||||
return@runReadAction element.resolveToDescriptorIfAny()
|
||||
}
|
||||
null
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user