|
1 | 1 | package mindustrytool.workflow.expressions; |
2 | 2 |
|
3 | | -import java.util.ArrayDeque; |
4 | 3 | import java.util.Arrays; |
5 | 4 | import java.util.HashMap; |
6 | 5 | import java.util.LinkedList; |
7 | 6 | import java.util.List; |
8 | 7 | import java.util.Map; |
9 | 8 | import java.util.Queue; |
10 | | -import java.util.Deque; |
| 9 | +import java.util.Stack; |
11 | 10 | import java.util.function.BiFunction; |
12 | 11 | import java.util.function.Function; |
13 | 12 | import java.util.regex.Matcher; |
@@ -106,8 +105,8 @@ public void register(String name, String sign, Function<Double, Object> function |
106 | 105 | UNARY_OPERATORS.put(sign, new UnaryOperator(name, sign, function)); |
107 | 106 | } |
108 | 107 |
|
109 | | - private Queue<String> toExpressionQueue(String expr, Map<String, Object> variables) { |
110 | | - Deque<String> ops = new ArrayDeque<>(); |
| 108 | + private Queue<String> toExpressionQueue(String expr) { |
| 109 | + Stack<String> ops = new Stack<>(); |
111 | 110 | Queue<String> output = new LinkedList<>(); |
112 | 111 |
|
113 | 112 | Matcher matcher = TOKEN_PATTERN.matcher(expr); |
@@ -159,8 +158,8 @@ public Double evaluateAsDouble(String expr, Map<String, Object> variables) { |
159 | 158 |
|
160 | 159 | public <T> T evaluate(Class<T> type, String expr, Map<String, Object> variables) { |
161 | 160 | Map<String, Object> vars = new HashMap<>(); |
162 | | - Queue<String> rpn = toExpressionQueue(expr, variables); |
163 | | - Deque<Object> stack = new ArrayDeque<>(); |
| 161 | + Queue<String> rpn = toExpressionQueue(expr); |
| 162 | + Stack<Object> stack = new Stack<>(); |
164 | 163 |
|
165 | 164 | if (rpn.isEmpty()) { |
166 | 165 | throw new WorkflowError("Empty stack, expression: " + expr); |
|
0 commit comments