インタフェースTableSwitchInstruction

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

public sealed interface TableSwitchInstruction extends Instruction
Code属性のcode配列のtableswitch命令をモデル化します。 CodeModelの要素をトラバースするときに、CodeElementとして提供されます。

表スイッチ命令はコンポジットです:

TableSwitchInstruction(
    int lowValue,
    int highValue,
    Label defaultTarget,
    List<SwitchCase> cases
)

classファイルから読み取る場合、casesはデフォルトのターゲットを複製するケースを省略できます。 リストは、caseValueで昇順でソートされます。

classファイルに書き込む場合、表スイッチ・エントリの物理表現に有効な順序は1つのみであるため、casesリストの順序は問題になりません。 値がlowValueより小さいかhighValueより大きいcasesの要素および値が別の要素と重複する要素の処理は指定されません。

Java Virtual Machine仕様を参照してください:
「6.5.tableswitch 表スイッチ
導入されたバージョン:
24
関連項目:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    スイッチのケースを返します。
    スイッチのデフォルトのターゲットを返します。
    int
    スイッチのターゲット範囲の上限値(包含)を返します。
    int
    スイッチのターゲット範囲の下限値(包含)を返します。
    of(int lowValue, int highValue, Label defaultTarget, List<SwitchCase> cases)
    表スイッチ命令を返します。

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

    opcode, sizeInBytes
  • メソッドの詳細

    • lowValue

      int lowValue()
      スイッチのターゲット範囲の下限値(包含)を返します。
      戻り値:
      スイッチのターゲット範囲の下限値(包含)
    • highValue

      int highValue()
      スイッチのターゲット範囲の上限値(包含)を返します。
      戻り値:
      スイッチのターゲット範囲の上限値(包含)
    • defaultTarget

      Label defaultTarget()
      スイッチのデフォルトのターゲットを返します。
      戻り値:
      スイッチのデフォルトのターゲット
    • cases

      List<SwitchCase> cases()
      スイッチのケースを返します。
      戻り値:
      スイッチのケース
    • of

      static TableSwitchInstruction of(int lowValue, int highValue, Label defaultTarget, List<SwitchCase> cases)
      表スイッチ命令を返します。
      パラメータ:
      lowValue - スイッチのターゲット範囲の下限値(包含)
      highValue - スイッチのターゲット範囲の上限値(包含)
      defaultTarget - スイッチのデフォルトのターゲット
      cases - スイッチのケース。重複またはバインド外ケース処理が指定されていません
      戻り値:
      表スイッチ命令