インタフェース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ローカル変数ストア命令を返します。intslot()格納先のローカル変数スロットを返します。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が範囲外の場合
-