[Soot-list] Transform of call sites

Patrick Lam plam at cs.mcgill.ca
Wed Jul 28 12:24:17 EDT 2010


On 07/28/10 12:16, Hal Hildebrand wrote:
>         Iterator statements = body.getUnits().snapshotIterator();
>         while (statements.hasNext()) {
>             Stmt stmt = (Stmt) statements.next();
>             if (stmt instanceof InvokeStmt) {
> 	
>                 ...  Case A
>
>             } else if (stmt instanceof AssignStmt) {
>                 AssignStmt assign = (AssignStmt) stmt;
>                 if (assign.containsInvokeExpr()) {
>
> 		    ... Case B
>
>                 }
>             } else if (stmt.containsInvokeExpr()) {
>
> 		... Case C
>
>             }

I believe that the only statements which can contain invoke expressions 
are InvokeStmts and AssignStmts, so case C should never occur. Seems 
like you'd want to put your transformation code in the other two cases.

pat


More information about the Soot-list mailing list