Class FieldNode


  • public class FieldNode
    extends FieldVisitor
    A node that represents a field.
    • Constructor Summary

      Constructors 
      Constructor Description
      FieldNode​(int api, int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.Object value)
      Constructs a new FieldNode.
      FieldNode​(int access, java.lang.String name, java.lang.String descriptor, java.lang.String signature, java.lang.Object value)
      Constructs a new FieldNode.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void accept​(ClassVisitor classVisitor)
      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​(java.lang.String descriptor, boolean visible)
      Visits an annotation of the field.
      void visitAttribute​(Attribute attribute)
      Visits a non standard attribute of the field.
      void visitEnd()
      Visits the end of the field.
      AnnotationVisitor visitTypeAnnotation​(int typeRef, TypePath typePath, java.lang.String descriptor, 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 java.lang.String name
        The field's name.
      • desc

        public java.lang.String desc
        The field's descriptor (see Type).
      • signature

        public java.lang.String signature
        The field's signature. May be null.
      • value

        public java.lang.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 java.util.List<AnnotationNode> visibleAnnotations
        The runtime visible annotations of this field. May be null.
      • invisibleAnnotations

        public java.util.List<AnnotationNode> invisibleAnnotations
        The runtime invisible annotations of this field. May be null.
      • visibleTypeAnnotations

        public java.util.List<TypeAnnotationNode> visibleTypeAnnotations
        The runtime visible type annotations of this field. May be null.
      • invisibleTypeAnnotations

        public java.util.List<TypeAnnotationNode> invisibleTypeAnnotations
        The runtime invisible type annotations of this field. May be null.
      • attrs

        public java.util.List<Attribute> attrs
        The non standard attributes of this field. * May be null.
    • Constructor Detail

      • FieldNode

        public FieldNode​(int access,
                         java.lang.String name,
                         java.lang.String descriptor,
                         java.lang.String signature,
                         java.lang.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.
        descriptor - 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:
        java.lang.IllegalStateException - If a subclass calls this constructor.
      • FieldNode

        public FieldNode​(int api,
                         int access,
                         java.lang.String name,
                         java.lang.String descriptor,
                         java.lang.String signature,
                         java.lang.Object value)
        Constructs a new FieldNode.
        Parameters:
        api - the ASM API version implemented by this visitor. Must be one of Opcodes.ASM4, Opcodes.ASM5, Opcodes.ASM6, Opcodes.ASM7, Opcodes.ASM8 or Opcodes.ASM9.
        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.
        descriptor - 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​(java.lang.String descriptor,
                                                 boolean visible)
        Description copied from class: FieldVisitor
        Visits an annotation of the field.
        Overrides:
        visitAnnotation in class FieldVisitor
        Parameters:
        descriptor - 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,
                                                     java.lang.String descriptor,
                                                     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 TypeReference.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.
        descriptor - 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 attribute)
        Description copied from class: FieldVisitor
        Visits a non standard attribute of the field.
        Overrides:
        visitAttribute in class FieldVisitor
        Parameters:
        attribute - 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 method checks that this node, and all its children 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, Opcodes.ASM5, Opcodes.ASM6 or Opcodes.ASM7.
      • accept

        public void accept​(ClassVisitor classVisitor)
        Makes the given class visitor visit this field.
        Parameters:
        classVisitor - a class visitor.