Commit 2f548dd9 authored by Skylot's avatar Skylot

core: fix help for jadx-gui, improve code

parent f715d6ce
...@@ -8,7 +8,9 @@ import java.io.File; ...@@ -8,7 +8,9 @@ import java.io.File;
import java.io.PrintStream; import java.io.PrintStream;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -132,28 +134,27 @@ public class JadxCLIArgs implements IJadxArgs { ...@@ -132,28 +134,27 @@ public class JadxCLIArgs implements IJadxArgs {
out.println("options:"); out.println("options:");
List<ParameterDescription> params = jc.getParameters(); List<ParameterDescription> params = jc.getParameters();
Map<String, ParameterDescription> paramsMap = new LinkedHashMap<String, ParameterDescription>(params.size());
int maxNamesLen = 0; int maxNamesLen = 0;
for (ParameterDescription p : params) { for (ParameterDescription p : params) {
paramsMap.put(p.getParameterized().getName(), p);
int len = p.getNames().length(); int len = p.getNames().length();
if (len > maxNamesLen) { if (len > maxNamesLen) {
maxNamesLen = len; maxNamesLen = len;
} }
} }
Field[] fields = JadxCLIArgs.class.getDeclaredFields();
Field[] fields = this.getClass().getDeclaredFields();
for (Field f : fields) { for (Field f : fields) {
for (ParameterDescription p : params) { String name = f.getName();
String name = f.getName(); ParameterDescription p = paramsMap.get(name);
if (name.equals(p.getParameterized().getName())) { if (p == null) {
StringBuilder opt = new StringBuilder(); continue;
opt.append(' ').append(p.getNames());
addSpaces(opt, maxNamesLen - opt.length() + 2);
opt.append("- ").append(p.getDescription());
out.println(opt.toString());
break;
}
} }
StringBuilder opt = new StringBuilder();
opt.append(' ').append(p.getNames());
addSpaces(opt, maxNamesLen - opt.length() + 2);
opt.append("- ").append(p.getDescription());
out.println(opt);
} }
out.println("Example:"); out.println("Example:");
out.println(" jadx -d out classes.dex"); out.println(" jadx -d out classes.dex");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment