Class FieldWriter

java.lang.Object
org.eclipse.sisu.space.asm.FieldVisitor
org.eclipse.sisu.space.asm.FieldWriter

final class FieldWriter extends FieldVisitor
An FieldVisitor that generates Java fields in bytecode form.
  • Field Details

    • cw

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

      private final int access
      Access flags of this field.
    • name

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

      private final 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.
    • tanns

      private AnnotationWriter tanns
      The runtime visible type annotations of this field. May be null.
    • itanns

      private AnnotationWriter itanns
      The runtime invisible type annotations of this field. May be null.
    • attrs

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

    • 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 Details

    • visitAnnotation

      public AnnotationVisitor visitAnnotation(String desc, boolean visible)
      Description copied from class: FieldVisitor
      Visits an annotation of the field.
      Overrides:
      visitAnnotation in class 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.
    • visitTypeAnnotation

      public AnnotationVisitor visitTypeAnnotation(int typeRef, TypePath typePath, String desc, boolean visible)
      Description copied from class: FieldVisitor
      Visits an annotation on the type of the field.
      Overrides:
      visitTypeAnnotation in class FieldVisitor
      Parameters:
      typeRef - a reference to the annotated type. The sort of this type reference must be FIELD. See TypeReference.
      typePath - the path to the annotated type argument, wildcard bound, array element type, or static inner type within 'typeRef'. May be null if the annotation targets 'typeRef' as a whole.
      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 class: FieldVisitor
      Visits a non standard attribute of the field.
      Overrides:
      visitAttribute in class FieldVisitor
      Parameters:
      attr - an attribute.
    • visitEnd

      public void visitEnd()
      Description copied from class: 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.
      Overrides:
      visitEnd in class 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.