aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends/python/ast
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-03-30 19:10:54 +0100
committerMichael Williamson <mike@zwobble.org>2016-03-30 19:10:54 +0100
commit3b29956d75a827743b26b873c3e43386779f1175 (patch)
tree9be530fc6d5a49a9844b94bd915f09ba5efe0b7e /src/main/java/org/zwobble/couscous/backends/python/ast
parent82180cdae01e02853fc1e8db1a0f65f533179906 (diff)
Add Python array nodes
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends/python/ast')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonArrayNode.java31
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/visitors/PythonNodeVisitor.java1
2 files changed, 32 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonArrayNode.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonArrayNode.java
new file mode 100644
index 0000000..91588ea
--- /dev/null
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonArrayNode.java
@@ -0,0 +1,31 @@
+package org.zwobble.couscous.backends.python.ast;
+
+import org.zwobble.couscous.backends.python.ast.visitors.PythonNodeVisitor;
+
+import java.util.List;
+
+public class PythonArrayNode implements PythonExpressionNode {
+ public static PythonExpressionNode pythonArray(List<PythonExpressionNode> elements) {
+ return new PythonArrayNode(elements);
+ }
+
+ private final List<PythonExpressionNode> elements;
+
+ public PythonArrayNode(List<PythonExpressionNode> elements) {
+ this.elements = elements;
+ }
+
+ public List<PythonExpressionNode> getElements() {
+ return elements;
+ }
+
+ @Override
+ public int precedence() {
+ return Integer.MAX_VALUE;
+ }
+
+ @Override
+ public void accept(PythonNodeVisitor visitor) {
+ 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 d43691d..bcc8604 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
@@ -7,6 +7,7 @@ public interface PythonNodeVisitor {
void visit(PythonStringLiteralNode stringLiteral);
void visit(PythonBooleanLiteralNode booleanLiteral);
void visit(PythonVariableReferenceNode reference);
+ void visit(PythonArrayNode array);
void visit(PythonConditionalExpressionNode conditional);
void visit(PythonAttributeAccessNode attributeAccess);
void visit(PythonCallNode call);