|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--coins.opt.OptUtil
OptUtil Utility methods that perform some modifications on the program. Those that do not perform modifications should be moved to FlowUtil.
コンストラクタの概要 | |
OptUtil()
|
メソッドの概要 | |
static void |
addFirstStmt(BlockStmt pBlock,
Stmt pStmt)
|
static void |
addLastStmt(BlockStmt pBlock,
Stmt pStmt)
Add pStmt at the tail of pBlock if the tail of pBlock is not a branch statement. |
static void |
addNextStmt(Stmt pCurrentStmt,
Stmt pNewStmt)
Add pNewStmt so that it follows pCurrentStmt. |
static ConstNode |
create0ConstNode(Type pType,
FlowRoot pFlowRoot)
create0ConstNode |
static IR |
createConstNodeFromConstNode(IR pConstNode,
FlowRoot pFlowRoot)
createConstNodeFromConstNode |
static ConstNode |
createConstNodeFromPrimitive(double pFloatVal,
Type pType,
FlowRoot pFlowRoot)
ceateConstNodeFromPrimitive |
static ConstNode |
createConstNodeFromPrimitive(long pIntVal,
Type pType,
FlowRoot pFlowRoot)
ceateConstNodeFromPrimitive |
static void |
deleteStmt(Stmt pStmt)
|
static IR |
fold(IR pIR,
FlowRoot pFlowRoot)
fold |
static void |
insertPreviousStmt(Stmt pCurrentStmt,
Stmt pNewStmt)
Insert pNewStmt in front of pCurrentStmt. |
static boolean |
isCall(IR pIR)
isCall |
static boolean |
isOutOfValueRange(Type pType)
isOutOfValueRange |
static void |
replaceNode(IR pOld,
IR pNew)
peplaceNode No longer necessary? |
static void |
replaceStmt(Stmt pOldStmt,
Stmt pNewStmt)
Replace pOldStmt by pNewStmt. |
static void |
setStmt(LabeledStmt pLabeledStmt,
Stmt pStmt)
|
static IR |
wrapCallNode(IR pCallNode,
FlowRoot pFlowRoot)
wrapCallNode If pCallNode is a FunctionExp node, wraps the node with an ExpStmt. |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public OptUtil()
メソッドの詳細 |
public static void replaceNode(IR pOld, IR pNew)
public static void replaceStmt(Stmt pOldStmt, Stmt pNewStmt)
pOldStmt
- statement to be deleted.pNewStmt
- statement to override.public static void addNextStmt(Stmt pCurrentStmt, Stmt pNewStmt)
pCurrentStmt
- show the position to insert.pNewStmt
- statement to be inserted.public static void insertPreviousStmt(Stmt pCurrentStmt, Stmt pNewStmt)
pCurrentStmt
- show the place to insert.pNewStmt
- statement to be inserted.public static void deleteStmt(Stmt pStmt)
public static void addFirstStmt(BlockStmt pBlock, Stmt pStmt)
public static void addLastStmt(BlockStmt pBlock, Stmt pStmt)
pBlock
- BlockStmt in which pStmt is to be added.pStmt
- statement to be added.public static void setStmt(LabeledStmt pLabeledStmt, Stmt pStmt)
public static boolean isCall(IR pIR)
public static IR fold(IR pIR, FlowRoot pFlowRoot)
public static IR createConstNodeFromConstNode(IR pConstNode, FlowRoot pFlowRoot)
public static IR wrapCallNode(IR pCallNode, FlowRoot pFlowRoot)
public static ConstNode createConstNodeFromPrimitive(long pIntVal, Type pType, FlowRoot pFlowRoot)
public static ConstNode createConstNodeFromPrimitive(double pFloatVal, Type pType, FlowRoot pFlowRoot)
public static boolean isOutOfValueRange(Type pType)
public static ConstNode create0ConstNode(Type pType, FlowRoot pFlowRoot)
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |