|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.flow.SetRefReprImpl
Implementation of the SetRefRepr interface
| Field Summary | |
protected java.util.Set |
fAllSubexps
fAllSubexps contains ExpId's of all subexpressions under the node corresponding to this. |
protected BBlock |
fBBlock
|
protected java.util.List |
fCallNodes
|
protected boolean |
fCallWithSideEffectIncluded
fCallIncluded is True if call with side effect is included in the subtree fIR, false otherwize; |
protected ExpId |
fCorrespondingExpId
|
int |
fDbgLevel
|
protected ExpId |
fDefExpId
|
protected FlowAnalSym |
fDefSym
Symbol or ExpId defined by this SetRefRepr. |
protected java.util.Set |
fExpIdSet
|
protected java.util.List |
fExps
|
protected FlagBox |
fFlags
|
protected IR |
fIR
|
protected java.util.Set |
fLeafOperands
fLeafOperands contains symbols of subexpressions used as operands by the subtree corresponding to this. |
protected java.util.Set |
fLhsSyms
|
Flow |
flow
|
FlowRoot |
flowRoot
|
protected java.util.Set |
fModSyms
fModSyms contains Symbols that may be modified by the node corresponding to this. |
protected java.util.Set |
fModSyms00
fModSYms00 contains symbols in fModSyms and symbols that may be modified by subprogram is hasCall() is true for this SetRefRepr. |
protected java.util.Set |
fModSymsStmt
fModSymsStmt contains Symbols that may be modified by the simple statement containing the subtree corresponding to this SetRefRepr. |
protected int |
fOpCode
|
protected java.util.Set |
fOperandExp
fOperandExp contains ExpId's of subexpressions used as direct operands by the subtree corresponding to this. |
SubpFlow |
fSubpFlow
|
protected java.util.Set |
fUseFlowAnalSyms
|
protected java.util.List |
fUseNodeList
|
protected java.util.List |
fUseSymList
|
protected java.util.Set |
fUseSyms
|
SymRoot |
symRoot
|
| Fields inherited from interface coins.flow.SetRefRepr |
HAS_CONTROL, IS_RETURN, SETS |
| Constructor Summary | |
SetRefReprImpl(IR pIR,
SubpFlow pSubpFlow,
ExpId pExpId)
|
|
| Method Summary | |
boolean |
allFalse()
|
ExpId |
defExpId()
|
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()
Get the list of expressions (that have ExpId) under the associated subtree. |
(package private) abstract java.util.List |
exps(boolean pFromTop,
boolean pFromLeft)
|
BBlock |
getBBlock()
|
ExpId |
getCorrespondingExpId()
|
FlowAnalSym |
getDefFlowAnalSym()
|
FlowAnalSym |
getDefSym()
|
boolean |
getFlag(int pFlagNumber)
|
IR |
getIR()
Returns the IR node this SetRefRepr represents. |
java.util.Set |
getUseFlowAnalSyms()
|
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()
|
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.List |
useSymList()
Returns the List of FlowAnalSyms used in this SetRefRepr. |
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.flow.SetRefRepr |
callNodes, defNode, defSym, hasCallWithSideEffect, lhsSyms, modSyms, modSyms00, nodeListIterator, useNodeIterator, useNodeList, writesToDefiniteAddress |
| Field Detail |
public final FlowRoot flowRoot
public final SymRoot symRoot
public final SubpFlow fSubpFlow
public final Flow flow
protected IR fIR
protected java.util.List fUseNodeList
protected int fOpCode
protected FlagBox fFlags
protected BBlock fBBlock
protected FlowAnalSym fDefSym
protected java.util.Set fModSyms
protected java.util.Set fModSymsStmt
protected java.util.Set fModSyms00
protected java.util.Set fLeafOperands
protected java.util.Set fOperandExp
protected java.util.Set fAllSubexps
protected boolean fCallWithSideEffectIncluded
protected java.util.Set fLhsSyms
protected java.util.Set fUseSyms
protected java.util.Set fUseFlowAnalSyms
protected java.util.Set fExpIdSet
protected java.util.List fExps
protected java.util.List fCallNodes
protected java.util.List fUseSymList
protected ExpId fDefExpId
protected ExpId fCorrespondingExpId
public final int fDbgLevel
| Constructor Detail |
public SetRefReprImpl(IR pIR,
SubpFlow pSubpFlow,
ExpId pExpId)
| Method Detail |
public IR getIR()
SetRefRepr
getIR in interface SetRefReprpublic java.util.Set useSyms()
SetRefRepr
useSyms in interface SetRefReprpublic java.util.List useSymList()
SetRefRepr
useSymList in interface SetRefReprpublic java.util.Set getUseFlowAnalSyms()
getUseFlowAnalSyms in interface SetRefReprpublic IR topUseNode()
SetRefReprgetIR().
topUseNode in interface SetRefReprpublic ExpId defExpId()
public FlowAnalSym getDefSym()
getDefSym in interface SetRefReprpublic FlowAnalSym getDefFlowAnalSym()
public java.lang.String toString()
SetRefRepr
toString 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 BBlock getBBlock()
getBBlock in interface SetRefReprpublic ExpId getCorrespondingExpId()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||