aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-05 22:26:29 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-05 22:26:29 +0100
commit166a205aeb4c595b40b8ffe4c7d745b13031e3b3 (patch)
treeaa493482f4ca312c1f23913ebc2f57b71d8aa590 /src/main/java/org/zwobble/couscous/interpreter
parent44e4b877baea47c0465e1029bdbedc848381999f (diff)
Add support for static method calls to Python backend
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/Evaluator.java4
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/Executor.java6
2 files changed, 5 insertions, 5 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java b/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
index c2eeb59..9f183ec 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/Evaluator.java
@@ -10,14 +10,14 @@ import org.zwobble.couscous.ast.MethodCallNode;
import org.zwobble.couscous.ast.StaticMethodCallNode;
import org.zwobble.couscous.ast.TernaryConditionalNode;
import org.zwobble.couscous.ast.VariableReferenceNode;
-import org.zwobble.couscous.ast.visitors.ExpressionNodeVisitor;
+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 lombok.val;
-public class Evaluator implements ExpressionNodeVisitor<InterpreterValue> {
+public class Evaluator implements ExpressionNodeMapper<InterpreterValue> {
public static InterpreterValue eval(Environment environment, ExpressionNode expression) {
return new Evaluator(environment).eval(expression);
}
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Executor.java b/src/main/java/org/zwobble/couscous/interpreter/Executor.java
index 4ed4a04..93adf16 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/Executor.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/Executor.java
@@ -10,7 +10,7 @@ import org.zwobble.couscous.ast.MethodNode;
import org.zwobble.couscous.ast.ReturnNode;
import org.zwobble.couscous.ast.StatementNode;
import org.zwobble.couscous.ast.VariableNode;
-import org.zwobble.couscous.ast.visitors.StatementNodeVisitor;
+import org.zwobble.couscous.ast.visitors.StatementNodeMapper;
import org.zwobble.couscous.interpreter.values.InterpreterValue;
import org.zwobble.couscous.interpreter.values.UnitInterpreterValue;
@@ -18,7 +18,7 @@ import static org.zwobble.couscous.interpreter.Evaluator.eval;
import lombok.val;
-public class Executor implements StatementNodeVisitor<Optional<InterpreterValue>> {
+public class Executor implements StatementNodeMapper<Optional<InterpreterValue>> {
public static InterpreterValue callMethod(Environment environment, MethodNode method, Arguments arguments) {
val innerEnvironment = buildEnvironment(environment, method, arguments);
@@ -49,7 +49,7 @@ public class Executor implements StatementNodeVisitor<Optional<InterpreterValue>
private static Stream<VariableNode> findDeclarations(List<StatementNode> body) {
return body.stream()
- .flatMap(statement -> statement.accept(new StatementNodeVisitor<Stream<VariableNode>>() {
+ .flatMap(statement -> statement.accept(new StatementNodeMapper<Stream<VariableNode>>() {
@Override
public Stream<VariableNode> visit(ReturnNode returnNode) {
return Stream.empty();