|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--coins.flow.SetRefReprImpl | +--coins.flow.SetRefReprHirImpl
Implementation of the SetRefRepr interface for HIR
フィールドの概要 | |
protected Stmt |
fStmt
|
HirRoot |
hirRoot
|
クラス coins.flow.SetRefReprImpl から継承したフィールド |
fAllSubexps, fBBlock, fCallNodes, fCallWithSideEffectIncluded, fCorrespondingExpId, fDbgLevel, fDefExpId, fDefSym, fExpIdSet, fExps, fFlags, fIR, fLeafOperands, fLhsSyms, flow, flowRoot, fModSyms, fModSyms00, fModSymsStmt, fOpCode, fOperandExp, fSubpFlow, fUseFlowAnalSyms, fUseNodeList, fUseSymList, fUseSyms, symRoot |
インタフェース coins.flow.SetRefRepr から継承したフィールド |
HAS_CONTROL, IS_RETURN, SETS |
コンストラクタの概要 | |
SetRefReprHirImpl(HIR pSubtree,
BBlock pBBlock)
|
|
SetRefReprHirImpl(IR pHir,
SubpFlow pSubpFlow,
ExpId pExpId)
|
メソッドの概要 | |
java.util.List |
callNodes()
|
protected static boolean |
checkWhetherBranch(Stmt pStmt)
|
IR |
defNode()
Returns the IR node which links to the definitely defined (set) symbol. |
FlowAnalSym |
defSym()
Returns the symbol that is definitely defined in this SetRefRepr. |
protected java.util.Set |
expIdSet()
|
java.util.List |
exps()
Get the list of expressions (that have ExpId) under the associated subtree. |
protected java.util.List |
exps(boolean pFromTop,
boolean pFromLeft)
|
protected java.util.List |
expsUnder(HIR pSubtree)
|
protected java.util.Set |
flowAnalSymsUnder(HIR pHIR)
|
Stmt |
getStmt()
|
boolean |
hasCallWithSideEffect()
|
protected static boolean |
hasDefiniteValue(Exp pExp)
|
java.util.Set |
lhsSyms()
Returns the set of symbols that correspond to the set of nodes that are within the LHS of this SetRefRepr . |
java.util.Set |
modSyms()
modSyms //##25-1 Get the set of FlowAnalSym symbols whose value is set during the evaluation of the subtree corresponding to this SetRefRepr. |
java.util.Set |
modSyms00()
Returns the set of symbols that are accessed by its name in the subprogram containing this SetRefRepr and possibly
defined in this SetRefRepr .
|
protected void |
modSymsUnder(HIR pHIR,
java.util.Set pModSyms)
|
NodeListIterator |
nodeListIterator()
DFO iterator over the nodes under the subtree returned by getIR . |
protected void |
setInformation(HIR pSubtree)
|
protected java.util.Set |
symsModifiedForLhsExp(Exp pExp)
Get the set of symbols that may be modified when pExp is used as LHS (left hand side) expression. |
java.util.Iterator |
useNodeIterator()
DFO iterator over the nodes under the subtree returned by getIR() , but the node returned by getDefNode() excluded. |
java.util.List |
useNodeList()
Returns the List of nodes that are associated with a Sym that are used (read), in the depth first order that appears under the subtree returned by getIR(). |
protected java.util.List |
useNodeList(boolean pFromTop,
boolean pFromLeft)
List up nodes using FlowAnalSym and Subp (exclude child1 of SUBS node) |
boolean |
writesToDefiniteAddress()
|
クラス coins.flow.SetRefReprImpl から継承したメソッド |
allFalse, defExpId, expIterator, expListIterator, expListIterator, expListIteratorFromBottom, getBBlock, getCorrespondingExpId, getDefFlowAnalSym, getDefSym, getFlag, getIR, getUseFlowAnalSyms, hasControl, isReturn, setFlag, sets, topUseNode, toString, useSymList, useSyms |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
インタフェース coins.flow.SetRefRepr から継承したメソッド |
allFalse, expIterator, expListIterator, expListIterator, getBBlock, getDefSym, getFlag, getIR, getUseFlowAnalSyms, hasControl, isReturn, setFlag, sets, topUseNode, toString, useSymList, useSyms |
フィールドの詳細 |
protected Stmt fStmt
public final HirRoot hirRoot
コンストラクタの詳細 |
public SetRefReprHirImpl(HIR pSubtree, BBlock pBBlock)
public SetRefReprHirImpl(IR pHir, SubpFlow pSubpFlow, ExpId pExpId)
メソッドの詳細 |
protected void setInformation(HIR pSubtree)
public Stmt getStmt()
public java.util.List useNodeList()
SetRefRepr
内の useNodeList
public java.util.List exps()
SetRefReprImpl
内の exps
public IR defNode()
SetRefRepr
の記述:
SetRefRepr
内の defNode
public java.util.Set modSyms()
SetRefRepr
内の modSyms
protected void modSymsUnder(HIR pHIR, java.util.Set pModSyms)
protected java.util.Set flowAnalSymsUnder(HIR pHIR)
protected java.util.Set symsModifiedForLhsExp(Exp pExp)
pExp
- LHS expression that is used as LHS operand
of AssignStmt, call-operand, etc.
protected java.util.Set expIdSet()
public java.util.Set lhsSyms()
SetRefRepr
の記述: SetRefRepr
. Returns null if sets()
returns false
. The return value is a superset of the return value of getModSyms()
.
SetRefRepr
内の lhsSyms
protected java.util.List expsUnder(HIR pSubtree)
protected java.util.List useNodeList(boolean pFromTop, boolean pFromLeft)
pFromTop
- not used in this method.pFromLeft
- not used in this method.
protected java.util.List exps(boolean pFromTop, boolean pFromLeft)
SetRefReprImpl
内の exps
public boolean hasCallWithSideEffect()
SetRefRepr
内の hasCallWithSideEffect
public java.util.List callNodes()
SetRefRepr
内の callNodes
protected static boolean checkWhetherBranch(Stmt pStmt)
public boolean writesToDefiniteAddress()
SetRefRepr
内の writesToDefiniteAddress
protected static boolean hasDefiniteValue(Exp pExp)
public FlowAnalSym defSym()
SetRefRepr
の記述:
SetRefRepr
内の defSym
public java.util.Set modSyms00()
SetRefRepr
の記述: SetRefRepr
and possibly
defined in this SetRefRepr
.
Symbols that can be externally defined (i.e. via exteranl calls)
are included as well
(differs from modSym in this point). //##25-1
This is used in FindPEKill, FindDEGen, //##25-1
and findDefUseExhaustively(), findUseDefExhaustively(). //##73
SetRefRepr
内の modSyms00
public NodeListIterator nodeListIterator()
SetRefRepr
の記述: getIR
.
SetRefRepr
内の nodeListIterator
public java.util.Iterator useNodeIterator()
SetRefRepr
の記述: getIR()
, but the node returned by getDefNode()
excluded.
SetRefRepr
内の useNodeIterator
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |