From 5557fd814baed42ad46fbc45b2794652fd433ebe Mon Sep 17 00:00:00 2001 From: Skylot Date: Sun, 2 Mar 2014 23:34:40 +0400 Subject: [PATCH] fix some code style issues --- .../java/jadx/core/codegen/CodeWriter.java | 25 ++++++---- .../java/jadx/core/codegen/ConditionGen.java | 3 +- .../main/java/jadx/core/codegen/InsnGen.java | 17 ++++--- .../java/jadx/core/codegen/MethodGen.java | 14 ++---- .../core/dex/attributes/AttributeType.java | 8 +-- .../core/dex/attributes/AttributesList.java | 5 +- .../java/jadx/core/dex/info/ClassInfo.java | 27 +++++----- .../java/jadx/core/dex/info/FieldInfo.java | 12 ++--- .../java/jadx/core/dex/info/MethodInfo.java | 8 +-- .../jadx/core/dex/instructions/ArithOp.java | 4 +- .../core/dex/instructions/args/ArgType.java | 8 +-- .../dex/instructions/args/InsnWrapArg.java | 4 +- .../java/jadx/core/dex/nodes/BlockNode.java | 2 +- .../java/jadx/core/dex/nodes/ClassNode.java | 2 +- .../dex/nodes/parser/AnnotationsParser.java | 12 ++--- .../jadx/core/dex/regions/IfCondition.java | 50 +++++++++---------- .../jadx/core/dex/visitors/CodeShrinker.java | 10 ++-- .../dex/visitors/regions/CheckRegions.java | 2 +- .../dex/visitors/regions/CleanRegions.java | 5 +- .../main/java/jadx/core/utils/BlockUtils.java | 3 ++ .../main/java/jadx/core/utils/InsnList.java | 12 ++--- .../main/java/jadx/core/utils/InsnUtils.java | 3 ++ .../java/jadx/core/utils/RegionUtils.java | 3 ++ .../java/jadx/core/utils/StringUtils.java | 3 ++ .../src/main/java/jadx/core/utils/Utils.java | 1 + .../jadx/tests/internal/TestLineNumbers.java | 2 +- .../internal/conditions/TestConditions2.java | 2 +- .../tests/internal/inline/TestInline.java | 2 +- .../tests/internal/inline/TestInline2.java | 2 +- .../tests/internal/inline/TestInline6.java | 1 - .../java/jadx/gui/treemodel/TextNode.java | 3 ++ 31 files changed, 136 insertions(+), 119 deletions(-) diff --git a/jadx-core/src/main/java/jadx/core/codegen/CodeWriter.java b/jadx-core/src/main/java/jadx/core/codegen/CodeWriter.java index 0cc1682bf..590422197 100644 --- a/jadx-core/src/main/java/jadx/core/codegen/CodeWriter.java +++ b/jadx-core/src/main/java/jadx/core/codegen/CodeWriter.java @@ -19,6 +19,15 @@ public class CodeWriter { public static final String NL = System.getProperty("line.separator"); public static final String INDENT = "\t"; + private static final String[] INDENT_CACHE = { + "", + INDENT, + INDENT + INDENT, + INDENT + INDENT + INDENT, + INDENT + INDENT + INDENT + INDENT, + INDENT + INDENT + INDENT + INDENT + INDENT, + }; + private final StringBuilder buf = new StringBuilder(); private String indentStr; private int indent; @@ -66,6 +75,11 @@ public class CodeWriter { return this; } + public CodeWriter add(Object obj) { + buf.append(obj); + return this; + } + public CodeWriter add(String str) { buf.append(str); return this; @@ -116,18 +130,9 @@ public class CodeWriter { return this; } - private static final String[] INDENT_CACHE = { - "", - INDENT, - INDENT + INDENT, - INDENT + INDENT + INDENT, - INDENT + INDENT + INDENT + INDENT, - INDENT + INDENT + INDENT + INDENT + INDENT, - }; - private void updateIndent() { int curIndent = indent; - if (curIndent < 6) { + if (curIndent < INDENT_CACHE.length) { this.indentStr = INDENT_CACHE[curIndent]; } else { StringBuilder s = new StringBuilder(curIndent * INDENT.length()); diff --git a/jadx-core/src/main/java/jadx/core/codegen/ConditionGen.java b/jadx-core/src/main/java/jadx/core/codegen/ConditionGen.java index 374d51581..dc99a2a21 100644 --- a/jadx-core/src/main/java/jadx/core/codegen/ConditionGen.java +++ b/jadx-core/src/main/java/jadx/core/codegen/ConditionGen.java @@ -81,8 +81,7 @@ public class ConditionGen { } InsnNode insn = ((InsnWrapArg) arg).getWrapInsn(); if (insn.getType() == InsnType.ARITH) { - ArithNode arith = ((ArithNode) insn); - switch (arith.getOp()) { + switch (((ArithNode) insn).getOp()) { case ADD: case SUB: case MUL: 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 953494a63..2c135ffd3 100644 --- a/jadx-core/src/main/java/jadx/core/codegen/InsnGen.java +++ b/jadx-core/src/main/java/jadx/core/codegen/InsnGen.java @@ -255,14 +255,14 @@ public class InsnGen { case CAST: { boolean wrap = state.contains(IGState.BODY_ONLY); if (wrap) { - code.add("("); + code.add('('); } - code.add("("); - code.add(useType(((ArgType) ((IndexInsnNode) insn).getIndex()))); + code.add('('); + code.add(useType((ArgType) ((IndexInsnNode) insn).getIndex())); code.add(") "); addArg(code, insn.getArg(0), true); if (wrap) { - code.add(")"); + code.add(')'); } break; } @@ -461,10 +461,11 @@ public class InsnGen { code.add("switch(").add(arg(insn, 0)).add(") {"); code.incIndent(); for (int i = 0; i < sw.getCasesCount(); i++) { - code.startLine("case " + sw.getKeys()[i] - + ": goto " + MethodGen.getLabelName(sw.getTargets()[i]) + ";"); + code.startLine("case ").add(sw.getKeys()[i]).add(": goto "); + code.add(MethodGen.getLabelName(sw.getTargets()[i])).add(';'); } - code.startLine("default: goto " + MethodGen.getLabelName(sw.getDefaultCaseOffset()) + ";"); + code.startLine("default: goto "); + code.add(MethodGen.getLabelName(sw.getDefaultCaseOffset())).add(';'); code.decIndent(); code.startLine('}'); state.add(IGState.NO_SEMICOLON); @@ -719,7 +720,7 @@ public class InsnGen { code.add(cond); } else { if (state.contains(IGState.BODY_ONLY)) { - code.add("((").add(cond).add(')').add(" ? ").add(th).add(" : ").add(els).add(")"); + code.add("((").add(cond).add(')').add(" ? ").add(th).add(" : ").add(els).add(')'); } else { code.add('(').add(cond).add(')').add(" ? ").add(th).add(" : ").add(els); } 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 d9965e768..fdae5959e 100644 --- a/jadx-core/src/main/java/jadx/core/codegen/MethodGen.java +++ b/jadx-core/src/main/java/jadx/core/codegen/MethodGen.java @@ -168,18 +168,14 @@ public class MethodGen { if (fallback) { if (name != null) { return base + "_" + name; - } else { - return base; } + return base; } else { if (name != null) { - if (name.equals("this")) { - return name; - } else if (Consts.DEBUG) { - return name + "_" + base; - } else { - return name; + if (Consts.DEBUG) { + return base + "_" + name; } + return name; } else { ArgType type = arg.getType(); if (type.isPrimitive()) { @@ -274,7 +270,7 @@ public class MethodGen { public void addFallbackMethodCode(CodeWriter code) { if (mth.getInstructions() == null) { - // loadFile original instructions + // load original instructions try { mth.load(); DepthTraverser.visit(new FallbackModeVisitor(), mth); diff --git a/jadx-core/src/main/java/jadx/core/dex/attributes/AttributeType.java b/jadx-core/src/main/java/jadx/core/dex/attributes/AttributeType.java index 33b6c8613..c33e4beca 100644 --- a/jadx-core/src/main/java/jadx/core/dex/attributes/AttributeType.java +++ b/jadx-core/src/main/java/jadx/core/dex/attributes/AttributeType.java @@ -34,6 +34,10 @@ public enum AttributeType { private static final int NOT_UNIQ_COUNT; private final boolean uniq; + private AttributeType(boolean isUniq) { + this.uniq = isUniq; + } + static { // place all not unique attributes at first int last = -1; @@ -51,10 +55,6 @@ public enum AttributeType { return NOT_UNIQ_COUNT; } - private AttributeType(boolean isUniq) { - this.uniq = isUniq; - } - public boolean isUniq() { return uniq; } diff --git a/jadx-core/src/main/java/jadx/core/dex/attributes/AttributesList.java b/jadx-core/src/main/java/jadx/core/dex/attributes/AttributesList.java index cad8821f4..ccad9f52a 100644 --- a/jadx-core/src/main/java/jadx/core/dex/attributes/AttributesList.java +++ b/jadx-core/src/main/java/jadx/core/dex/attributes/AttributesList.java @@ -109,10 +109,7 @@ public final class AttributesList { public Annotation getAnnotation(String cls) { AnnotationsList aList = (AnnotationsList) get(AttributeType.ANNOTATION_LIST); - if (aList == null || aList.size() == 0) { - return null; - } - return aList.get(cls); + return aList == null ? null : aList.get(cls); } public List getAll(AttributeType type) { diff --git a/jadx-core/src/main/java/jadx/core/dex/info/ClassInfo.java b/jadx-core/src/main/java/jadx/core/dex/info/ClassInfo.java index 5aa79239c..0ea8322e6 100644 --- a/jadx-core/src/main/java/jadx/core/dex/info/ClassInfo.java +++ b/jadx-core/src/main/java/jadx/core/dex/info/ClassInfo.java @@ -13,6 +13,20 @@ public final class ClassInfo { private static final Map CLASSINFO_CACHE = new WeakHashMap(); + private final ArgType type; + private String pkg; + private String name; + private String fullName; + // for inner class not equals null + private ClassInfo parentClass; + + private ClassInfo(ArgType type) { + assert type.isObject() : "Not class type: " + type; + this.type = type; + + splitNames(true); + } + public static ClassInfo fromDex(DexNode dex, int clsIndex) { if (clsIndex == DexNode.NO_INDEX) { return null; @@ -41,19 +55,6 @@ public final class ClassInfo { CLASSINFO_CACHE.clear(); } - private final ArgType type; - private String pkg; - private String name; - private String fullName; - private ClassInfo parentClass; // not equals null if this is inner class - - private ClassInfo(ArgType type) { - assert type.isObject() : "Not class type: " + type; - this.type = type; - - splitNames(true); - } - private void splitNames(boolean canBeInner) { String fullObjectName = type.getObject(); assert fullObjectName.indexOf('/') == -1 : "Raw type: " + type; diff --git a/jadx-core/src/main/java/jadx/core/dex/info/FieldInfo.java b/jadx-core/src/main/java/jadx/core/dex/info/FieldInfo.java index 4c42ad666..be78db638 100644 --- a/jadx-core/src/main/java/jadx/core/dex/info/FieldInfo.java +++ b/jadx-core/src/main/java/jadx/core/dex/info/FieldInfo.java @@ -11,6 +11,12 @@ public class FieldInfo { private final String name; private final ArgType type; + public FieldInfo(ClassInfo declClass, String name, ArgType type) { + this.declClass = declClass; + this.name = name; + this.type = type; + } + public static FieldInfo fromDex(DexNode dex, int index) { FieldId field = dex.getFieldId(index); return new FieldInfo( @@ -19,12 +25,6 @@ public class FieldInfo { dex.getType(field.getTypeIndex())); } - public FieldInfo(ClassInfo declClass, String name, ArgType type) { - this.declClass = declClass; - this.name = name; - this.type = type; - } - public static String getNameById(DexNode dex, int ind) { return dex.getString(dex.getFieldId(ind).getNameIndex()); } diff --git a/jadx-core/src/main/java/jadx/core/dex/info/MethodInfo.java b/jadx-core/src/main/java/jadx/core/dex/info/MethodInfo.java index 81a96e29e..0bcd81314 100644 --- a/jadx-core/src/main/java/jadx/core/dex/info/MethodInfo.java +++ b/jadx-core/src/main/java/jadx/core/dex/info/MethodInfo.java @@ -18,10 +18,6 @@ public final class MethodInfo { private final ClassInfo declClass; private final String shortId; - public static MethodInfo fromDex(DexNode dex, int mthIndex) { - return new MethodInfo(dex, mthIndex); - } - private MethodInfo(DexNode dex, int mthIndex) { MethodId mthId = dex.getMethodId(mthIndex); name = dex.getString(mthId.getNameIndex()); @@ -43,6 +39,10 @@ public final class MethodInfo { shortId = signature.toString(); } + public static MethodInfo fromDex(DexNode dex, int mthIndex) { + return new MethodInfo(dex, mthIndex); + } + public String getName() { return name; } diff --git a/jadx-core/src/main/java/jadx/core/dex/instructions/ArithOp.java b/jadx-core/src/main/java/jadx/core/dex/instructions/ArithOp.java index fab5fb6bf..0ba65a3ea 100644 --- a/jadx-core/src/main/java/jadx/core/dex/instructions/ArithOp.java +++ b/jadx-core/src/main/java/jadx/core/dex/instructions/ArithOp.java @@ -15,12 +15,12 @@ public enum ArithOp { SHR(">>"), USHR(">>>"); + private final String symbol; + private ArithOp(String symbol) { this.symbol = symbol; } - private final String symbol; - public String getSymbol() { return this.symbol; } diff --git a/jadx-core/src/main/java/jadx/core/dex/instructions/args/ArgType.java b/jadx-core/src/main/java/jadx/core/dex/instructions/args/ArgType.java index 67d966b6c..c0dbb19dc 100644 --- a/jadx-core/src/main/java/jadx/core/dex/instructions/args/ArgType.java +++ b/jadx-core/src/main/java/jadx/core/dex/instructions/args/ArgType.java @@ -454,7 +454,7 @@ public abstract class ArgType { types.add(type); } } - if (types.size() == 0) { + if (types.isEmpty()) { return null; } else if (types.size() == 1) { PrimitiveType nt = types.get(0); @@ -479,7 +479,7 @@ public abstract class ArgType { String aObj = a.getObject(); String bObj = b.getObject(); if (aObj.equals(bObj)) { - return (a.getGenericTypes() != null ? a : b); + return a.getGenericTypes() != null ? a : b; } else if (aObj.equals(Consts.CLASS_OBJECT)) { return b; } else if (bObj.equals(Consts.CLASS_OBJECT)) { @@ -487,7 +487,7 @@ public abstract class ArgType { } else { // different objects String obj = clsp.getCommonAncestor(aObj, bObj); - return (obj == null ? null : object(obj)); + return obj == null ? null : object(obj); } } if (a.isArray()) { @@ -498,7 +498,7 @@ public abstract class ArgType { return OBJECT; } else { ArgType res = merge(ea, eb); - return (res == null ? null : ArgType.array(res)); + return res == null ? null : ArgType.array(res); } } else if (b.equals(OBJECT)) { return OBJECT; diff --git a/jadx-core/src/main/java/jadx/core/dex/instructions/args/InsnWrapArg.java b/jadx-core/src/main/java/jadx/core/dex/instructions/args/InsnWrapArg.java index 2ae4d39cb..6b0b9b498 100644 --- a/jadx-core/src/main/java/jadx/core/dex/instructions/args/InsnWrapArg.java +++ b/jadx-core/src/main/java/jadx/core/dex/instructions/args/InsnWrapArg.java @@ -7,8 +7,8 @@ public final class InsnWrapArg extends InsnArg { private final InsnNode wrappedInsn; public InsnWrapArg(InsnNode insn) { - ArgType type = (insn.getResult() == null ? ArgType.VOID : insn.getResult().getType()); - this.typedVar = new TypedVar(type); + RegisterArg result = insn.getResult(); + this.typedVar = new TypedVar((result != null ? result.getType() : ArgType.VOID)); this.wrappedInsn = insn; } diff --git a/jadx-core/src/main/java/jadx/core/dex/nodes/BlockNode.java b/jadx-core/src/main/java/jadx/core/dex/nodes/BlockNode.java index da9e2fd5e..3817f3172 100644 --- a/jadx-core/src/main/java/jadx/core/dex/nodes/BlockNode.java +++ b/jadx-core/src/main/java/jadx/core/dex/nodes/BlockNode.java @@ -87,7 +87,7 @@ public class BlockNode extends AttrNode implements IBlock { } } } - return (nodes.size() == sucList.size() ? sucList : nodes); + return nodes.size() == sucList.size() ? sucList : nodes; } @Override diff --git a/jadx-core/src/main/java/jadx/core/dex/nodes/ClassNode.java b/jadx-core/src/main/java/jadx/core/dex/nodes/ClassNode.java index 1e605bf07..62faea8a4 100644 --- a/jadx-core/src/main/java/jadx/core/dex/nodes/ClassNode.java +++ b/jadx-core/src/main/java/jadx/core/dex/nodes/ClassNode.java @@ -50,7 +50,7 @@ public class ClassNode extends LineAttrNode implements ILoadable { private Map constFields = Collections.emptyMap(); private List innerClasses = Collections.emptyList(); - private CodeWriter code; // generated code + private CodeWriter code; public ClassNode(DexNode dex, ClassDef cls) throws DecodeException { this.dex = dex; diff --git a/jadx-core/src/main/java/jadx/core/dex/nodes/parser/AnnotationsParser.java b/jadx-core/src/main/java/jadx/core/dex/nodes/parser/AnnotationsParser.java index f38b34aac..6c9256154 100644 --- a/jadx-core/src/main/java/jadx/core/dex/nodes/parser/AnnotationsParser.java +++ b/jadx-core/src/main/java/jadx/core/dex/nodes/parser/AnnotationsParser.java @@ -20,6 +20,12 @@ import com.android.dx.io.DexBuffer.Section; public class AnnotationsParser { + private static final Annotation.Visibility[] VISIBILITIES = { + Visibility.BUILD, + Visibility.RUNTIME, + Visibility.SYSTEM + }; + private final DexNode dex; private final ClassNode cls; @@ -76,12 +82,6 @@ public class AnnotationsParser { return new AnnotationsList(list); } - private static final Annotation.Visibility[] VISIBILITIES = { - Visibility.BUILD, - Visibility.RUNTIME, - Visibility.SYSTEM - }; - public static Annotation readAnnotation(DexNode dex, Section s, boolean readVisibility) throws DecodeException { EncValueParser parser = new EncValueParser(dex, s); Visibility visibility = null; diff --git a/jadx-core/src/main/java/jadx/core/dex/regions/IfCondition.java b/jadx-core/src/main/java/jadx/core/dex/regions/IfCondition.java index 490b7d344..810b9287a 100644 --- a/jadx-core/src/main/java/jadx/core/dex/regions/IfCondition.java +++ b/jadx-core/src/main/java/jadx/core/dex/regions/IfCondition.java @@ -17,31 +17,6 @@ import java.util.List; public final class IfCondition { - public static IfCondition fromIfBlock(BlockNode header) { - if (header == null) { - return null; - } - return fromIfNode((IfNode) header.getInstructions().get(0)); - } - - public static IfCondition fromIfNode(IfNode insn) { - return new IfCondition(new Compare(insn)); - } - - public static IfCondition merge(Mode mode, IfCondition a, IfCondition b) { - if (a.getMode() == mode) { - IfCondition n = new IfCondition(a); - n.addArg(b); - return n; - } else if (b.getMode() == mode) { - IfCondition n = new IfCondition(b); - n.addArg(a); - return n; - } else { - return new IfCondition(mode, Arrays.asList(a, b)); - } - } - public static enum Mode { COMPARE, NOT, @@ -75,6 +50,31 @@ public final class IfCondition { } } + public static IfCondition fromIfBlock(BlockNode header) { + if (header == null) { + return null; + } + return fromIfNode((IfNode) header.getInstructions().get(0)); + } + + public static IfCondition fromIfNode(IfNode insn) { + return new IfCondition(new Compare(insn)); + } + + public static IfCondition merge(Mode mode, IfCondition a, IfCondition b) { + if (a.getMode() == mode) { + IfCondition n = new IfCondition(a); + n.addArg(b); + return n; + } else if (b.getMode() == mode) { + IfCondition n = new IfCondition(b); + n.addArg(a); + return n; + } else { + return new IfCondition(mode, Arrays.asList(a, b)); + } + } + public Mode getMode() { return mode; } diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/CodeShrinker.java b/jadx-core/src/main/java/jadx/core/dex/visitors/CodeShrinker.java index 608efe1f7..1aadaac23 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/CodeShrinker.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/CodeShrinker.java @@ -94,15 +94,15 @@ public class CodeShrinker extends AbstractVisitor { private boolean canMove(int from, int to) { List movedArgs = argsList.get(from).getArgs(); - from++; - if (from == to) { + int start = from + 1; + if (start == to) { // previous instruction or on edge of inline border return true; } - if (from > to) { - throw new JadxRuntimeException("Invalid inline insn positions: " + from + " - " + to); + if (start > to) { + throw new JadxRuntimeException("Invalid inline insn positions: " + start + " - " + to); } - for (int i = from; i < to; i++) { + for (int i = start; i < to; i++) { ArgsInfo argsInfo = argsList.get(i); if (argsInfo.getInlinedInsn() == this) { continue; diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/regions/CheckRegions.java b/jadx-core/src/main/java/jadx/core/dex/visitors/regions/CheckRegions.java index 3595a998b..d63c462c9 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/regions/CheckRegions.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/regions/CheckRegions.java @@ -21,7 +21,7 @@ public class CheckRegions extends AbstractVisitor { @Override public void visit(MethodNode mth) throws JadxException { - if (mth.isNoCode() || mth.getBasicBlocks().size() == 0) { + if (mth.isNoCode() || mth.getBasicBlocks().isEmpty()) { return; } diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/regions/CleanRegions.java b/jadx-core/src/main/java/jadx/core/dex/visitors/regions/CleanRegions.java index cabc0a609..75334a2e9 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/regions/CleanRegions.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/regions/CleanRegions.java @@ -14,8 +14,11 @@ import org.slf4j.LoggerFactory; public class CleanRegions { private static final Logger LOG = LoggerFactory.getLogger(CleanRegions.class); + private CleanRegions() { + } + public static void process(MethodNode mth) { - if (mth.isNoCode() || mth.getBasicBlocks().size() == 0) { + if (mth.isNoCode() || mth.getBasicBlocks().isEmpty()) { return; } IRegionVisitor removeEmptyBlocks = new AbstractRegionVisitor() { diff --git a/jadx-core/src/main/java/jadx/core/utils/BlockUtils.java b/jadx-core/src/main/java/jadx/core/utils/BlockUtils.java index 84372ae4e..379110829 100644 --- a/jadx-core/src/main/java/jadx/core/utils/BlockUtils.java +++ b/jadx-core/src/main/java/jadx/core/utils/BlockUtils.java @@ -15,6 +15,9 @@ import java.util.Set; public class BlockUtils { + private BlockUtils() { + } + public static BlockNode getBlockByOffset(int offset, Iterable casesBlocks) { for (BlockNode block : casesBlocks) { if (block.getStartOffset() == offset) { diff --git a/jadx-core/src/main/java/jadx/core/utils/InsnList.java b/jadx-core/src/main/java/jadx/core/utils/InsnList.java index 2d6708552..faafb5201 100644 --- a/jadx-core/src/main/java/jadx/core/utils/InsnList.java +++ b/jadx-core/src/main/java/jadx/core/utils/InsnList.java @@ -8,6 +8,12 @@ import java.util.List; public final class InsnList implements Iterable { + private final List list; + + public InsnList(List list) { + this.list = list; + } + public static void remove(List list, InsnNode insn) { for (Iterator iterator = list.iterator(); iterator.hasNext(); ) { InsnNode next = iterator.next(); @@ -33,12 +39,6 @@ public final class InsnList implements Iterable { return -1; } - private final List list; - - public InsnList(List list) { - this.list = list; - } - public int getIndex(InsnNode insn) { return getIndex(list, insn); } diff --git a/jadx-core/src/main/java/jadx/core/utils/InsnUtils.java b/jadx-core/src/main/java/jadx/core/utils/InsnUtils.java index 92ff5886a..a7774fdc9 100644 --- a/jadx-core/src/main/java/jadx/core/utils/InsnUtils.java +++ b/jadx-core/src/main/java/jadx/core/utils/InsnUtils.java @@ -7,6 +7,9 @@ import com.android.dx.io.instructions.DecodedInstruction; public class InsnUtils { + private InsnUtils() { + } + public static int getArg(DecodedInstruction insn, int arg) { switch (arg) { case 0: diff --git a/jadx-core/src/main/java/jadx/core/utils/RegionUtils.java b/jadx-core/src/main/java/jadx/core/utils/RegionUtils.java index 0156e4f50..4c812e476 100644 --- a/jadx-core/src/main/java/jadx/core/utils/RegionUtils.java +++ b/jadx-core/src/main/java/jadx/core/utils/RegionUtils.java @@ -14,6 +14,9 @@ import java.util.List; public class RegionUtils { + private RegionUtils() { + } + public static boolean hasExitEdge(IContainer container) { if (container instanceof BlockNode) { BlockNode block = (BlockNode) container; diff --git a/jadx-core/src/main/java/jadx/core/utils/StringUtils.java b/jadx-core/src/main/java/jadx/core/utils/StringUtils.java index 2f1511be1..35440eae9 100644 --- a/jadx-core/src/main/java/jadx/core/utils/StringUtils.java +++ b/jadx-core/src/main/java/jadx/core/utils/StringUtils.java @@ -2,6 +2,9 @@ package jadx.core.utils; public class StringUtils { + private StringUtils() { + } + public static String unescapeString(String str) { int len = str.length(); StringBuilder res = new StringBuilder(); diff --git a/jadx-core/src/main/java/jadx/core/utils/Utils.java b/jadx-core/src/main/java/jadx/core/utils/Utils.java index a995b7666..7b99e0413 100644 --- a/jadx-core/src/main/java/jadx/core/utils/Utils.java +++ b/jadx-core/src/main/java/jadx/core/utils/Utils.java @@ -8,6 +8,7 @@ import java.io.StringWriter; import java.util.Iterator; public class Utils { + private Utils() { } diff --git a/jadx-core/src/test/java/jadx/tests/internal/TestLineNumbers.java b/jadx-core/src/test/java/jadx/tests/internal/TestLineNumbers.java index b29831ae4..e97144412 100644 --- a/jadx-core/src/test/java/jadx/tests/internal/TestLineNumbers.java +++ b/jadx-core/src/test/java/jadx/tests/internal/TestLineNumbers.java @@ -15,7 +15,7 @@ import static org.junit.Assert.assertThat; public class TestLineNumbers extends InternalJadxTest { - public static class TestCls extends Exception { + public static class TestCls { int field; public void func() { diff --git a/jadx-core/src/test/java/jadx/tests/internal/conditions/TestConditions2.java b/jadx-core/src/test/java/jadx/tests/internal/conditions/TestConditions2.java index 1847bedc9..c97b3eae3 100644 --- a/jadx-core/src/test/java/jadx/tests/internal/conditions/TestConditions2.java +++ b/jadx-core/src/test/java/jadx/tests/internal/conditions/TestConditions2.java @@ -11,7 +11,7 @@ import static org.junit.Assert.assertThat; public class TestConditions2 extends InternalJadxTest { - public static class TestCls extends Exception { + public static class TestCls { int c; String d; String f; diff --git a/jadx-core/src/test/java/jadx/tests/internal/inline/TestInline.java b/jadx-core/src/test/java/jadx/tests/internal/inline/TestInline.java index 1b174b97c..3d811c80b 100644 --- a/jadx-core/src/test/java/jadx/tests/internal/inline/TestInline.java +++ b/jadx-core/src/test/java/jadx/tests/internal/inline/TestInline.java @@ -10,7 +10,7 @@ import static org.junit.Assert.assertThat; public class TestInline extends InternalJadxTest { - public static class TestCls extends Exception { + public static class TestCls { public static void main(String[] args) throws Exception { System.out.println("Test: " + new TestCls().testRun()); } diff --git a/jadx-core/src/test/java/jadx/tests/internal/inline/TestInline2.java b/jadx-core/src/test/java/jadx/tests/internal/inline/TestInline2.java index 533a60ab4..db1bbc94d 100644 --- a/jadx-core/src/test/java/jadx/tests/internal/inline/TestInline2.java +++ b/jadx-core/src/test/java/jadx/tests/internal/inline/TestInline2.java @@ -10,7 +10,7 @@ import static org.junit.Assert.assertThat; public class TestInline2 extends InternalJadxTest { - public static class TestCls extends Exception { + public static class TestCls { public int simple_loops() throws InterruptedException { int[] a = new int[]{1, 2, 4, 6, 8}; int b = 0; diff --git a/jadx-core/src/test/java/jadx/tests/internal/inline/TestInline6.java b/jadx-core/src/test/java/jadx/tests/internal/inline/TestInline6.java index b0ff92a2d..a2d370a14 100644 --- a/jadx-core/src/test/java/jadx/tests/internal/inline/TestInline6.java +++ b/jadx-core/src/test/java/jadx/tests/internal/inline/TestInline6.java @@ -24,7 +24,6 @@ public class TestInline6 extends InternalJadxTest { @Test public void test() { - setOutputCFG(); ClassNode cls = getClassNode(TestCls.class); String code = cls.getCode().toString(); System.out.println(code); diff --git a/jadx-gui/src/main/java/jadx/gui/treemodel/TextNode.java b/jadx-gui/src/main/java/jadx/gui/treemodel/TextNode.java index f3dffd18b..5de0cbb0a 100644 --- a/jadx-gui/src/main/java/jadx/gui/treemodel/TextNode.java +++ b/jadx-gui/src/main/java/jadx/gui/treemodel/TextNode.java @@ -3,6 +3,9 @@ package jadx.gui.treemodel; import javax.swing.Icon; public class TextNode extends JNode { + + private static final long serialVersionUID = 2342749142368352232L; + private final String label; public TextNode(String str) {