Avoid 'invoke' reference resolve because of references on the same range
When 'text' usages are being search, invoke reference in 'some(text)' is considered relevant.
This commit is contained in:
@@ -39,6 +39,7 @@ import org.jetbrains.kotlin.resolve.calls.model.isReallySuccess
|
|||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.isExtension
|
import org.jetbrains.kotlin.resolve.descriptorUtil.isExtension
|
||||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||||
import org.jetbrains.kotlin.types.expressions.OperatorConventions
|
import org.jetbrains.kotlin.types.expressions.OperatorConventions
|
||||||
|
import org.jetbrains.kotlin.util.OperatorNameConventions
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.constant
|
import org.jetbrains.kotlin.utils.addToStdlib.constant
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
||||||
@@ -78,6 +79,9 @@ fun PsiReference.matchesTarget(candidateTarget: PsiElement): Boolean {
|
|||||||
when (this) {
|
when (this) {
|
||||||
is KtInvokeFunctionReference -> {
|
is KtInvokeFunctionReference -> {
|
||||||
if (candidateTarget !is KtNamedFunction && candidateTarget !is PsiMethod) return false
|
if (candidateTarget !is KtNamedFunction && candidateTarget !is PsiMethod) return false
|
||||||
|
if ((candidateTarget as PsiNamedElement).name != OperatorNameConventions.INVOKE.asString()) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
is KtDestructuringDeclarationReference -> {
|
is KtDestructuringDeclarationReference -> {
|
||||||
if (candidateTarget !is KtNamedFunction && candidateTarget !is KtParameter && candidateTarget !is PsiMethod) return false
|
if (candidateTarget !is KtNamedFunction && candidateTarget !is KtParameter && candidateTarget !is PsiMethod) return false
|
||||||
|
|||||||
Reference in New Issue
Block a user