|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--coins.mdf.TreatNode | +--coins.mdf.TreatSwitch
This class treats `SWITCH statement'. In MDF module, the `SWITCH 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
|
コンストラクタの概要 | |
(パッケージプライベート) |
TreatSwitch(MdfEnvironment e,
MacroFlowGraph g,
SwitchStmt 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 case structure if it is outside of the current macro task. |
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
コンストラクタの詳細 |
TreatSwitch(MdfEnvironment e, MacroFlowGraph g, SwitchStmt stmt, java.util.LinkedList list, MdfConditions c)
e
- The environment of the MDF modulestmt
- The current SWITCH 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 labelprotected 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
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |