aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
diff options
context:
space:
mode:
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());
}