| 1 19 20 package ca.mcgill.sable.soot.launching; 21 22 import java.util.ArrayList ; 23 import java.util.Iterator ; 24 25 import org.eclipse.jface.action.*; 26 27 30 public class SootJimpleFileLauncher extends SootFileLauncher { 31 32 public void run(IAction action) { 33 super.run(action); 34 35 super.handleMultipleFiles(); 36 37 if (isDoNotContinue()) return; 38 setCmd(); 39 runSootDirectly(); 40 runFinish(); 41 42 } 43 44 private void setCmd() { 45 46 ArrayList commands = new ArrayList (); 47 commands.add("--"+LaunchCommands.SOOT_CLASSPATH); 48 commands.add(getClasspathAppend()); 49 commands.add("--"+LaunchCommands.OUTPUT_DIR); 50 commands.add(getOutputLocation()); 51 getSootCommandList().addSingleOpt("--"+LaunchCommands.KEEP_LINE_NUMBER); 52 getSootCommandList().addSingleOpt("--"+LaunchCommands.XML_ATTRIBUTES); 53 getSootCommandList().addDoubleOpt("--"+LaunchCommands.OUTPUT, LaunchCommands.JIMPLE_OUT); 54 55 56 if (isExtraCmd()) { 57 getSootCommandList().addSingleOpt("--"+getExtraCmd()); 58 } 59 if (isSrcPrec()) { 60 getSootCommandList().addDoubleOpt("--"+LaunchCommands.SRC_PREC, getSrcPrec()); 61 } 62 Iterator it = getToProcessList().iterator(); 63 while (it.hasNext()){ 64 commands.add((String )it.next()); 65 } 66 getSootCommandList().addSingleOpt(commands); 67 } 68 } 69 | Popular Tags |