[Soot-list] Transform of call sites

Hal Hildebrand hal.hildebrand at gmail.com
Tue Jul 27 11:25:02 EDT 2010


On Jul 27, 2010, at 12:56 AM, Eric Bodden wrote:

>>        if (stmt instanceof InvokeExpr) {
> 
> That won't work: a stmt is never an expression. It only sometimes
> *has* an expression.

That clause shoud be if (stmt instanceof InvokeStmt), correct?  

> Also, stmt.containsInvokeExpr() can return true
> for both an InvokeStmt and an AssignStmt...

The former should be taken care of by the corrected branch above, if I'm not mistaken.  The worst case of the latter is an additional assignment of the form:

	x = someMethodInvoke;
	y = x;

Which should come out in the wash, right?

Sorry, this isn't my day job so I haven't had the time to spend on this that I'd like.  I'm now putting the scenario testing in place to see if my transformation theories are correct, which should help me progress faster.  Appreciate all the help.


More information about the Soot-list mailing list