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, unitToAfterFlowfilterUnitToBeforeFlow, 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, isForwardgetFlow, getFlowAfter, getFlowBefore, omissibleentryInitialFlow, merge, mergeInto, treatTrapHandlersAsEntriespublic 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)
AbstractFlowAnalysissource flow object in dest.copy in class AbstractFlowAnalysis<Unit,FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>