From 79ab032b1b4126e191467a0788b51788c2853a9b Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Thu, 5 Jul 2018 17:36:25 +0700 Subject: [PATCH] ReturnSeparatedFromComputationInspection: support parentheses --- .../ReturnSeparatedFromComputationInspection.java | 4 ++-- .../returnSeparatedFromComputation/afterIfComment.java | 2 +- .../returnSeparatedFromComputation/beforeIfComment.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInspection/intermediaryVariable/ReturnSeparatedFromComputationInspection.java b/java/java-impl/src/com/intellij/codeInspection/intermediaryVariable/ReturnSeparatedFromComputationInspection.java index be8ae2009afe..58eece4b6915 100644 --- a/java/java-impl/src/com/intellij/codeInspection/intermediaryVariable/ReturnSeparatedFromComputationInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/intermediaryVariable/ReturnSeparatedFromComputationInspection.java @@ -60,7 +60,7 @@ public class ReturnSeparatedFromComputationInspection extends AbstractBaseJavaLo if (returnType != null) { PsiStatement refactoredStatement = getPrevNonEmptyStatement(returnStatement, null); if (refactoredStatement != null) { - final PsiExpression returnValue = returnStatement.getReturnValue(); + final PsiExpression returnValue = PsiUtil.skipParenthesizedExprDown(returnStatement.getReturnValue()); if (returnValue instanceof PsiReferenceExpression) { final PsiElement resolved = ((PsiReferenceExpression)returnValue).resolve(); if (resolved instanceof PsiVariable) { @@ -440,7 +440,7 @@ public class ReturnSeparatedFromComputationInspection extends AbstractBaseJavaLo return false; } PsiCodeBlock finallyBlock = targetStatement.getFinallyBlock(); - if (finallyBlock != null && isVariableUsed(flow, finallyBlock, resultVariable)) { + if (isVariableUsed(flow, finallyBlock, resultVariable)) { return false; } boolean allCatchesReturn = true; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/returnSeparatedFromComputation/afterIfComment.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/returnSeparatedFromComputation/afterIfComment.java index 7203522cb402..8500286c3b74 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/returnSeparatedFromComputation/afterIfComment.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/returnSeparatedFromComputation/afterIfComment.java @@ -15,6 +15,6 @@ class T { /* inline */ return "#"; // return comment } - return s; // return comment + return (s); // return comment } } \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/returnSeparatedFromComputation/beforeIfComment.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/returnSeparatedFromComputation/beforeIfComment.java index 6b183dff2603..32b5621f026a 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/returnSeparatedFromComputation/beforeIfComment.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/returnSeparatedFromComputation/beforeIfComment.java @@ -11,6 +11,6 @@ class T { else if (s.startsWith("#")) { s = "#"; /* inline */ } - return s; // return comment + return (s); // return comment } } \ No newline at end of file