FieldNode (ASM 5.0.4 Documentation)
Date: 2015-09-18

org.objectweb.asm.tree

## Class FieldNode

- java.lang.Object
- - org.objectweb.asm.FieldVisitor
  - - org.objectweb.asm.tree.FieldNode

-     public class FieldNode
      extends FieldVisitor

  A node that represents a field.
  Author:
    Eric Bruneton

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `int` | `access` The field's access flags (see `Opcodes`).
    `List<Attribute>` | `attrs` The non standard attributes of this field.
    `String` | `desc` The field's descriptor (see `Type`).
    `List<AnnotationNode>` | `invisibleAnnotations` The runtime invisible annotations of this field.
    `List<TypeAnnotationNode>` | `invisibleTypeAnnotations` The runtime invisible type annotations of this field.
    `String` | `name` The field's name.
    `String` | `signature` The field's signature.
    `Object` | `value` The field's initial value.
    `List<AnnotationNode>` | `visibleAnnotations` The runtime visible annotations of this field.
    `List<TypeAnnotationNode>` | `visibleTypeAnnotations` The runtime visible type annotations of this field.

    - ### Fields inherited from class org.objectweb.asm.FieldVisitor

      `api, fv`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FieldNode(int api, int access, String name, String desc, String signature, Object value)` Constructs a new `FieldNode`.
    `FieldNode(int access, String name, String desc, String signature, Object value)` Constructs a new `FieldNode`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `accept(ClassVisitor cv)` Makes the given class visitor visit this field.
    `void` | `check(int api)` Checks that this field node is compatible with the given ASM API version.
    `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.
    `AnnotationVisitor` | `visitTypeAnnotation(int typeRef, TypePath typePath, String desc, boolean visible)` Visits an annotation on the type of the field.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### access

          public int access

      The field's access flags (see `Opcodes`). This field also indicates if the field is synthetic and/or deprecated.

    - #### name

          public String name

      The field's name.

    - #### desc

          public String desc

      The field's descriptor (see `Type`).

    - #### signature

          public String signature

      The field's signature. May be `null`.

    - #### value

          public Object value

      The field's initial value. This field, which may be `null` if the field does not have an initial value, must be an `Integer`, a `Float`, a `Long`, a `Double` or a `String`.

    - #### visibleAnnotations

          public List<AnnotationNode> visibleAnnotations

      The runtime visible annotations of this field. This list is a list of `AnnotationNode` objects. May be `null`.

    - #### invisibleAnnotations

          public List<AnnotationNode> invisibleAnnotations

      The runtime invisible annotations of this field. This list is a list of `AnnotationNode` objects. May be `null`.

    - #### visibleTypeAnnotations

          public List<TypeAnnotationNode> visibleTypeAnnotations

      The runtime visible type annotations of this field. This list is a list of `TypeAnnotationNode` objects. May be `null`.

    - #### invisibleTypeAnnotations

          public List<TypeAnnotationNode> invisibleTypeAnnotations

      The runtime invisible type annotations of this field. This list is a list of `TypeAnnotationNode` objects. May be `null`.

    - #### attrs

          public List<Attribute> attrs

      The non standard attributes of this field. This list is a list of `Attribute` objects. May be `null`.

  - ### Constructor Detail

    - #### FieldNode

          public FieldNode(int access,
                   String name,
                   String desc,
                   String signature,
                   Object value)

      Constructs a new `FieldNode`. Subclasses must not use this constructor. Instead, they must use the `FieldNode(int, int, String, String, String, Object)` version.
      Parameters:
        `access` - the field's access flags (see `Opcodes`). This parameter also indicates if the field is synthetic and/or deprecated.
        `name` - the field's name.
        `desc` - the field's descriptor (see `Type`).
        `signature` - the field's signature.
        `value` - the field's initial value. This parameter, which may be `null` if the field does not have an initial value, must be an `Integer`, a `Float`, a `Long`, a `Double` or a `String`.
      Throws:
        `IllegalStateException` - If a subclass calls this constructor.

    - #### FieldNode

          public FieldNode(int api,
                   int access,
                   String name,
                   String desc,
                   String signature,
                   Object value)

      Constructs a new `FieldNode`. Subclasses must not use this constructor.
      Parameters:
        `api` - the ASM API version implemented by this visitor. Must be one of `Opcodes.ASM4` or `Opcodes.ASM5`.
        `access` - the field's access flags (see `Opcodes`). This parameter also indicates if the field is synthetic and/or deprecated.
        `name` - the field's name.
        `desc` - the field's descriptor (see `Type`).
        `signature` - the field's signature.
        `value` - the field's initial value. This parameter, which may be `null` if the field does not have an initial value, must be an `Integer`, a `Float`, a `Long`, a `Double` or a `String`.

  - ### Method Detail

    - #### 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`

    - #### check

          public void check(int api)

      Checks that this field node is compatible with the given ASM API version. This methods checks that this node, and all its nodes recursively, do not contain elements that were introduced in more recent versions of the ASM API than the given version.
      Parameters:
        `api` - an ASM API version. Must be one of `Opcodes.ASM4` or `Opcodes.ASM5`.

    - #### accept

          public void accept(ClassVisitor cv)

      Makes the given class visitor visit this field.
      Parameters:
        `cv` - a class visitor.