coins.aflow
クラス SetRefReprImpl

java.lang.Object
  |
  +--coins.aflow.SetRefReprImpl
すべての実装インタフェース:
SetRefRepr
直系の既知のサブクラス:
SetRefReprEImpl, SetRefReprHirImpl

public abstract class SetRefReprImpl
extends java.lang.Object
implements SetRefRepr

Implementation of the SetRefRepr interface


フィールドの概要
protected  BBlock fBBlock
           
protected  FlowAnalSym fDefSym
          Symbol or ExpId defined by this SetRefRepr.
protected  FlagBox fFlags
           
protected  IR fIR
           
 FlowRoot flowRoot
           
protected  int fOpCode
           
(パッケージプライベート)  FlowResults fResults
           
protected  java.util.List fUseExpIdList
           
protected  java.util.List fUseNodeList
           
 SymRoot symRoot
           
 
インタフェース coins.aflow.SetRefRepr から継承したフィールド
HAS_CONTROL, IS_RETURN, SETS
 
コンストラクタの概要
protected SetRefReprImpl(IR pIR, BBlock pBBlock)
          SetRefReprImpl //##25-1 Make an instance of SetRefRepr for the subtree pIR in the basic block pBBlock.
 
メソッドの概要
 boolean allFalse()
           
 FlowExpId defFlowExpId()
          Returns the FlowExpId that correponds to the node returned by getDefNode().
 java.util.Iterator expIterator()
          Returns the Set of nodes that have FlowAnalSym attached and are not a Def node.
 java.util.ListIterator expListIterator()
          Returns a DFO iterator that iterates over nodes that have a FlowExpId attached, and, if "this" is value-setting, is not a Def node. // NEEDED
 java.util.ListIterator expListIterator(boolean pFromTop, boolean pFromLeft)
          Returns an DFO iterator that iterates over nodes that have a FlowExpId attached, and, if "this" is value-setting, is not a Def node. // NEEDED
 java.util.ListIterator expListIteratorFromBottom()
           
abstract  java.util.List exps()
           
(パッケージプライベート) abstract  java.util.List exps(boolean pFromTop, boolean pFromLeft)
           
 BBlock getBBlock()
           
 ExpVector getDAvailIn()
           
 FlowAnalSymVector getDDefIn()
           
 FlowAnalSymVector getDDefined()
           
 FlowAnalSym getDefSym()
           
 FlowAnalSymVector getDExposed()
           
 DefVector getDKill()
           
 DefVector getDReach()
           
 FlowAnalSymVector getDUsed()
           
 boolean getFlag(int pFlagNumber)
           
 java.util.Set getFlowExpIds()
           
 IR getIR()
          Returns the (top) node this SetRefRepr represents.
 FlowAnalSymVector getPDefined()
           
 ExpVector getPEKill()
           
 FlowAnalSymVector getPExposed()
           
 DefVector getPKill()
           
 FlowAnalSymVector getPLiveOut()
           
 DefVector getPReach()
           
 FlowAnalSymVector getPUsed()
           
 java.util.Set getUseFlowExpIds()
           
 boolean hasControl()
          Does this SetRefRepr is at the end of the BBlock and has a role to determine the flow of control after this SetRefRepr?
 boolean isReturn()
           
 NodeIterator nodeIterator()
          DFO iterator over the nodes under the subtree returned by getIR.
 NodeListIterator nodeListIterator()
           
 NodeListIterator nodeListIterator(boolean pFromTop, boolean pFromLeft)
          DFO iterator over the nodes under the subtree returned by getIR().
 void setFlag(int pFlagNumber, boolean pYesNo)
           
 boolean sets()
          Returns true if this SetRefRepr involves value-setting, other than via the external call.
 IR topUseNode()
          If this is a value-setting node, returns the top node of the RHS.
 java.lang.String toString()
          Converts to a String object.
 java.util.Iterator useNodeIterator()
          DFO iterator over the nodes under the subtree returned by getIR(), but the node returned by getDefNode() excluded.
 java.util.Set useSyms()
          Returns the Set of the FlowAnalSyms used in this SetRefRepr.
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース coins.aflow.SetRefRepr から継承したメソッド
callNodes, defNode, defSym, hasCallWithSideEffect, lhsSyms, modSyms, modSyms00, useNodeList, writesToDefiniteAddress
 

フィールドの詳細

flowRoot

public final FlowRoot flowRoot

symRoot

public final SymRoot symRoot

fIR

protected IR fIR

fUseNodeList

protected java.util.List fUseNodeList

fUseExpIdList

protected java.util.List fUseExpIdList

fOpCode

protected int fOpCode

fResults

FlowResults fResults

fFlags

protected FlagBox fFlags

fBBlock

protected BBlock fBBlock

fDefSym

protected FlowAnalSym fDefSym
Symbol or ExpId defined by this SetRefRepr.

コンストラクタの詳細

SetRefReprImpl

protected SetRefReprImpl(IR pIR,
                         BBlock pBBlock)
SetRefReprImpl //##25-1 Make an instance of SetRefRepr for the subtree pIR in the basic block pBBlock.

メソッドの詳細

getIR

public IR getIR()
インタフェース SetRefRepr の記述:
Returns the (top) node this SetRefRepr represents.

定義:
インタフェース SetRefRepr 内の getIR
戻り値:
the node this SetRefRepr represents.

useSyms

public java.util.Set useSyms()
インタフェース SetRefRepr の記述:
Returns the Set of the FlowAnalSyms used in this SetRefRepr. All symbols whose values can possibly referred within this SetRefRepr are included, but those that can be referred to through the external calls (i.e. global symbols) within this SetRefRepr are not considered.

定義:
インタフェース SetRefRepr 内の useSyms

topUseNode

public IR topUseNode()
インタフェース SetRefRepr の記述:
If this is a value-setting node, returns the top node of the RHS. If not, returns the same node as getIR().

定義:
インタフェース SetRefRepr 内の topUseNode

getFlowExpIds

public java.util.Set getFlowExpIds()

getUseFlowExpIds

public java.util.Set getUseFlowExpIds()

defFlowExpId

public FlowExpId defFlowExpId()
インタフェース SetRefRepr の記述:
Returns the FlowExpId that correponds to the node returned by getDefNode().

定義:
インタフェース SetRefRepr 内の defFlowExpId

getDefSym

public FlowAnalSym getDefSym()
定義:
インタフェース SetRefRepr 内の getDefSym

toString

public java.lang.String toString()
インタフェース SetRefRepr の記述:
Converts to a String object.

定義:
インタフェース SetRefRepr 内の toString
オーバーライド:
クラス java.lang.Object 内の toString

nodeIterator

public NodeIterator nodeIterator()
インタフェース SetRefRepr の記述:
DFO iterator over the nodes under the subtree returned by getIR.

定義:
インタフェース SetRefRepr 内の nodeIterator

nodeListIterator

public NodeListIterator nodeListIterator()
定義:
インタフェース SetRefRepr 内の nodeListIterator

nodeListIterator

public NodeListIterator nodeListIterator(boolean pFromTop,
                                         boolean pFromLeft)
インタフェース SetRefRepr の記述:
DFO iterator over the nodes under the subtree returned by getIR().

定義:
インタフェース SetRefRepr 内の nodeListIterator
パラメータ:
pFromTop - If true, iterates from the top of the subtree.
pFromLeft - if true, iterates from the left of the subtree.

useNodeIterator

public java.util.Iterator useNodeIterator()
インタフェース SetRefRepr の記述:
DFO iterator over the nodes under the subtree returned by getIR(), but the node returned by getDefNode() excluded.

定義:
インタフェース SetRefRepr 内の useNodeIterator

expIterator

public java.util.Iterator expIterator()
Returns the Set of nodes that have FlowAnalSym attached and are not a Def node. Returns the Set of nodes that have FlowAnalSym attached and are not a Def node.

定義:
インタフェース SetRefRepr 内の expIterator
関連項目:
SetRefRepr.defNode()

expListIterator

public java.util.ListIterator expListIterator()
インタフェース SetRefRepr の記述:
Returns a DFO iterator that iterates over nodes that have a FlowExpId attached, and, if "this" is value-setting, is not a Def node. // NEEDED

定義:
インタフェース SetRefRepr 内の expListIterator

expListIteratorFromBottom

public java.util.ListIterator expListIteratorFromBottom()

exps

public abstract java.util.List exps()

exps

abstract java.util.List exps(boolean pFromTop,
                             boolean pFromLeft)

expListIterator

public java.util.ListIterator expListIterator(boolean pFromTop,
                                              boolean pFromLeft)
インタフェース SetRefRepr の記述:
Returns an DFO iterator that iterates over nodes that have a FlowExpId attached, and, if "this" is value-setting, is not a Def node. // NEEDED

定義:
インタフェース SetRefRepr 内の expListIterator
パラメータ:
pFromTop - iterate from top?
pFromLeft - iterate from left?

getFlag

public boolean getFlag(int pFlagNumber)
定義:
インタフェース SetRefRepr 内の getFlag

setFlag

public void setFlag(int pFlagNumber,
                    boolean pYesNo)
定義:
インタフェース SetRefRepr 内の setFlag

allFalse

public boolean allFalse()
定義:
インタフェース SetRefRepr 内の allFalse

sets

public boolean sets()
インタフェース SetRefRepr の記述:
Returns true if this SetRefRepr involves value-setting, other than via the external call.

定義:
インタフェース SetRefRepr 内の sets

hasControl

public boolean hasControl()
インタフェース SetRefRepr の記述:
Does this SetRefRepr is at the end of the BBlock and has a role to determine the flow of control after this SetRefRepr?

定義:
インタフェース SetRefRepr 内の hasControl

isReturn

public boolean isReturn()
定義:
インタフェース SetRefRepr 内の isReturn

getDKill

public DefVector getDKill()
定義:
インタフェース SetRefRepr 内の getDKill

getPReach

public DefVector getPReach()
定義:
インタフェース SetRefRepr 内の getPReach

getBBlock

public BBlock getBBlock()
定義:
インタフェース SetRefRepr 内の getBBlock

getDReach

public DefVector getDReach()
定義:
インタフェース SetRefRepr 内の getDReach

getPKill

public DefVector getPKill()
定義:
インタフェース SetRefRepr 内の getPKill

getDAvailIn

public ExpVector getDAvailIn()
定義:
インタフェース SetRefRepr 内の getDAvailIn

getPEKill

public ExpVector getPEKill()
定義:
インタフェース SetRefRepr 内の getPEKill

getDDefIn

public FlowAnalSymVector getDDefIn()
定義:
インタフェース SetRefRepr 内の getDDefIn

getDDefined

public FlowAnalSymVector getDDefined()
定義:
インタフェース SetRefRepr 内の getDDefined

getPDefined

public FlowAnalSymVector getPDefined()
定義:
インタフェース SetRefRepr 内の getPDefined

getDExposed

public FlowAnalSymVector getDExposed()
定義:
インタフェース SetRefRepr 内の getDExposed

getDUsed

public FlowAnalSymVector getDUsed()
定義:
インタフェース SetRefRepr 内の getDUsed

getPExposed

public FlowAnalSymVector getPExposed()
定義:
インタフェース SetRefRepr 内の getPExposed

getPLiveOut

public FlowAnalSymVector getPLiveOut()
定義:
インタフェース SetRefRepr 内の getPLiveOut

getPUsed

public FlowAnalSymVector getPUsed()
定義:
インタフェース SetRefRepr 内の getPUsed