|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--coins.aflow.SetRefReprImpl | +--coins.aflow.SetRefReprHirImpl
Implementation of the SetRefRepr interface for HIR
フィールドの概要 | |
Flow |
flow
|
protected Stmt |
fStmt
|
HirRoot |
hirRoot
|
クラス coins.aflow.SetRefReprImpl から継承したフィールド |
fBBlock, fDefSym, fFlags, fIR, flowRoot, fOpCode, fResults, fUseExpIdList, fUseNodeList, symRoot |
インタフェース coins.aflow.SetRefRepr から継承したフィールド |
HAS_CONTROL, IS_RETURN, SETS |
コンストラクタの概要 | |
protected |
SetRefReprHirImpl(HIR pSubtree,
BBlock pBBlock)
|
メソッドの概要 | |
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 . |
java.util.List |
exps()
|
protected java.util.List |
exps(boolean pFromTop,
boolean pFromLeft)
|
protected java.util.List |
expsUnder(HIR pSubtree)
|
protected java.util.Set |
flowAnalSymNodesUnder(HIR pSubtree)
|
protected java.util.Set |
flowAnalSymsUnder(HIR pHIR)
|
Stmt |
getStmt()
Returns the Stmt node that originated this SetRefReprHir . |
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)
|
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.List |
useNodeList()
Returns the 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)
|
boolean |
writesToDefiniteAddress()
|
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
インタフェース coins.aflow.SetRefRepr から継承したメソッド |
allFalse, defFlowExpId, expIterator, expListIterator, expListIterator, getBBlock, getDAvailIn, getDDefIn, getDDefined, getDefSym, getDExposed, getDKill, getDReach, getDUsed, getFlag, getIR, getPDefined, getPEKill, getPExposed, getPKill, getPLiveOut, getPReach, getPUsed, hasControl, isReturn, nodeIterator, nodeListIterator, nodeListIterator, setFlag, sets, topUseNode, toString, useNodeIterator, useSyms |
フィールドの詳細 |
protected Stmt fStmt
public final HirRoot hirRoot
public final Flow flow
コンストラクタの詳細 |
protected SetRefReprHirImpl(HIR pSubtree, BBlock pBBlock)
メソッドの詳細 |
public Stmt getStmt()
SetRefReprHir
の記述: Stmt
node that originated this SetRefReprHir
. This is usually same as getIR()
, but is differnet when this SetRefReprHir
originates from an IfStmt
.
SetRefReprHir
内の getStmt
public java.util.List useNodeList()
SetRefRepr
の記述: Sym
that are used (read), in the depth first order
that appears under the subtree returned by getIR()
. Nodes that correspond to Sym
s that are possibly used
are included.
SetRefRepr
内の useNodeList
public java.util.List exps()
SetRefReprImpl
内の exps
public IR defNode()
SetRefRepr
の記述: sets()
returns
false
.
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)
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.Set flowAnalSymNodesUnder(HIR pSubtree)
protected java.util.List useNodeList(boolean pFromTop, boolean pFromLeft)
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
. Returns null if sets()
returns false
, or, for example, in HIR, if this SetRefRepr
corresponds to an assignment to an array element.
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
SetRefRepr
内の modSyms00
protected java.util.Set symsModifiedForLhsExp(Exp pExp)
pExp
- LHS expression that is used as LHS operand
of AssignStmt, call-operand, etc.
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |