ComparatorCombinatorsInspection: fix chain extraction for incomplete code

This commit is contained in:
Tagir Valeev
2017-12-05 17:09:20 +07:00
parent 4577f8edb4
commit 1f6fd39289
2 changed files with 11 additions and 1 deletions
@@ -0,0 +1,9 @@
// "Replace with Comparator chain" "false"
import java.util.*;
public class Main {
Comparator<String> cmp = (a, b) -> <caret>{
int res = a.substring(1).compareTo()
}
}
@@ -15,6 +15,7 @@ import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiTypesUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.util.ArrayUtil;
import com.siyeh.ig.psiutils.*;
import one.util.streamex.StreamEx;
import org.jetbrains.annotations.Contract;
@@ -276,7 +277,7 @@ public class ComparatorCombinatorsInspection extends AbstractBaseJavaLocalInspec
second = parameters[1];
} else if (MethodCallUtils.isCompareToCall(call)) {
first = call.getMethodExpression().getQualifierExpression();
second = call.getArgumentList().getExpressions()[0];
second = ArrayUtil.getFirstElement(call.getArgumentList().getExpressions());
}
}
else if (expr instanceof PsiBinaryExpression) {