summaryrefslogtreecommitdiff
path: root/dice-lang/src/bjc/dicelang/v1/ast/optimization/OperationCondenser.java
diff options
context:
space:
mode:
authorEVE <EVE@EVE-PC>2017-03-13 16:41:45 -0400
committerEVE <EVE@EVE-PC>2017-03-13 16:41:45 -0400
commit01136c6796e21f023713e026674576d8e623462d (patch)
treee77886fe0e0adaf3c0430fba9ce248ef83f74fe4 /dice-lang/src/bjc/dicelang/v1/ast/optimization/OperationCondenser.java
parent870d769cfc152171d27b2331a7c590d0b307ad48 (diff)
Formatting
Diffstat (limited to 'dice-lang/src/bjc/dicelang/v1/ast/optimization/OperationCondenser.java')
-rw-r--r--dice-lang/src/bjc/dicelang/v1/ast/optimization/OperationCondenser.java58
1 files changed, 26 insertions, 32 deletions
diff --git a/dice-lang/src/bjc/dicelang/v1/ast/optimization/OperationCondenser.java b/dice-lang/src/bjc/dicelang/v1/ast/optimization/OperationCondenser.java
index 4a34167..f00d390 100644
--- a/dice-lang/src/bjc/dicelang/v1/ast/optimization/OperationCondenser.java
+++ b/dice-lang/src/bjc/dicelang/v1/ast/optimization/OperationCondenser.java
@@ -20,18 +20,15 @@ public class OperationCondenser {
* Condense chained similiar operations into a single level
*
* @param ast
- * The AST to condense
+ * The AST to condense
* @return The condensed AST
*/
public static ITree<IDiceASTNode> condense(ITree<IDiceASTNode> ast) {
- return ast.topDownTransform(OperationCondenser::pickNode,
- OperationCondenser::doCondense);
+ return ast.topDownTransform(OperationCondenser::pickNode, OperationCondenser::doCondense);
}
- private static ITree<IDiceASTNode> doCondense(
- ITree<IDiceASTNode> ast) {
- OperatorDiceNode operation = ast
- .transformHead((node) -> (OperatorDiceNode) node);
+ private static ITree<IDiceASTNode> doCondense(ITree<IDiceASTNode> ast) {
+ OperatorDiceNode operation = ast.transformHead((node) -> (OperatorDiceNode) node);
IHolder<Boolean> canCondense = new Identity<>(true);
@@ -72,35 +69,32 @@ public class OperationCondenser {
private static TopDownTransformResult pickNode(IDiceASTNode node) {
switch (node.getType()) {
- case LITERAL:
- return TopDownTransformResult.SKIP;
- case OPERATOR:
- return pickOperator((OperatorDiceNode) node);
- case VARIABLE:
- return TopDownTransformResult.SKIP;
- default:
- throw new UnsupportedOperationException(
- "Attempted to traverse unknown node type " + node);
+ case LITERAL:
+ return TopDownTransformResult.SKIP;
+ case OPERATOR:
+ return pickOperator((OperatorDiceNode) node);
+ case VARIABLE:
+ return TopDownTransformResult.SKIP;
+ default:
+ throw new UnsupportedOperationException("Attempted to traverse unknown node type " + node);
}
}
- private static TopDownTransformResult pickOperator(
- OperatorDiceNode node) {
+ private static TopDownTransformResult pickOperator(OperatorDiceNode node) {
switch (node) {
- case ADD:
- case MULTIPLY:
- case SUBTRACT:
- case DIVIDE:
- case COMPOUND:
- return TopDownTransformResult.PUSHDOWN;
- case ARRAY:
- case ASSIGN:
- case GROUP:
- case LET:
- return TopDownTransformResult.PASSTHROUGH;
- default:
- throw new UnsupportedOperationException(
- "Attempted to traverse unknown operator " + node);
+ case ADD:
+ case MULTIPLY:
+ case SUBTRACT:
+ case DIVIDE:
+ case COMPOUND:
+ return TopDownTransformResult.PUSHDOWN;
+ case ARRAY:
+ case ASSIGN:
+ case GROUP:
+ case LET:
+ return TopDownTransformResult.PASSTHROUGH;
+ default:
+ throw new UnsupportedOperationException("Attempted to traverse unknown operator " + node);
}
}
}