インタフェースCodeAttribute

すべてのスーパー・インタフェース:
Attribute<CodeAttribute>, AttributedElement, ClassFileElement, CodeModel, CompoundElement<CodeElement>, Iterable<CodeElement>, MethodElement

public sealed interface CodeAttribute extends Attribute<CodeAttribute>, CodeModel
このメソッドのバイトコードを含むCode属性(JVMS 4.7.3)をモデル化します。

この属性はメソッドにのみ表示され、メソッドでは「複数のインスタンス」は許可されません。 「定数プール」へのデータ依存性があります。

この属性は、Javaプラットフォーム・バージョン1.0.2、メジャー・バージョン45で導入されました。

APIのノート:
CodeAttributeは、classファイルから読み取られるCode属性のプロパティをモデル化します。 一般classファイル変換では、現在構築中のCode属性の変換をサポートするために、MethodModelのトラバースでCodeModelを処理およびトラバースする必要があります。
Java Virtual Machine仕様を参照してください:
4.7.3 Code属性
導入されたバージョン:
24
関連項目:
  • メソッドの詳細

    • maxLocals

      int maxLocals()
      ローカル変数表の最大サイズを返します。
      戻り値:
      ローカル変数表の最大サイズ
    • maxStack

      int maxStack()
      オペランド・スタックの最大サイズを返します。
      戻り値:
      オペランド・スタックの最大サイズ
    • codeLength

      int codeLength()
      コード配列の長さをバイト単位で返します。
      戻り値:
      コード配列の長さ(バイト単位)
    • codeArray

      byte[] codeArray()
      コード配列のバイト(バイトコード)を返します。
      戻り値:
      コード配列のバイト(バイトコード)
    • labelToBci

      int labelToBci(Label label)
      codeArray内のlabelの位置を戻します。 ラベルは、戻された索引の直前にcode配列を指すカーソルを表します。
      パラメータ:
      label - このCodeAttribute内の位置のマーカー
      戻り値:
      codeArray内のlabelの位置
      スロー:
      IllegalArgumentException - labelがこの属性のものでない場合