From 5939a9e8477dfe29fc22b6bbbfa16e7924888bb8 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Thu, 17 Oct 2019 13:27:55 +0700 Subject: [PATCH] OptionalIsPresentInspection: support parentheses GitOrigin-RevId: a69adf66817d6e9e23f1777ddef64d8aec0d49c6 --- .../intellij/codeInspection/OptionalIsPresentInspection.java | 2 +- .../quickFix/optionalIsPresent/beforeReturn.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 "";