coins.aflow
Class FlowResults

java.lang.Object
  extended byjava.util.AbstractMap
      extended byjava.util.HashMap
          extended bycoins.aflow.util.SelfCollectingResults
              extended bycoins.aflow.FlowResults
All Implemented Interfaces:
java.lang.Cloneable, java.util.Map, java.io.Serializable

public class FlowResults
extends SelfCollectingResults

This class is a SelfCollectingResults class that has several convenience methods. It also has its own map (fCFGInfo) that holds some CFG related info, and that won't be destroyed by calling clear().

Because this class is associated with CFG, it has to be instantiated for every SubpFlow object. This is not what was originally intended.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class java.util.HashMap
 
Nested classes inherited from class java.util.AbstractMap
 
Field Summary
protected  java.util.Map fCFGInfo
          Holds the Map from Label to BBlock.
protected  int fDbgLevel
           
 FlowRoot flowRoot
           
 
Fields inherited from class coins.aflow.util.SelfCollectingResults
fAnalDependenceGraph, fComrades, regClasses
 
Fields inherited from class java.util.HashMap
 
Fields inherited from class java.util.AbstractMap
 
Constructor Summary
FlowResults(FlowRoot pFlowRoot)
          Creates a new instance of FlowResults
 
Method Summary
 void clearAll()
          Clear all the information this object holds.
 void find(java.lang.String pAnal, java.lang.Object pObj)
           
 void find(java.lang.String pAnal, java.lang.Object pObj, java.lang.Object pObj0)
           
 java.lang.Object get(java.lang.String pAnal, java.lang.Object pObj)
          Obtains the information specified by the argument pAnal and pObj from the pResults argument.
 java.lang.Object get(java.lang.String pAnal, java.lang.Object pObj, java.lang.Object pObj0)
           
 BBlock getBBlockForLabel(Label pLabel)
           
 BBlock getBBlockForNode(HIR pHIR)
           
 FlowExpId getFlowExpIdForNode(IR pIR)
           
 java.lang.Object getRaw(java.lang.String pAnal)
           
 java.lang.Object getRaw(java.lang.String pAnal, java.lang.Object pObj)
           
 java.lang.Object getRaw(java.lang.String pAnal, java.lang.Object pObj, java.lang.Object pObj0)
           
 void putAnalyzer(java.lang.String pAnal, java.lang.Class pAnalClass)
           
 void putAnalyzer(java.lang.String pAnal, java.lang.Class pAnalClass, java.lang.String pMethodName)
           
static void putRegClasses(RegisterFlowAnalClasses pRegClasses)
           
 void setBBlockForLabel(Label pLabel, BBlock pBBlock)
           
 void setFlowExpIdForNode(IR pIR, FlowExpId pFlowExpId)
           
 
Methods inherited from class coins.aflow.util.SelfCollectingResults
containsKey, containsKey, containsKey, find, get, list, list, list, put, put, put, putRegClasses
 
Methods inherited from class java.util.HashMap
clear, clone, containsKey, containsValue, entrySet, get, isEmpty, keySet, put, putAll, remove, size, values
 
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Field Detail

fCFGInfo

protected final java.util.Map fCFGInfo
Holds the Map from Label to BBlock.


fDbgLevel

protected final int fDbgLevel

flowRoot

public final FlowRoot flowRoot
Constructor Detail

FlowResults

public FlowResults(FlowRoot pFlowRoot)
Creates a new instance of FlowResults

Method Detail

putRegClasses

public static void putRegClasses(RegisterFlowAnalClasses pRegClasses)

clearAll

public void clearAll()
Clear all the information this object holds.


getBBlockForLabel

public BBlock getBBlockForLabel(Label pLabel)

setBBlockForLabel

public void setBBlockForLabel(Label pLabel,
                              BBlock pBBlock)

getFlowExpIdForNode

public FlowExpId getFlowExpIdForNode(IR pIR)

setFlowExpIdForNode

public void setFlowExpIdForNode(IR pIR,
                                FlowExpId pFlowExpId)

getBBlockForNode

public BBlock getBBlockForNode(HIR pHIR)

putAnalyzer

public void putAnalyzer(java.lang.String pAnal,
                        java.lang.Class pAnalClass)
Overrides:
putAnalyzer in class SelfCollectingResults

putAnalyzer

public void putAnalyzer(java.lang.String pAnal,
                        java.lang.Class pAnalClass,
                        java.lang.String pMethodName)
Overrides:
putAnalyzer in class SelfCollectingResults

find

public void find(java.lang.String pAnal,
                 java.lang.Object pObj)
Overrides:
find in class SelfCollectingResults

find

public void find(java.lang.String pAnal,
                 java.lang.Object pObj,
                 java.lang.Object pObj0)
Overrides:
find in class SelfCollectingResults

get

public java.lang.Object get(java.lang.String pAnal,
                            java.lang.Object pObj)
Description copied from class: SelfCollectingResults
Obtains the information specified by the argument pAnal and pObj from the pResults argument. If pResults does not contain the requested information, analyses to obtain the requested information will be performed, and the result eventually returned.

Overrides:
get in class SelfCollectingResults
Parameters:
pAnal - name of the information to retrieve, which serves as a key for the requested information.
pObj - object that serves as another key for the requested information.
Returns:
the requested information.

get

public java.lang.Object get(java.lang.String pAnal,
                            java.lang.Object pObj,
                            java.lang.Object pObj0)
Overrides:
get in class SelfCollectingResults

getRaw

public java.lang.Object getRaw(java.lang.String pAnal)
Overrides:
getRaw in class SelfCollectingResults

getRaw

public java.lang.Object getRaw(java.lang.String pAnal,
                               java.lang.Object pObj)
Overrides:
getRaw in class SelfCollectingResults

getRaw

public java.lang.Object getRaw(java.lang.String pAnal,
                               java.lang.Object pObj,
                               java.lang.Object pObj0)
Overrides:
getRaw in class SelfCollectingResults