|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object
|
+--coins.mdf.TreatNode
|
+--coins.mdf.TreatIf
This class treats `IF statement'. In MDF module, the `IF statement' is a kind of special statement because it include the flow information.
| フィールドの概要 | |
protected MdfEnvironment |
env
|
protected MacroFlowGraph |
mfg
|
protected Stmt |
root
|
protected SymTable |
symTab
|
protected java.util.LinkedList |
visited
|
| コンストラクタの概要 | |
(パッケージプライベート) |
TreatIf(MdfEnvironment e,
MacroFlowGraph g,
IfStmt stmt,
java.util.LinkedList list,
MdfConditions c)
Constructor: |
| メソッドの概要 | |
protected boolean |
isChange(MacroTask mt,
Label label)
Get whether the specified macro task has the specified label. |
protected BlockStmt |
makeJumpBlk(Label label)
Make a new block structure which include a new JUMP statement. |
(パッケージプライベート) void |
replace(MacroTask mt,
Label label)
Replace the `then part' and `else part' of the current IF statement. |
protected void |
replaceReturn(Label label,
DeclareLocalVariables decLocal)
Replace the return statement into the jump statement. |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
protected MdfEnvironment env
protected SymTable symTab
protected MacroFlowGraph mfg
protected java.util.LinkedList visited
protected Stmt root
| コンストラクタの詳細 |
TreatIf(MdfEnvironment e,
MacroFlowGraph g,
IfStmt stmt,
java.util.LinkedList list,
MdfConditions c)
e - The environment of the MDF moduleg - The current macro flow graphstmt - The current IF statementlist - The list of the labels which the MDF module is already treatedc - The current conditions| メソッドの詳細 |
void replace(MacroTask mt,
Label label)
mt - The current macro tasklabel - The target label
protected void replaceReturn(Label label,
DeclareLocalVariables decLocal)
label - The label of the final return statementdecLocal - The declaration of the local variablesprotected BlockStmt makeJumpBlk(Label label)
label - The target label
protected boolean isChange(MacroTask mt,
Label label)
mt - The target macro tasklabel - The target label
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||