|
8 | 8 | import liquidjava.rj_language.ast.BinaryExpression; |
9 | 9 | import liquidjava.rj_language.ast.Expression; |
10 | 10 | import liquidjava.rj_language.ast.FunctionInvocation; |
11 | | -import liquidjava.rj_language.ast.GroupExpression; |
12 | 11 | import liquidjava.rj_language.ast.Ite; |
13 | 12 | import liquidjava.rj_language.ast.LiteralBoolean; |
14 | 13 | import liquidjava.rj_language.ast.LiteralChar; |
@@ -41,31 +40,23 @@ private String formatExpression(Expression expression) { |
41 | 40 | } |
42 | 41 |
|
43 | 42 | private String formatExpression(Expression expression, boolean shouldWrap) { |
44 | | - expression = unwrapGroup(expression); |
45 | 43 | if (shouldWrap) |
46 | 44 | return "(" + formatExpression(expression) + ")"; |
47 | 45 | return formatExpression(expression); |
48 | 46 | } |
49 | 47 |
|
50 | 48 | private String formatOperand(Expression parent, Expression child, boolean rightOperand) { |
51 | | - child = unwrapGroup(child); |
52 | 49 | return formatExpression(child, needsParentheses(parent, child, rightOperand)); |
53 | 50 | } |
54 | 51 |
|
55 | 52 | private String formatCondition(Expression child) { |
56 | | - return formatExpression(child, unwrapGroup(child) instanceof Ite); |
| 53 | + return formatExpression(child, child instanceof Ite); |
57 | 54 | } |
58 | 55 |
|
59 | 56 | private String formatArguments(List<Expression> args) { |
60 | 57 | return args.stream().map(expression -> formatExpression(expression, false)).collect(Collectors.joining(", ")); |
61 | 58 | } |
62 | 59 |
|
63 | | - private Expression unwrapGroup(Expression expression) { |
64 | | - while (expression instanceof GroupExpression group) |
65 | | - expression = group.getExpression(); |
66 | | - return expression; |
67 | | - } |
68 | | - |
69 | 60 | private boolean needsParentheses(Expression parent, Expression child, boolean rightOperand) { |
70 | 61 | ExpressionPrecedence parentPrecedence = ExpressionPrecedence.of(parent); |
71 | 62 | ExpressionPrecedence childPrecedence = ExpressionPrecedence.of(child); |
@@ -120,11 +111,6 @@ public String visitFunctionInvocation(FunctionInvocation fun) { |
120 | 111 | return Utils.getSimpleName(fun.getName()) + "(" + formatArguments(fun.getArgs()) + ")"; |
121 | 112 | } |
122 | 113 |
|
123 | | - @Override |
124 | | - public String visitGroupExpression(GroupExpression exp) { |
125 | | - return formatExpression(exp.getExpression()); |
126 | | - } |
127 | | - |
128 | 114 | @Override |
129 | 115 | public String visitIte(Ite ite) { |
130 | 116 | return formatCondition(ite.getCondition()) + " ? " + formatCondition(ite.getThen()) + " : " |
|
0 commit comments