1 19 20 package ca.mcgill.sable.soot.launching; 21 22 import org.eclipse.jface.action.IAction; 23 import java.util.*; 24 27 public class DavaDecompileAppFromJavaFileLauncher extends SootFileLauncher { 28 29 32 public void run(IAction action) { 33 super.run(action); 34 super.setIsSrcPrec(true); 35 super.setSrcPrec(LaunchCommands.JAVA_IN); 36 super.handleMultipleFiles(); 37 38 if (isDoNotContinue()) return; 39 setCmd(); 40 runSootDirectly(); 41 runFinish(); 42 43 } 44 45 49 private void setCmd() { 50 51 ArrayList commands = new ArrayList(); 52 commands.add("--"+LaunchCommands.SOOT_CLASSPATH); 53 commands.add(getClasspathAppend()); 54 commands.add("--"+LaunchCommands.OUTPUT_DIR); 55 commands.add(getOutputLocation()); 56 57 getSootCommandList().addSingleOpt("--"+LaunchCommands.KEEP_LINE_NUMBER); 59 getSootCommandList().addSingleOpt("--"+LaunchCommands.XML_ATTRIBUTES); 60 if (isExtraCmd()) { 61 getSootCommandList().addSingleOpt("--"+getExtraCmd()); 62 } 63 64 if (isSrcPrec()) { 65 getSootCommandList().addDoubleOpt("--"+LaunchCommands.SRC_PREC, getSrcPrec()); 66 } 67 68 getSootCommandList().addSingleOpt("--"+LaunchCommands.APP); 69 getSootCommandList().addSingleOpt("--"+LaunchCommands.DAVA); 70 71 Iterator it = getToProcessList().iterator(); 72 while (it.hasNext()){ 73 commands.add((String )it.next()); 74 } 75 getSootCommandList().addSingleOpt(commands); 76 } 77 } 78 | Popular Tags |