public class com.sun.tools.javac.code.Symbol$ModuleSymbol extends com.sun.tools.javac.code.Symbol$TypeSymbol implements javax.lang.model.element.ModuleElement
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.code.Symbol$ModuleSymbol
  super_class: com.sun.tools.javac.code.Symbol$TypeSymbol
{
  public com.sun.tools.javac.util.Name version;
    descriptor: Lcom/sun/tools/javac/util/Name;
    flags: (0x0001) ACC_PUBLIC

  public javax.tools.JavaFileManager$Location sourceLocation;
    descriptor: Ljavax/tools/JavaFileManager$Location;
    flags: (0x0001) ACC_PUBLIC

  public javax.tools.JavaFileManager$Location classLocation;
    descriptor: Ljavax/tools/JavaFileManager$Location;
    flags: (0x0001) ACC_PUBLIC

  public javax.tools.JavaFileManager$Location patchLocation;
    descriptor: Ljavax/tools/JavaFileManager$Location;
    flags: (0x0001) ACC_PUBLIC

  public javax.tools.JavaFileManager$Location patchOutputLocation;
    descriptor: Ljavax/tools/JavaFileManager$Location;
    flags: (0x0001) ACC_PUBLIC

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Directive> directives;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Directive;>;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Directive$RequiresDirective> requires;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Directive$RequiresDirective;>;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Directive$ExportsDirective> exports;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Directive$ExportsDirective;>;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Directive$OpensDirective> opens;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Directive$OpensDirective;>;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Directive$ProvidesDirective> provides;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Directive$ProvidesDirective;>;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Directive$UsesDirective> uses;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Directive$UsesDirective;>;

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

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

  public java.util.Map<com.sun.tools.javac.util.Name, com.sun.tools.javac.code.Symbol$PackageSymbol> visiblePackages;
    descriptor: Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Map<Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol$PackageSymbol;>;

  public java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol> readModules;
    descriptor: Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol> enclosedPackages;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;

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

  public final java.util.Set<com.sun.tools.javac.code.Symbol$ModuleFlags> flags;
    descriptor: Ljava/util/Set;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleFlags;>;

  public final java.util.Set<com.sun.tools.javac.code.Symbol$ModuleResolutionFlags> resolutionFlags;
    descriptor: Ljava/util/Set;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleResolutionFlags;>;

  public static com.sun.tools.javac.code.Symbol$ModuleSymbol create(com.sun.tools.javac.util.Name, com.sun.tools.javac.util.Name);
    descriptor: (Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.util.Name name
        start local 1 // com.sun.tools.javac.util.Name module_info
         0: .line 937
            new com.sun.tools.javac.code.Symbol$ModuleSymbol
            dup
            aload 0 /* name */
            aconst_null
            invokespecial com.sun.tools.javac.code.Symbol$ModuleSymbol.<init>:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;)V
            astore 2 /* msym */
        start local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         1: .line 938
            new com.sun.tools.javac.code.Symbol$ClassSymbol
            dup
            ldc 2251799813685248
            aload 1 /* module_info */
            aload 2 /* msym */
            invokespecial com.sun.tools.javac.code.Symbol$ClassSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;)V
            astore 3 /* info */
        start local 3 // com.sun.tools.javac.code.Symbol$ClassSymbol info
         2: .line 939
            aload 3 /* info */
            aload 1 /* module_info */
            aload 2 /* msym */
            invokestatic com.sun.tools.javac.code.Symbol$ModuleSymbol.formFullName:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/Name;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.fullname:Lcom/sun/tools/javac/util/Name;
         3: .line 940
            aload 3 /* info */
            aload 3 /* info */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.fullname:Lcom/sun/tools/javac/util/Name;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.flatname:Lcom/sun/tools/javac/util/Name;
         4: .line 941
            aload 3 /* info */
            aload 3 /* info */
            invokestatic com.sun.tools.javac.code.Scope$WriteableScope.create:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Scope$WriteableScope;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.members_field:Lcom/sun/tools/javac/code/Scope$WriteableScope;
         5: .line 942
            aload 2 /* msym */
            aload 3 /* info */
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.module_info:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
         6: .line 943
            aload 2 /* msym */
            areturn
        end local 3 // com.sun.tools.javac.code.Symbol$ClassSymbol info
        end local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 1 // com.sun.tools.javac.util.Name module_info
        end local 0 // com.sun.tools.javac.util.Name name
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         name  Lcom/sun/tools/javac/util/Name;
            0    7     1  module_info  Lcom/sun/tools/javac/util/Name;
            1    7     2         msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            2    7     3         info  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    MethodParameters:
             Name  Flags
      name         
      module_info  

  public void <init>(com.sun.tools.javac.util.Name, com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
        start local 1 // com.sun.tools.javac.util.Name name
        start local 2 // com.sun.tools.javac.code.Symbol owner
         0: .line 947
            aload 0 /* this */
            getstatic com.sun.tools.javac.code.Kinds$Kind.MDL:Lcom/sun/tools/javac/code/Kinds$Kind;
            lconst_0
            aload 1 /* name */
            aconst_null
            aload 2 /* owner */
            invokespecial com.sun.tools.javac.code.Symbol$TypeSymbol.<init>:(Lcom/sun/tools/javac/code/Kinds$Kind;JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
         1: .line 927
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.enclosedPackages:Lcom/sun/tools/javac/util/List;
         2: .line 929
            aload 0 /* this */
            getstatic com.sun.tools.javac.code.Symbol$Completer.NULL_COMPLETER:Lcom/sun/tools/javac/code/Symbol$Completer;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.usesProvidesCompleter:Lcom/sun/tools/javac/code/Symbol$Completer;
         3: .line 930
            aload 0 /* this */
            ldc Lcom/sun/tools/javac/code/Symbol$ModuleFlags;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags:Ljava/util/Set;
         4: .line 931
            aload 0 /* this */
            ldc Lcom/sun/tools/javac/code/Symbol$ModuleResolutionFlags;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.resolutionFlags:Ljava/util/Set;
         5: .line 948
            aload 1 /* name */
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 949
            aload 0 /* this */
            new com.sun.tools.javac.code.Type$ModuleType
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.Type$ModuleType.<init>:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.type:Lcom/sun/tools/javac/code/Type;
         7: .line 950
            return
        end local 2 // com.sun.tools.javac.code.Symbol owner
        end local 1 // com.sun.tools.javac.util.Name name
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            0    8     1   name  Lcom/sun/tools/javac/util/Name;
            0    8     2  owner  Lcom/sun/tools/javac/code/Symbol;
    MethodParameters:
       Name  Flags
      name   
      owner  

  public com.sun.tools.javac.util.Name getSimpleName();
    descriptor: ()Lcom/sun/tools/javac/util/Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
         0: .line 954
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.getQualifiedName:()Lcom/sun/tools/javac/util/Name;
            astore 1 /* fullName */
        start local 1 // com.sun.tools.javac.util.Name fullName
         1: .line 955
            aload 1 /* fullName */
            bipush 46
            invokevirtual com.sun.tools.javac.util.Name.lastIndexOf:(B)I
            istore 2 /* lastPeriod */
        start local 2 // int lastPeriod
         2: .line 956
            iload 2 /* lastPeriod */
            iconst_m1
            if_icmpne 4
         3: .line 957
            aload 1 /* fullName */
            areturn
         4: .line 959
      StackMap locals: com.sun.tools.javac.util.Name int
      StackMap stack:
            aload 1 /* fullName */
            iload 2 /* lastPeriod */
            iconst_1
            iadd
            aload 1 /* fullName */
            invokevirtual com.sun.tools.javac.util.Name.length:()I
            invokevirtual com.sun.tools.javac.util.Name.subName:(II)Lcom/sun/tools/javac/util/Name;
            areturn
        end local 2 // int lastPeriod
        end local 1 // com.sun.tools.javac.util.Name fullName
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            1    5     1    fullName  Lcom/sun/tools/javac/util/Name;
            2    5     2  lastPeriod  I

  public boolean isOpen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
         0: .line 965
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags:Ljava/util/Set;
            getstatic com.sun.tools.javac.code.Symbol$ModuleFlags.OPEN:Lcom/sun/tools/javac/code/Symbol$ModuleFlags;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  public boolean isUnnamed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
         0: .line 970
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.isEmpty:()Z
            ifeq 1
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  public boolean isDeprecated();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
         0: .line 975
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.hasDeprecatedAnnotation:()Z
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  public boolean isNoModule();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
         0: .line 979
            iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

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

  public java.util.List<javax.lang.model.element.ModuleElement$Directive> getDirectives();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
         0: .line 989
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
         1: .line 990
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.completeUsesProvides:()V
         2: .line 991
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    Signature: ()Ljava/util/List<Ljavax/lang/model/element/ModuleElement$Directive;>;

  public void completeUsesProvides();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
         0: .line 995
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.usesProvidesCompleter:Lcom/sun/tools/javac/code/Symbol$Completer;
            getstatic com.sun.tools.javac.code.Symbol$Completer.NULL_COMPLETER:Lcom/sun/tools/javac/code/Symbol$Completer;
            if_acmpeq 4
         1: .line 996
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.usesProvidesCompleter:Lcom/sun/tools/javac/code/Symbol$Completer;
            astore 1 /* c */
        start local 1 // com.sun.tools.javac.code.Symbol$Completer c
         2: .line 997
            aload 0 /* this */
            getstatic com.sun.tools.javac.code.Symbol$Completer.NULL_COMPLETER:Lcom/sun/tools/javac/code/Symbol$Completer;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.usesProvidesCompleter:Lcom/sun/tools/javac/code/Symbol$Completer;
         3: .line 998
            aload 1 /* c */
            aload 0 /* this */
            invokeinterface com.sun.tools.javac.code.Symbol$Completer.complete:(Lcom/sun/tools/javac/code/Symbol;)V
        end local 1 // com.sun.tools.javac.code.Symbol$Completer c
         4: .line 1000
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            2    4     1     c  Lcom/sun/tools/javac/code/Symbol$Completer;

  public com.sun.tools.javac.code.Symbol$ClassSymbol outermostClass();
    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.Symbol$ModuleSymbol this
         0: .line 1004
            aconst_null
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
         0: .line 1011
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            ifnonnull 1
            ldc "<unknown>"
            goto 3
         1: .line 1012
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.isEmpty:()Z
            ifeq 2
            ldc "<unnamed>"
            goto 3
         2: .line 1013
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
         3: .line 1011
      StackMap locals:
      StackMap stack: java.lang.String
            astore 1 /* n */
        start local 1 // java.lang.String n
         4: .line 1014
            aload 1 /* n */
            areturn
        end local 1 // java.lang.String n
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            4    5     1     n  Ljava/lang/String;

  public <R, P> R accept(javax.lang.model.element.ElementVisitor<R, P>, );
    descriptor: (Ljavax/lang/model/element/ElementVisitor;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.Symbol$ModuleSymbol this
        start local 1 // javax.lang.model.element.ElementVisitor v
        start local 2 // java.lang.Object p
         0: .line 1019
            aload 1 /* v */
            aload 0 /* this */
            aload 2 /* p */
            invokeinterface javax.lang.model.element.ElementVisitor.visitModule:(Ljavax/lang/model/element/ModuleElement;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // javax.lang.model.element.ElementVisitor v
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            0    1     1     v  Ljavax/lang/model/element/ElementVisitor<TR;TP;>;
            0    1     2     p  TP;
    Signature: <R:Ljava/lang/Object;P:Ljava/lang/Object;>(Ljavax/lang/model/element/ElementVisitor<TR;TP;>;TP;)TR;
    MethodParameters:
      Name  Flags
      v     
      p     

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol> getEnclosedElements();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
         0: .line 1024
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            astore 1 /* list */
        start local 1 // com.sun.tools.javac.util.List list
         1: .line 1025
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.enclosedPackages:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol
            astore 2 /* sym */
        start local 2 // com.sun.tools.javac.code.Symbol sym
         3: .line 1026
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol.members:()Lcom/sun/tools/javac/code/Scope$WriteableScope;
            invokedynamic accepts()Lcom/sun/tools/javac/util/Filter;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/sun/tools/javac/code/Symbol$ModuleSymbol.lambda$0(Lcom/sun/tools/javac/code/Symbol;)Z (6)
                  (Lcom/sun/tools/javac/code/Symbol;)Z
            invokevirtual com.sun.tools.javac.code.Scope$WriteableScope.anyMatch:(Lcom/sun/tools/javac/util/Filter;)Z
            ifeq 5
         4: .line 1027
            aload 1 /* list */
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 1 /* list */
        end local 2 // com.sun.tools.javac.code.Symbol sym
         5: .line 1025
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 1029
            aload 1 /* list */
            areturn
        end local 1 // com.sun.tools.javac.util.List list
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            1    7     1  list  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;
            3    5     2   sym  Lcom/sun/tools/javac/code/Symbol;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol;>;

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
         0: .line 1033
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
         1: .line 1034
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
         2: .line 1035
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.exports:Lcom/sun/tools/javac/util/List;
         3: .line 1036
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.provides:Lcom/sun/tools/javac/util/List;
         4: .line 1037
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.uses:Lcom/sun/tools/javac/util/List;
         5: .line 1038
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.visiblePackages:Ljava/util/Map;
         6: .line 1039
            return
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  public javax.lang.model.element.Element getEnclosingElement();
    descriptor: ()Ljavax/lang/model/element/Element;
    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.Symbol$ModuleSymbol.getEnclosingElement:()Lcom/sun/tools/javac/code/Symbol;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.lang.model.element.Name getSimpleName();
    descriptor: ()Ljavax/lang/model/element/Name;
    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.Symbol$ModuleSymbol.getSimpleName:()Lcom/sun/tools/javac/util/Name;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.List getEnclosedElements();
    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.code.Symbol$ModuleSymbol.getEnclosedElements:()Lcom/sun/tools/javac/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.lang.model.element.Name getQualifiedName();
    descriptor: ()Ljavax/lang/model/element/Name;
    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.Symbol$ModuleSymbol.getQualifiedName:()Lcom/sun/tools/javac/util/Name;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean lambda$0(com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol m
         0: .line 1026
            aload 0 /* m */
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.TYP:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.sun.tools.javac.code.Symbol m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     m  Lcom/sun/tools/javac/code/Symbol;
}
SourceFile: "Symbol.java"
NestHost: com.sun.tools.javac.code.Symbol
InnerClasses:
  public ExportsDirective = com.sun.tools.javac.code.Directive$ExportsDirective of com.sun.tools.javac.code.Directive
  public OpensDirective = com.sun.tools.javac.code.Directive$OpensDirective of com.sun.tools.javac.code.Directive
  public ProvidesDirective = com.sun.tools.javac.code.Directive$ProvidesDirective of com.sun.tools.javac.code.Directive
  public RequiresDirective = com.sun.tools.javac.code.Directive$RequiresDirective of com.sun.tools.javac.code.Directive
  public UsesDirective = com.sun.tools.javac.code.Directive$UsesDirective of com.sun.tools.javac.code.Directive
  public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
  public abstract WriteableScope = com.sun.tools.javac.code.Scope$WriteableScope of com.sun.tools.javac.code.Scope
  public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
  public abstract Completer = com.sun.tools.javac.code.Symbol$Completer of com.sun.tools.javac.code.Symbol
  public final ModuleFlags = com.sun.tools.javac.code.Symbol$ModuleFlags of com.sun.tools.javac.code.Symbol
  public final ModuleResolutionFlags = com.sun.tools.javac.code.Symbol$ModuleResolutionFlags of com.sun.tools.javac.code.Symbol
  public ModuleSymbol = com.sun.tools.javac.code.Symbol$ModuleSymbol of com.sun.tools.javac.code.Symbol
  public PackageSymbol = com.sun.tools.javac.code.Symbol$PackageSymbol of com.sun.tools.javac.code.Symbol
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
  public ModuleType = com.sun.tools.javac.code.Type$ModuleType of com.sun.tools.javac.code.Type
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Directive = javax.lang.model.element.ModuleElement$Directive of javax.lang.model.element.ModuleElement
  public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager