diff --git a/java/java-impl/src/com/intellij/codeInspection/OptionalIsPresentInspection.java b/java/java-impl/src/com/intellij/codeInspection/OptionalIsPresentInspection.java index 66fc2cc5d582..e16cbdbf50a6 100644 --- a/java/java-impl/src/com/intellij/codeInspection/OptionalIsPresentInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/OptionalIsPresentInspection.java @@ -139,7 +139,7 @@ public class OptionalIsPresentInspection extends AbstractBaseJavaLocalInspection PsiMethodCallExpression call = ObjectUtils.tryCast(expression, PsiMethodCallExpression.class); if (!OPTIONAL_IS_PRESENT.matches(call)) return null; PsiReferenceExpression qualifier = - ObjectUtils.tryCast(call.getMethodExpression().getQualifierExpression(), PsiReferenceExpression.class); + ObjectUtils.tryCast(PsiUtil.skipParenthesizedExprDown(call.getMethodExpression().getQualifierExpression()), PsiReferenceExpression.class); if (qualifier == null) return null; PsiElement element = qualifier.resolve(); if (!(element instanceof PsiVariable) || isRaw((PsiVariable)element)) return null; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/beforeReturn.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/beforeReturn.java index 1a0f428b7f88..59e16e0dd667 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/beforeReturn.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/optionalIsPresent/beforeReturn.java @@ -4,7 +4,7 @@ import java.util.*; public class Main { public String testOptional(Optional str) { - if (str.isPresent()) { + if ((str).isPresent()) { return str.get().trim(); } return "";