aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends/python/PythonWriter.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-05 17:26:10 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-05 17:26:10 +0100
commit5094eec3a5ab03b8ad04df8d29d5246e611df788 (patch)
tree2e4b61ee677f095d822d26a0eb315169147f9b60 /src/main/java/org/zwobble/couscous/backends/python/PythonWriter.java
parentd0431b9abbf914affe37a47f5f2a4338a5f8a595 (diff)
Remove duplication of statement writing
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends/python/PythonWriter.java')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/PythonWriter.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/python/PythonWriter.java b/src/main/java/org/zwobble/couscous/backends/python/PythonWriter.java
index 2551700..781db71 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/PythonWriter.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/PythonWriter.java
@@ -47,14 +47,23 @@ public class PythonWriter {
depth--;
}
- public void startStatement() {
+ public void writeStatement(Action action) {
+ startStatement();
+ action.run();
+ endStatement();
+ }
+
+ private void startStatement() {
builder.append(Strings.repeat(" ", depth * SPACES_PER_INDENT));
}
- public void endStatement() {
+ private void endStatement() {
if (builder.charAt(builder.length() - 1) != '\n') {
builder.append("\n");
}
}
-
+
+ interface Action {
+ void run();
+ }
}