|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.flow.SetRefReprImpl
coins.flow.SetRefReprHirImpl
coins.flow.SetRefReprHirEImpl
Implementation of the SetRefRepr interface for HIR
| Field Summary | |
Flow |
flow
|
protected Stmt |
fStmt
|
HirRoot |
hirRoot
|
| Fields inherited from class coins.flow.SetRefReprImpl |
fAllSubexps, fBBlock, fCallNodes, fCallWithSideEffectIncluded, fCorrespondingExpId, fDbgLevel, fDefExpId, fDefSym, fExpIdSet, fExps, fFlags, fIR, fLeafOperands, fLhsSyms, flowRoot, fModSyms, fModSyms00, fModSymsStmt, fOpCode, fOperandExp, fSubpFlow, fUseFlowAnalSyms, fUseNodeList, fUseSymList, fUseSyms, symRoot |
| Fields inherited from interface coins.flow.SetRefRepr |
HAS_CONTROL, IS_RETURN, SETS |
| Constructor Summary | |
SetRefReprHirEImpl(HIR pSubtree,
BBlock pBBlock,
boolean pDef,
java.util.Set pModSymsStmt)
SetRefReprHirEImpl instanciates SetRefRepr for the subtree pSubtree by computing SetRefRepr for child subtrees. |
|
| Method Summary | |
java.util.Set |
allSubexps()
operandExp ExpId's of all subexpressions of the subtree corresponding to this. |
protected void |
computeSetRefRepr(HIR pHir,
BBlock pBBlock,
boolean pDef,
java.util.Set pModSymsStmt)
computeSetRefRepr Compute defined symbols (fDefSym) and set of possibly modified variables (fModSyms), variables used as leaf operand (fLeafOperands). |
IR |
defNode()
Returns the IR node which links to the definitely defined (set) symbol. |
Stmt |
getStmt()
|
boolean |
hasCallWithSideEffect()
|
java.util.Set |
leafOperands()
leafOperands Get the set of symbols used as operands gathered from all leaf nodes of the subtree corresponding to this. |
java.util.Set |
modSyms()
modSyms returns the set of symbols that are possibly defined in this SetRefRepr. |
java.util.Set |
modSyms0()
modSyms0 returns the set of symbols that are possibly defined in this SetRefRepr as modSyms() and symbols externally defined (i.e. |
java.util.Set |
modSymsStmt()
modSymsStmt returns the set of symbols that are possibly defined in the this SetRefRepr. |
java.util.Set |
operandExp()
operandExp ExpId's of subexpressions used as direct operands by the node corresponding to this. |
| Methods inherited from class coins.flow.SetRefReprHirImpl |
callNodes, checkWhetherBranch, defSym, expIdSet, exps, exps, expsUnder, flowAnalSymsUnder, hasDefiniteValue, lhsSyms, modSyms00, modSymsUnder, nodeListIterator, setInformation, symsModifiedForLhsExp, useNodeIterator, useNodeList, useNodeList, writesToDefiniteAddress |
| Methods inherited from class coins.flow.SetRefReprImpl |
allFalse, defExpId, expIterator, expListIterator, expListIterator, expListIteratorFromBottom, getBBlock, getCorrespondingExpId, getDefFlowAnalSym, getDefSym, getFlag, getIR, getUseFlowAnalSyms, hasControl, isReturn, setFlag, sets, topUseNode, toString, useSymList, useSyms |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface coins.flow.SetRefRepr |
allFalse, callNodes, defSym, expIterator, expListIterator, expListIterator, getBBlock, getDefSym, getFlag, getIR, getUseFlowAnalSyms, hasControl, isReturn, lhsSyms, modSyms00, nodeListIterator, setFlag, sets, topUseNode, toString, useNodeIterator, useNodeList, useSymList, useSyms, writesToDefiniteAddress |
| Field Detail |
protected Stmt fStmt
public final HirRoot hirRoot
public final Flow flow
| Constructor Detail |
public SetRefReprHirEImpl(HIR pSubtree,
BBlock pBBlock,
boolean pDef,
java.util.Set pModSymsStmt)
pSubtree - HIR subtree for which SetRefRepr is to be computed.pBBlock - Basic block containing pSubtree.pDef - true if pSubtree defines a symbol,
false otherwise.| Method Detail |
protected void computeSetRefRepr(HIR pHir,
BBlock pBBlock,
boolean pDef,
java.util.Set pModSymsStmt)
pHir - subtree to be processed.pBBlock - basic block within which variables are scanned.pDef - true if traversing in define mode, false otherwise.pModSymsStmt - set of symbols whose value may be modified
by the simple statement containing pHir.public Stmt getStmt()
getStmt in class SetRefReprHirImplpublic IR defNode()
SetRefRepr
defNode in interface SetRefReprdefNode in class SetRefReprHirImplpublic java.util.Set modSyms()
modSyms in interface SetRefReprmodSyms in class SetRefReprHirImplpublic java.util.Set modSymsStmt()
public java.util.Set modSyms0()
public java.util.Set leafOperands()
public java.util.Set operandExp()
public java.util.Set allSubexps()
public boolean hasCallWithSideEffect()
hasCallWithSideEffect in interface SetRefReprhasCallWithSideEffect in class SetRefReprHirImpl
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||