|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.mvel2.asm.Attribute
public class Attribute
A non standard class, field, method or code attribute, as defined in the Java Virtual Machine Specification (JVMS).
| Field Summary | |
|---|---|
String |
type
The type of this attribute, also called its name in the JVMS. |
| Constructor Summary | |
|---|---|
protected |
Attribute(String type)
Constructs a new empty attribute. |
| Method Summary | |
|---|---|
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. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public final String type
| 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 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.b. 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.b, 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.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||