soot.jimple.toolkits.thread.transaction
Class TransactionBodyTransformer
java.lang.Object
soot.Transformer
soot.BodyTransformer
soot.jimple.toolkits.thread.transaction.TransactionBodyTransformer
public class TransactionBodyTransformer
- extends BodyTransformer
Method Summary |
static Value |
getLockFor(EquivalentValue lockEqVal)
|
protected void |
internalTransform(Body b,
FlowSet fs,
List<soot.jimple.toolkits.thread.transaction.TransactionGroup> groups)
|
protected void |
internalTransform(Body b,
String phase,
Map opts)
This method is called to perform the transformation itself. |
InstanceFieldRef |
reconstruct(Body b,
PatchingChain units,
InstanceFieldRef lock,
Stmt insertBefore,
boolean redirect)
|
void |
redirectTraps(Body b,
Unit oldUnit,
Unit newUnit)
|
static TransactionBodyTransformer |
v()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
addedGlobalLockObj
public static boolean[] addedGlobalLockObj
v
public static TransactionBodyTransformer v()
internalTransform
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
- Parameters:
b
- the body on which to apply the transformationphase
- the phasename for this transform; not typically used by implementations.opts
- the actual computed options; a combination of default options and Scene specified options.
internalTransform
protected void internalTransform(Body b,
FlowSet fs,
List<soot.jimple.toolkits.thread.transaction.TransactionGroup> groups)
reconstruct
public InstanceFieldRef reconstruct(Body b,
PatchingChain units,
InstanceFieldRef lock,
Stmt insertBefore,
boolean redirect)
getLockFor
public static Value getLockFor(EquivalentValue lockEqVal)
redirectTraps
public void redirectTraps(Body b,
Unit oldUnit,
Unit newUnit)