public class Attribute extends ObjectSE
修飾子と型 | メソッドと説明 |
---|---|
protected Label[] | getLabels() この属性に対応するラベルを返します。 |
boolean | isCodeAttribute() この型の属性が Code 属性の場合、true を返します。 |
boolean | isUnknown() この型の属性が不明な場合は true を返します。 |
protected Attribute | read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeAttributeOffset, Label[] labels) type 属性を読み取ります。 |
protected ByteVector | write(ClassWriter classWriter, byte[] code, int codeLength, int maxStack, int maxLocals) この属性のコンテンツのバイト配列形式を返します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public final StringSE type
protected Attribute(StringSE type)
type
- 属性の型。public boolean isUnknown()
public boolean isCodeAttribute()
protected Label[] getLabels()
protected Attribute read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeAttributeOffset, Label[] labels)
type
属性を読み取ります。このメソッドは、指定された ClassReader の「オフセット」で始まる「長さ」バイトに対応する、型 type
の新しい Attribute
オブジェクトを返す必要があります。classReader
- 読み取る属性を含むクラス。offset
- ClassReader
内の属性のコンテンツの最初のバイトのインデックス。ここでは、6 つの属性ヘッダーバイト(attribute_name_index および attribute_length)は考慮されません。length
- 属性のコンテンツの長さ(6 つの属性ヘッダーバイトを除く)。charBuffer
- 'charBuffer' パラメーターを必要とする ClassReader メソッドを呼び出すために使用されるバッファ。codeAttributeOffset
- ClassReader
で囲む Code 属性のコンテンツの最初のバイトのインデックス。読み取られる属性が Code 属性でない場合は -1。ここでは、6 つの属性ヘッダーバイト(attribute_name_index および attribute_length)は考慮されていません。labels
- メソッドのコードのラベル。読み取る属性が Code 属性でない場合は null。Attribute
オブジェクト protected ByteVector write(ClassWriter classWriter, byte[] code, int codeLength, int maxStack, int maxLocals)
classWriter
- この属性を追加する必要があるクラス。このパラメーターを使用して、この属性に対応するアイテムをこのクラスの定数プールに追加できます。code
- この Code 属性に対応するメソッドのバイトコード。この属性が Code 属性でない場合は null。Code 属性の "code" フィールドに対応します。codeLength
- このコード属性に対応するメソッドのバイトコードの長さ。この属性がコード属性でない場合は 0。Code 属性の "code_length" フィールドに対応します。maxStack
- この Code 属性に対応するメソッドの最大スタックサイズ。この属性が Code 属性でない場合は -1。maxLocals
- このコード属性に対応するメソッドのローカル変数の最大数。この属性がコード属性でない場合は -1。