<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none"><!-- p { margin-top: 0px; margin-bottom: 0px; }--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>hello all<br>
</p>
<p>I want to build jimple output from the simple code but it has error. my code is:<br>
</p>
<div><span style="white-space:pre"></span></div>
<div><br>
</div>
<div><span style="white-space:pre"></span>public class mynewmain { </div>
<div><span style="white-space:pre"></span>public static void main(String[] args) {</div>
<div><br>
</div>
<div><span style="white-space:pre"></span></div>
<div><span style="white-space:pre"></span> </div>
<div><span style="white-space:pre"></span>// if(args.length == 0){</div>
<div><span style="white-space:pre"></span> </div>
<div><span style="white-space:pre"></span> </div>
<div><span style="white-space:pre"></span> <span style="white-space:pre">
</span> // System.exit(0);}</div>
<div><span style="white-space:pre"></span> Scene.v().addBasicClass("java.io.PrintStream",SootClass.SIGNATURES);</div>
<div> Scene.v().addBasicClass("java.lang.System",SootClass.SIGNATURES);</div>
<div> </div>
<div><span style="white-space:pre"></span></div>
<div><span style="white-space:pre"></span></div>
<div> soot.Main.main(args);</div>
<div> Options.v().set_soot_classpath("C:\\Users\\SHTAV3\\Desktop\\MYmainclass.jar" );</div>
<div> //Scene.v().getSootClass("MainClass"); </div>
<div><span style="white-space:pre"></span> soot.G.reset();</div>
<div><span style="white-space:pre"></span> Options.v().set_validate(true);</div>
<div><span style="white-space:pre"></span>Options.v().set_allow_phantom_refs(true);</div>
<div><span style="white-space:pre"></span>Options.v().set_prepend_classpath(true);</div>
<div><span style="white-space:pre"></span></div>
<div><span style="white-space:pre"></span></div>
<div><span style="white-space:pre"></span></div>
<div><span style="white-space:pre"></span>Options.v().set_whole_program(true);</div>
<div><span style="white-space:pre"></span>Options.v().set_app(true);</div>
<div><span style="white-space:pre"></span>Options.v().set_src_prec(Options.src_prec_class);</div>
<div><span style="white-space:pre"></span>Scene.v().loadNecessaryClasses();</div>
<div><span style="white-space:pre"></span>Scene.v().loadClassAndSupport("MYmainClass");</div>
<div><span style="white-space:pre"></span>PackManager</div>
<div><span style="white-space:pre"></span> .v()</div>
<div><span style="white-space:pre"></span> .getPack("jtp")</div>
<div><span style="white-space:pre"></span> .add(new Transform("jtp.GotoInstrumenter", GotoInstrumenter.v()));</div>
<div><span style="white-space:pre"></span>soot.Body body;</div>
<div><span style="white-space:pre"></span>MYmainClass.class.getMethod(body.getMethod().getName()).invoke(new MYmainClass());</div>
<div><br>
</div>
<div><span style="white-space:pre"></span> System.out.println(Scene.v().defaultClassPath());</div>
<div><span style="white-space:pre"></span> SootClass sootClass = Scene.v().loadClassAndSupport("main.MYmainClass");</div>
<div><br>
</div>
<div><br>
</div>
<div><span style="white-space:pre"></span> if (sootClass == null || !(sootClass instanceof SootClass)) {</div>
<div><span style="white-space:pre"></span> System.out.println("sootClass not initialized");</div>
<div><span style="white-space:pre"></span> System.exit(0);</div>
<div><span style="white-space:pre"></span> } else {</div>
<div><span style="white-space:pre"></span> System.out.println(sootClass.getMethodCount());</div>
<div><span style="white-space:pre"></span> }</div>
<div><span style="white-space:pre"></span> sootClass.setApplicationClass();</div>
<div><span style="white-space:pre"></span> for (SootMethod m : sootClass.getMethods()) {</div>
<div><br>
</div>
<div><span style="white-space:pre"></span> try {</div>
<div><span style="white-space:pre"></span> new Transform("jtp.GotoInstrumenter", GotoInstrumenter.v())</div>
<div><span style="white-space:pre"></span> .apply(m.retrieveActiveBody());</div>
<div><span style="white-space:pre"></span> </div>
<div><span style="white-space:pre"></span> } catch (Exception e) {</div>
<div><span style="white-space:pre"></span> System.out.println("Exeception in for loop : " + e);</div>
<div><span style="white-space:pre"></span> }</div>
<div><span style="white-space:pre"></span> }</div>
<div><br>
</div>
<div><span style="white-space:pre"></span>}</div>
<div><br>
</div>
<div><span style="white-space:pre"></span>}</div>
<div><br>
</div>
<div><span style="white-space:pre"></span>@SuppressWarnings("all")</div>
<div><span style="white-space:pre"></span>class GotoInstrumenter extends BodyTransformer {</div>
<div><span style="white-space:pre"></span>private static GotoInstrumenter instance = new GotoInstrumenter();</div>
<div><br>
</div>
<div><span style="white-space:pre"></span>private GotoInstrumenter() {</div>
<div><span style="white-space:pre"></span>}</div>
<div><br>
</div>
<div><span style="white-space:pre"></span>public static GotoInstrumenter v() {</div>
<div><span style="white-space:pre"></span> return instance;</div>
<div><span style="white-space:pre"></span>}</div>
<div><br>
</div>
<div><span style="white-space:pre"></span>protected void internalTransform(Body body, String phaseName, Map options) {</div>
<div><br>
</div>
<div><span style="white-space:pre"></span> System.out.println("Processing method : " );</div>
<div><span style="white-space:pre"></span>}</div>
<div><br>
</div>
<div><span style="white-space:pre"></span>@Override</div>
<div><span style="white-space:pre"></span>protected void internalTransform(soot.Body arg0, String arg1, Map<String, String> arg2) {</div>
<div><span style="white-space:pre"></span>// TODO Auto-generated method stub</div>
<div><span style="white-space:pre"></span></div>
<div><span style="white-space:pre"></span>} </div>
<div><span style="white-space:pre"></span> </div>
<div>and my simple code:<br>
</div>
<div>
<div>ublic class MYmainClass {</div>
<div><span style="white-space:pre"></span>public int test() { </div>
<div><span style="white-space:pre"></span>int x = 100;</div>
<div><span style="white-space:pre"></span>boolean as_long_as_it_takes = false;</div>
<div><span style="white-space:pre"></span>while(as_long_as_it_takes) {</div>
<div><span style="white-space:pre"></span>if(x < 200) </div>
<div><span style="white-space:pre"></span> x = 100; </div>
<div><span style="white-space:pre"></span> else </div>
<div><span style="white-space:pre"></span> x = 200;</div>
<div><span style="white-space:pre"></span>}</div>
<div><span style="white-space:pre"></span>return x;</div>
<div><span style="white-space:pre"></span>}</div>
<div><br>
<br>
</div>
error is:
<div>Verifies the given class.</div>
<div>Usage: CheckClassAdapter <fully qualified class name or class file name><br>
</div>
<div>please help me<br>
</div>
<br>
</div>
<div><span style="white-space:pre"></span></div>
<div><span style="white-space:pre"></span></div>
<div><span style="white-space:pre"></span> </div>
<div><span style="white-space:pre"></span></div>
<div><span style="white-space:pre"></span></div>
<div><br>
</div>
<div><span style="white-space:pre"></span> </div>
<div><span style="white-space:pre"></span> </div>
<div><span style="white-space:pre"></span> </div>
<div><span style="white-space:pre"></span> </div>
<div><span style="white-space:pre"></span> </div>
<div><span style="white-space:pre"></span></div>
<div><span style="white-space:pre"></span> </div>
<div><span style="white-space:pre"></span> </div>
<div><span style="white-space:pre"></span> </div>
<div><span style="white-space:pre"></span> </div>
<div><span style="white-space:pre"></span> </div>
<div><br>
</div>
<div><span style="white-space:pre"></span></div>
<div><span style="white-space:pre"></span> <br>
</div>
<div><br>
<br>
</div>
<p><br>
</p>
</body>
</html>