public interface javax.lang.model.element.ModuleElement$DirectiveVisitor<R, P>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: javax.lang.model.element.ModuleElement$DirectiveVisitor
  super_class: java.lang.Object
{
  public R visit(javax.lang.model.element.ModuleElement$Directive);
    descriptor: (Ljavax/lang/model/element/ModuleElement$Directive;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.lang.model.element.ModuleElement$DirectiveVisitor this
        start local 1 // javax.lang.model.element.ModuleElement$Directive d
         0: .line 221
            aload 1 /* d */
            aload 0 /* this */
            aconst_null
            invokeinterface javax.lang.model.element.ModuleElement$Directive.accept:(Ljavax/lang/model/element/ModuleElement$DirectiveVisitor;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // javax.lang.model.element.ModuleElement$Directive d
        end local 0 // javax.lang.model.element.ModuleElement$DirectiveVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/lang/model/element/ModuleElement$DirectiveVisitor<TR;TP;>;
            0    1     1     d  Ljavax/lang/model/element/ModuleElement$Directive;
    Signature: (Ljavax/lang/model/element/ModuleElement$Directive;)TR;
    MethodParameters:
      Name  Flags
      d     

  public R visit(javax.lang.model.element.ModuleElement$Directive, );
    descriptor: (Ljavax/lang/model/element/ModuleElement$Directive;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.ModuleElement$DirectiveVisitor this
        start local 1 // javax.lang.model.element.ModuleElement$Directive d
        start local 2 // java.lang.Object p
         0: .line 234
            aload 1 /* d */
            aload 0 /* this */
            aload 2 /* p */
            invokeinterface javax.lang.model.element.ModuleElement$Directive.accept:(Ljavax/lang/model/element/ModuleElement$DirectiveVisitor;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // javax.lang.model.element.ModuleElement$Directive d
        end local 0 // javax.lang.model.element.ModuleElement$DirectiveVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/lang/model/element/ModuleElement$DirectiveVisitor<TR;TP;>;
            0    1     1     d  Ljavax/lang/model/element/ModuleElement$Directive;
            0    1     2     p  TP;
    Signature: (Ljavax/lang/model/element/ModuleElement$Directive;TP;)TR;
    MethodParameters:
      Name  Flags
      d     
      p     

  public abstract R visitRequires(javax.lang.model.element.ModuleElement$RequiresDirective, );
    descriptor: (Ljavax/lang/model/element/ModuleElement$RequiresDirective;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/ModuleElement$RequiresDirective;TP;)TR;
    MethodParameters:
      Name  Flags
      d     
      p     

  public abstract R visitExports(javax.lang.model.element.ModuleElement$ExportsDirective, );
    descriptor: (Ljavax/lang/model/element/ModuleElement$ExportsDirective;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/ModuleElement$ExportsDirective;TP;)TR;
    MethodParameters:
      Name  Flags
      d     
      p     

  public abstract R visitOpens(javax.lang.model.element.ModuleElement$OpensDirective, );
    descriptor: (Ljavax/lang/model/element/ModuleElement$OpensDirective;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/ModuleElement$OpensDirective;TP;)TR;
    MethodParameters:
      Name  Flags
      d     
      p     

  public abstract R visitUses(javax.lang.model.element.ModuleElement$UsesDirective, );
    descriptor: (Ljavax/lang/model/element/ModuleElement$UsesDirective;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/ModuleElement$UsesDirective;TP;)TR;
    MethodParameters:
      Name  Flags
      d     
      p     

  public abstract R visitProvides(javax.lang.model.element.ModuleElement$ProvidesDirective, );
    descriptor: (Ljavax/lang/model/element/ModuleElement$ProvidesDirective;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljavax/lang/model/element/ModuleElement$ProvidesDirective;TP;)TR;
    MethodParameters:
      Name  Flags
      d     
      p     

  public R visitUnknown(javax.lang.model.element.ModuleElement$Directive, );
    descriptor: (Ljavax/lang/model/element/ModuleElement$Directive;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // javax.lang.model.element.ModuleElement$DirectiveVisitor this
        start local 1 // javax.lang.model.element.ModuleElement$Directive d
        start local 2 // java.lang.Object p
         0: .line 287
            new javax.lang.model.element.UnknownDirectiveException
            dup
            aload 1 /* d */
            aload 2 /* p */
            invokespecial javax.lang.model.element.UnknownDirectiveException.<init>:(Ljavax/lang/model/element/ModuleElement$Directive;Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.Object p
        end local 1 // javax.lang.model.element.ModuleElement$Directive d
        end local 0 // javax.lang.model.element.ModuleElement$DirectiveVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/lang/model/element/ModuleElement$DirectiveVisitor<TR;TP;>;
            0    1     1     d  Ljavax/lang/model/element/ModuleElement$Directive;
            0    1     2     p  TP;
    Signature: (Ljavax/lang/model/element/ModuleElement$Directive;TP;)TR;
    MethodParameters:
      Name  Flags
      d     
      p     
}
Signature: <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "ModuleElement.java"
NestHost: javax.lang.model.element.ModuleElement
InnerClasses:
  public abstract Directive = javax.lang.model.element.ModuleElement$Directive of javax.lang.model.element.ModuleElement
  public abstract DirectiveVisitor = javax.lang.model.element.ModuleElement$DirectiveVisitor of javax.lang.model.element.ModuleElement
  public abstract ExportsDirective = javax.lang.model.element.ModuleElement$ExportsDirective of javax.lang.model.element.ModuleElement
  public abstract OpensDirective = javax.lang.model.element.ModuleElement$OpensDirective of javax.lang.model.element.ModuleElement
  public abstract ProvidesDirective = javax.lang.model.element.ModuleElement$ProvidesDirective of javax.lang.model.element.ModuleElement
  public abstract RequiresDirective = javax.lang.model.element.ModuleElement$RequiresDirective of javax.lang.model.element.ModuleElement
  public abstract UsesDirective = javax.lang.model.element.ModuleElement$UsesDirective of javax.lang.model.element.ModuleElement