diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-31 15:18:10 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-31 15:18:10 +0000 |
| commit | f80befcf2be566d35e5a17646899bfed82473029 (patch) | |
| tree | c7bba09d731ae1b7edf7b8b5faa54bcadf3843a3 /src/main/java/org | |
| parent | 6f2fe3a3ce471e658030f4c9fcee3b8468160f6e (diff) | |
Use eagerMap instead of Lists.transform
Diffstat (limited to 'src/main/java/org')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java | 7 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/util/ExtraLists.java | 9 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java index 6c4c0c8..5d4b4cf 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java @@ -3,6 +3,7 @@ package org.zwobble.couscous.frontends.java; import java.io.IOException; import java.nio.file.Path; import java.util.List; + import org.eclipse.jdt.core.dom.ASTNode; import org.eclipse.jdt.core.dom.Assignment; import org.eclipse.jdt.core.dom.BooleanLiteral; @@ -53,13 +54,13 @@ import org.zwobble.couscous.ast.TypeName; import org.zwobble.couscous.values.BooleanValue; import org.zwobble.couscous.values.IntegerValue; -import com.google.common.collect.Lists; import static java.util.Arrays.asList; import static org.zwobble.couscous.ast.ExpressionStatementNode.expressionStatement; import static org.zwobble.couscous.ast.LocalVariableDeclarationNode.localVariableDeclaration; import static org.zwobble.couscous.ast.MethodCallNode.methodCall; import static org.zwobble.couscous.ast.VariableDeclaration.var; import static org.zwobble.couscous.ast.VariableReferenceNode.reference; +import static org.zwobble.couscous.util.ExtraLists.eagerMap; public class JavaReader { @@ -151,7 +152,7 @@ public class JavaReader { @SuppressWarnings("unchecked") List<VariableDeclarationFragment> fragments = (List<VariableDeclarationFragment>)statement.fragments(); TypeName type = typeOf(statement.getType()); - return Lists.transform(fragments, fragment -> localVariableDeclaration(fragment.resolveBinding().getKey(), fragment.getName().getIdentifier(), type, readExpression(fragment.getInitializer()))); + return eagerMap(fragments, fragment -> localVariableDeclaration(fragment.resolveBinding().getKey(), fragment.getName().getIdentifier(), type, readExpression(fragment.getInitializer()))); } private static ExpressionNode readExpression(Expression expression) { @@ -258,7 +259,7 @@ public class JavaReader { @SuppressWarnings({"unchecked", "rawtypes"}) private static List<ExpressionNode> readArguments(final List javaArguments) { - return Lists.transform((List<Expression>)javaArguments, JavaReader::readExpression); + return eagerMap((List<Expression>)javaArguments, JavaReader::readExpression); } private static ExpressionNode readInfixExpression(InfixExpression expression) { diff --git a/src/main/java/org/zwobble/couscous/util/ExtraLists.java b/src/main/java/org/zwobble/couscous/util/ExtraLists.java index 36c9b06..590b466 100644 --- a/src/main/java/org/zwobble/couscous/util/ExtraLists.java +++ b/src/main/java/org/zwobble/couscous/util/ExtraLists.java @@ -5,6 +5,7 @@ import java.util.function.BiFunction; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; +import java.util.stream.StreamSupport; public class ExtraLists { @SuppressWarnings("unchecked") @@ -26,6 +27,14 @@ public class ExtraLists { } } + public static <T, R> List<R> eagerMap( + Iterable<T> iterable, + Function<T, R> function) { + return StreamSupport.stream(iterable.spliterator(), false) + .map(function) + .collect(Collectors.toList()); + } + @FunctionalInterface public static interface CheckedFunction<T, R, E extends Exception> { R apply(T value) throws E; |
