|
||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object jp.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()
|
||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |