diff options
Diffstat (limited to 'dice-lang/src/main/java/bjc/dicelang/ast/optimization')
| -rw-r--r-- | dice-lang/src/main/java/bjc/dicelang/ast/optimization/ConstantCollapser.java | 6 | ||||
| -rw-r--r-- | dice-lang/src/main/java/bjc/dicelang/ast/optimization/OperationCondenser.java | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/dice-lang/src/main/java/bjc/dicelang/ast/optimization/ConstantCollapser.java b/dice-lang/src/main/java/bjc/dicelang/ast/optimization/ConstantCollapser.java index e476d74..7b746ac 100644 --- a/dice-lang/src/main/java/bjc/dicelang/ast/optimization/ConstantCollapser.java +++ b/dice-lang/src/main/java/bjc/dicelang/ast/optimization/ConstantCollapser.java @@ -77,6 +77,12 @@ public class ConstantCollapser implements IOptimizationPass { } return new Tree<>(operator, children); + case ARRAY: + if (children.getSize() != 1) { + return new Tree<>(operator, children); + } + + return children.first(); case ASSIGN: case LET: default: diff --git a/dice-lang/src/main/java/bjc/dicelang/ast/optimization/OperationCondenser.java b/dice-lang/src/main/java/bjc/dicelang/ast/optimization/OperationCondenser.java index f41a3ef..3988d2a 100644 --- a/dice-lang/src/main/java/bjc/dicelang/ast/optimization/OperationCondenser.java +++ b/dice-lang/src/main/java/bjc/dicelang/ast/optimization/OperationCondenser.java @@ -51,6 +51,7 @@ public class OperationCondenser { case DIVIDE: case COMPOUND: return TopDownTransformResult.PUSHDOWN; + case ARRAY: case ASSIGN: case GROUP: case LET: |
