diff --git a/jadx-cli/src/main/java/jadx/cli/JCommanderWrapper.java b/jadx-cli/src/main/java/jadx/cli/JCommanderWrapper.java index b4ca72798..a172084c8 100644 --- a/jadx-cli/src/main/java/jadx/cli/JCommanderWrapper.java +++ b/jadx-cli/src/main/java/jadx/cli/JCommanderWrapper.java @@ -90,7 +90,7 @@ public class JCommanderWrapper { if (fieldType == int.class) { try { int val = f.getInt(args); - opt.append(" (default: ").append(val).append(")"); + opt.append(" (default: ").append(val).append(')'); } catch (Exception e) { // ignore } diff --git a/jadx-core/src/main/java/jadx/api/CodePosition.java b/jadx-core/src/main/java/jadx/api/CodePosition.java index ca39b0764..e05e91425 100644 --- a/jadx-core/src/main/java/jadx/api/CodePosition.java +++ b/jadx-core/src/main/java/jadx/api/CodePosition.java @@ -57,6 +57,6 @@ public final class CodePosition { @Override public String toString() { - return line + ":" + offset + (node != null ? " " + node : ""); + return line + ':' + offset + (node != null ? " " + node : ""); } } diff --git a/jadx-core/src/main/java/jadx/core/codegen/InsnGen.java b/jadx-core/src/main/java/jadx/core/codegen/InsnGen.java index 6df3dedd4..e880c9404 100644 --- a/jadx-core/src/main/java/jadx/core/codegen/InsnGen.java +++ b/jadx-core/src/main/java/jadx/core/codegen/InsnGen.java @@ -499,12 +499,12 @@ public class InsnGen { case PHI: fallbackOnlyInsn(insn); - code.add(insn.getType().toString()).add("("); + code.add(insn.getType().toString()).add('('); for (InsnArg insnArg : insn.getArguments()) { addArg(code, insnArg); code.add(' '); } - code.add(")"); + code.add(')'); break; default: diff --git a/jadx-core/src/main/java/jadx/core/codegen/MethodGen.java b/jadx-core/src/main/java/jadx/core/codegen/MethodGen.java index c27dc6598..7e5a2887f 100644 --- a/jadx-core/src/main/java/jadx/core/codegen/MethodGen.java +++ b/jadx-core/src/main/java/jadx/core/codegen/MethodGen.java @@ -184,9 +184,9 @@ public class MethodGen { code.startLine("throw new UnsupportedOperationException(\"Method not decompiled: ") .add(clsAlias.makeFullClsName(clsAlias.getShortName(), true)) - .add(".") + .add('.') .add(mth.getAlias()) - .add("(") + .add('(') .add(Utils.listToString(mth.getMethodInfo().getArgumentsTypes())) .add("):") .add(mth.getMethodInfo().getReturnType().toString()) diff --git a/jadx-core/src/main/java/jadx/core/codegen/TypeGen.java b/jadx-core/src/main/java/jadx/core/codegen/TypeGen.java index 4c9b2266d..400e06fbf 100644 --- a/jadx-core/src/main/java/jadx/core/codegen/TypeGen.java +++ b/jadx-core/src/main/java/jadx/core/codegen/TypeGen.java @@ -129,7 +129,7 @@ public class TypeGen { } String str = Long.toString(l); if (Math.abs(l) >= Integer.MAX_VALUE) { - str += "L"; + str += 'L'; } return str; } diff --git a/jadx-core/src/main/java/jadx/core/dex/nodes/parser/SignatureParser.java b/jadx-core/src/main/java/jadx/core/dex/nodes/parser/SignatureParser.java index 5b239e158..5d7b983e9 100644 --- a/jadx-core/src/main/java/jadx/core/dex/nodes/parser/SignatureParser.java +++ b/jadx-core/src/main/java/jadx/core/dex/nodes/parser/SignatureParser.java @@ -169,7 +169,7 @@ public class SignatureParser { // generic type start ('<') String obj = slice(); if (!incompleteType) { - obj += ";"; + obj += ';'; } ArgType[] genArr = consumeGenericArgs(); consume('>'); @@ -211,7 +211,7 @@ public class SignatureParser { list.add(type); } } while (type != null && !lookAhead('>')); - return list.toArray(new ArgType[list.size()]); + return list.toArray(new ArgType[0]); } /** diff --git a/jadx-core/src/main/java/jadx/core/utils/files/FileUtils.java b/jadx-core/src/main/java/jadx/core/utils/files/FileUtils.java index cebbf6e34..a8f8a4fb5 100644 --- a/jadx-core/src/main/java/jadx/core/utils/files/FileUtils.java +++ b/jadx-core/src/main/java/jadx/core/utils/files/FileUtils.java @@ -67,7 +67,7 @@ public class FileUtils { public static File createTempFile(String suffix) { File temp; try { - temp = File.createTempFile("jadx-tmp-", System.nanoTime() + "-" + suffix); + temp = File.createTempFile("jadx-tmp-", System.nanoTime() + '-' + suffix); temp.deleteOnExit(); } catch (IOException e) { throw new JadxRuntimeException("Failed to create temp file with suffix: " + suffix); diff --git a/jadx-core/src/main/java/jadx/core/xmlgen/BinaryXMLParser.java b/jadx-core/src/main/java/jadx/core/xmlgen/BinaryXMLParser.java index 9cd1cf444..8912f4594 100644 --- a/jadx-core/src/main/java/jadx/core/xmlgen/BinaryXMLParser.java +++ b/jadx-core/src/main/java/jadx/core/xmlgen/BinaryXMLParser.java @@ -209,7 +209,7 @@ public class BinaryXMLParser extends CommonBinaryParser { String str = getString(strIndex); if (!isLastEnd) { isLastEnd = true; - writer.add(">"); + writer.add('>'); } writer.attachSourceLine(lineNumber); String escapedStr = StringUtils.escapeXML(str); @@ -235,13 +235,13 @@ public class BinaryXMLParser extends CommonBinaryParser { int startNS = is.readInt32(); int startNSName = is.readInt32(); // actually is elementName... if (!isLastEnd && !"ERROR".equals(currentTag)) { - writer.add(">"); + writer.add('>'); } isOneLine = true; isLastEnd = false; currentTag = deobfClassName(getString(startNSName)); currentTag = getValidTagAttributeName(currentTag); - writer.startLine("<").add(currentTag); + writer.startLine('<').add(currentTag); writer.attachSourceLine(elementBegLineNumber); int attributeStart = is.readInt16(); if (attributeStart != 0x14) { @@ -263,7 +263,7 @@ public class BinaryXMLParser extends CommonBinaryParser { writer.add(':'); writer.add(nsValue); } - writer.add("=\"").add(StringUtils.escapeXML(entry.getKey())).add("\""); + writer.add("=\"").add(StringUtils.escapeXML(entry.getKey())).add('"'); } } boolean attrNewLine = attributeCount != 1 && ATTR_NEW_LINE; @@ -373,13 +373,13 @@ public class BinaryXMLParser extends CommonBinaryParser { // reference custom processing String name = styleMap.get(attrValData); if (name != null) { - writer.add("@style/").add(name.replaceAll("_", ".")); + writer.add("@style/").add(name.replace('_', '.')); } else { String resName = resNames.get(attrValData); if (resName != null) { - writer.add("@"); + writer.add('@'); if (resName.startsWith("id/")) { - writer.add("+"); + writer.add('+'); } writer.add(resName); } else { @@ -424,7 +424,7 @@ public class BinaryXMLParser extends CommonBinaryParser { // if (elementNS != -1) { // writer.add(getString(elementNS)).add(':'); // } - writer.add(elemName).add(">"); + writer.add(elemName).add('>'); } isLastEnd = true; if (writer.getIndent() != 0) { diff --git a/jadx-core/src/main/java/jadx/core/xmlgen/ResContainer.java b/jadx-core/src/main/java/jadx/core/xmlgen/ResContainer.java index 87fbfa989..b3b70fb87 100644 --- a/jadx-core/src/main/java/jadx/core/xmlgen/ResContainer.java +++ b/jadx-core/src/main/java/jadx/core/xmlgen/ResContainer.java @@ -49,7 +49,7 @@ public class ResContainer implements Comparable { } public String getFileName() { - return name.replace("/", File.separator); + return name.replace('/', File.separatorChar); } public List getSubFiles() { diff --git a/jadx-core/src/main/java/jadx/core/xmlgen/ResXmlGen.java b/jadx-core/src/main/java/jadx/core/xmlgen/ResXmlGen.java index d465b8642..58f721ceb 100644 --- a/jadx-core/src/main/java/jadx/core/xmlgen/ResXmlGen.java +++ b/jadx-core/src/main/java/jadx/core/xmlgen/ResXmlGen.java @@ -182,9 +182,9 @@ public class ResXmlGen { cw.add('<').add(itemTag); if (attrName != null && attrValue != null) { if (typeName.equals("attr")) { - cw.add(' ').add("name=\"").add(attrName.replace("id.", "")).add("\" value=\"").add(attrValue).add("\""); + cw.add(' ').add("name=\"").add(attrName.replace("id.", "")).add("\" value=\"").add(attrValue).add('"'); } else if (typeName.equals("style")) { - cw.add(' ').add("name=\"").add(attrName.replace("attr.", "")).add("\""); + cw.add(' ').add("name=\"").add(attrName.replace("attr.", "")).add('"'); } else { cw.add(' ').add(attrName).add("=\"").add(attrValue).add('"'); } diff --git a/jadx-core/src/test/java/jadx/api/JadxArgsValidatorOutDirsTest.java b/jadx-core/src/test/java/jadx/api/JadxArgsValidatorOutDirsTest.java index e99a89a63..130ed8656 100644 --- a/jadx-core/src/test/java/jadx/api/JadxArgsValidatorOutDirsTest.java +++ b/jadx-core/src/test/java/jadx/api/JadxArgsValidatorOutDirsTest.java @@ -44,8 +44,8 @@ public class JadxArgsValidatorOutDirsTest { setOutDirs(null, null, null); String inputFileBase = args.getInputFiles().get(0).getName().replace(".apk", ""); checkOutDirs(inputFileBase, - inputFileBase + "/" + JadxArgs.DEFAULT_SRC_DIR, - inputFileBase + "/" + JadxArgs.DEFAULT_RES_DIR); + inputFileBase + '/' + JadxArgs.DEFAULT_SRC_DIR, + inputFileBase + '/' + JadxArgs.DEFAULT_RES_DIR); } private void setOutDirs(String outDir, String srcDir, String resDir) { diff --git a/jadx-core/src/test/java/jadx/core/dex/visitors/typeinference/TypeCompareTest.java b/jadx-core/src/test/java/jadx/core/dex/visitors/typeinference/TypeCompareTest.java index 2129774d0..53d1a016c 100644 --- a/jadx-core/src/test/java/jadx/core/dex/visitors/typeinference/TypeCompareTest.java +++ b/jadx-core/src/test/java/jadx/core/dex/visitors/typeinference/TypeCompareTest.java @@ -122,7 +122,7 @@ public class TypeCompareTest { private void check(ArgType first, ArgType second, TypeCompareEnum expectedResult) { TypeCompareEnum result = compare.compareTypes(first, second); - assertThat("Compare '" + first + "' vs '" + second + "'", + assertThat("Compare '" + first + "' vs '" + second + '\'', result, is(expectedResult)); } } diff --git a/jadx-core/src/test/java/jadx/tests/api/IntegrationTest.java b/jadx-core/src/test/java/jadx/tests/api/IntegrationTest.java index 8e4bca9a0..e9fbc2240 100644 --- a/jadx-core/src/test/java/jadx/tests/api/IntegrationTest.java +++ b/jadx-core/src/test/java/jadx/tests/api/IntegrationTest.java @@ -317,7 +317,7 @@ public abstract class IntegrationTest extends TestUtils { File temp = createTempFile(".jar"); try (JarOutputStream jo = new JarOutputStream(new FileOutputStream(temp))) { for (File file : list) { - addFileToJar(jo, file, path + "/" + file.getName()); + addFileToJar(jo, file, path + '/' + file.getName()); } } return temp; @@ -340,7 +340,7 @@ public abstract class IntegrationTest extends TestUtils { private static File createTempDir(String prefix) throws IOException { File baseDir = new File(System.getProperty("java.io.tmpdir")); - String baseName = prefix + "-" + System.nanoTime(); + String baseName = prefix + '-' + System.nanoTime(); for (int counter = 1; counter < 1000; counter++) { File tempDir = new File(baseDir, baseName + counter); if (tempDir.mkdir()) { @@ -360,7 +360,7 @@ public abstract class IntegrationTest extends TestUtils { File directory = new File(pkgResource.toURI()); String[] files = directory.list(); for (String file : files) { - String fullName = pkgName + "." + file; + String fullName = pkgName + '.' + file; if (fullName.startsWith(clsName)) { list.add(new File(directory, file)); } 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 baabbda9c..5c88cddd1 100644 --- a/jadx-core/src/test/java/jadx/tests/api/SmaliTest.java +++ b/jadx-core/src/test/java/jadx/tests/api/SmaliTest.java @@ -44,7 +44,7 @@ public abstract class SmaliTest extends IntegrationTest { protected ClassNode getClassNodeFromSmaliFiles(String pkg, String testName, String clsName) { File outDex = createTempFile(".dex"); compileSmali(outDex, collectSmaliFiles(pkg, testName)); - return getClassNodeFromFile(outDex, pkg + "." + clsName); + return getClassNodeFromFile(outDex, pkg + '.' + clsName); } protected JadxDecompiler loadSmaliFile(String pkg, String smaliFileName) { diff --git a/jadx-core/src/test/java/jadx/tests/functional/StringUtilsTest.java b/jadx-core/src/test/java/jadx/tests/functional/StringUtilsTest.java index bd3283c21..34fef46a9 100644 --- a/jadx-core/src/test/java/jadx/tests/functional/StringUtilsTest.java +++ b/jadx-core/src/test/java/jadx/tests/functional/StringUtilsTest.java @@ -32,7 +32,7 @@ class StringUtilsTest { } private void checkStringUnescape(String input, String result) { - assertThat(stringUtils.unescapeString(input), is("\"" + result + "\"")); + assertThat(stringUtils.unescapeString(input), is('"' + result + '"')); } @Test @@ -47,6 +47,6 @@ class StringUtilsTest { } private void checkCharUnescape(char input, String result) { - assertThat(stringUtils.unescapeChar(input), is("'" + result + "'")); + assertThat(stringUtils.unescapeChar(input), is('\'' + result + '\'')); } } diff --git a/jadx-core/src/test/java/jadx/tests/integration/TestStringBuilderElimination2.java b/jadx-core/src/test/java/jadx/tests/integration/TestStringBuilderElimination2.java index a3413e8d7..f3ce0d525 100644 --- a/jadx-core/src/test/java/jadx/tests/integration/TestStringBuilderElimination2.java +++ b/jadx-core/src/test/java/jadx/tests/integration/TestStringBuilderElimination2.java @@ -18,7 +18,7 @@ public class TestStringBuilderElimination2 extends IntegrationTest { public static class TestCls1 { public String test() { - return new StringBuilder("[init]").append("a1").append('c').append(2).append(0l).append(1.0f). + return new StringBuilder("[init]").append("a1").append('c').append(2).append(0L).append(1.0f). append(2.0d).append(true).toString(); } } diff --git a/jadx-core/src/test/java/jadx/tests/integration/annotations/AnnotationsRenaming.java b/jadx-core/src/test/java/jadx/tests/integration/annotations/AnnotationsRenaming.java new file mode 100644 index 000000000..477dd9614 --- /dev/null +++ b/jadx-core/src/test/java/jadx/tests/integration/annotations/AnnotationsRenaming.java @@ -0,0 +1,44 @@ +package jadx.tests.integration.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.junit.jupiter.api.Test; + +import jadx.NotYetImplemented; +import jadx.core.dex.nodes.ClassNode; +import jadx.tests.api.IntegrationTest; + +import static org.hamcrest.CoreMatchers.containsString; +import static org.hamcrest.CoreMatchers.not; +import static org.hamcrest.MatcherAssert.assertThat; + +public class AnnotationsRenaming extends IntegrationTest { + + public static class TestCls { + + @Target({ElementType.METHOD}) + @Retention(RetentionPolicy.RUNTIME) + public static @interface A { + int x(); + } + + @A(x = 5) + void test() { + } + + } + + @Test + @NotYetImplemented + public void test504() { + enableDeobfuscation(); + ClassNode cls = getClassNode(TestCls.class); + String code = cls.getCode().toString(); + + assertThat(code, containsString("public static @interface ")); + assertThat(code, not(containsString("(x = 5)"))); + } +} diff --git a/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnums.java b/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnums.java index eb1b066f1..54accdbe2 100644 --- a/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnums.java +++ b/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnums.java @@ -46,10 +46,10 @@ public class TestEnums extends IntegrationTest { assertThat(code, containsLines(1, "public enum EmptyEnum {", "}")); assertThat(code, containsLines(1, "public enum EmptyEnum2 {", - indent(1) + ";", + indent(1) + ';', "", indent(1) + "public static void mth() {", - indent(1) + "}", + indent(1) + '}', "}")); assertThat(code, containsLines(1, "public enum Direction {", @@ -64,7 +64,7 @@ public class TestEnums extends IntegrationTest { "", indent(1) + "public String test() {", indent(2) + "return \"\";", - indent(1) + "}", + indent(1) + '}', "}")); } } diff --git a/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnums2.java b/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnums2.java index 11f65a0e1..2aafe0245 100644 --- a/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnums2.java +++ b/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnums2.java @@ -38,12 +38,12 @@ public class TestEnums2 extends IntegrationTest { indent(1) + "PLUS {", indent(2) + "public int apply(int x, int y) {", indent(3) + "return x + y;", - indent(2) + "}", + indent(2) + '}', indent(1) + "},", indent(1) + "MINUS {", indent(2) + "public int apply(int x, int y) {", indent(3) + "return x - y;", - indent(2) + "}", + indent(2) + '}', indent(1) + "};", "", indent(1) + "public abstract int apply(int i, int i2);", diff --git a/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnums3.java b/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnums3.java index 2384d53f7..e55d7118b 100644 --- a/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnums3.java +++ b/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnums3.java @@ -7,7 +7,7 @@ import jadx.tests.api.IntegrationTest; import static jadx.tests.api.utils.JadxMatchers.containsOne; import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; public class TestEnums3 extends IntegrationTest { @@ -30,9 +30,9 @@ public class TestEnums3 extends IntegrationTest { } public void check() { - assertTrue(Numbers.ONE.getNum() == 1); - assertTrue(Numbers.THREE.getNum() == 3); - assertTrue(Numbers.FOUR.getNum() == 4); + assertEquals(1, Numbers.ONE.getNum()); + assertEquals(3, Numbers.THREE.getNum()); + assertEquals(4, Numbers.FOUR.getNum()); } } diff --git a/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnumsInterface.java b/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnumsInterface.java index 62a09be8b..1e3d44a8e 100644 --- a/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnumsInterface.java +++ b/jadx-core/src/test/java/jadx/tests/integration/enums/TestEnumsInterface.java @@ -40,13 +40,13 @@ public class TestEnumsInterface extends IntegrationTest { indent(1) + "PLUS {", indent(2) + "public int apply(int x, int y) {", indent(3) + "return x + y;", - indent(2) + "}", + indent(2) + '}', indent(1) + "},", indent(1) + "MINUS {", indent(2) + "public int apply(int x, int y) {", indent(3) + "return x - y;", - indent(2) + "}", - indent(1) + "}", + indent(2) + '}', + indent(1) + '}', "}" )); } diff --git a/jadx-core/src/test/java/jadx/tests/integration/inner/TestAnonymousClass4.java b/jadx-core/src/test/java/jadx/tests/integration/inner/TestAnonymousClass4.java index 6c53a59a3..62c74eedf 100644 --- a/jadx-core/src/test/java/jadx/tests/integration/inner/TestAnonymousClass4.java +++ b/jadx-core/src/test/java/jadx/tests/integration/inner/TestAnonymousClass4.java @@ -37,9 +37,9 @@ public class TestAnonymousClass4 extends IntegrationTest { String code = cls.getCode().toString(); assertThat(code, containsOne(indent(3) + "new Thread() {")); - assertThat(code, containsOne(indent(4) + "{")); + assertThat(code, containsOne(indent(4) + '{')); assertThat(code, containsOne("f = 1;")); - assertThat(code, countString(2, indent(4) + "}")); + assertThat(code, countString(2, indent(4) + '}')); assertThat(code, containsOne(indent(4) + "public void run() {")); assertThat(code, containsOne("d = 7.5")); assertThat(code, containsOne(indent(3) + "}.start();")); diff --git a/jadx-core/src/test/java/jadx/tests/integration/loops/TestArrayForEach2.java b/jadx-core/src/test/java/jadx/tests/integration/loops/TestArrayForEach2.java index 97138fafe..0de2c74ee 100644 --- a/jadx-core/src/test/java/jadx/tests/integration/loops/TestArrayForEach2.java +++ b/jadx-core/src/test/java/jadx/tests/integration/loops/TestArrayForEach2.java @@ -35,7 +35,7 @@ public class TestArrayForEach2 extends IntegrationTest { indent(1) + "String t = s.trim();", indent(1) + "if (t.length() > 0) {", indent(2) + "System.out.println(t);", - indent(1) + "}", + indent(1) + '}', "}" )); } diff --git a/jadx-core/src/test/java/jadx/tests/integration/others/TestIssue13a.java b/jadx-core/src/test/java/jadx/tests/integration/others/TestIssue13a.java index f97189a24..b2d63d5e9 100644 --- a/jadx-core/src/test/java/jadx/tests/integration/others/TestIssue13a.java +++ b/jadx-core/src/test/java/jadx/tests/integration/others/TestIssue13a.java @@ -41,18 +41,18 @@ public class TestIssue13a extends IntegrationTest { Field f = c.getField("CREATOR"); creator = (Parcelable.Creator) f.get(null); } catch (IllegalAccessException e) { - Log.e(TAG, "1" + name + ", e: " + e); - throw new RuntimeException("2" + name); + Log.e(TAG, '1' + name + ", e: " + e); + throw new RuntimeException('2' + name); } catch (ClassNotFoundException e) { - Log.e(TAG, "3" + name + ", e: " + e); - throw new RuntimeException("4" + name); + Log.e(TAG, '3' + name + ", e: " + e); + throw new RuntimeException('4' + name); } catch (ClassCastException e) { - throw new RuntimeException("5" + name); + throw new RuntimeException('5' + name); } catch (NoSuchFieldException e) { - throw new RuntimeException("6" + name); + throw new RuntimeException('6' + name); } if (creator == null) { - throw new RuntimeException("7" + name); + throw new RuntimeException('7' + name); } map.put(name, creator); } @@ -95,7 +95,7 @@ public class TestIssue13a extends IntegrationTest { String code = cls.getCode().toString(); for (int i = 1; i <= 7; i++) { - assertThat(code, containsOne("\"" + i + "\"")); + assertThat(code, containsOne("'" + i + '\'')); } // TODO: add additional checks diff --git a/jadx-core/src/test/java/jadx/tests/integration/synchronize/TestSynchronized.java b/jadx-core/src/test/java/jadx/tests/integration/synchronize/TestSynchronized.java index f5d946ab7..6260dd953 100644 --- a/jadx-core/src/test/java/jadx/tests/integration/synchronize/TestSynchronized.java +++ b/jadx-core/src/test/java/jadx/tests/integration/synchronize/TestSynchronized.java @@ -38,7 +38,7 @@ public class TestSynchronized extends IntegrationTest { assertThat(code, containsOne("return this.f")); assertThat(code, containsOne("synchronized (this.o) {")); - assertThat(code, not(containsString(indent(3) + ";"))); + assertThat(code, not(containsString(indent(3) + ';'))); assertThat(code, not(containsString("try {"))); assertThat(code, not(containsString("} catch (Throwable th) {"))); assertThat(code, not(containsString("throw th;"))); diff --git a/jadx-core/src/test/java/jadx/tests/integration/trycatch/TestTryCatch7.java b/jadx-core/src/test/java/jadx/tests/integration/trycatch/TestTryCatch7.java index 44c61245f..8ae2205e9 100644 --- a/jadx-core/src/test/java/jadx/tests/integration/trycatch/TestTryCatch7.java +++ b/jadx-core/src/test/java/jadx/tests/integration/trycatch/TestTryCatch7.java @@ -43,8 +43,8 @@ public class TestTryCatch7 extends IntegrationTest { private void check(String code, String excVarName, String catchExcVarName) { assertThat(code, containsOne("Exception " + excVarName + " = new Exception();")); assertThat(code, containsOne("} catch (Exception " + catchExcVarName + ") {")); - assertThat(code, containsOne(excVarName + " = " + catchExcVarName + ";")); + assertThat(code, containsOne(excVarName + " = " + catchExcVarName + ';')); assertThat(code, containsOne(excVarName + ".printStackTrace();")); - assertThat(code, containsOne("return " + excVarName + ";")); + assertThat(code, containsOne("return " + excVarName + ';')); } } diff --git a/jadx-core/src/test/java/jadx/tests/integration/trycatch/TestTryCatchFinally6.java b/jadx-core/src/test/java/jadx/tests/integration/trycatch/TestTryCatchFinally6.java index cf74391a9..e6b01178a 100644 --- a/jadx-core/src/test/java/jadx/tests/integration/trycatch/TestTryCatchFinally6.java +++ b/jadx-core/src/test/java/jadx/tests/integration/trycatch/TestTryCatchFinally6.java @@ -44,7 +44,7 @@ public class TestTryCatchFinally6 extends IntegrationTest { "} finally {", indent(1) + "if (is != null) {", indent(2) + "is.close();", - indent(1) + "}", + indent(1) + '}', "}" )); } @@ -63,7 +63,7 @@ public class TestTryCatchFinally6 extends IntegrationTest { "} finally {", indent() + "if (fileInputStream != null) {", indent() + indent() + "fileInputStream.close();", - indent() + "}", + indent() + '}', "}" )); } diff --git a/jadx-core/src/test/java/jadx/tests/integration/trycatch/TestTryCatchInIf.java b/jadx-core/src/test/java/jadx/tests/integration/trycatch/TestTryCatchInIf.java index 29a1e8f6c..a2ac81ffb 100644 --- a/jadx-core/src/test/java/jadx/tests/integration/trycatch/TestTryCatchInIf.java +++ b/jadx-core/src/test/java/jadx/tests/integration/trycatch/TestTryCatchInIf.java @@ -23,7 +23,7 @@ public class TestTryCatchInIf extends IntegrationTest { } else { key = Integer.parseInt(value); } - return name + "=" + key; + return name + '=' + key; } catch (NumberFormatException e) { return "Failed to parse number"; } diff --git a/jadx-core/src/test/java/jadx/tests/integration/variables/TestVariables4.java b/jadx-core/src/test/java/jadx/tests/integration/variables/TestVariables4.java index 9baa1de13..2674e9583 100644 --- a/jadx-core/src/test/java/jadx/tests/integration/variables/TestVariables4.java +++ b/jadx-core/src/test/java/jadx/tests/integration/variables/TestVariables4.java @@ -37,7 +37,7 @@ public class TestVariables4 extends IntegrationTest { msg = "not extends AbstractTest"; } System.err.println(">> " - + (pass ? "PASS" : "FAIL") + "\t" + + (pass ? "PASS" : "FAIL") + '\t' + clsName + (msg == null ? "" : "\t - " + msg)); if (exc != null) { diff --git a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsWindow.java b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsWindow.java index c2252a9a7..0646a1b40 100644 --- a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsWindow.java +++ b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsWindow.java @@ -211,7 +211,7 @@ public class JadxSettingsWindow extends JDialog { private String getFontLabelStr() { Font font = settings.getFont(); String fontStyleName = Utils.getFontStyleName(font.getStyle()); - return NLS.str("preferences.font") + ": " + font.getFontName() + " " + fontStyleName + " " + font.getSize(); + return NLS.str("preferences.font") + ": " + font.getFontName() + ' ' + fontStyleName + ' ' + font.getSize(); } private SettingsGroup makeDecompilationGroup() { diff --git a/jadx-gui/src/main/java/jadx/gui/treemodel/JMethod.java b/jadx-gui/src/main/java/jadx/gui/treemodel/JMethod.java index 798e3ac16..e657c965b 100644 --- a/jadx-gui/src/main/java/jadx/gui/treemodel/JMethod.java +++ b/jadx-gui/src/main/java/jadx/gui/treemodel/JMethod.java @@ -94,7 +94,7 @@ public class JMethod extends JNode { @Override public String makeLongString() { - String name = mth.getDeclaringClass().getFullName() + "." + makeBaseString(); + String name = mth.getDeclaringClass().getFullName() + '.' + makeBaseString(); return Utils.typeFormat(name, getReturnType()); } diff --git a/jadx-gui/src/main/java/jadx/gui/treemodel/JSources.java b/jadx-gui/src/main/java/jadx/gui/treemodel/JSources.java index 09a66d91d..6522dec96 100644 --- a/jadx-gui/src/main/java/jadx/gui/treemodel/JSources.java +++ b/jadx-gui/src/main/java/jadx/gui/treemodel/JSources.java @@ -66,7 +66,7 @@ public class JSources extends JNode { pkg.getInnerPackages().clear(); pkg.getInnerPackages().addAll(innerPkg.getInnerPackages()); pkg.getClasses().addAll(innerPkg.getClasses()); - pkg.setName(pkg.getName() + "." + innerPkg.getName()); + pkg.setName(pkg.getName() + '.' + innerPkg.getName()); innerPkg.getInnerPackages().clear(); innerPkg.getClasses().clear(); diff --git a/jadx-gui/src/main/java/jadx/gui/ui/codearea/SearchBar.java b/jadx-gui/src/main/java/jadx/gui/ui/codearea/SearchBar.java index c0af0bffb..4ccd8ac33 100644 --- a/jadx-gui/src/main/java/jadx/gui/ui/codearea/SearchBar.java +++ b/jadx-gui/src/main/java/jadx/gui/ui/codearea/SearchBar.java @@ -44,7 +44,7 @@ class SearchBar extends JToolBar { public SearchBar(RSyntaxTextArea textArea) { rTextArea = textArea; - JLabel findLabel = new JLabel(NLS.str("search.find") + ":"); + JLabel findLabel = new JLabel(NLS.str("search.find") + ':'); add(findLabel); searchField = new JTextField(30); diff --git a/jadx-gui/src/main/java/jadx/gui/utils/CertificateManager.java b/jadx-gui/src/main/java/jadx/gui/utils/CertificateManager.java index a64ec479f..43096f2ec 100755 --- a/jadx-gui/src/main/java/jadx/gui/utils/CertificateManager.java +++ b/jadx-gui/src/main/java/jadx/gui/utils/CertificateManager.java @@ -126,13 +126,13 @@ public class CertificateManager { StringBuilder builder = new StringBuilder(); if (x509cert != null) { builder.append(generateHeader()); - builder.append("\n"); + builder.append('\n'); builder.append(generatePublicKey()); - builder.append("\n"); + builder.append('\n'); builder.append(generateSignature()); - builder.append("\n"); + builder.append('\n'); builder.append(generateFingerprint()); } return builder.toString(); @@ -150,7 +150,7 @@ public class CertificateManager { } static void append(StringBuilder str, String name, String value) { - str.append(name).append(": ").append(value).append("\n"); + str.append(name).append(": ").append(value).append('\n'); } public static String getThumbPrint(X509Certificate cert, String type) diff --git a/jadx-samples/src/main/java/jadx/samples/RunTests.java b/jadx-samples/src/main/java/jadx/samples/RunTests.java index 6ab2c55d6..6dcdecb91 100644 --- a/jadx-samples/src/main/java/jadx/samples/RunTests.java +++ b/jadx-samples/src/main/java/jadx/samples/RunTests.java @@ -65,7 +65,7 @@ public class RunTests { msg = "not extends AbstractTest"; } System.err.println(">> " - + (pass ? "PASS" : "FAIL") + "\t" + + (pass ? "PASS" : "FAIL") + '\t' + clsName + (msg == null ? "" : "\t - " + msg)); if (exc != null) { diff --git a/jadx-samples/src/main/java/jadx/samples/TestStringProcessing.java b/jadx-samples/src/main/java/jadx/samples/TestStringProcessing.java index c32928492..4c4d80e06 100644 --- a/jadx-samples/src/main/java/jadx/samples/TestStringProcessing.java +++ b/jadx-samples/src/main/java/jadx/samples/TestStringProcessing.java @@ -12,7 +12,7 @@ public class TestStringProcessing extends AbstractTest { public void testStringConcat() { String s = "1"; - assertEquals("a" + s, "a1"); + assertEquals('a' + s, "a1"); } @Override