aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends/python/ast
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-05 13:20:24 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-05 13:20:24 +0100
commit34df0782f05475bf2e9723feb4224e411d13959f (patch)
tree8fdc1746c8a1bc594a0b22284afe78db50b555d5 /src/main/java/org/zwobble/couscous/backends/python/ast
parentfe4766439c47ea146c37422e86d0ce0367f6c653 (diff)
Support passing arguments to Python runner
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends/python/ast')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonVariableReferenceNode.java15
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/visitors/PythonNodeVisitor.java2
2 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonVariableReferenceNode.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonVariableReferenceNode.java
new file mode 100644
index 0000000..81f26d2
--- /dev/null
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonVariableReferenceNode.java
@@ -0,0 +1,15 @@
+package org.zwobble.couscous.backends.python.ast;
+
+import org.zwobble.couscous.backends.python.ast.visitors.PythonNodeVisitor;
+
+import lombok.Value;
+
+@Value(staticConstructor="pythonVariableReference")
+public class PythonVariableReferenceNode implements PythonExpressionNode {
+ String name;
+
+ @Override
+ public <T> T accept(PythonNodeVisitor<T> visitor) {
+ return visitor.visit(this);
+ }
+}
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/visitors/PythonNodeVisitor.java b/src/main/java/org/zwobble/couscous/backends/python/ast/visitors/PythonNodeVisitor.java
index 42f97a0..88035c8 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/visitors/PythonNodeVisitor.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/visitors/PythonNodeVisitor.java
@@ -8,11 +8,13 @@ import org.zwobble.couscous.backends.python.ast.PythonModuleNode;
import org.zwobble.couscous.backends.python.ast.PythonPassNode;
import org.zwobble.couscous.backends.python.ast.PythonReturnNode;
import org.zwobble.couscous.backends.python.ast.PythonStringLiteralNode;
+import org.zwobble.couscous.backends.python.ast.PythonVariableReferenceNode;
public interface PythonNodeVisitor<T> {
T visit(PythonIntegerLiteralNode integerLiteral);
T visit(PythonStringLiteralNode stringLiteral);
T visit(PythonBooleanLiteralNode booleanLiteral);
+ T visit(PythonVariableReferenceNode reference);
T visit(PythonReturnNode pythonReturn);
T visit(PythonPassNode pass);