From 1dfdc5e3f9be4f8ef094d263680d5ba555e5e55f Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Fri, 16 Feb 2018 10:02:16 +0700 Subject: [PATCH] ExtractWhileLoopConditionToIfStatementIntention: disable for "true" literal only Review ID: IDEA-CR-28930 --- .../ExtractWhileLoopConditionToIfStatementIntention.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/IntentionPowerPak/src/com/siyeh/ipp/whileloop/ExtractWhileLoopConditionToIfStatementIntention.java b/plugins/IntentionPowerPak/src/com/siyeh/ipp/whileloop/ExtractWhileLoopConditionToIfStatementIntention.java index 5ce9338fcd48..c07354ef5373 100644 --- a/plugins/IntentionPowerPak/src/com/siyeh/ipp/whileloop/ExtractWhileLoopConditionToIfStatementIntention.java +++ b/plugins/IntentionPowerPak/src/com/siyeh/ipp/whileloop/ExtractWhileLoopConditionToIfStatementIntention.java @@ -19,6 +19,7 @@ import com.intellij.codeInsight.BlockUtils; import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.psi.codeStyle.CodeStyleManager; +import com.intellij.psi.util.PsiUtil; import com.siyeh.ig.psiutils.BoolUtils; import com.siyeh.ig.psiutils.ExpressionUtils; import com.siyeh.ipp.base.Intention; @@ -32,7 +33,8 @@ public class ExtractWhileLoopConditionToIfStatementIntention extends Intention { protected PsiElementPredicate getElementPredicate() { WhileLoopPredicate predicate = new WhileLoopPredicate(); return e -> predicate.satisfiedBy(e) && - !(ExpressionUtils.computeConstantExpression(((PsiWhileStatement)e.getParent()).getCondition()) instanceof Boolean); + !(ExpressionUtils + .isLiteral(PsiUtil.skipParenthesizedExprDown(((PsiWhileStatement)e.getParent()).getCondition()), Boolean.TRUE)); } @Override