[Soot-list] Incomplete CallGraph
qpj
412832527 at qq.com
Fri Jul 11 11:12:41 EDT 2014
Hi All,
When I use
Iterator<MethodOrMethodContext> targets = new Targets(cg.edgesOutOf(sm));
I found sm do not have any targets if sm is a method came from a class whose name contains $(like cz.romario.opensudoku.gui.FileListActivity$2).
My code:
for(SootClass sootClass:Scene.v().getClasses()){
if(sootClass.getName().startsWith("cz.romario.opensudoku.gui.FileListActivity")){
innList.add(sootClass);
}
}
for(SootClass sc:innList){
for(SootMethod sm:sc.getMethods()){
Iterator<MethodOrMethodContext> targets = new Targets(cg.edgesOutOf(sm));
System.out.println(sm+":");
while(targets.hasNext())
System.out.println(targets.next());
}
}
My result:
<cz.romario.opensudoku.gui.FileListActivity: void onCreate(android.os.Bundle)>:
targetMethod:<java.io.File: void <clinit>()>
targetMethod:<java.lang.StringBuilder: java.lang.String toString()>
targetMethod:<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>
targetMethod:<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>
targetMethod:<java.lang.StringBuilder: void <init>(java.lang.String)>
targetMethod:<java.util.Date: void <init>(long)>
targetMethod:<java.io.File: long lastModified()>
targetMethod:<java.io.File: java.lang.String getName()>
<cz.romario.opensudoku.gui.FileListActivity$2: void <init>(cz.romario.opensudoku.gui.FileListActivity)>:
targetMethod:<java.lang.Object: void <init>()>
<cz.romario.opensudoku.gui.FileListActivity$2: boolean accept(java.io.File)>:
no targets.
<cz.romario.opensudoku.gui.FileListActivity$3: void <init>(cz.romario.opensudoku.gui.FileListActivity)>:
targetMethod:<java.lang.Object: void <init>()>
<cz.romario.opensudoku.gui.FileListActivity$3: void onClick(android.content.DialogInterface,int)>:
no targets.
As you can see:
1. In cz.romario.opensudoku.gui.FileListActivity, I can get all targets of onCreate().
2. In cz.romario.opensudoku.gui.FileListActivity$2 and cz.romario.opensudoku.gui.FileListActivity$3, I cannot get any targets from accept() and onClick().
Do any one meet with this problem before?
Best Regard.
Xiangxing
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20140711/1947566b/attachment.html
More information about the Soot-list
mailing list