From e1de5d4e3f10492e15a2ac3ef173c2b44375a8dd Mon Sep 17 00:00:00 2001 From: "sergey.vasiliev" Date: Mon, 5 Nov 2018 14:45:18 +0100 Subject: [PATCH] Spring Security: role -> PomTarget + massive bug fixing --- .../dataFlow/StringExpressionHelper.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/StringExpressionHelper.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/StringExpressionHelper.java index 5ffd85558d76..2177ee2e8f24 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/StringExpressionHelper.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/StringExpressionHelper.java @@ -150,8 +150,10 @@ public class StringExpressionHelper { @NotNull SearchScope searchScope, int expNum) { Set> pairs = new java.util.HashSet<>(); - for (PsiMethodCallExpression methodCallExpression : searchMethodCalls(psiMethod, searchScope)) { - final PsiExpression[] expressions = methodCallExpression.getArgumentList().getExpressions(); + for (PsiCall methodCallExpression : searchMethodCalls(psiMethod, searchScope)) { + PsiExpressionList argumentList = methodCallExpression.getArgumentList(); + if (argumentList == null) continue; + final PsiExpression[] expressions = argumentList.getExpressions(); if (expressions.length > expNum) { final PsiExpression expression = expressions[expNum]; Pair pair = evaluateExpression(expression); @@ -165,15 +167,14 @@ public class StringExpressionHelper { } @NotNull - public static Set searchMethodCalls(@NotNull final PsiMethod psiMethod, @NotNull SearchScope searchScope) { - final Set callExpressions = new java.util.HashSet<>(); + public static Set searchMethodCalls(@NotNull final PsiMethod psiMethod, @NotNull SearchScope searchScope) { + final Set callExpressions = new java.util.HashSet<>(); final CommonProcessors.CollectUniquesProcessor consumer = new CommonProcessors.CollectUniquesProcessor<>(); MethodReferencesSearch.search(psiMethod, searchScope, true).forEach(consumer); for (PsiReference psiReference : consumer.getResults()) { - final PsiMethodCallExpression methodCallExpression = - PsiTreeUtil.getParentOfType(psiReference.getElement(), PsiMethodCallExpression.class); + final PsiCall methodCallExpression = PsiTreeUtil.getParentOfType(psiReference.getElement(), PsiCall.class); if (methodCallExpression != null) { callExpressions.add(methodCallExpression);