インタフェースStoreInstruction
- すべてのスーパー・インタフェース:
ClassFileElement
,CodeElement
,Instruction
public sealed interface StoreInstruction extends Instruction
ローカル変数ストア命令を
ここで、
Code
属性のcode
配列にモデル化します。 対応するopcodesのkindはOpcode.Kind.STORE
です。 CodeModel
の要素をトラバースするときに、CodeElement
として提供されます。
ローカル変数ストア命令はコンポジットです:
StoreInstruction
(
TypeKind typeKind
,
int slot
)
TypeKind
はcomputational、slot
は[0, 65535]
内にあります。
astore
シリーズの命令(reference
型のストア命令)は、中断された「ジャンプ・サブルーチンの指示」からreturnAddress
型に対しても動作できます。
- 導入されたバージョン:
- 24
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明static StoreInstruction
ローカル変数ストア命令を返します。static StoreInstruction
ローカル変数ストア命令を返します。int
slot()
格納先のローカル変数スロットを返します。typeKind()
格納する値の「計算タイプ」を返します。インタフェースjava.lang.classfile.Instructionで宣言されたメソッド
opcode, sizeInBytes
-
メソッドの詳細
-
slot
int slot()格納先のローカル変数スロットを返します。 値は[0, 65535]
内にあります。- 戻り値:
- 格納先のローカル変数スロット
-
typeKind
-
of
static StoreInstruction of(TypeKind kind, int slot) ローカル変数ストア命令を返します。kind
は、その計算型に対するconvertedです。slot
は、[0, 65535]
内である必要があります。- パラメータ:
kind
- 格納される値のタイプslot
- 格納先のローカル変数スロット- 戻り値:
- ローカル変数ストア命令
- スロー:
IllegalArgumentException
-kind
がvoid
の場合、またはslot
が範囲外の場合
-
of
static StoreInstruction of(Opcode op, int slot) ローカル変数ストア命令を返します。slot
の範囲は、op
とそのsizeによって制限されます:op
のサイズが1の場合、slot
はopcodeによって暗黙的に示されるスロット値である必要があります。op
のサイズが2の場合、slot
は[0, 255]
内に存在する必要があります。op
のサイズが4の場合、slot
は[0, 65535]
内に存在する必要があります。
- APIのノート:
- 明示的な
op
引数を使用すると、より最適化されたストア命令でslot
をエンコードできる場合に、wide
または通常のストア命令を作成できます。 - パラメータ:
op
- 特定のタイプのストア命令のopcode。Opcode.Kind.STORE
の種類である必要がありますslot
- 格納先のローカル変数スロット- 戻り値:
- ローカル変数ストア命令
- スロー:
IllegalArgumentException
- opcodeの種類がOpcode.Kind.STORE
でないか、slot
が範囲外の場合
-