Commit 290154bf authored by Anton Bragin's avatar Anton Bragin
Browse files

PY-28560 [WIP] Resolve by reference resolve providers extracted

parent a55549dd
Showing with 9 additions and 4 deletions
+9 -4
......@@ -256,7 +256,12 @@ public class PyReferenceImpl implements PsiReferenceEx, PsiPolyVariantReference
final ScopeOwner roof = findResolveRoof(referencedName, realContext);
PyResolveUtil.scopeCrawlUp(processor, myElement, referencedName, roof);
return getResultsFromProcessor(referencedName, processor, realContext, roof);
final List<RatedResolveResult> resultsFromProcessor = getResultsFromProcessor(referencedName, processor, realContext, roof);
if (!resultsFromProcessor.isEmpty()) {
return resultsFromProcessor;
}
return resolveByReferenceResolveProviders();
}
protected final List<RatedResolveResult> getResultsFromProcessor(@NotNull String referencedName,
......@@ -326,19 +331,19 @@ public class PyReferenceImpl implements PsiReferenceEx, PsiPolyVariantReference
if (!unreachableLocalDeclaration) {
if (referenceOwner != null) {
ResolveResultList outerScopeResults = resolveInOuterScopes(referencedName, referenceOwner, resolveRoof, typeEvalContext);
final ResolveResultList outerScopeResults = resolveInOuterScopes(referencedName, referenceOwner, resolveRoof, typeEvalContext);
if (!outerScopeResults.isEmpty()) {
return outerScopeResults;
}
}
ResolveResultList localScopeResults = getLocalDeclarationResults(processor, realContext, typeEvalContext, referenceOwner);
final ResolveResultList localScopeResults = getLocalDeclarationResults(processor, realContext, typeEvalContext, referenceOwner);
if (!localScopeResults.isEmpty()) {
return localScopeResults;
}
}
return resolveByReferenceResolveProviders();
return Collections.emptyList();
}
@NotNull
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment