aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-11 20:33:14 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-11 20:33:14 +0000
commitd403acf6e1266e73a4ed43b63032be04da2c71d8 (patch)
tree271e87e5b455a25fb1777d2252159a85e50b61a7 /src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
parent6569df211d93ced13b2d31e2f93263abbadd660a (diff)
Change FieldAccessNode to support static fields
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/Evaluator.java')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/Evaluator.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java b/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
index 815bf10..68469fd 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
@@ -55,7 +55,8 @@ public class Evaluator implements ExpressionNodeMapper<InterpreterValue> {
assignment.getTarget().accept(new AssignableExpressionNodeVisitor(){
@Override
public void visit(FieldAccessNode fieldAccess) {
- InterpreterValue left = eval(fieldAccess.getLeft());
+ // TODO: handle static receiver
+ InterpreterValue left = eval(((InstanceReceiver)fieldAccess.getLeft()).getExpression());
left.setField(fieldAccess.getFieldName(), value);
}
@@ -117,7 +118,8 @@ public class Evaluator implements ExpressionNodeMapper<InterpreterValue> {
@Override
public InterpreterValue visit(FieldAccessNode fieldAccess) {
- InterpreterValue left = eval(fieldAccess.getLeft());
+ // TODO: handle static receiver
+ InterpreterValue left = eval(((InstanceReceiver)fieldAccess.getLeft()).getExpression());
return left.getField(fieldAccess.getFieldName());
}