org.compass.core.util.asm
Class FieldWriter

java.lang.Object
  extended by org.compass.core.util.asm.FieldWriter
All Implemented Interfaces:
FieldVisitor

final class FieldWriter
extends Object
implements FieldVisitor

An FieldVisitor that generates Java fields in bytecode form.

Author:
Eric Bruneton

Field Summary
(package private)  FieldWriter next
          Next field writer (see firstField).
 
Constructor Summary
FieldWriter(ClassWriter cw, int access, String name, String desc, String signature, 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(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).

Constructor Detail

FieldWriter

FieldWriter(ClassWriter cw,
            int access,
            String name,
            String desc,
            String signature,
            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(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.


Copyright (c) 2004-2008 The Compass Project.