diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-11 20:33:14 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-11 20:33:14 +0000 |
| commit | d403acf6e1266e73a4ed43b63032be04da2c71d8 (patch) | |
| tree | 271e87e5b455a25fb1777d2252159a85e50b61a7 /src/main/java/org/zwobble/couscous/interpreter/Evaluator.java | |
| parent | 6569df211d93ced13b2d31e2f93263abbadd660a (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.java | 6 |
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()); } |
