public interface javax.lang.model.element.ElementVisitor<R, P>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: javax.lang.model.element.ElementVisitor
  super_class: java.lang.Object
{
  public abstract R visit(javax.lang.model.element.Element, );
    descriptor: (Ljavax/lang/model/element/Element;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/Element;TP;)TR;
    MethodParameters:
      Name  Flags
      e     
      p     

  public R visit(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.lang.model.element.ElementVisitor this
        start local 1 // javax.lang.model.element.Element e
         0: .line 96
            aload 0 /* this */
            aload 1 /* e */
            aconst_null
            invokeinterface javax.lang.model.element.ElementVisitor.visit:(Ljavax/lang/model/element/Element;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // javax.lang.model.element.Element e
        end local 0 // javax.lang.model.element.ElementVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/lang/model/element/ElementVisitor<TR;TP;>;
            0    1     1     e  Ljavax/lang/model/element/Element;
    Signature: (Ljavax/lang/model/element/Element;)TR;
    MethodParameters:
      Name  Flags
      e     

  public abstract R visitPackage(javax.lang.model.element.PackageElement, );
    descriptor: (Ljavax/lang/model/element/PackageElement;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/PackageElement;TP;)TR;
    MethodParameters:
      Name  Flags
      e     
      p     

  public abstract R visitType(javax.lang.model.element.TypeElement, );
    descriptor: (Ljavax/lang/model/element/TypeElement;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/TypeElement;TP;)TR;
    MethodParameters:
      Name  Flags
      e     
      p     

  public abstract R visitVariable(javax.lang.model.element.VariableElement, );
    descriptor: (Ljavax/lang/model/element/VariableElement;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/VariableElement;TP;)TR;
    MethodParameters:
      Name  Flags
      e     
      p     

  public abstract R visitExecutable(javax.lang.model.element.ExecutableElement, );
    descriptor: (Ljavax/lang/model/element/ExecutableElement;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/ExecutableElement;TP;)TR;
    MethodParameters:
      Name  Flags
      e     
      p     

  public abstract R visitTypeParameter(javax.lang.model.element.TypeParameterElement, );
    descriptor: (Ljavax/lang/model/element/TypeParameterElement;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/TypeParameterElement;TP;)TR;
    MethodParameters:
      Name  Flags
      e     
      p     

  public abstract R visitUnknown(javax.lang.model.element.Element, );
    descriptor: (Ljavax/lang/model/element/Element;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/Element;TP;)TR;
    MethodParameters:
      Name  Flags
      e     
      p     

  public R visitModule(javax.lang.model.element.ModuleElement, );
    descriptor: (Ljavax/lang/model/element/ModuleElement;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.lang.model.element.ElementVisitor this
        start local 1 // javax.lang.model.element.ModuleElement e
        start local 2 // java.lang.Object p
         0: .line 165
            aload 0 /* this */
            aload 1 /* e */
            aload 2 /* p */
            invokeinterface javax.lang.model.element.ElementVisitor.visitUnknown:(Ljavax/lang/model/element/Element;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // javax.lang.model.element.ModuleElement e
        end local 0 // javax.lang.model.element.ElementVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/lang/model/element/ElementVisitor<TR;TP;>;
            0    1     1     e  Ljavax/lang/model/element/ModuleElement;
            0    1     2     p  TP;
    Signature: (Ljavax/lang/model/element/ModuleElement;TP;)TR;
    MethodParameters:
      Name  Flags
      e     
      p     

  public R visitRecordComponent(javax.lang.model.element.RecordComponentElement, );
    descriptor: (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.lang.model.element.ElementVisitor this
        start local 1 // javax.lang.model.element.RecordComponentElement e
        start local 2 // java.lang.Object p
         0: .line 190
            aload 0 /* this */
            aload 1 /* e */
            aload 2 /* p */
            invokeinterface javax.lang.model.element.ElementVisitor.visitUnknown:(Ljavax/lang/model/element/Element;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // javax.lang.model.element.RecordComponentElement e
        end local 0 // javax.lang.model.element.ElementVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/lang/model/element/ElementVisitor<TR;TP;>;
            0    1     1     e  Ljavax/lang/model/element/RecordComponentElement;
            0    1     2     p  TP;
    Signature: (Ljavax/lang/model/element/RecordComponentElement;TP;)TR;
    RuntimeInvisibleAnnotations: 
      jdk.internal.PreviewFeature(feature = jdk.internal.PreviewFeature$Feature.RECORDS:Ljdk/internal/PreviewFeature$Feature;, essentialAPI = false)
    MethodParameters:
      Name  Flags
      e     
      p     
}
Signature: <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "ElementVisitor.java"
InnerClasses:
  public final Feature = jdk.internal.PreviewFeature$Feature of jdk.internal.PreviewFeature