[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