|
||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||
java.lang.Objectjp.hishidama.jas.BytecodeStatement
public class BytecodeStatement
バイトコード命令.
バイトコードの一命令を表すクラス。
Javassistを利用している。
| コンストラクタの概要 | |
|---|---|
BytecodeStatement(MethodInfo minfo,
CodeIterator iterator,
int pos)
コンストラクター. |
|
| メソッドの概要 | |
|---|---|
String |
dump()
ダンプ用文字列取得. |
int |
getEndPos()
範囲の終了位置取得. |
int |
getFirstPos()
範囲の開始位置取得. |
int |
getOpcode()
オペレーションコード取得. |
int |
getOperand16()
オペランド(16bit)取得. |
int |
getPos()
位置取得. |
String |
getReturnType()
戻り型取得. |
int |
getStackPos()
スタック位置取得. |
void |
setRangePos(int begin,
int end)
範囲設定. |
void |
setStackPos(int stack_pos)
スタック位置設定. |
int |
stackDataSize()
スタック使用サイズ取得. |
int |
stackGrowSize()
スタック増加サイズ取得. |
| クラス java.lang.Object から継承されたメソッド |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public BytecodeStatement(MethodInfo minfo,
CodeIterator iterator,
int pos)
minfo - メソッドiterator - コードイテレーターpos - バイト配列上の位置| メソッドの詳細 |
|---|
public int getPos()
public int getOpcode()
public int getOperand16()
命令の引数を返す。
public String dump()
ニーモニックの形に変換する。デバッグ目的。
現状では一部の命令しか対応してない…。
public void setStackPos(int stack_pos)
stack_pos - スタック位置public int getStackPos()
public int stackGrowSize()
命令実行後に増加するスタックの大きさを返す。
減少する場合は負の値を返す。
public int stackDataSize()
命令が使用するスタックの大きさを返す。
現状ではメソッドにしか対応していない。
例えば「static int test(int,int,int)」を呼び出す場合、
引数がint3つなので使用するスタックは3。当メソッドは3を返す。
stackGrowSize()だと戻り値を格納する分が引かれ、2を返す。
public String getReturnType()
命令がメソッドのときだけしか使用不可。
public void setRangePos(int begin,
int end)
begin - 開始位置end - 終了位置public int getFirstPos()
public int getEndPos()
|
||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||