public class SynchronizedRegionFinder extends ForwardFlowAnalysis<Unit,FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>
FlowAnalysis.Flow
Modifier and Type | Field and Description |
---|---|
boolean |
optionOpenNesting |
boolean |
optionPrintDebug |
filterUnitToAfterFlow, unitToAfterFlow
filterUnitToBeforeFlow, graph, unitToBeforeFlow
Modifier and Type | Method and Description |
---|---|
protected void |
copy(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> sourceSet,
FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> destSet)
Creates a copy of the
source flow object in dest . |
protected void |
flowThrough(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> in,
Unit unit,
FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> out)
OUT is the same as (IN minus killSet) plus the genSet.
|
protected void |
merge(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> inSet1,
FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> inSet2,
FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> outSet)
union
|
protected FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> |
newInitialFlow()
All INs are initialized to the empty set.
|
doAnalysis, isForward
getFlow, getFlowAfter, getFlowBefore, omissible
entryInitialFlow, merge, mergeInto, treatTrapHandlersAsEntries
public boolean optionPrintDebug
public boolean optionOpenNesting
protected FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> newInitialFlow()
newInitialFlow
in class AbstractFlowAnalysis<Unit,FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>
protected void flowThrough(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> in, Unit unit, FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> out)
flowThrough
in class FlowAnalysis<Unit,FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>
in
- the input flowunit
- the current nodeout
- the returned flowprotected void merge(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> inSet1, FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> inSet2, FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> outSet)
merge
in class AbstractFlowAnalysis<Unit,FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>
protected void copy(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> sourceSet, FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> destSet)
AbstractFlowAnalysis
source
flow object in dest
.copy
in class AbstractFlowAnalysis<Unit,FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>