public class com.sun.tools.javac.code.Directive$UsesDirective extends com.sun.tools.javac.code.Directive implements javax.lang.model.element.ModuleElement$UsesDirective
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.code.Directive$UsesDirective
  super_class: com.sun.tools.javac.code.Directive
{
  public final com.sun.tools.javac.code.Symbol$ClassSymbol service;
    descriptor: Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public void <init>(com.sun.tools.javac.code.Symbol$ClassSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Directive$UsesDirective this
        start local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol service
         0: .line 335
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Directive.<init>:()V
         1: .line 336
            aload 0 /* this */
            aload 1 /* service */
            putfield com.sun.tools.javac.code.Directive$UsesDirective.service:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
         2: .line 337
            return
        end local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol service
        end local 0 // com.sun.tools.javac.code.Directive$UsesDirective this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/sun/tools/javac/code/Directive$UsesDirective;
            0    3     1  service  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    MethodParameters:
         Name  Flags
      service  

  public javax.lang.model.element.ModuleElement$DirectiveKind getKind();
    descriptor: ()Ljavax/lang/model/element/ModuleElement$DirectiveKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Directive$UsesDirective this
         0: .line 341
            getstatic javax.lang.model.element.ModuleElement$DirectiveKind.USES:Ljavax/lang/model/element/ModuleElement$DirectiveKind;
            areturn
        end local 0 // com.sun.tools.javac.code.Directive$UsesDirective this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Directive$UsesDirective;

  public com.sun.tools.javac.code.Symbol$ClassSymbol getService();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Directive$UsesDirective this
         0: .line 346
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Directive$UsesDirective.service:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            areturn
        end local 0 // com.sun.tools.javac.code.Directive$UsesDirective this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Directive$UsesDirective;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Directive$UsesDirective this
         0: .line 351
            new java.lang.StringBuilder
            dup
            ldc "Uses["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Directive$UsesDirective.service:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.javac.code.Directive$UsesDirective this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Directive$UsesDirective;

  public <R, P> R accept(javax.lang.model.element.ModuleElement$DirectiveVisitor<R, P>, );
    descriptor: (Ljavax/lang/model/element/ModuleElement$DirectiveVisitor;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Directive$UsesDirective this
        start local 1 // javax.lang.model.element.ModuleElement$DirectiveVisitor v
        start local 2 // java.lang.Object p
         0: .line 356
            aload 1 /* v */
            aload 0 /* this */
            aload 2 /* p */
            invokeinterface javax.lang.model.element.ModuleElement$DirectiveVisitor.visitUses:(Ljavax/lang/model/element/ModuleElement$UsesDirective;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // javax.lang.model.element.ModuleElement$DirectiveVisitor v
        end local 0 // com.sun.tools.javac.code.Directive$UsesDirective this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Directive$UsesDirective;
            0    1     1     v  Ljavax/lang/model/element/ModuleElement$DirectiveVisitor<TR;TP;>;
            0    1     2     p  TP;
    Signature: <R:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljavax/lang/model/element/ModuleElement$DirectiveVisitor<TR;TP;>;TP;)TR;
    MethodParameters:
      Name  Flags
      v     
      p     

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.Directive$UsesDirective this
        start local 1 // java.lang.Object obj
         0: .line 362
            aload 1 /* obj */
            instanceof com.sun.tools.javac.code.Directive$UsesDirective
            ifne 2
         1: .line 363
            iconst_0
            ireturn
         2: .line 365
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast com.sun.tools.javac.code.Directive$UsesDirective
            astore 2 /* other */
        start local 2 // com.sun.tools.javac.code.Directive$UsesDirective other
         3: .line 366
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Directive$UsesDirective.service:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            aload 2 /* other */
            getfield com.sun.tools.javac.code.Directive$UsesDirective.service:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            if_acmpne 4
            iconst_1
            ireturn
      StackMap locals: com.sun.tools.javac.code.Directive$UsesDirective
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // com.sun.tools.javac.code.Directive$UsesDirective other
        end local 1 // java.lang.Object obj
        end local 0 // com.sun.tools.javac.code.Directive$UsesDirective this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/sun/tools/javac/code/Directive$UsesDirective;
            0    5     1    obj  Ljava/lang/Object;
            3    5     2  other  Lcom/sun/tools/javac/code/Directive$UsesDirective;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Directive$UsesDirective this
         0: .line 372
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Directive$UsesDirective.service:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            invokevirtual java.lang.Object.hashCode:()I
            bipush 31
            imul
            ireturn
        end local 0 // com.sun.tools.javac.code.Directive$UsesDirective this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Directive$UsesDirective;

  public javax.lang.model.element.TypeElement getService();
    descriptor: ()Ljavax/lang/model/element/TypeElement;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.tools.javac.code.Directive$UsesDirective.getService:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "Directive.java"
NestHost: com.sun.tools.javac.code.Directive
InnerClasses:
  public UsesDirective = com.sun.tools.javac.code.Directive$UsesDirective of com.sun.tools.javac.code.Directive
  public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
  public final DirectiveKind = javax.lang.model.element.ModuleElement$DirectiveKind of javax.lang.model.element.ModuleElement
  public abstract DirectiveVisitor = javax.lang.model.element.ModuleElement$DirectiveVisitor of javax.lang.model.element.ModuleElement
  public abstract UsesDirective = javax.lang.model.element.ModuleElement$UsesDirective of javax.lang.model.element.ModuleElement