mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
ParenthesesUtils: TypeConversionUtil.convertEQtoOperation used
This commit is contained in:
+4
-19
@@ -18,6 +18,7 @@ package com.siyeh.ig.psiutils;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.TypeConversionUtil;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -27,8 +28,6 @@ import java.util.Map;
|
||||
|
||||
public class ParenthesesUtils {
|
||||
|
||||
private static final Map<IElementType, IElementType> tokenMap = new HashMap<>();
|
||||
|
||||
private ParenthesesUtils() {}
|
||||
|
||||
public static final int PARENTHESIZED_PRECEDENCE = 0;
|
||||
@@ -54,20 +53,6 @@ public class ParenthesesUtils {
|
||||
private static final Map<IElementType, Integer> s_binaryOperatorPrecedence = new HashMap<>(NUM_PRECEDENCES);
|
||||
|
||||
|
||||
static {
|
||||
tokenMap.put(JavaTokenType.PLUSEQ, JavaTokenType.PLUS);
|
||||
tokenMap.put(JavaTokenType.MINUSEQ, JavaTokenType.MINUS);
|
||||
tokenMap.put(JavaTokenType.ASTERISKEQ, JavaTokenType.ASTERISK);
|
||||
tokenMap.put(JavaTokenType.DIVEQ, JavaTokenType.DIV);
|
||||
tokenMap.put(JavaTokenType.ANDEQ, JavaTokenType.AND);
|
||||
tokenMap.put(JavaTokenType.OREQ, JavaTokenType.OR);
|
||||
tokenMap.put(JavaTokenType.XOREQ, JavaTokenType.XOR);
|
||||
tokenMap.put(JavaTokenType.PERCEQ, JavaTokenType.PERC);
|
||||
tokenMap.put(JavaTokenType.LTLTEQ, JavaTokenType.LTLT);
|
||||
tokenMap.put(JavaTokenType.GTGTEQ, JavaTokenType.GTGT);
|
||||
tokenMap.put(JavaTokenType.GTGTGTEQ, JavaTokenType.GTGTGT);
|
||||
}
|
||||
|
||||
static {
|
||||
s_binaryOperatorPrecedence.put(JavaTokenType.PLUS, ADDITIVE_PRECEDENCE);
|
||||
s_binaryOperatorPrecedence.put(JavaTokenType.MINUS, ADDITIVE_PRECEDENCE);
|
||||
@@ -555,12 +540,12 @@ public class ParenthesesUtils {
|
||||
return parentPrecedence < childPrecedence;
|
||||
}
|
||||
|
||||
public static boolean areParenthesesNeeded(PsiJavaToken sign, PsiExpression rhs) {
|
||||
public static boolean areParenthesesNeeded(PsiJavaToken compoundAssignmentToken, PsiExpression rhs) {
|
||||
if (rhs instanceof PsiPolyadicExpression) {
|
||||
final PsiPolyadicExpression binaryExpression = (PsiPolyadicExpression)rhs;
|
||||
final int precedence1 = getPrecedenceForOperator(binaryExpression.getOperationTokenType());
|
||||
final IElementType signTokenType = sign.getTokenType();
|
||||
final IElementType newOperatorToken = tokenMap.get(signTokenType);
|
||||
final IElementType signTokenType = compoundAssignmentToken.getTokenType();
|
||||
final IElementType newOperatorToken = TypeConversionUtil.convertEQtoOperation(signTokenType);
|
||||
final int precedence2 = getPrecedenceForOperator(newOperatorToken);
|
||||
return precedence1 >= precedence2 || !isCommutativeOperator(newOperatorToken);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user