org.objectweb.asm
Class FieldWriter

java.lang.Object
  extended by org.objectweb.asm.FieldWriter
All Implemented Interfaces:
FieldVisitor

final class FieldWriter
extends java.lang.Object
implements FieldVisitor

An FieldVisitor that generates Java fields in bytecode form.

Author:
Eric Bruneton

Field Summary
private  int access
          Access flags of this field.
private  AnnotationWriter anns
          The runtime visible annotations of this field.
private  Attribute attrs
          The non standard attributes of this field.
private  ClassWriter cw
          The class writer to which this field must be added.
private  int desc
          The index of the constant pool item that contains the descriptor of this field.
private  AnnotationWriter ianns
          The runtime invisible annotations of this field.
private  int name
          The index of the constant pool item that contains the name of this method.
(package private)  FieldWriter next
          Next field writer (see firstField).
private  int signature
          The index of the constant pool item that contains the signature of this field.
private  int value
          The index of the constant pool item that contains the constant value of this field.
 
Constructor Summary
protected FieldWriter(ClassWriter cw, int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)
          Constructs a new FieldWriter.
 
Method Summary
(package private)  int getSize()
          Returns the size of this field.
(package private)  void put(ByteVector out)
          Puts the content of this field into the given byte vector.
 AnnotationVisitor visitAnnotation(java.lang.String desc, boolean visible)
          Visits an annotation of the field.
 void visitAttribute(Attribute attr)
          Visits a non standard attribute of the field.
 void visitEnd()
          Visits the end of the field.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

next

FieldWriter next
Next field writer (see firstField).


cw

private ClassWriter cw
The class writer to which this field must be added.


access

private int access
Access flags of this field.


name

private int name
The index of the constant pool item that contains the name of this method.


desc

private int desc
The index of the constant pool item that contains the descriptor of this field.


signature

private int signature
The index of the constant pool item that contains the signature of this field.


value

private int value
The index of the constant pool item that contains the constant value of this field.


anns

private AnnotationWriter anns
The runtime visible annotations of this field. May be null.


ianns

private AnnotationWriter ianns
The runtime invisible annotations of this field. May be null.


attrs

private Attribute attrs
The non standard attributes of this field. May be null.

Constructor Detail

FieldWriter

protected FieldWriter(ClassWriter cw,
                      int access,
                      java.lang.String name,
                      java.lang.String desc,
                      java.lang.String signature,
                      java.lang.Object value)
Constructs a new FieldWriter.

Parameters:
cw - the class writer to which this field must be added.
access - the field's access flags (see Opcodes).
name - the field's name.
desc - the field's descriptor (see Type).
signature - the field's signature. May be null.
value - the field's constant value. May be null.
Method Detail

visitAnnotation

public AnnotationVisitor visitAnnotation(java.lang.String desc,
                                         boolean visible)
Description copied from interface: FieldVisitor
Visits an annotation of the field.

Specified by:
visitAnnotation in interface FieldVisitor
Parameters:
desc - the class descriptor of the annotation class.
visible - true if the annotation is visible at runtime.
Returns:
a visitor to visit the annotation values, or null if this visitor is not interested in visiting this annotation.

visitAttribute

public void visitAttribute(Attribute attr)
Description copied from interface: FieldVisitor
Visits a non standard attribute of the field.

Specified by:
visitAttribute in interface FieldVisitor
Parameters:
attr - an attribute.

visitEnd

public void visitEnd()
Description copied from interface: FieldVisitor
Visits the end of the field. This method, which is the last one to be called, is used to inform the visitor that all the annotations and attributes of the field have been visited.

Specified by:
visitEnd in interface FieldVisitor

getSize

int getSize()
Returns the size of this field.

Returns:
the size of this field.

put

void put(ByteVector out)
Puts the content of this field into the given byte vector.

Parameters:
out - where the content of this field must be put.