|
|
@ -42,8 +42,8 @@ public class ConsoleDecompiler implements IBytecodeProvider, IResultSaver { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> mapOptions = new HashMap<String, Object>(); |
|
|
|
Map<String, Object> mapOptions = new HashMap<String, Object>(); |
|
|
|
List<String> lstSources = new ArrayList<String>(); |
|
|
|
List<File> lstSources = new ArrayList<File>(); |
|
|
|
List<String> lstLibraries = new ArrayList<String>(); |
|
|
|
List<File> lstLibraries = new ArrayList<File>(); |
|
|
|
|
|
|
|
|
|
|
|
boolean isOption = true; |
|
|
|
boolean isOption = true; |
|
|
|
for (int i = 0; i < args.length - 1; ++i) { // last parameter - destination
|
|
|
|
for (int i = 0; i < args.length - 1; ++i) { // last parameter - destination
|
|
|
@ -65,10 +65,10 @@ public class ConsoleDecompiler implements IBytecodeProvider, IResultSaver { |
|
|
|
isOption = false; |
|
|
|
isOption = false; |
|
|
|
|
|
|
|
|
|
|
|
if (arg.startsWith("-e=")) { |
|
|
|
if (arg.startsWith("-e=")) { |
|
|
|
lstLibraries.add(arg.substring(3)); |
|
|
|
addPath(lstLibraries, arg.substring(3)); |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
else { |
|
|
|
lstSources.add(arg); |
|
|
|
addPath(lstSources, arg); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -87,16 +87,27 @@ public class ConsoleDecompiler implements IBytecodeProvider, IResultSaver { |
|
|
|
PrintStreamLogger logger = new PrintStreamLogger(System.out); |
|
|
|
PrintStreamLogger logger = new PrintStreamLogger(System.out); |
|
|
|
ConsoleDecompiler decompiler = new ConsoleDecompiler(destination, mapOptions, logger); |
|
|
|
ConsoleDecompiler decompiler = new ConsoleDecompiler(destination, mapOptions, logger); |
|
|
|
|
|
|
|
|
|
|
|
for (String source : lstSources) { |
|
|
|
for (File source : lstSources) { |
|
|
|
decompiler.addSpace(new File(source), true); |
|
|
|
decompiler.addSpace(source, true); |
|
|
|
} |
|
|
|
} |
|
|
|
for (String library : lstLibraries) { |
|
|
|
for (File library : lstLibraries) { |
|
|
|
decompiler.addSpace(new File(library), false); |
|
|
|
decompiler.addSpace(library, false); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
decompiler.decompileContext(); |
|
|
|
decompiler.decompileContext(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings("UseOfSystemOutOrSystemErr") |
|
|
|
|
|
|
|
private static void addPath(List<File> list, String path) { |
|
|
|
|
|
|
|
File file = new File(path); |
|
|
|
|
|
|
|
if (file.exists()) { |
|
|
|
|
|
|
|
list.add(file); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else { |
|
|
|
|
|
|
|
System.out.println("warn: missing '" + path + "', ignored"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// *******************************************************************
|
|
|
|
// *******************************************************************
|
|
|
|
// Implementation
|
|
|
|
// Implementation
|
|
|
|
// *******************************************************************
|
|
|
|
// *******************************************************************
|
|
|
|