From 635d3150e3e85c01b777ff165e21fa8965d58440 Mon Sep 17 00:00:00 2001 From: EVE Date: Tue, 14 Mar 2017 12:08:11 -0400 Subject: Cleanup --- .../v1/ast/optimization/ArithmeticCollapser.java | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'dice-lang/src/bjc/dicelang/v1/ast/optimization/ArithmeticCollapser.java') diff --git a/dice-lang/src/bjc/dicelang/v1/ast/optimization/ArithmeticCollapser.java b/dice-lang/src/bjc/dicelang/v1/ast/optimization/ArithmeticCollapser.java index 9fb0a5e..acc1afa 100644 --- a/dice-lang/src/bjc/dicelang/v1/ast/optimization/ArithmeticCollapser.java +++ b/dice-lang/src/bjc/dicelang/v1/ast/optimization/ArithmeticCollapser.java @@ -1,7 +1,5 @@ package bjc.dicelang.v1.ast.optimization; -import java.util.function.BinaryOperator; - import bjc.dicelang.v1.ast.DiceASTUtils; import bjc.dicelang.v1.ast.nodes.DiceASTType; import bjc.dicelang.v1.ast.nodes.IDiceASTNode; @@ -9,12 +7,14 @@ import bjc.dicelang.v1.ast.nodes.ILiteralDiceNode; import bjc.dicelang.v1.ast.nodes.IntegerLiteralNode; import bjc.dicelang.v1.ast.nodes.OperatorDiceNode; import bjc.utils.data.ITree; -import bjc.utils.funcdata.IList; import bjc.utils.data.Tree; +import bjc.utils.funcdata.IList; + +import java.util.function.BinaryOperator; class ArithmeticCollapser { - private BinaryOperator reducer; - private OperatorDiceNode type; + private BinaryOperator reducer; + private OperatorDiceNode type; public ArithmeticCollapser(BinaryOperator reducr, OperatorDiceNode typ) { reducer = reducr; @@ -24,17 +24,14 @@ class ArithmeticCollapser { public ITree collapse(IList> children) { boolean allConstant = children.allMatch((subtree) -> { return subtree.transformHead((node) -> { - if (node.getType() == DiceASTType.LITERAL) { + if(node.getType() == DiceASTType.LITERAL) return ((ILiteralDiceNode) node).canOptimize(); - } return false; }); }); - if (!allConstant) { - return new Tree<>(type, children); - } + if(!allConstant) return new Tree<>(type, children); int initState = DiceASTUtils.literalToInteger(children.first()); -- cgit v1.2.3