Class Annotations

    • Field Detail

      • isRuntimeVisible

        private final boolean isRuntimeVisible
    • Constructor Detail

      • Annotations

        public Annotations​(byte annotationType,
                           int nameIndex,
                           int length,
                           AnnotationEntry[] annotationTable,
                           ConstantPool constantPool,
                           boolean isRuntimeVisible)
        Constructs an instance.
        Parameters:
        annotationType - the subclass type of the annotation
        nameIndex - Index pointing to the name Code
        length - Content length in bytes
        annotationTable - the actual annotations
        constantPool - Array of constants
        isRuntimeVisible - whether this Annotation visible at runtime
      • Annotations

        Annotations​(byte annotationType,
                    int nameIndex,
                    int length,
                    java.io.DataInput input,
                    ConstantPool constantPool,
                    boolean isRuntimeVisible)
             throws java.io.IOException
        Constructs an instance.
        Parameters:
        annotationType - the subclass type of the annotation
        nameIndex - Index pointing to the name Code
        length - Content length in bytes
        input - Input stream
        constantPool - Array of constants
        isRuntimeVisible - whether this Annotation visible at runtime
        Throws:
        java.io.IOException - if an I/O error occurs.
    • Method Detail

      • accept

        public void accept​(Visitor v)
        Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
        Specified by:
        accept in interface Node
        Specified by:
        accept in class Attribute
        Parameters:
        v - Visitor object
      • copy

        public Attribute copy​(ConstantPool constantPool)
        Specified by:
        copy in class Attribute
        Parameters:
        constantPool - constant pool to save.
        Returns:
        deep copy of this attribute.
      • getAnnotationEntries

        public AnnotationEntry[] getAnnotationEntries()
        Gets the array of annotation entries in this annotation
      • getNumAnnotations

        public final int getNumAnnotations()
        Gets the number of annotation entries in this annotation.
        Returns:
        the number of annotation entries in this annotation
      • isRuntimeVisible

        public boolean isRuntimeVisible()
      • setAnnotationTable

        public final void setAnnotationTable​(AnnotationEntry[] annotationTable)
        Sets the entries to set in this annotation.
        Parameters:
        annotationTable - the entries to set in this annotation
      • toString

        public final java.lang.String toString()
        Converts to a String representation.
        Overrides:
        toString in class Attribute
        Returns:
        String representation
      • writeAnnotations

        protected void writeAnnotations​(java.io.DataOutputStream dos)
                                 throws java.io.IOException
        Throws:
        java.io.IOException