ControlFlowUtil#findReferenceTo: minor performance improvements

GitOrigin-RevId: b08accca0aa26c6ca1a78ba0f204521422d74e4e
This commit is contained in:
Tagir Valeev
2019-07-17 07:54:26 +03:00
committed by intellij-monorepo-bot
parent 64a6e8eab1
commit 896feeaf7c
@@ -1213,11 +1213,10 @@ public class ControlFlowUtil {
private static PsiReferenceExpression findReferenceTo(@NotNull PsiElement element, @NotNull PsiVariable variable) {
if (element instanceof PsiReferenceExpression
&& ExpressionUtil.isEffectivelyUnqualified((PsiReferenceExpression)element)
&& ((PsiReferenceExpression)element).resolve() == variable) {
&& ((PsiReferenceExpression)element).isReferenceTo(variable)) {
return (PsiReferenceExpression)element;
}
final PsiElement[] children = element.getChildren();
for (PsiElement child : children) {
for (PsiElement child = element.getFirstChild(); child != null; child = child.getNextSibling()) {
final PsiReferenceExpression reference = findReferenceTo(child, variable);
if (reference != null) return reference;
}