|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.compass.core.util.asm.Attribute
public class Attribute
A non standard class, field, method or code attribute.
| Field Summary | |
|---|---|
(package private) Attribute |
next
The next attribute in this attribute list. |
String |
type
The type of this attribute. |
(package private) byte[] |
value
The raw value of this attribute, used only for unknown attributes. |
| Constructor Summary | |
|---|---|
protected |
Attribute(String type)
Constructs a new empty attribute. |
| Method Summary | |
|---|---|
(package private) int |
getCount()
Returns the length of the attribute list that begins with this attribute. |
protected Label[] |
getLabels()
Returns the labels corresponding to this attribute. |
(package private) int |
getSize(ClassWriter cw,
byte[] code,
int len,
int maxStack,
int maxLocals)
Returns the size of all the attributes in this attribute list. |
boolean |
isCodeAttribute()
Returns true if this type of attribute is a code attribute. |
boolean |
isUnknown()
Returns true if this type of attribute is unknown. |
(package private) void |
put(ClassWriter cw,
byte[] code,
int len,
int maxStack,
int maxLocals,
ByteVector out)
Writes all the attributes of this attribute list in the given byte vector. |
protected Attribute |
read(ClassReader cr,
int off,
int len,
char[] buf,
int codeOff,
Label[] labels)
Reads a type attribute. |
protected ByteVector |
write(ClassWriter cw,
byte[] code,
int len,
int maxStack,
int maxLocals)
Returns the byte array form of this attribute. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public final String type
byte[] value
Attribute next
| Constructor Detail |
|---|
protected Attribute(String type)
type - the type of the attribute.| Method Detail |
|---|
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 attribute. This method must return a new
Attribute object, of type type, corresponding to
the len bytes starting at the given offset, in the given class
reader.
cr - the class that contains the attribute to be read.off - index of the first byte of the attribute's content in cr.b. The 6 attribute header bytes, containing the
type and the length of the attribute, are not taken into account
here.len - the length of the attribute's content.buf - buffer to be used to call
readUTF8,
readClass or
readConst.codeOff - index of the first byte of code's attribute content in
cr.b, or -1 if the attribute to be read is
not a code attribute. The 6 attribute header bytes, containing the
type and the length of the attribute, 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 given
bytes.
protected ByteVector write(ClassWriter cw,
byte[] code,
int len,
int maxStack,
int maxLocals)
cw - the class to which this attribute must be added. This parameter
can be used to add to the constant pool of this class the items
that corresponds to this attribute.code - the bytecode of the method corresponding to this code
attribute, or null if this attribute is not a code
attributes.len - the length of the bytecode of the method corresponding to this
code attribute, or null if this attribute is not a 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.
final int getCount()
final int getSize(ClassWriter cw,
byte[] code,
int len,
int maxStack,
int maxLocals)
cw - the class writer to be used to convert the attributes into byte
arrays, with the write method.code - the bytecode of the method corresponding to these code
attributes, or null if these attributes are not code
attributes.len - the length of the bytecode of the method corresponding to
these code attributes, or null if these attributes are
not code attributes.maxStack - the maximum stack size of the method corresponding to
these code attributes, or -1 if these attributes are not code
attributes.maxLocals - the maximum number of local variables of the method
corresponding to these code attributes, or -1 if these attributes
are not code attributes.
final void put(ClassWriter cw,
byte[] code,
int len,
int maxStack,
int maxLocals,
ByteVector out)
cw - the class writer to be used to convert the attributes into byte
arrays, with the write method.code - the bytecode of the method corresponding to these code
attributes, or null if these attributes are not code
attributes.len - the length of the bytecode of the method corresponding to
these code attributes, or null if these attributes are
not code attributes.maxStack - the maximum stack size of the method corresponding to
these code attributes, or -1 if these attributes are not code
attributes.maxLocals - the maximum number of local variables of the method
corresponding to these code attributes, or -1 if these attributes
are not code attributes.out - where the attributes must be written.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||