From 74c98ef82b94abe7fe7548766471b8e43c149504 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 28 Feb 2016 14:14:47 +0000 Subject: C#: Write super types --- .../org/zwobble/couscous/backends/SourceCodeWriter.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java') diff --git a/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java b/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java index 301bb61..3908f72 100644 --- a/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java +++ b/src/main/java/org/zwobble/couscous/backends/SourceCodeWriter.java @@ -3,11 +3,9 @@ package org.zwobble.couscous.backends; import com.google.common.base.Strings; import org.zwobble.couscous.util.Action; -import java.util.List; +import java.util.Iterator; import java.util.function.Consumer; -import static com.google.common.collect.Iterables.skip; - public class SourceCodeWriter { public interface WriterAction { void run(SourceCodeWriter writer); @@ -95,12 +93,13 @@ public class SourceCodeWriter { action.run(this); } - public void writeWithSeparator(List values, Consumer writeValue, Action separator) { - if (!values.isEmpty()) { - writeValue.accept(values.get(0)); - for (T value : skip(values, 1)) { + public void writeWithSeparator(Iterable values, Consumer writeValue, Action separator) { + Iterator iterator = values.iterator(); + if (iterator.hasNext()) { + writeValue.accept(iterator.next()); + while(iterator.hasNext()) { separator.run(); - writeValue.accept(value); + writeValue.accept(iterator.next()); } } } -- cgit v1.2.3