Class RecordComponentVisitor


  • public abstract class RecordComponentVisitor
    extends Object
    A visitor to visit a record component. The methods of this class must be called in the following order: ( visitAnnotation | visitTypeAnnotation | visitAttribute )* visitEnd.
    Author:
    Remi Forax, Eric Bruneton
    • Field Detail

      • api

        protected final int api
        The ASM API version implemented by this visitor. The value of this field must be one of Opcodes.ASM8 or Opcodes.ASM9.
    • Constructor Detail

      • RecordComponentVisitor

        protected RecordComponentVisitor​(int api,
                                         RecordComponentVisitor recordComponentVisitor)
        Constructs a new RecordComponentVisitor.
        Parameters:
        api - the ASM API version implemented by this visitor. Must be Opcodes.ASM8.
        recordComponentVisitor - the record component visitor to which this visitor must delegate method calls. May be null.
    • Method Detail

      • getDelegate

        public RecordComponentVisitor getDelegate()
        The record visitor to which this visitor must delegate method calls. May be null.
        Returns:
        the record visitor to which this visitor must delegate method calls or null.
      • visitAnnotation

        public AnnotationVisitor visitAnnotation​(String descriptor,
                                                 boolean visible)
        Visits an annotation of the record component.
        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,
                                                     String descriptor,
                                                     boolean visible)
        Visits an annotation on a type in the record component signature.
        Parameters:
        typeRef - a reference to the annotated type. The sort of this type reference must be TypeReference.CLASS_TYPE_PARAMETER, TypeReference.CLASS_TYPE_PARAMETER_BOUND or TypeReference.CLASS_EXTENDS. 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)
        Visits a non standard attribute of the record component.
        Parameters:
        attribute - an attribute.
      • visitEnd

        public void visitEnd()
        Visits the end of the record component. This method, which is the last one to be called, is used to inform the visitor that everything have been visited.