Class LockAllocationBodyTransformer

  extended by soot.Transformer
      extended by soot.BodyTransformer
          extended by soot.jimple.toolkits.thread.synchronization.LockAllocationBodyTransformer

public class LockAllocationBodyTransformer
extends BodyTransformer

Method Summary
static Value getLockFor(EquivalentValue lockEqVal)
protected  void internalTransform(Body b, FlowSet fs, List<soot.jimple.toolkits.thread.synchronization.CriticalSectionGroup> groups, boolean[] insertedGlobalLock)
protected  void internalTransform(Body b, String phase, Map opts)
          This method is called to perform the transformation itself.
 InstanceFieldRef reconstruct(Body b, PatchingChain<Unit> units, InstanceFieldRef lock, Stmt insertBefore, boolean redirect)
 void redirectTraps(Body b, Unit oldUnit, Unit newUnit)
static LockAllocationBodyTransformer v()
Methods inherited from class soot.BodyTransformer
transform, transform, transform
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Method Detail


public static LockAllocationBodyTransformer v()


protected void internalTransform(Body b,
                                 String phase,
                                 Map opts)
Description copied from class: BodyTransformer
This method is called to perform the transformation itself. It is declared abstract; subclasses must implement this method by making it the entry point to their actual Body transformation.

Specified by:
internalTransform in class BodyTransformer
b - the body on which to apply the transformation
phase - the phasename for this transform; not typically used by implementations.
opts - the actual computed options; a combination of default options and Scene specified options.


protected void internalTransform(Body b,
                                 FlowSet fs,
                                 List<soot.jimple.toolkits.thread.synchronization.CriticalSectionGroup> groups,
                                 boolean[] insertedGlobalLock)


public InstanceFieldRef reconstruct(Body b,
                                    PatchingChain<Unit> units,
                                    InstanceFieldRef lock,
                                    Stmt insertBefore,
                                    boolean redirect)


public static Value getLockFor(EquivalentValue lockEqVal)


public void redirectTraps(Body b,
                          Unit oldUnit,
                          Unit newUnit)