インタフェース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
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明byte[]
コード配列のバイト(バイトコード)を返します。int
コード配列の長さをバイト単位で返します。int
labelToBci
(Label label) codeArray
内のlabel
の位置を戻します。int
ローカル変数表の最大サイズを返します。int
maxStack()
オペランド・スタックの最大サイズを返します。インタフェースjava.lang.classfile.Attributeで宣言されたメソッド
attributeMapper, attributeName
インタフェースjava.lang.classfile.AttributedElementで宣言されたメソッド
attributes, findAttribute, findAttributes
インタフェースjava.lang.classfile.CodeModelで宣言されたメソッド
exceptionHandlers, parent
インタフェースjava.lang.classfile.CompoundElementで宣言されたメソッド
elementList, elementStream, forEach, iterator, toDebugString
インタフェースjava.lang.Iterableで宣言されたメソッド
spliterator
-
メソッドの詳細
-
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
がこの属性のものでない場合
-