インタフェースLoadInstruction

すべてのスーパー・インタフェース:
ClassFileElement, CodeElement, Instruction

public sealed interface LoadInstruction extends Instruction
Code属性のcode配列内のローカル変数ロード命令をモデル化します。 対応するopcodesのkindOpcode.Kind.LOADです。 CodeModelの要素をトラバースするときに、CodeElementとして提供されます。

ローカル変数ロード命令はコンポジットです:

LoadInstruction(
    TypeKind typeKind,
    int slot
)
ここで、TypeKindcomputationalslot[0, 65535]内にあります。

導入されたバージョン:
24
関連項目:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    of(Opcode op, int slot)
    ローカル変数ロード命令を返します。
    of(TypeKind kind, int slot)
    ローカル変数ロード命令を返します。
    int
    ロード元のローカル変数スロットを返します。
    ロードする値の「計算タイプ」を返します。

    インタフェースjava.lang.classfile.Instructionで宣言されたメソッド

    opcode, sizeInBytes
  • メソッドの詳細

    • slot

      int slot()
      ロード元のローカル変数スロットを返します。 値は[0, 65535]内にあります。
      戻り値:
      ロード元のローカル変数スロット
    • typeKind

      TypeKind typeKind()
      ロードする値の「計算タイプ」を返します。
      戻り値:
      ロードされる値の「計算タイプ」
    • of

      static LoadInstruction of(TypeKind kind, int slot)
      ローカル変数ロード命令を返します。kindは、その計算型に対するconvertedです。slotは、[0, 65535]内である必要があります。
      パラメータ:
      kind - ロードされる値のタイプ
      slot - ロード元のローカル変数スロット
      戻り値:
      ローカル変数ロード命令
      スロー:
      IllegalArgumentException - kindvoidの場合、またはslotが範囲外の場合
    • of

      static LoadInstruction 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.LOADの種類である必要があります
      slot - ロード元のローカル変数スロット
      戻り値:
      ローカル変数ロード命令
      スロー:
      IllegalArgumentException - opcodeの種類がOpcode.Kind.LOADでないか、slotが範囲外の場合