diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-01-16 15:32:34 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-01-16 15:32:34 +0000 |
| commit | 907cca69480959dd76afa3cb039244dd3b9833ca (patch) | |
| tree | b59d806dc7bcc73f1123f227bd9d82943b10029c /src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java | |
| parent | 4197fcbcd7a54cc11231d80edd1d17effce9b1e9 (diff) | |
Support method arguments in C# backend
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java b/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java index 3f135de..a50515f 100644 --- a/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java +++ b/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java @@ -3,6 +3,11 @@ package org.zwobble.couscous.backends; import com.google.common.base.Strings; import org.zwobble.couscous.util.Action; +import java.util.List; +import java.util.function.Consumer; + +import static com.google.common.collect.Iterables.skip; + public class SourceCodeWriter { public interface WriterAction { void run(SourceCodeWriter writer); @@ -85,4 +90,14 @@ public class SourceCodeWriter { private void runAction(WriterAction action) { action.run(this); } + + public <T> void writeWithSeparator(List<T> values, Consumer<T> writeValue, Action separator) { + if (!values.isEmpty()) { + writeValue.accept(values.get(0)); + for (T value : skip(values, 1)) { + separator.run(); + writeValue.accept(value); + } + } + } } |
