diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-04-17 20:41:47 -0400 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-04-17 20:41:47 -0400 |
| commit | 7c222f25d4b2d9f3b149d880f0e1acf8d673e4f5 (patch) | |
| tree | a07cd6b07522d9ffe24a82c5a1a487d307875561 /dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java | |
| parent | d9437c1d328ccc2b26bd0aae19c2aff7140e466b (diff) | |
Fixed a bug with arithmetic operators
Diffstat (limited to 'dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java')
| -rw-r--r-- | dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java b/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java index e934b9f..016fa8a 100644 --- a/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java +++ b/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java @@ -112,7 +112,10 @@ public class DiceASTEvaluator { String variableName = ((VariableDiceNode) leafNode).getVariable(); if (enviroment.containsKey(variableName)) { - return evaluateAST(enviroment.get(variableName), enviroment); + int result = + evaluateAST(enviroment.get(variableName), enviroment); + + return result; } // Value to allow for assignments @@ -148,6 +151,9 @@ public class DiceASTEvaluator { IPair<Integer, ITree<IDiceASTNode>> valueNode = nodes.getByIndex(1); + // Force valueNode to materialize for debugging purposes + valueNode.merge((l, r) -> null); + return nameNode.bindRight((nameTree) -> { return valueNode.bind((valueValue, valueTree) -> { if (containsSimpleVariable(nameTree)) { |
