我是煤烟新手,我开始编写一个扩展的类ForwardFlowAnalysis
。在我的主函数中,我想ForwardFlowAnalysis
通过使用构造函数来新建一个 obj。但似乎由于某种原因没有执行构造函数,结果只打印出“1”。有人知道发生了什么吗?
public class MyMain{
public static void main(String[] args) {
PackManager.v().getPack("jtp").add(
new Transform("jtp.myTransform", new BodyTransformer() {
protected void internalTransform(Body body, String phase, Map options) {
G.v().out.println("1");
new MyAnalysis(new ExceptionalUnitGraph(body));
G.v().out.println("3");
}}));
soot.Main.main(args);
}
public static class MyAnalysis extends ForwardFlowAnalysis {
public MyAnalysis(ExceptionalUnitGraph g) {
super(g);
G.v().out.println("2");
doAnalysis();
}
}