From c05368d92e1758ce82c64c9688be3a7e63bff1bf Mon Sep 17 00:00:00 2001 From: Skylot Date: Sun, 10 May 2020 15:45:18 +0100 Subject: [PATCH] style: prefer use Stream.of method --- jadx-cli/src/main/java/jadx/cli/JadxCLIArgs.java | 4 ++-- jadx-core/src/main/java/jadx/core/clsp/ClsSet.java | 6 +++--- .../src/main/java/jadx/core/codegen/ClassGen.java | 6 ++++-- .../jadx/core/dex/visitors/PrepareForCodeGen.java | 11 ++++------- .../src/main/java/jadx/core/utils/DebugUtils.java | 6 +++--- jadx-core/src/test/java/jadx/tests/api/SmaliTest.java | 4 ++-- .../java/jadx/gui/utils/search/StringRefTest.java | 4 ++-- 7 files changed, 20 insertions(+), 21 deletions(-) diff --git a/jadx-cli/src/main/java/jadx/cli/JadxCLIArgs.java b/jadx-cli/src/main/java/jadx/cli/JadxCLIArgs.java index 31a2aea7c..50d6978d5 100644 --- a/jadx-cli/src/main/java/jadx/cli/JadxCLIArgs.java +++ b/jadx-cli/src/main/java/jadx/cli/JadxCLIArgs.java @@ -1,12 +1,12 @@ package jadx.cli; import java.util.ArrayList; -import java.util.Arrays; import java.util.EnumSet; import java.util.List; import java.util.Locale; import java.util.Set; import java.util.stream.Collectors; +import java.util.stream.Stream; import com.beust.jcommander.IStringConverter; import com.beust.jcommander.Parameter; @@ -353,7 +353,7 @@ public class JadxCLIArgs { } public static String enumValuesString(Enum[] values) { - return Arrays.stream(values) + return Stream.of(values) .map(v -> '\'' + v.name().toLowerCase(Locale.ROOT) + '\'') .collect(Collectors.joining(", ")); } diff --git a/jadx-core/src/main/java/jadx/core/clsp/ClsSet.java b/jadx-core/src/main/java/jadx/core/clsp/ClsSet.java index 565a11b9b..e4c6636f6 100644 --- a/jadx-core/src/main/java/jadx/core/clsp/ClsSet.java +++ b/jadx-core/src/main/java/jadx/core/clsp/ClsSet.java @@ -13,12 +13,12 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.StandardCopyOption; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.stream.Stream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; @@ -88,7 +88,7 @@ public class ClsSet { } if (LOG.isDebugEnabled()) { long time = System.currentTimeMillis() - startTime; - int methodsCount = Arrays.stream(classes).mapToInt(clspClass -> clspClass.getMethodsMap().size()).sum(); + int methodsCount = Stream.of(classes).mapToInt(clspClass -> clspClass.getMethodsMap().size()).sum(); LOG.debug("Load class set in {}ms, classes: {}, methods: {}", time, classes.length, methodsCount); } } @@ -246,7 +246,7 @@ public class ClsSet { writeMethod(out, method, names); } } - int methodsCount = Arrays.stream(classes).mapToInt(c -> c.getMethodsMap().size()).sum(); + int methodsCount = Stream.of(classes).mapToInt(c -> c.getMethodsMap().size()).sum(); LOG.info("Classes: {}, methods: {}, file size: {}B", classes.length, methodsCount, out.size()); } diff --git a/jadx-core/src/main/java/jadx/core/codegen/ClassGen.java b/jadx-core/src/main/java/jadx/core/codegen/ClassGen.java index 11d30f048..3c863462e 100644 --- a/jadx-core/src/main/java/jadx/core/codegen/ClassGen.java +++ b/jadx-core/src/main/java/jadx/core/codegen/ClassGen.java @@ -1,6 +1,7 @@ package jadx.core.codegen; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.HashSet; @@ -8,11 +9,11 @@ import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; +import java.util.stream.Stream; import org.jetbrains.annotations.Nullable; import com.android.dx.rop.code.AccessFlags; -import com.google.common.collect.Streams; import jadx.api.ICodeInfo; import jadx.api.JadxArgs; @@ -252,7 +253,8 @@ public class ClassGen { } private void addInnerClsAndMethods(CodeWriter clsCode) { - Streams.concat(cls.getInnerClasses().stream(), cls.getMethods().stream()) + Stream.of(cls.getInnerClasses(), cls.getMethods()) + .flatMap(Collection::stream) .filter(node -> !node.contains(AFlag.DONT_GENERATE)) .sorted(Comparator.comparingInt(LineAttrNode::getSourceLine)) .forEach(node -> { diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/PrepareForCodeGen.java b/jadx-core/src/main/java/jadx/core/dex/visitors/PrepareForCodeGen.java index 5f3b33c95..c6dda47f6 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/PrepareForCodeGen.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/PrepareForCodeGen.java @@ -1,15 +1,15 @@ package jadx.core.dex.visitors; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.stream.Stream; import org.jetbrains.annotations.Nullable; -import com.google.common.collect.Streams; - import jadx.core.dex.attributes.AFlag; import jadx.core.dex.attributes.AType; import jadx.core.dex.attributes.nodes.DeclareVariablesAttr; @@ -266,11 +266,8 @@ public class PrepareForCodeGen extends AbstractVisitor { for (ClassNode innerClass : cls.getInnerClasses()) { setClassSourceLine(innerClass); } - - int minLine = Streams.concat( - cls.getMethods().stream(), - cls.getInnerClasses().stream(), - cls.getFields().stream()) + int minLine = Stream.of(cls.getMethods(), cls.getInnerClasses(), cls.getFields()) + .flatMap(Collection::stream) .filter(mth -> !mth.contains(AFlag.DONT_GENERATE)) .filter(mth -> mth.getSourceLine() != 0) .mapToInt(LineAttrNode::getSourceLine) diff --git a/jadx-core/src/main/java/jadx/core/utils/DebugUtils.java b/jadx-core/src/main/java/jadx/core/utils/DebugUtils.java index 217e78a38..cb55c9f88 100644 --- a/jadx-core/src/main/java/jadx/core/utils/DebugUtils.java +++ b/jadx-core/src/main/java/jadx/core/utils/DebugUtils.java @@ -1,13 +1,13 @@ package jadx.core.utils; import java.io.File; -import java.util.Arrays; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; +import java.util.stream.Stream; import org.jetbrains.annotations.TestOnly; import org.slf4j.Logger; @@ -128,7 +128,7 @@ public class DebugUtils { ig.makeInsn(insn, code); String codeStr = code.finish().getCodeStr(); - List insnStrings = Arrays.stream(codeStr.split(NL)) + List insnStrings = Stream.of(codeStr.split(NL)) .filter(StringUtils::notBlank) .map(s -> "|> " + s) .collect(Collectors.toList()); @@ -150,7 +150,7 @@ public class DebugUtils { private static void printWithAttributes(CodeWriter cw, String indent, String codeStr, IAttributeNode attrNode) { String str = attrNode.isAttrStorageEmpty() ? codeStr : codeStr + ' ' + attrNode.getAttributesString(); - List attrStrings = Arrays.stream(str.split(NL)) + List attrStrings = Stream.of(str.split(NL)) .filter(StringUtils::notBlank) .collect(Collectors.toList()); Iterator it = attrStrings.iterator(); diff --git a/jadx-core/src/test/java/jadx/tests/api/SmaliTest.java b/jadx-core/src/test/java/jadx/tests/api/SmaliTest.java index 241760dcb..e41160696 100644 --- a/jadx-core/src/test/java/jadx/tests/api/SmaliTest.java +++ b/jadx-core/src/test/java/jadx/tests/api/SmaliTest.java @@ -1,10 +1,10 @@ package jadx.tests.api; import java.io.File; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.Stream; import org.jetbrains.annotations.Nullable; import org.jf.smali.Smali; @@ -86,7 +86,7 @@ public abstract class SmaliTest extends IntegrationTest { File smaliDir = new File(SMALI_TESTS_DIR, smaliFilesDir); String[] smaliFileNames = smaliDir.list((dir, name) -> name.endsWith(".smali")); assertThat("Smali files not found in " + smaliDir, smaliFileNames, notNullValue()); - return Arrays.stream(smaliFileNames) + return Stream.of(smaliFileNames) .map(file -> new File(smaliDir, file)) .collect(Collectors.toList()); } diff --git a/jadx-gui/src/test/java/jadx/gui/utils/search/StringRefTest.java b/jadx-gui/src/test/java/jadx/gui/utils/search/StringRefTest.java index 28f991e3c..b6dd624d1 100644 --- a/jadx-gui/src/test/java/jadx/gui/utils/search/StringRefTest.java +++ b/jadx-gui/src/test/java/jadx/gui/utils/search/StringRefTest.java @@ -1,8 +1,8 @@ package jadx.gui.utils.search; -import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.Stream; import org.junit.jupiter.api.Test; @@ -62,7 +62,7 @@ class StringRefTest { } private static void checkSplit(String str, String splitBy, String... result) { - List expectedStringRegList = Arrays.stream(result).map(StringRef::fromStr).collect(Collectors.toList()); + List expectedStringRegList = Stream.of(result).map(StringRef::fromStr).collect(Collectors.toList()); assertThat(StringRef.split(str, splitBy), is(expectedStringRegList)); // compare with original split