public abstract class DataFlowProblem<T extends DataFlowProblem<T,U>,U extends FlowGraphNode<T,U>> extends Object
| Modifier and Type | Class and Description | 
|---|---|
| static class  | DataFlowProblem.DF_Direction | 
| Modifier and Type | Field and Description | 
|---|---|
| DataFlowProblem.DF_Direction | direction | 
| protected List<U> | flowGraphNodes | 
| protected IRScope | scope | 
| Constructor and Description | 
|---|
| DataFlowProblem(DataFlowProblem.DF_Direction direction) | 
| Modifier and Type | Method and Description | 
|---|---|
| int | addDataFlowVar() | 
| abstract U | buildFlowGraphNode(BasicBlock bb) | 
| void | compute_MOP_Solution() | 
| protected LinkedList<U> | generateWorkList()Generate an ordered list of flow graph nodes in a forward or backward order depending
 on direction. | 
| String | getDataFlowVarsForOutput() | 
| int | getDFVarsCount() | 
| U | getEntryNode() | 
| U | getExitNode() | 
| DataFlowProblem.DF_Direction | getFlowDirection() | 
| U | getFlowGraphNode(BasicBlock bb) | 
| abstract String | getName() | 
| IRScope | getScope() | 
| boolean | isEmpty()Are there are available data flow facts to run this problem? SSS FIXME: Silly optimization? | 
| void | setup(IRScope scope) | 
| String | toString() | 
public final DataFlowProblem.DF_Direction direction
protected List<U extends FlowGraphNode<T,U>> flowGraphNodes
protected IRScope scope
public DataFlowProblem(DataFlowProblem.DF_Direction direction)
public abstract U buildFlowGraphNode(BasicBlock bb)
public abstract String getName()
public boolean isEmpty()
public DataFlowProblem.DF_Direction getFlowDirection()
public void setup(IRScope scope)
public IRScope getScope()
public void compute_MOP_Solution()
protected LinkedList<U> generateWorkList()
public int getDFVarsCount()
public String getDataFlowVarsForOutput()
public U getFlowGraphNode(BasicBlock bb)
public U getEntryNode()
public U getExitNode()
public int addDataFlowVar()
Copyright © 2001-2015 JRuby. All Rights Reserved.