public class com.sun.tools.javac.tree.JCTree$JCModuleDecl extends com.sun.tools.javac.tree.JCTree implements com.sun.source.tree.ModuleTree
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.tree.JCTree$JCModuleDecl
  super_class: com.sun.tools.javac.tree.JCTree
{
  public com.sun.tools.javac.tree.JCTree$JCModifiers mods;
    descriptor: Lcom/sun/tools/javac/tree/JCTree$JCModifiers;
    flags: (0x0001) ACC_PUBLIC

  public com.sun.tools.javac.code.Type$ModuleType type;
    descriptor: Lcom/sun/tools/javac/code/Type$ModuleType;
    flags: (0x0001) ACC_PUBLIC

  private final com.sun.source.tree.ModuleTree$ModuleKind kind;
    descriptor: Lcom/sun/source/tree/ModuleTree$ModuleKind;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public com.sun.tools.javac.tree.JCTree$JCExpression qualId;
    descriptor: Lcom/sun/tools/javac/tree/JCTree$JCExpression;
    flags: (0x0001) ACC_PUBLIC

  public com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCDirective> directives;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCDirective;>;

  public com.sun.tools.javac.code.Symbol$ModuleSymbol sym;
    descriptor: Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    flags: (0x0001) ACC_PUBLIC

  protected void <init>(com.sun.tools.javac.tree.JCTree$JCModifiers, com.sun.source.tree.ModuleTree$ModuleKind, com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCDirective>);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCModifiers;Lcom/sun/source/tree/ModuleTree$ModuleKind;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCModifiers mods
        start local 2 // com.sun.source.tree.ModuleTree$ModuleKind kind
        start local 3 // com.sun.tools.javac.tree.JCTree$JCExpression qualId
        start local 4 // com.sun.tools.javac.util.List directives
         0: .line 2837
            aload 0 /* this */
            invokespecial com.sun.tools.javac.tree.JCTree.<init>:()V
         1: .line 2839
            aload 0 /* this */
            aload 1 /* mods */
            putfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.mods:Lcom/sun/tools/javac/tree/JCTree$JCModifiers;
         2: .line 2840
            aload 0 /* this */
            aload 2 /* kind */
            putfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.kind:Lcom/sun/source/tree/ModuleTree$ModuleKind;
         3: .line 2841
            aload 0 /* this */
            aload 3 /* qualId */
            putfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.qualId:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
         4: .line 2842
            aload 0 /* this */
            aload 4 /* directives */
            putfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.directives:Lcom/sun/tools/javac/util/List;
         5: .line 2843
            return
        end local 4 // com.sun.tools.javac.util.List directives
        end local 3 // com.sun.tools.javac.tree.JCTree$JCExpression qualId
        end local 2 // com.sun.source.tree.ModuleTree$ModuleKind kind
        end local 1 // com.sun.tools.javac.tree.JCTree$JCModifiers mods
        end local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            0    6     1        mods  Lcom/sun/tools/javac/tree/JCTree$JCModifiers;
            0    6     2        kind  Lcom/sun/source/tree/ModuleTree$ModuleKind;
            0    6     3      qualId  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            0    6     4  directives  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCDirective;>;
    Signature: (Lcom/sun/tools/javac/tree/JCTree$JCModifiers;Lcom/sun/source/tree/ModuleTree$ModuleKind;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCDirective;>;)V
    MethodParameters:
            Name  Flags
      mods        
      kind        
      qualId      
      directives  

  public void accept(com.sun.tools.javac.tree.JCTree$Visitor);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$Visitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
        start local 1 // com.sun.tools.javac.tree.JCTree$Visitor v
         0: .line 2846
            aload 1 /* v */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.tree.JCTree$Visitor.visitModuleDef:(Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;)V
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$Visitor v
        end local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            0    1     1     v  Lcom/sun/tools/javac/tree/JCTree$Visitor;
    MethodParameters:
      Name  Flags
      v     

  public com.sun.source.tree.Tree$Kind getKind();
    descriptor: ()Lcom/sun/source/tree/Tree$Kind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
         0: .line 2850
            getstatic com.sun.source.tree.Tree$Kind.MODULE:Lcom/sun/source/tree/Tree$Kind;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;

  public com.sun.tools.javac.util.List<? extends com.sun.source.tree.AnnotationTree> getAnnotations();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
         0: .line 2855
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.mods:Lcom/sun/tools/javac/tree/JCTree$JCModifiers;
            getfield com.sun.tools.javac.tree.JCTree$JCModifiers.annotations:Lcom/sun/tools/javac/util/List;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
    Signature: ()Lcom/sun/tools/javac/util/List<+Lcom/sun/source/tree/AnnotationTree;>;

  public com.sun.source.tree.ModuleTree$ModuleKind getModuleType();
    descriptor: ()Lcom/sun/source/tree/ModuleTree$ModuleKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
         0: .line 2860
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.kind:Lcom/sun/source/tree/ModuleTree$ModuleKind;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;

  public com.sun.tools.javac.tree.JCTree$JCExpression getName();
    descriptor: ()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
         0: .line 2865
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.qualId:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCDirective> getDirectives();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
         0: .line 2870
            aload 0 /* this */
            getfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.directives:Lcom/sun/tools/javac/util/List;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCDirective;>;

  public <R, D> R accept(com.sun.source.tree.TreeVisitor<R, D>, );
    descriptor: (Lcom/sun/source/tree/TreeVisitor;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.tree.JCTree$JCModuleDecl this
        start local 1 // com.sun.source.tree.TreeVisitor v
        start local 2 // java.lang.Object d
         0: .line 2875
            aload 1 /* v */
            aload 0 /* this */
            aload 2 /* d */
            invokeinterface com.sun.source.tree.TreeVisitor.visitModule:(Lcom/sun/source/tree/ModuleTree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object d
        end local 1 // com.sun.source.tree.TreeVisitor v
        end local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            0    1     1     v  Lcom/sun/source/tree/TreeVisitor<TR;TD;>;
            0    1     2     d  TD;
    Signature: <R:Ljava/lang/Object;D:Ljava/lang/Object;>(Lcom/sun/source/tree/TreeVisitor<TR;TD;>;TD;)TR;
    MethodParameters:
      Name  Flags
      v     
      d     

  public com.sun.tools.javac.tree.JCTree$Tag getTag();
    descriptor: ()Lcom/sun/tools/javac/tree/JCTree$Tag;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
         0: .line 2880
            getstatic com.sun.tools.javac.tree.JCTree$Tag.MODULEDEF:Lcom/sun/tools/javac/tree/JCTree$Tag;
            areturn
        end local 0 // com.sun.tools.javac.tree.JCTree$JCModuleDecl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;

  public java.util.List getAnnotations();
    descriptor: ()Ljava/util/List;
    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.tree.JCTree$JCModuleDecl.getAnnotations:()Lcom/sun/tools/javac/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.List getDirectives();
    descriptor: ()Ljava/util/List;
    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.tree.JCTree$JCModuleDecl.getDirectives:()Lcom/sun/tools/javac/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.sun.source.tree.ExpressionTree getName();
    descriptor: ()Lcom/sun/source/tree/ExpressionTree;
    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.tree.JCTree$JCModuleDecl.getName:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JCTree.java"
NestHost: com.sun.tools.javac.tree.JCTree
InnerClasses:
  public final ModuleKind = com.sun.source.tree.ModuleTree$ModuleKind of com.sun.source.tree.ModuleTree
  public final Kind = com.sun.source.tree.Tree$Kind of com.sun.source.tree.Tree
  public ModuleSymbol = com.sun.tools.javac.code.Symbol$ModuleSymbol of com.sun.tools.javac.code.Symbol
  public ModuleType = com.sun.tools.javac.code.Type$ModuleType of com.sun.tools.javac.code.Type
  public abstract JCDirective = com.sun.tools.javac.tree.JCTree$JCDirective of com.sun.tools.javac.tree.JCTree
  public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
  public JCModifiers = com.sun.tools.javac.tree.JCTree$JCModifiers of com.sun.tools.javac.tree.JCTree
  public JCModuleDecl = com.sun.tools.javac.tree.JCTree$JCModuleDecl of com.sun.tools.javac.tree.JCTree
  public final Tag = com.sun.tools.javac.tree.JCTree$Tag of com.sun.tools.javac.tree.JCTree
  public abstract Visitor = com.sun.tools.javac.tree.JCTree$Visitor of com.sun.tools.javac.tree.JCTree