aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java8
-rw-r--r--src/main/java/org/zwobble/couscous/util/ExtraIterables.java4
2 files changed, 6 insertions, 6 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java b/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java
index fb344e0..a1bbda6 100644
--- a/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java
+++ b/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java
@@ -1,9 +1,7 @@
package org.zwobble.couscous.ast.visitors;
-import com.google.common.base.Function;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
import org.zwobble.couscous.ast.*;
import org.zwobble.couscous.types.ScalarType;
import org.zwobble.couscous.types.Type;
@@ -14,7 +12,9 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
+import java.util.function.Function;
+import static org.zwobble.couscous.util.ExtraIterables.lazyMap;
import static org.zwobble.couscous.util.ExtraLists.*;
public class NodeTransformer {
@@ -233,10 +233,10 @@ public class NodeTransformer {
}
private <T> Set<T> transformSet(Set<T> values, Function<T, T> function) {
- return ImmutableSet.copyOf(Iterables.transform(values, function));
+ return ImmutableSet.copyOf(lazyMap(values, function));
}
private <T> List<T> transformList(List<? extends T> values, Function<T, T> function) {
- return ImmutableList.copyOf(Iterables.transform(values, function));
+ return ImmutableList.copyOf(lazyMap(values, function));
}
}
diff --git a/src/main/java/org/zwobble/couscous/util/ExtraIterables.java b/src/main/java/org/zwobble/couscous/util/ExtraIterables.java
index 3881d29..a40b409 100644
--- a/src/main/java/org/zwobble/couscous/util/ExtraIterables.java
+++ b/src/main/java/org/zwobble/couscous/util/ExtraIterables.java
@@ -110,7 +110,7 @@ public class ExtraIterables {
return Optional.empty();
}
- public static <T, R> Iterable<R> lazyMap(Iterable<T> iterable, Function<T, R> function) {
+ public static <T, R> Iterable<R> lazyMap(Iterable<? extends T> iterable, Function<T, R> function) {
return new Iterable<R>() {
@Override
public Iterator<R> iterator() {
@@ -119,7 +119,7 @@ public class ExtraIterables {
};
}
- private static <T, R> Iterator<R> map(Iterator<T> iterator, Function<T, R> function) {
+ private static <T, R> Iterator<R> map(Iterator<? extends T> iterator, Function<T, R> function) {
return new Iterator<R>() {
@Override
public boolean hasNext() {