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.IAction; 26 27 30 public class SootGrimpFileLauncher extends SootFileLauncher { 31 32 public void run(IAction action) { 33 super.run(action); 34 super.handleMultipleFiles(); 35 36 if (isDoNotContinue()) return; 37 setCmd(); 38 runSootDirectly(); 39 runFinish(); 40 41 } 42 43 private void setCmd() { 44 45 46 47 48 ArrayList commands = new ArrayList (); 49 commands.add("--"+LaunchCommands.SOOT_CLASSPATH); 50 commands.add(getClasspathAppend()); 51 commands.add("--"+LaunchCommands.OUTPUT_DIR); 52 commands.add(getOutputLocation()); 53 getSootCommandList().addSingleOpt("--"+LaunchCommands.KEEP_LINE_NUMBER); 54 getSootCommandList().addSingleOpt("--"+LaunchCommands.XML_ATTRIBUTES); 55 getSootCommandList().addDoubleOpt("--"+LaunchCommands.OUTPUT, LaunchCommands.GRIMP_OUT); 56 57 58 if (isExtraCmd()) { 59 getSootCommandList().addSingleOpt("--"+getExtraCmd()); 60 } 61 if (isSrcPrec()) { 62 getSootCommandList().addDoubleOpt("--"+LaunchCommands.SRC_PREC, getSrcPrec()); 63 } 64 Iterator it = getToProcessList().iterator(); 65 while (it.hasNext()){ 66 commands.add((String )it.next()); 67 } 68 getSootCommandList().addSingleOpt(commands); 69 } 70 } 71 | Popular Tags |