|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.aflow.SetRefReprImpl
Implementation of the SetRefRepr interface
| Field Summary | |
protected BBlock |
fBBlock
|
protected FlowAnalSym |
fDefSym
Symbol or ExpId defined by this SetRefRepr. |
protected FlagBox |
fFlags
|
protected IR |
fIR
|
FlowRoot |
flowRoot
|
protected int |
fOpCode
|
(package private) FlowResults |
fResults
|
protected java.util.List |
fUseExpIdList
|
protected java.util.List |
fUseNodeList
|
SymRoot |
symRoot
|
| Fields inherited from interface coins.aflow.SetRefRepr |
HAS_CONTROL, IS_RETURN, SETS |
| Constructor Summary | |
protected |
SetRefReprImpl(IR pIR,
BBlock pBBlock)
SetRefReprImpl //##25-1 Make an instance of SetRefRepr for the subtree pIR in the basic block pBBlock. |
| Method Summary | |
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. |
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. |
java.util.ListIterator |
expListIteratorFromBottom()
|
abstract java.util.List |
exps()
|
(package private) 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. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface coins.aflow.SetRefRepr |
callNodes, defNode, defSym, hasCallWithSideEffect, lhsSyms, modSyms, modSyms00, useNodeList, writesToDefiniteAddress |
| Field Detail |
public final FlowRoot flowRoot
public final SymRoot symRoot
protected IR fIR
protected java.util.List fUseNodeList
protected java.util.List fUseExpIdList
protected int fOpCode
FlowResults fResults
protected FlagBox fFlags
protected BBlock fBBlock
protected FlowAnalSym fDefSym
| Constructor Detail |
protected SetRefReprImpl(IR pIR,
BBlock pBBlock)
| Method Detail |
public IR getIR()
SetRefRepr
getIR in interface SetRefReprpublic java.util.Set useSyms()
SetRefRepr
useSyms in interface SetRefReprpublic IR topUseNode()
SetRefReprgetIR().
topUseNode in interface SetRefReprpublic java.util.Set getFlowExpIds()
public java.util.Set getUseFlowExpIds()
public FlowExpId defFlowExpId()
SetRefReprFlowExpId that correponds to the node returned by getDefNode().
defFlowExpId in interface SetRefReprpublic FlowAnalSym getDefSym()
getDefSym in interface SetRefReprpublic java.lang.String toString()
SetRefRepr
toString in interface SetRefReprpublic NodeIterator nodeIterator()
SetRefReprgetIR.
nodeIterator in interface SetRefReprpublic NodeListIterator nodeListIterator()
nodeListIterator in interface SetRefRepr
public NodeListIterator nodeListIterator(boolean pFromTop,
boolean pFromLeft)
SetRefReprgetIR().
nodeListIterator in interface SetRefReprpFromTop - If true, iterates from the top of the subtree.pFromLeft - if true, iterates from the left of the subtree.public java.util.Iterator useNodeIterator()
SetRefReprgetIR(), but the node returned by getDefNode() excluded.
useNodeIterator in interface SetRefReprpublic java.util.Iterator expIterator()
expIterator in interface SetRefReprSetRefRepr.defNode()public java.util.ListIterator expListIterator()
SetRefRepr
expListIterator in interface SetRefReprpublic java.util.ListIterator expListIteratorFromBottom()
public abstract java.util.List exps()
abstract java.util.List exps(boolean pFromTop,
boolean pFromLeft)
public java.util.ListIterator expListIterator(boolean pFromTop,
boolean pFromLeft)
SetRefRepr
expListIterator in interface SetRefReprpFromTop - iterate from top?pFromLeft - iterate from left?public boolean getFlag(int pFlagNumber)
getFlag in interface SetRefRepr
public void setFlag(int pFlagNumber,
boolean pYesNo)
setFlag in interface SetRefReprpublic boolean allFalse()
allFalse in interface SetRefReprpublic boolean sets()
SetRefReprtrue if this SetRefRepr involves value-setting, other than via the external call.
sets in interface SetRefReprpublic boolean hasControl()
SetRefReprSetRefRepr is at the end of the
BBlock and has a role to determine the flow of control
after this SetRefRepr?
hasControl in interface SetRefReprpublic boolean isReturn()
isReturn in interface SetRefReprpublic DefVector getDKill()
getDKill in interface SetRefReprpublic DefVector getPReach()
getPReach in interface SetRefReprpublic BBlock getBBlock()
getBBlock in interface SetRefReprpublic DefVector getDReach()
getDReach in interface SetRefReprpublic DefVector getPKill()
getPKill in interface SetRefReprpublic ExpVector getDAvailIn()
getDAvailIn in interface SetRefReprpublic ExpVector getPEKill()
getPEKill in interface SetRefReprpublic FlowAnalSymVector getDDefIn()
getDDefIn in interface SetRefReprpublic FlowAnalSymVector getDDefined()
getDDefined in interface SetRefReprpublic FlowAnalSymVector getPDefined()
getPDefined in interface SetRefReprpublic FlowAnalSymVector getDExposed()
getDExposed in interface SetRefReprpublic FlowAnalSymVector getDUsed()
getDUsed in interface SetRefReprpublic FlowAnalSymVector getPExposed()
getPExposed in interface SetRefReprpublic FlowAnalSymVector getPLiveOut()
getPLiveOut in interface SetRefReprpublic FlowAnalSymVector getPUsed()
getPUsed in interface SetRefRepr
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||