aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/PythonSerializer.java35
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonAssignmentNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonBooleanLiteralNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonClassNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonConditionalExpressionNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonFunctionDefinitionNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonIntegerLiteralNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonModuleNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonNode.java2
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonPassNode.java5
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonReturnNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonStringLiteralNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonVariableReferenceNode.java4
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/visitors/PythonNodeVisitor.java24
14 files changed, 47 insertions, 59 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/python/PythonSerializer.java b/src/main/java/org/zwobble/couscous/backends/python/PythonSerializer.java
index 2fa1887..7eaf2fb 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/PythonSerializer.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/PythonSerializer.java
@@ -20,7 +20,7 @@ import static com.google.common.collect.Iterables.skip;
import lombok.val;
-public class PythonSerializer implements PythonNodeVisitor<Void> {
+public class PythonSerializer implements PythonNodeVisitor {
public static String serialize(PythonNode node) {
val writer = new PythonWriter();
val serializer = new PythonSerializer(writer);
@@ -39,31 +39,27 @@ public class PythonSerializer implements PythonNodeVisitor<Void> {
}
@Override
- public Void visit(PythonIntegerLiteralNode integerLiteral) {
+ public void visit(PythonIntegerLiteralNode integerLiteral) {
writer.writeInteger(integerLiteral.getValue());
- return null;
}
@Override
- public Void visit(PythonStringLiteralNode stringLiteral) {
+ public void visit(PythonStringLiteralNode stringLiteral) {
writer.writeStringLiteral(stringLiteral.getValue());
- return null;
}
@Override
- public Void visit(PythonBooleanLiteralNode booleanLiteral) {
+ public void visit(PythonBooleanLiteralNode booleanLiteral) {
writer.writeKeyword(booleanLiteral.getValue() ? "True" : "False");
- return null;
}
@Override
- public Void visit(PythonVariableReferenceNode reference) {
+ public void visit(PythonVariableReferenceNode reference) {
writer.writeIdentifier(reference.getName());
- return null;
}
@Override
- public Void visit(PythonConditionalExpressionNode conditional) {
+ public void visit(PythonConditionalExpressionNode conditional) {
writeParenthesised(conditional.getTrueValue());
writer.writeSpace();
writer.writeKeyword("if");
@@ -73,29 +69,26 @@ public class PythonSerializer implements PythonNodeVisitor<Void> {
writer.writeKeyword("else");
writer.writeSpace();
writeParenthesised(conditional.getFalseValue());
- return null;
}
@Override
- public Void visit(PythonReturnNode pythonReturn) {
+ public void visit(PythonReturnNode pythonReturn) {
writer.writeStatement(() -> {
writer.writeKeyword("return");
writer.writeSpace();
write(pythonReturn.getValue());
});
- return null;
}
@Override
- public Void visit(PythonPassNode pass) {
+ public void visit(PythonPassNode pass) {
writer.writeStatement(() -> {
writer.writeKeyword("pass");
});
- return null;
}
@Override
- public Void visit(PythonClassNode pythonClass) {
+ public void visit(PythonClassNode pythonClass) {
writer.writeStatement(() -> {
writer.writeKeyword("class");
writer.writeSpace();
@@ -105,11 +98,10 @@ public class PythonSerializer implements PythonNodeVisitor<Void> {
writer.writeSymbol(")");
writeBlock(pythonClass.getBody());
});
- return null;
}
@Override
- public Void visit(PythonFunctionDefinitionNode functionDefinition) {
+ public void visit(PythonFunctionDefinitionNode functionDefinition) {
writer.writeStatement(() -> {
writer.writeKeyword("def");
writer.writeSpace();
@@ -119,11 +111,10 @@ public class PythonSerializer implements PythonNodeVisitor<Void> {
writer.writeSymbol(")");
writeBlock(functionDefinition.getBody());
});
- return null;
}
@Override
- public Void visit(PythonAssignmentNode assignment) {
+ public void visit(PythonAssignmentNode assignment) {
writer.writeStatement(() -> {
write(assignment.getTarget());
writer.writeSpace();
@@ -132,7 +123,6 @@ public class PythonSerializer implements PythonNodeVisitor<Void> {
write(assignment.getValue());
});
- return null;
}
private void writeParenthesised(PythonExpressionNode expression) {
@@ -153,11 +143,10 @@ public class PythonSerializer implements PythonNodeVisitor<Void> {
}
@Override
- public Void visit(PythonModuleNode module) {
+ public void visit(PythonModuleNode module) {
for (val statement : module.getStatements()) {
write(statement);
}
- return null;
}
private void writeBlock(PythonBlock body) {
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonAssignmentNode.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonAssignmentNode.java
index d64e101..3624908 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonAssignmentNode.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonAssignmentNode.java
@@ -10,7 +10,7 @@ public class PythonAssignmentNode implements PythonStatementNode {
PythonExpressionNode value;
@Override
- public <T> T accept(PythonNodeVisitor<T> visitor) {
- return visitor.visit(this);
+ public void accept(PythonNodeVisitor visitor) {
+ visitor.visit(this);
}
}
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonBooleanLiteralNode.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonBooleanLiteralNode.java
index 43caf0a..349ab4b 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonBooleanLiteralNode.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonBooleanLiteralNode.java
@@ -16,7 +16,7 @@ public class PythonBooleanLiteralNode implements PythonExpressionNode {
}
@Override
- public <T> T accept(PythonNodeVisitor<T> visitor) {
- return visitor.visit(this);
+ public void accept(PythonNodeVisitor visitor) {
+ visitor.visit(this);
}
}
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonClassNode.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonClassNode.java
index 958a21a..3ed7eba 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonClassNode.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonClassNode.java
@@ -41,8 +41,8 @@ public class PythonClassNode implements PythonStatementNode {
PythonBlock body;
@Override
- public <T> T accept(PythonNodeVisitor<T> visitor) {
- return visitor.visit(this);
+ public void accept(PythonNodeVisitor visitor) {
+ visitor.visit(this);
}
}
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonConditionalExpressionNode.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonConditionalExpressionNode.java
index 9fd406c..e39dce1 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonConditionalExpressionNode.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonConditionalExpressionNode.java
@@ -11,7 +11,7 @@ public class PythonConditionalExpressionNode implements PythonExpressionNode {
PythonExpressionNode falseValue;
@Override
- public <T> T accept(PythonNodeVisitor<T> visitor) {
- return visitor.visit(this);
+ public void accept(PythonNodeVisitor visitor) {
+ visitor.visit(this);
}
}
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonFunctionDefinitionNode.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonFunctionDefinitionNode.java
index c67fe35..a7983d6 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonFunctionDefinitionNode.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonFunctionDefinitionNode.java
@@ -40,7 +40,7 @@ public class PythonFunctionDefinitionNode implements PythonStatementNode {
PythonBlock body;
@Override
- public <T> T accept(PythonNodeVisitor<T> visitor) {
- return visitor.visit(this);
+ public void accept(PythonNodeVisitor visitor) {
+ visitor.visit(this);
}
}
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonIntegerLiteralNode.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonIntegerLiteralNode.java
index d8a9358..1c273d7 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonIntegerLiteralNode.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonIntegerLiteralNode.java
@@ -9,7 +9,7 @@ public class PythonIntegerLiteralNode implements PythonExpressionNode {
int value;
@Override
- public <T> T accept(PythonNodeVisitor<T> visitor) {
- return visitor.visit(this);
+ public void accept(PythonNodeVisitor visitor) {
+ visitor.visit(this);
}
}
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonModuleNode.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonModuleNode.java
index 92d63a8..b3fd728 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonModuleNode.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonModuleNode.java
@@ -11,8 +11,8 @@ public class PythonModuleNode implements PythonNode {
List<PythonStatementNode> statements;
@Override
- public <T> T accept(PythonNodeVisitor<T> visitor) {
- return visitor.visit(this);
+ public void accept(PythonNodeVisitor visitor) {
+ visitor.visit(this);
}
}
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonNode.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonNode.java
index cdda65d..b3702a9 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonNode.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonNode.java
@@ -3,5 +3,5 @@ package org.zwobble.couscous.backends.python.ast;
import org.zwobble.couscous.backends.python.ast.visitors.PythonNodeVisitor;
public interface PythonNode {
- <T> T accept(PythonNodeVisitor<T> visitor);
+ void accept(PythonNodeVisitor visitor);
}
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonPassNode.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonPassNode.java
index 36d6695..c3ad236 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonPassNode.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonPassNode.java
@@ -6,11 +6,10 @@ public class PythonPassNode implements PythonStatementNode {
public static final PythonPassNode PASS = new PythonPassNode();
private PythonPassNode() {
- // TODO Auto-generated constructor stub
}
@Override
- public <T> T accept(PythonNodeVisitor<T> visitor) {
- return visitor.visit(this);
+ public void accept(PythonNodeVisitor visitor) {
+ visitor.visit(this);
}
}
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonReturnNode.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonReturnNode.java
index b204b4d..adb4168 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonReturnNode.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonReturnNode.java
@@ -9,8 +9,8 @@ public class PythonReturnNode implements PythonStatementNode {
PythonExpressionNode value;
@Override
- public <T> T accept(PythonNodeVisitor<T> visitor) {
- return visitor.visit(this);
+ public void accept(PythonNodeVisitor visitor) {
+ visitor.visit(this);
}
}
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonStringLiteralNode.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonStringLiteralNode.java
index 82d91db..bd35621 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonStringLiteralNode.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonStringLiteralNode.java
@@ -9,7 +9,7 @@ public class PythonStringLiteralNode implements PythonExpressionNode {
String value;
@Override
- public <T> T accept(PythonNodeVisitor<T> visitor) {
- return visitor.visit(this);
+ public void accept(PythonNodeVisitor visitor) {
+ visitor.visit(this);
}
}
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
index 81f26d2..a67da73 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonVariableReferenceNode.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonVariableReferenceNode.java
@@ -9,7 +9,7 @@ public class PythonVariableReferenceNode implements PythonExpressionNode {
String name;
@Override
- public <T> T accept(PythonNodeVisitor<T> visitor) {
- return visitor.visit(this);
+ 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 1f5b1a2..0cd43ae 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
@@ -12,19 +12,19 @@ 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(PythonConditionalExpressionNode conditional);
+public interface PythonNodeVisitor {
+ void visit(PythonIntegerLiteralNode integerLiteral);
+ void visit(PythonStringLiteralNode stringLiteral);
+ void visit(PythonBooleanLiteralNode booleanLiteral);
+ void visit(PythonVariableReferenceNode reference);
+ void visit(PythonConditionalExpressionNode conditional);
- T visit(PythonReturnNode pythonReturn);
- T visit(PythonPassNode pass);
- T visit(PythonClassNode pythonClass);
- T visit(PythonFunctionDefinitionNode functionDefinition);
- T visit(PythonAssignmentNode assignment);
+ void visit(PythonReturnNode pythonReturn);
+ void visit(PythonPassNode pass);
+ void visit(PythonClassNode pythonClass);
+ void visit(PythonFunctionDefinitionNode functionDefinition);
+ void visit(PythonAssignmentNode assignment);
- T visit(PythonModuleNode module);
+ void visit(PythonModuleNode module);
}