[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Jimple.newVirtualInvoke() question



why does Jimple.newVirtualInvoke() take a Local as the base rather than a Value? for instance, the following seems reasonable:

Jimple.v().newVirtualInvoke(Jimple.v().newStaticFieldRef(myField), mySootMethod, myArg1);
where the invokevirtual call would just use the value pushed onto the operator stack by the getstatic operation, rather than having to create a new local and assign to it and then re-load it.


this problem is evident in other Stmt types as well. i just chose VirtualInvokeStmt as an example. i'm sure it's this way it is for a reason. i'm just curious what that reason is.

thanks.
nall.