aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-06 17:50:34 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-06 17:50:34 +0100
commitbb9bd25ef93d06deda2c293f01b3a3cdb769c10c (patch)
tree07724fbd6372bc5f37a6589178173ed64653b272 /src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
parentab650e9888794cb7783fb8ffd80c41d91daca017 (diff)
Add setField to InterpreterValue interface
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/Evaluator.java')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/Evaluator.java7
1 files changed, 1 insertions, 6 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java b/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
index ca12ccd..1bc1ab8 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
@@ -18,8 +18,6 @@ import org.zwobble.couscous.ast.visitors.ExpressionNodeMapper;
import org.zwobble.couscous.interpreter.values.BooleanInterpreterValue;
import org.zwobble.couscous.interpreter.values.InterpreterValue;
import org.zwobble.couscous.interpreter.values.InterpreterValues;
-import org.zwobble.couscous.interpreter.values.ObjectInterpreterValue;
-import org.zwobble.couscous.util.Casts;
import lombok.val;
@@ -59,10 +57,7 @@ public class Evaluator implements ExpressionNodeMapper<InterpreterValue> {
assignment.getTarget().accept(new AssignableExpressionNodeVisitor() {
@Override
public void visit(FieldAccessNode fieldAccess) {
- val maybeLeft = Casts.tryCast(
- ObjectInterpreterValue.class,
- eval(fieldAccess.getLeft()));
- val left = maybeLeft.orElseThrow(() -> new UnsupportedOperationException());
+ val left = eval(fieldAccess.getLeft());
left.setField(fieldAccess.getFieldName(), value);
}