[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Changes in new soot.
There will definitely be incompatibilities between old soot and new soot.
However, I think that you should wait for beta5 (real soon now), which
shouldn't have any major incompatibilities with release 1 (not as soon).
By the way, if anyone wants to come to Montreal to work on Soot stuff,
that would be cool. Raja and I are willing to help people with their Soot
problems in person, as long as you can get here.
Note that BlockGraph is now provided by Soot, as is a Hierarchy; it
answers questions about subclasses, superclasses, etc.
One major change is that the concept of a StmtList has been replaced by a
Chain. A chain still can be iterated over, though; it also provides fast
insertion and deletion of arbitrary elements [given the element, delete
it; not by index]. You get the chain of units by asking the relevant Body.
Because of this, listIterators are no longer available.
Also, Stmt now has a superclass Unit, which is shared by different IRs.
Hence StmtGraph is now generalized to UnitGraph (as opposed to
BlockGraph).
NonStaticInvokeExpr -> InstanceInvokeExpr
SootClassManager is now known as Scene. There is a singleton Scene
object, accessed through Scene.v(). [We couldn't think of a possible
case where you'd want 2 scenes around.]
pat