|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
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 内の getStmtpublic 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 Syms that are possibly used
are included.
SetRefRepr 内の useNodeListpublic java.util.List exps()
SetRefReprImpl 内の expspublic IR defNode()
SetRefRepr の記述: sets() returns
false.
SetRefRepr 内の defNodepublic 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 内の lhsSymsprotected 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 内の expspublic boolean hasCallWithSideEffect()
SetRefRepr 内の hasCallWithSideEffectpublic java.util.List callNodes()
SetRefRepr 内の callNodesprotected static boolean checkWhetherBranch(Stmt pStmt)
public boolean writesToDefiniteAddress()
SetRefRepr 内の writesToDefiniteAddressprotected 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 内の defSympublic 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 内の modSyms00protected java.util.Set symsModifiedForLhsExp(Exp pExp)
pExp - LHS expression that is used as LHS operand
of AssignStmt, call-operand, etc.
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||