mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
IDEA-82925 ('Surround with cast' for conditional, polyadic and assignment expressions should parenthesize those expressions)
This commit is contained in:
+5
-4
@@ -25,9 +25,7 @@ import com.intellij.openapi.editor.RangeMarker;
|
||||
import com.intellij.openapi.editor.ScrollType;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.psi.PsiBinaryExpression;
|
||||
import com.intellij.psi.PsiExpression;
|
||||
import com.intellij.psi.PsiType;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.refactoring.introduceField.ElementToWorkOn;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
@@ -45,7 +43,10 @@ class JavaWithCastSurrounder extends JavaExpressionSurrounder {
|
||||
public TextRange surroundExpression(final Project project, final Editor editor, PsiExpression expr) throws IncorrectOperationException {
|
||||
assert expr.isValid();
|
||||
PsiType[] types = GuessManager.getInstance(project).guessTypeToCast(expr);
|
||||
String exprText = expr instanceof PsiBinaryExpression ? "(" + expr.getText() + ")" : expr.getText();
|
||||
final boolean parenthesesNeeded = expr instanceof PsiPolyadicExpression ||
|
||||
expr instanceof PsiConditionalExpression ||
|
||||
expr instanceof PsiAssignmentExpression;
|
||||
String exprText = parenthesesNeeded ? "(" + expr.getText() + ")" : expr.getText();
|
||||
final Template template = generateTemplate(project, exprText, types);
|
||||
TextRange range;
|
||||
if (expr.isPhysical()) {
|
||||
|
||||
Reference in New Issue
Block a user