summaryrefslogtreecommitdiff
path: root/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2016-04-17 20:41:47 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2016-04-17 20:41:47 -0400
commit7c222f25d4b2d9f3b149d880f0e1acf8d673e4f5 (patch)
treea07cd6b07522d9ffe24a82c5a1a487d307875561 /dice-lang/src/main/java/bjc/dicelang/ast/DiceASTEvaluator.java
parentd9437c1d328ccc2b26bd0aae19c2aff7140e466b (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.java8
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)) {