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 SootJimpleFromJavaFileLauncher extends SootFileLauncher { 31 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 private void setCmd() { 46 47 ArrayList commands = new ArrayList (); 48 commands.add("--"+LaunchCommands.SOOT_CLASSPATH); 49 commands.add(getClasspathAppend()); 50 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.JIMPLE_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 |