public class Attribute extends Object
| Modifier and Type | Field and Description | 
|---|---|
String | 
type
The type of this attribute, also called its name in the JVMS. 
 | 
| Modifier | Constructor and Description | 
|---|---|
protected  | 
Attribute(String type)
Constructs a new empty attribute. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
protected Label[] | 
getLabels()
Returns the labels corresponding to this attribute. 
 | 
boolean | 
isCodeAttribute()
Returns true if this type of attribute is a Code attribute. 
 | 
boolean | 
isUnknown()
Returns true if this type of attribute is unknown. 
 | 
protected Attribute | 
read(ClassReader classReader,
    int offset,
    int length,
    char[] charBuffer,
    int codeAttributeOffset,
    Label[] labels)
Reads a  
type attribute. | 
protected ByteVector | 
write(ClassWriter classWriter,
     byte[] code,
     int codeLength,
     int maxStack,
     int maxLocals)
Returns the byte array form of the content of this attribute. 
 | 
public final String type
protected Attribute(String type)
type - the type of the attribute.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 attribute. This method must return a new Attribute object,
 of type type, corresponding to the 'length' bytes starting at 'offset', in the given
 ClassReader.classReader - the class that contains the attribute to be read.offset - index of the first byte of the attribute's content in ClassReader. The 6
     attribute header bytes (attribute_name_index and attribute_length) are not taken into
     account here.length - the length of the attribute's content (excluding the 6 attribute header bytes).charBuffer - the buffer to be used to call the ClassReader methods requiring a
     'charBuffer' parameter.codeAttributeOffset - index of the first byte of content of the enclosing Code attribute
     in ClassReader, or -1 if the attribute to be read is not a Code attribute. The 6
     attribute header bytes (attribute_name_index and attribute_length) are not taken into
     account here.labels - the labels of the method's code, or null if the attribute to be read
     is not a Code attribute.Attribute object corresponding to the specified bytes.protected ByteVector write(ClassWriter classWriter, byte[] code, int codeLength, int maxStack, int maxLocals)
classWriter - the class to which this attribute must be added. This parameter can be used
     to add the items that corresponds to this attribute to the constant pool of this class.code - the bytecode of the method corresponding to this Code attribute, or null
     if this attribute is not a Code attribute. Corresponds to the 'code' field of the Code
     attribute.codeLength - the length of the bytecode of the method corresponding to this code
     attribute, or 0 if this attribute is not a Code attribute. Corresponds to the 'code_length'
     field of the Code attribute.maxStack - the maximum stack size of the method corresponding to this Code attribute, or
     -1 if this attribute is not a Code attribute.maxLocals - the maximum number of local variables of the method corresponding to this code
     attribute, or -1 if this attribute is not a Code attribute.