coins
Class FlowRoot

java.lang.Object
  extended bycoins.FlowRoot

public class FlowRoot
extends java.lang.Object

/** FlowRoot class is used to access Flow information and
  information prepared by other classes such as Sym, HIR, etc.
  All Flow objects contain a reference to the FlowRoot object
  from which intermediate representation information and methods
  can be quickly accessed.
  FlowRoot contains references of IoRoot, SymRoot, HirRoot, etc.
  Thus, every Flow objects can access information and methods of
  SymRoot, Sym, HirRoot, HIR, LirRoot, and IoRoot.


Field Summary
 Flow aflow
          aflow: Flow instance used to invoke Flow methods.
 ControlFlow controlFlow
           
 DataFlow dataFlow
           
protected  FlagBox fFlowAnalOption
           
protected  boolean fHirAnalysis
           
protected  FlowRoot fInheritedFlowRoot
           
 Flow flow
           
 FlowRoot flowRoot
          Record the FlowRoot instance so that it can be refered from others.
 SubpFlow fSubpFlow
           
 HirRoot hirRoot
          HirRoot records the reference to the HirRoot object passed as a parameter of costructors for FlowRoot.
 IoRoot ioRoot
          ioRoot records the reference to the IoRoot object which is got from HirRoot or LirRoot object passed as a parameter of FlowRoot constructor.
static int OPTION_AVAIL_IN_OUT
          Flow analysis option
static int OPTION_COUNT
           
static int OPTION_DEF_IN_OUT
          Flow analysis option
static int OPTION_DEF_KILL
          Flow analysis option
static int OPTION_DEFINED_EXPOSED
          Flow analysis option
static int OPTION_DOMINATOR
          Flow analysis option
static int OPTION_EGEN_EKILL
          Flow analysis option
static int OPTION_LIVE_IN_OUT
          Flow analysis option
static int[][] OPTION_MATRIX
           
static int OPTION_MINIMAL_CONTROL_FLOW
          Flow analysis option
static int OPTION_MINIMAL_DATA_FLOW
          Flow analysis option
static int OPTION_POST_DOMINATOR
          Flow analysis option
static int OPTION_REACH
          Flow analysis option
static int OPTION_STANDARD_CONTROL_FLOW
          Flow analysis option
static int OPTION_STANDARD_DATA_FLOW
          Flow analysis option
static int STATE_CFG_AVAILABLE
          State of flow analysis
static int STATE_CFG_RESTRUCTURING
          State of flow analysis
static int STATE_DATA_FLOW_AVAILABLE
          State of flow analysis
static int STATE_DATA_UNAVAILABLE
          State of flow analysis
static int STATE_HIR_FLOW_AVAILABLE
          State of flow analysis
static int STATE_LIR_FLOW_AVAILABLE
          State of flow analysis
 SubpFlow subpFlow
          subpFlow: SubpFlow instance that is currently active.
 Subp subpUnderAnalysis
          subpUnderAnalysis: Subprogram under flow analysis.
 SymRoot symRoot
          symRoot records the reference to the SymRoot object got from HirRoot or LirRoot passed as a parameter of costructors for HirRoot or LirRoot.
 
Constructor Summary
FlowRoot(HirRoot pHirRoot)
          Constructor for HIR flow analysis.
 
Method Summary
 boolean getFlowAnalOption(int pOptionId)
           
 FlowRoot getInheritedFlowRoot()
           
 boolean isHirAnalysis()
          See which of HIR and LIR is currently analyzed.
 boolean isLirAnalysis()
          See which of HIR and LIR is currently analyzed.
 void resetAllFlowAnalOptions()
           
 void setFlowAnalOption(int pOptionId, boolean pYesNo)
           
 void setHirAnalysis()
          Indicate that HIR is currently analyzed.
 void setInheritedFlowRoot(FlowRoot pInheritedFlowRoot)
           
 void setLirAnalysis()
          Indicate that LIR is currently analyzed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ioRoot

public final IoRoot ioRoot
ioRoot records the reference to the IoRoot object which is got from HirRoot or LirRoot object passed as a parameter of FlowRoot constructor. It is used in accessing IoRoot information and invoking IoRoot methods.


symRoot

public final SymRoot symRoot
symRoot records the reference to the SymRoot object got from HirRoot or LirRoot passed as a parameter of costructors for HirRoot or LirRoot. It is used in accessing information and methods of SymRoot and Sym.


hirRoot

public final HirRoot hirRoot
HirRoot records the reference to the HirRoot object passed as a parameter of costructors for FlowRoot. It is used in accessing information and methods of HIR.


flowRoot

public final FlowRoot flowRoot
Record the FlowRoot instance so that it can be refered from others.


aflow

public final Flow aflow
aflow: Flow instance used to invoke Flow methods.


flow

public final Flow flow

controlFlow

public ControlFlow controlFlow

dataFlow

public DataFlow dataFlow

subpFlow

public SubpFlow subpFlow
subpFlow: SubpFlow instance that is currently active.


fSubpFlow

public SubpFlow fSubpFlow

subpUnderAnalysis

public Subp subpUnderAnalysis
subpUnderAnalysis: Subprogram under flow analysis.


fHirAnalysis

protected boolean fHirAnalysis

fFlowAnalOption

protected FlagBox fFlowAnalOption

fInheritedFlowRoot

protected FlowRoot fInheritedFlowRoot

STATE_DATA_UNAVAILABLE

public static final int STATE_DATA_UNAVAILABLE
State of flow analysis

See Also:
Constant Field Values

STATE_CFG_RESTRUCTURING

public static final int STATE_CFG_RESTRUCTURING
State of flow analysis

See Also:
Constant Field Values

STATE_CFG_AVAILABLE

public static final int STATE_CFG_AVAILABLE
State of flow analysis

See Also:
Constant Field Values

STATE_DATA_FLOW_AVAILABLE

public static final int STATE_DATA_FLOW_AVAILABLE
State of flow analysis

See Also:
Constant Field Values

STATE_HIR_FLOW_AVAILABLE

public static final int STATE_HIR_FLOW_AVAILABLE
State of flow analysis

See Also:
Constant Field Values

STATE_LIR_FLOW_AVAILABLE

public static final int STATE_LIR_FLOW_AVAILABLE
State of flow analysis

See Also:
Constant Field Values

OPTION_MINIMAL_CONTROL_FLOW

public static final int OPTION_MINIMAL_CONTROL_FLOW
Flow analysis option

See Also:
Constant Field Values

OPTION_DOMINATOR

public static final int OPTION_DOMINATOR
Flow analysis option

See Also:
Constant Field Values

OPTION_POST_DOMINATOR

public static final int OPTION_POST_DOMINATOR
Flow analysis option

See Also:
Constant Field Values

OPTION_STANDARD_CONTROL_FLOW

public static final int OPTION_STANDARD_CONTROL_FLOW
Flow analysis option

See Also:
Constant Field Values

OPTION_MINIMAL_DATA_FLOW

public static final int OPTION_MINIMAL_DATA_FLOW
Flow analysis option

See Also:
Constant Field Values

OPTION_DEF_KILL

public static final int OPTION_DEF_KILL
Flow analysis option

See Also:
Constant Field Values

OPTION_REACH

public static final int OPTION_REACH
Flow analysis option

See Also:
Constant Field Values

OPTION_DEFINED_EXPOSED

public static final int OPTION_DEFINED_EXPOSED
Flow analysis option

See Also:
Constant Field Values

OPTION_EGEN_EKILL

public static final int OPTION_EGEN_EKILL
Flow analysis option

See Also:
Constant Field Values

OPTION_AVAIL_IN_OUT

public static final int OPTION_AVAIL_IN_OUT
Flow analysis option

See Also:
Constant Field Values

OPTION_LIVE_IN_OUT

public static final int OPTION_LIVE_IN_OUT
Flow analysis option

See Also:
Constant Field Values

OPTION_DEF_IN_OUT

public static final int OPTION_DEF_IN_OUT
Flow analysis option

See Also:
Constant Field Values

OPTION_STANDARD_DATA_FLOW

public static final int OPTION_STANDARD_DATA_FLOW
Flow analysis option

See Also:
Constant Field Values

OPTION_COUNT

public static final int OPTION_COUNT
See Also:
Constant Field Values

OPTION_MATRIX

public static final int[][] OPTION_MATRIX
Constructor Detail

FlowRoot

public FlowRoot(HirRoot pHirRoot)
Constructor for HIR flow analysis.

Method Detail

getFlowAnalOption

public boolean getFlowAnalOption(int pOptionId)

setFlowAnalOption

public void setFlowAnalOption(int pOptionId,
                              boolean pYesNo)

resetAllFlowAnalOptions

public void resetAllFlowAnalOptions()

isHirAnalysis

public boolean isHirAnalysis()
See which of HIR and LIR is currently analyzed.

Returns:
true if HIR is currently analyzed, false otherwize.

isLirAnalysis

public boolean isLirAnalysis()
See which of HIR and LIR is currently analyzed.

Returns:
true if LIR is currently analyzed, false otherwize.

setHirAnalysis

public void setHirAnalysis()
Indicate that HIR is currently analyzed.


setLirAnalysis

public void setLirAnalysis()
Indicate that LIR is currently analyzed.


getInheritedFlowRoot

public FlowRoot getInheritedFlowRoot()

setInheritedFlowRoot

public void setInheritedFlowRoot(FlowRoot pInheritedFlowRoot)