public class Attribute
extends java.lang.Object| 修飾子と型 | フィールドと説明 |
|---|---|
java.lang.String | type この属性の型。 |
| 修飾子 | コンストラクターと説明 |
|---|---|
protected | Attribute(java.lang.String type) 新しい空の属性を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected Label[] | getLabels() この属性に対応するラベルを返します。 |
boolean | isCodeAttribute() この型の属性がコード属性の場合、 true を返します。 |
boolean | isUnknown() この型の属性が不明な場合は、 true を返します。 |
protected Attribute | read(ClassReader cr, int off, int len, char[] buf, int codeOff, Label[] labels)type 属性を読み取ります。 |
protected ByteVector | write(ClassWriter cw, byte[] code, int len, int maxStack, int maxLocals) この属性のバイト配列形式を返します。 |
public boolean isUnknown()
public boolean isCodeAttribute()
protected Label[] getLabels()
protected Attribute read(ClassReader cr, int off, int len, char[] buf, int codeOff, Label[] labels)
type 属性を読み取ります。このメソッドは、指定されたクラスリーダーで、指定されたオフセットで始まる len バイトに対応する型 type の新しい Attribute オブジェクトを返す必要があります。cr - 読み取る属性を含むクラス。off - cr.b の属性のコンテンツの最初のバイトのインデックス。ここでは、属性の型と長さを含む 6 つの属性ヘッダーバイトは考慮されていません。len - 属性のコンテンツの長さ。buf - readUTF8、readClass、readConst を呼び出すために使用されるバッファー。codeOff - cr.b 内のコードの属性コンテンツの最初のバイトのインデックス。読み取られる属性がコード属性でない場合は -1。ここでは、属性の型と長さを含む 6 つの属性ヘッダーバイトは考慮されていません。labels - メソッドのコードのラベル、または読み取る属性がコード属性でない場合は null 。Attribute オブジェクト。protected ByteVector write(ClassWriter cw, byte[] code, int len, int maxStack, int maxLocals)
cw - この属性を追加する必要があるクラス。このパラメーターを使用して、この属性に対応する項目をこのクラスの定数プールに追加できます。code - このコード属性に対応するメソッドのバイトコード。この属性がコード属性でない場合は null 。len - このコード属性に対応するメソッドのバイトコードの長さ。この属性がコード属性でない場合は null 。maxStack - このコード属性に対応するメソッドの最大スタックサイズ。この属性がコード属性でない場合は -1maxLocals - このコード属性に対応するメソッドのローカル変数の最大数。この属性がコード属性でない場合は -1