coins.flow
Class DefUseListImpl

java.lang.Object
  extended bycoins.flow.DefUseListImpl
All Implemented Interfaces:
DefUseList

public class DefUseListImpl
extends java.lang.Object
implements DefUseList

DefUseListImpl class Def-use list representaing list of definitions of a symbol where each definition has list of its use points. DefUseList will be accessed from Var, Reg, ExpId, etc.


Field Summary
protected  java.util.List fDefUseChainList
           
protected  java.util.HashMap fDefUseMap
           
protected  java.util.HashMap fDefUseMapOfSym
           
protected  FlowAnalSym fDefUseSym
           
 FlowRoot flowRoot
           
 
Constructor Summary
DefUseListImpl(FlowRoot pFlowRoot)
           
 
Method Summary
 DefUseChain addDefUseChain(IR pDefNode)
          addDefUseChain Add DefUseChain instance which will be created by pDefNode that defines some symbol.
 DefUseChain getDefUseChain(IR pDefNode)
          getDefUseChain Get DefUseChain having pDefNode as its definie node.
 java.util.List getDefUseChainList()
          getDefUseChain Get the list of DefUseChains in this DefUseList.
 java.util.List getDefUseChainListOfSym(FlowAnalSym pSym)
          Get the list of DefUseChains having pSym as its define node symbol.
(package private)  DefUseChain getOrAddDefUseChain(IR pDefNode)
           
 void print()
          print Print this DefUseList.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

flowRoot

public final FlowRoot flowRoot

fDefUseChainList

protected java.util.List fDefUseChainList

fDefUseMap

protected java.util.HashMap fDefUseMap

fDefUseSym

protected final FlowAnalSym fDefUseSym

fDefUseMapOfSym

protected java.util.HashMap fDefUseMapOfSym
Constructor Detail

DefUseListImpl

public DefUseListImpl(FlowRoot pFlowRoot)
Method Detail

addDefUseChain

public DefUseChain addDefUseChain(IR pDefNode)
Description copied from interface: DefUseList
addDefUseChain Add DefUseChain instance which will be created by pDefNode that defines some symbol.

Specified by:
addDefUseChain in interface DefUseList

getDefUseChain

public DefUseChain getDefUseChain(IR pDefNode)
getDefUseChain Get DefUseChain having pDefNode as its definie node.

Specified by:
getDefUseChain in interface DefUseList
Parameters:
pDefNode - definition node of a DefUseChain.
Returns:
DefUseChain having pDefNode as its define node.

getDefUseChainList

public java.util.List getDefUseChainList()
Description copied from interface: DefUseList
getDefUseChain Get the list of DefUseChains in this DefUseList.

Specified by:
getDefUseChainList in interface DefUseList
Returns:
the list of DefUseChains in this DefUseList.

getDefUseChainListOfSym

public java.util.List getDefUseChainListOfSym(FlowAnalSym pSym)
Description copied from interface: DefUseList
Get the list of DefUseChains having pSym as its define node symbol.

Specified by:
getDefUseChainListOfSym in interface DefUseList
Parameters:
pSym - definition node symbol of DefUseChain.
Returns:
List of DefUseChains having pSym as its define node symbol.

getOrAddDefUseChain

DefUseChain getOrAddDefUseChain(IR pDefNode)

print

public void print()
Description copied from interface: DefUseList
print Print this DefUseList.

Specified by:
print in interface DefUseList