diff options
13 files changed, 35 insertions, 33 deletions
diff --git a/dice-lang/src/bjc/dicelang/ast/ArithmeticCollapser.java b/dice-lang/src/bjc/dicelang/ast/ArithmeticCollapser.java index 2b9eaa4..70f6af9 100644 --- a/dice-lang/src/bjc/dicelang/ast/ArithmeticCollapser.java +++ b/dice-lang/src/bjc/dicelang/ast/ArithmeticCollapser.java @@ -3,10 +3,10 @@ package bjc.dicelang.ast; import java.util.function.BinaryOperator; import bjc.utils.data.IPair; +import bjc.utils.data.ITree; import bjc.utils.data.Pair; import bjc.utils.funcdata.IList; -import bjc.utils.funcdata.ITree; -import bjc.utils.funcdata.Tree; +import bjc.utils.data.Tree; import bjc.dicelang.ast.nodes.IDiceASTNode; import bjc.dicelang.ast.nodes.OperatorDiceNode; diff --git a/dice-lang/src/bjc/dicelang/ast/DiceASTEvaluator.java b/dice-lang/src/bjc/dicelang/ast/DiceASTEvaluator.java index cef2e19..f4bfe79 100644 --- a/dice-lang/src/bjc/dicelang/ast/DiceASTEvaluator.java +++ b/dice-lang/src/bjc/dicelang/ast/DiceASTEvaluator.java @@ -4,6 +4,7 @@ import java.util.function.Supplier; import bjc.utils.data.IHolder; import bjc.utils.data.IPair; +import bjc.utils.data.ITree; import bjc.utils.data.Identity; import bjc.utils.data.LazyPair; import bjc.utils.data.Pair; @@ -11,8 +12,7 @@ import bjc.utils.funcdata.FunctionalList; import bjc.utils.funcdata.FunctionalMap; import bjc.utils.funcdata.IList; import bjc.utils.funcdata.IMap; -import bjc.utils.funcdata.ITree; -import bjc.utils.funcdata.Tree; +import bjc.utils.data.Tree; import bjc.dicelang.ComplexDice; import bjc.dicelang.ast.nodes.DiceASTType; diff --git a/dice-lang/src/bjc/dicelang/ast/DiceASTInliner.java b/dice-lang/src/bjc/dicelang/ast/DiceASTInliner.java index 305c9af..3cba13c 100644 --- a/dice-lang/src/bjc/dicelang/ast/DiceASTInliner.java +++ b/dice-lang/src/bjc/dicelang/ast/DiceASTInliner.java @@ -1,10 +1,10 @@ package bjc.dicelang.ast; +import bjc.utils.data.ITree; import bjc.utils.funcdata.FunctionalList; import bjc.utils.funcdata.IList; import bjc.utils.funcdata.IMap; -import bjc.utils.funcdata.ITree; -import bjc.utils.funcdata.Tree; +import bjc.utils.data.Tree; import bjc.dicelang.ast.nodes.DiceASTType; import bjc.dicelang.ast.nodes.IDiceASTNode; @@ -58,19 +58,20 @@ public class DiceASTInliner { // Return the tree for the variable return enviroment.get(variableName); } - } else { - // You can't inline non-existent variables - if (!enviroment.containsKey(variableName)) { - throw new UnsupportedOperationException( - "Attempted to inline non-existant variable " - + variableName); - } - // Return the tree for the variable - return enviroment.get(variableName); + // We're not inlining this particular variable + return new Tree<>(node); + } + + // You can't inline non-existent variables + if (!enviroment.containsKey(variableName)) { + throw new UnsupportedOperationException( + "Attempted to inline non-existant variable " + + variableName); } - // return new Tree<>(node); + // Return the tree for the variable + return enviroment.get(variableName); } /** diff --git a/dice-lang/src/bjc/dicelang/ast/DiceASTOptimizer.java b/dice-lang/src/bjc/dicelang/ast/DiceASTOptimizer.java index d7fc23c..bababb3 100644 --- a/dice-lang/src/bjc/dicelang/ast/DiceASTOptimizer.java +++ b/dice-lang/src/bjc/dicelang/ast/DiceASTOptimizer.java @@ -1,9 +1,9 @@ package bjc.dicelang.ast; +import bjc.utils.data.ITree; import bjc.utils.funcdata.FunctionalList; import bjc.utils.funcdata.IList; import bjc.utils.funcdata.IMap; -import bjc.utils.funcdata.ITree; import bjc.dicelang.ast.nodes.IDiceASTNode; import bjc.dicelang.ast.optimization.IOptimizationPass; diff --git a/dice-lang/src/bjc/dicelang/ast/DiceASTParser.java b/dice-lang/src/bjc/dicelang/ast/DiceASTParser.java index 9a36951..7f0fc36 100644 --- a/dice-lang/src/bjc/dicelang/ast/DiceASTParser.java +++ b/dice-lang/src/bjc/dicelang/ast/DiceASTParser.java @@ -5,12 +5,12 @@ import java.util.InputMismatchException; import java.util.function.Function; import java.util.function.Predicate; +import bjc.utils.data.ITree; import bjc.utils.funcdata.FunctionalList; import bjc.utils.funcdata.FunctionalMap; import bjc.utils.funcdata.IList; import bjc.utils.funcdata.IMap; -import bjc.utils.funcdata.ITree; -import bjc.utils.funcdata.Tree; +import bjc.utils.data.Tree; import bjc.utils.funcutils.StringUtils; import bjc.utils.parserutils.TreeConstructor; diff --git a/dice-lang/src/bjc/dicelang/ast/DiceASTReferenceSanitizer.java b/dice-lang/src/bjc/dicelang/ast/DiceASTReferenceSanitizer.java index d8f658e..45eca36 100644 --- a/dice-lang/src/bjc/dicelang/ast/DiceASTReferenceSanitizer.java +++ b/dice-lang/src/bjc/dicelang/ast/DiceASTReferenceSanitizer.java @@ -1,11 +1,12 @@ package bjc.dicelang.ast; import bjc.utils.data.IHolder; +import bjc.utils.data.ITree; import bjc.utils.data.Identity; + import bjc.utils.funcdata.IMap; -import bjc.utils.funcdata.ITree; -import bjc.utils.funcdata.TopDownTransformResult; -import bjc.utils.funcdata.Tree; +import bjc.utils.data.TopDownTransformResult; +import bjc.utils.data.Tree; import bjc.dicelang.ast.nodes.IDiceASTNode; import bjc.dicelang.ast.nodes.OperatorDiceNode; diff --git a/dice-lang/src/bjc/dicelang/ast/DiceASTUtils.java b/dice-lang/src/bjc/dicelang/ast/DiceASTUtils.java index d98c8fe..95f62e8 100644 --- a/dice-lang/src/bjc/dicelang/ast/DiceASTUtils.java +++ b/dice-lang/src/bjc/dicelang/ast/DiceASTUtils.java @@ -1,6 +1,6 @@ package bjc.dicelang.ast; -import bjc.utils.funcdata.ITree; +import bjc.utils.data.ITree; import bjc.dicelang.IDiceExpression; import bjc.dicelang.ScalarDie; diff --git a/dice-lang/src/bjc/dicelang/ast/IOperatorCollapser.java b/dice-lang/src/bjc/dicelang/ast/IOperatorCollapser.java index 0efaca9..b2fab79 100644 --- a/dice-lang/src/bjc/dicelang/ast/IOperatorCollapser.java +++ b/dice-lang/src/bjc/dicelang/ast/IOperatorCollapser.java @@ -3,8 +3,8 @@ package bjc.dicelang.ast; import java.util.function.Function; import bjc.utils.data.IPair; +import bjc.utils.data.ITree; import bjc.utils.funcdata.IList; -import bjc.utils.funcdata.ITree; import bjc.dicelang.ast.nodes.IDiceASTNode; diff --git a/dice-lang/src/bjc/dicelang/ast/optimization/ArithmeticCollapser.java b/dice-lang/src/bjc/dicelang/ast/optimization/ArithmeticCollapser.java index 960fbf7..69cc379 100644 --- a/dice-lang/src/bjc/dicelang/ast/optimization/ArithmeticCollapser.java +++ b/dice-lang/src/bjc/dicelang/ast/optimization/ArithmeticCollapser.java @@ -2,9 +2,9 @@ package bjc.dicelang.ast.optimization; import java.util.function.BinaryOperator; +import bjc.utils.data.ITree; import bjc.utils.funcdata.IList; -import bjc.utils.funcdata.ITree; -import bjc.utils.funcdata.Tree; +import bjc.utils.data.Tree; import bjc.dicelang.ast.DiceASTUtils; import bjc.dicelang.ast.nodes.DiceASTType; diff --git a/dice-lang/src/bjc/dicelang/ast/optimization/ConstantCollapser.java b/dice-lang/src/bjc/dicelang/ast/optimization/ConstantCollapser.java index 95badd2..38d9825 100644 --- a/dice-lang/src/bjc/dicelang/ast/optimization/ConstantCollapser.java +++ b/dice-lang/src/bjc/dicelang/ast/optimization/ConstantCollapser.java @@ -1,8 +1,8 @@ package bjc.dicelang.ast.optimization; +import bjc.utils.data.ITree; import bjc.utils.funcdata.IList; -import bjc.utils.funcdata.ITree; -import bjc.utils.funcdata.Tree; +import bjc.utils.data.Tree; import bjc.dicelang.ComplexDice; import bjc.dicelang.ast.DiceASTUtils; diff --git a/dice-lang/src/bjc/dicelang/ast/optimization/IOptimizationPass.java b/dice-lang/src/bjc/dicelang/ast/optimization/IOptimizationPass.java index 36b03f1..bb24cdd 100644 --- a/dice-lang/src/bjc/dicelang/ast/optimization/IOptimizationPass.java +++ b/dice-lang/src/bjc/dicelang/ast/optimization/IOptimizationPass.java @@ -1,7 +1,7 @@ package bjc.dicelang.ast.optimization; +import bjc.utils.data.ITree; import bjc.utils.funcdata.IList; -import bjc.utils.funcdata.ITree; import bjc.dicelang.ast.nodes.IDiceASTNode; diff --git a/dice-lang/src/bjc/dicelang/ast/optimization/OperationCondenser.java b/dice-lang/src/bjc/dicelang/ast/optimization/OperationCondenser.java index f646a17..b3dc4a0 100644 --- a/dice-lang/src/bjc/dicelang/ast/optimization/OperationCondenser.java +++ b/dice-lang/src/bjc/dicelang/ast/optimization/OperationCondenser.java @@ -1,10 +1,10 @@ package bjc.dicelang.ast.optimization; import bjc.utils.data.IHolder; +import bjc.utils.data.ITree; import bjc.utils.data.Identity; -import bjc.utils.funcdata.ITree; -import bjc.utils.funcdata.TopDownTransformResult; -import bjc.utils.funcdata.Tree; +import bjc.utils.data.TopDownTransformResult; +import bjc.utils.data.Tree; import bjc.dicelang.ast.nodes.DiceASTType; import bjc.dicelang.ast.nodes.IDiceASTNode; diff --git a/dice-lang/src/bjc/dicelang/examples/DiceASTPragma.java b/dice-lang/src/bjc/dicelang/examples/DiceASTPragma.java index 4900e46..3ca84f8 100644 --- a/dice-lang/src/bjc/dicelang/examples/DiceASTPragma.java +++ b/dice-lang/src/bjc/dicelang/examples/DiceASTPragma.java @@ -2,9 +2,9 @@ package bjc.dicelang.examples; import java.util.function.BiConsumer; +import bjc.utils.data.ITree; import bjc.utils.funcdata.FunctionalStringTokenizer; import bjc.utils.funcdata.IMap; -import bjc.utils.funcdata.ITree; import bjc.dicelang.ast.nodes.IDiceASTNode; |
