|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object joeq.Compiler.Dataflow.Solver joeq.Compiler.Dataflow.WorklistSolver
public abstract class WorklistSolver
WorklistSolver
Field Summary | |
---|---|
protected Collection |
boundaries
The boundary locations. |
protected jwutil.graphs.Navigator |
graphNavigator
Navigator to navigate the graph of locations. |
Fields inherited from class joeq.Compiler.Dataflow.Solver |
---|
dataflowValues, factory, problem |
Constructor Summary | |
---|---|
protected |
WorklistSolver()
|
protected |
WorklistSolver(jwutil.collections.MapFactory f)
|
Method Summary | |
---|---|
Iterator |
boundaryLocations()
Returns an iteration of all boundary locations. |
protected Collection |
getPredecessors(Object c)
Get the predecessor locations of the given location. |
protected Collection |
getSuccessors(Object c)
Get the successor locations of the given location. |
protected abstract boolean |
hasNext()
Returns true if the worklist is not empty, false otherwise. |
void |
initialize(Problem p,
jwutil.graphs.Graph graph)
Initializes the solver to prepare to solve the dataflow problem on the given graph. |
protected abstract void |
initializeWorklist()
(Re-)initialize the worklist. |
protected abstract Object |
pull()
Pull the next location off of the worklist. |
protected abstract void |
pushAll(Collection c)
Push all of the given locations onto the worklist. |
void |
solve()
Solves this dataflow problem. |
Methods inherited from class joeq.Compiler.Dataflow.Solver |
---|
allLocations, compareResults, direction, dumpResults, getDataflowValue, initializeDataflowValueMap, reset |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected jwutil.graphs.Navigator graphNavigator
protected Collection boundaries
Constructor Detail |
---|
protected WorklistSolver(jwutil.collections.MapFactory f)
protected WorklistSolver()
Method Detail |
---|
protected Collection getPredecessors(Object c)
protected Collection getSuccessors(Object c)
protected abstract void initializeWorklist()
protected abstract boolean hasNext()
protected abstract Object pull()
protected abstract void pushAll(Collection c)
public Iterator boundaryLocations()
Solver
boundaryLocations
in class Solver
public void initialize(Problem p, jwutil.graphs.Graph graph)
Solver
initialize
in class Solver
public void solve()
Solver
solve
in class Solver
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |