org.objectweb.asm.attrs
Class RuntimeVisibleAnnotations
public class RuntimeVisibleAnnotations
The RuntimeVisibleAnnotations attribute is a variable length attribute in the
attributes table of the ClassFile, field_info, and method_info structures. The
RuntimeVisibleAnnotations attribute records runtime-visible Java programming
language annotations on the corresponding class, method, or field. Each
ClassFile, field_info, and method_info structure may contain at most one
RuntimeVisibleAnnotations attribute, which records all the runtime-visible Java
programming language annotations on the corresponding program element. The JVM
must make these annotations available so they can be returned by the
appropriate reflective APIs.
The RuntimeVisibleAnnotations attribute has the following format:
RuntimeVisibleAnnotations_attribute {
u2 attribute_name_index;
u4 attribute_length;
u2 num_annotations;
annotation annotations[num_annotations];
}
The items of the RuntimeVisibleAnnotations structure are as follows:
annotation
protected Attribute | read(ClassReader cr, int off, int len, char[] buf, int codeOff, Label[] labels) - Reads a
type attribute.
|
String | toString() - Returns value in the format described in JSR-175 for Java source code.
|
protected ByteVector | write(ClassWriter cw, byte[] code, int len, int maxStack, int maxLocals) - Returns the byte array form of this attribute.
|
annotations
public List annotations
List
of Annotation
.
RuntimeVisibleAnnotations
public RuntimeVisibleAnnotations()
read
protected Attribute read(ClassReader cr,
int off,
int len,
char[] buf,
int codeOff,
Label[] labels)
Reads a
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.
- read in interface Attribute
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.
- a new
Attribute
object corresponding to the given
bytes.
toString
public String toString()
Returns value in the format described in JSR-175 for Java source code.
- value in the format described in JSR-175 for Java source code.
write
protected ByteVector write(ClassWriter cw,
byte[] code,
int len,
int maxStack,
int maxLocals)
Returns the byte array form of this attribute.
- write in interface Attribute
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.
- the byte array form of this attribute.