public class com.sun.tools.javac.code.ModuleFinder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.code.ModuleFinder
  super_class: java.lang.Object
{
  protected static final com.sun.tools.javac.util.Context$Key<com.sun.tools.javac.code.ModuleFinder> moduleFinderKey;
    descriptor: Lcom/sun/tools/javac/util/Context$Key;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Signature: Lcom/sun/tools/javac/util/Context$Key<Lcom/sun/tools/javac/code/ModuleFinder;>;

  private final com.sun.tools.javac.util.Log log;
    descriptor: Lcom/sun/tools/javac/util/Log;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.code.Symtab syms;
    descriptor: Lcom/sun/tools/javac/code/Symtab;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.util.Names names;
    descriptor: Lcom/sun/tools/javac/util/Names;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.code.ClassFinder classFinder;
    descriptor: Lcom/sun/tools/javac/code/ClassFinder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javax.tools.JavaFileManager fileManager;
    descriptor: Ljavax/tools/JavaFileManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.util.JCDiagnostic$Factory diags;
    descriptor: Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.sun.tools.javac.jvm.ModuleNameReader moduleNameReader;
    descriptor: Lcom/sun/tools/javac/jvm/ModuleNameReader;
    flags: (0x0002) ACC_PRIVATE

  public com.sun.tools.javac.code.ModuleFinder$ModuleNameFromSourceReader moduleNameFromSourceReader;
    descriptor: Lcom/sun/tools/javac/code/ModuleFinder$ModuleNameFromSourceReader;
    flags: (0x0001) ACC_PUBLIC

  com.sun.tools.javac.code.ModuleFinder$ModuleLocationIterator moduleLocationIterator;
    descriptor: Lcom/sun/tools/javac/code/ModuleFinder$ModuleLocationIterator;
    flags: (0x0000) 

  private static volatile int[] $SWITCH_TABLE$javax$tools$JavaFileObject$Kind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$javax$tools$StandardLocation;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 73
            new com.sun.tools.javac.util.Context$Key
            dup
            invokespecial com.sun.tools.javac.util.Context$Key.<init>:()V
            putstatic com.sun.tools.javac.code.ModuleFinder.moduleFinderKey:Lcom/sun/tools/javac/util/Context$Key;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.sun.tools.javac.code.ModuleFinder instance(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/ModuleFinder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.util.Context context
         0: .line 98
            aload 0 /* context */
            getstatic com.sun.tools.javac.code.ModuleFinder.moduleFinderKey:Lcom/sun/tools/javac/util/Context$Key;
            invokevirtual com.sun.tools.javac.util.Context.get:(Lcom/sun/tools/javac/util/Context$Key;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.ModuleFinder
            astore 1 /* instance */
        start local 1 // com.sun.tools.javac.code.ModuleFinder instance
         1: .line 99
            aload 1 /* instance */
            ifnonnull 3
         2: .line 100
            new com.sun.tools.javac.code.ModuleFinder
            dup
            aload 0 /* context */
            invokespecial com.sun.tools.javac.code.ModuleFinder.<init>:(Lcom/sun/tools/javac/util/Context;)V
            astore 1 /* instance */
         3: .line 101
      StackMap locals: com.sun.tools.javac.code.ModuleFinder
      StackMap stack:
            aload 1 /* instance */
            areturn
        end local 1 // com.sun.tools.javac.code.ModuleFinder instance
        end local 0 // com.sun.tools.javac.util.Context context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0   context  Lcom/sun/tools/javac/util/Context;
            1    4     1  instance  Lcom/sun/tools/javac/code/ModuleFinder;
    MethodParameters:
         Name  Flags
      context  

  protected void <init>(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.ModuleFinder this
        start local 1 // com.sun.tools.javac.util.Context context
         0: .line 105
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 162
            aload 0 /* this */
            new com.sun.tools.javac.code.ModuleFinder$ModuleLocationIterator
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.code.ModuleFinder$ModuleLocationIterator.<init>:(Lcom/sun/tools/javac/code/ModuleFinder;)V
            putfield com.sun.tools.javac.code.ModuleFinder.moduleLocationIterator:Lcom/sun/tools/javac/code/ModuleFinder$ModuleLocationIterator;
         2: .line 106
            aload 1 /* context */
            getstatic com.sun.tools.javac.code.ModuleFinder.moduleFinderKey:Lcom/sun/tools/javac/util/Context$Key;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Context.put:(Lcom/sun/tools/javac/util/Context$Key;Ljava/lang/Object;)V
         3: .line 107
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.Names.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Names;
            putfield com.sun.tools.javac.code.ModuleFinder.names:Lcom/sun/tools/javac/util/Names;
         4: .line 108
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.Symtab.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Symtab;
            putfield com.sun.tools.javac.code.ModuleFinder.syms:Lcom/sun/tools/javac/code/Symtab;
         5: .line 109
            aload 0 /* this */
            aload 1 /* context */
            ldc Ljavax/tools/JavaFileManager;
            invokevirtual com.sun.tools.javac.util.Context.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.tools.JavaFileManager
            putfield com.sun.tools.javac.code.ModuleFinder.fileManager:Ljavax/tools/JavaFileManager;
         6: .line 110
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.Log.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Log;
            putfield com.sun.tools.javac.code.ModuleFinder.log:Lcom/sun/tools/javac/util/Log;
         7: .line 111
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.ClassFinder.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/ClassFinder;
            putfield com.sun.tools.javac.code.ModuleFinder.classFinder:Lcom/sun/tools/javac/code/ClassFinder;
         8: .line 113
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.JCDiagnostic$Factory.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            putfield com.sun.tools.javac.code.ModuleFinder.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
         9: .line 114
            return
        end local 1 // com.sun.tools.javac.util.Context context
        end local 0 // com.sun.tools.javac.code.ModuleFinder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lcom/sun/tools/javac/code/ModuleFinder;
            0   10     1  context  Lcom/sun/tools/javac/util/Context;
    MethodParameters:
         Name  Flags
      context  

  public com.sun.tools.javac.code.Symbol$ModuleSymbol findModule(com.sun.tools.javac.util.Name);
    descriptor: (Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.ModuleFinder this
        start local 1 // com.sun.tools.javac.util.Name name
         0: .line 165
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 1 /* name */
            invokevirtual com.sun.tools.javac.code.Symtab.enterModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.findModule:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            areturn
        end local 1 // com.sun.tools.javac.util.Name name
        end local 0 // com.sun.tools.javac.code.ModuleFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/ModuleFinder;
            0    1     1  name  Lcom/sun/tools/javac/util/Name;
    MethodParameters:
      Name  Flags
      name  

  public com.sun.tools.javac.code.Symbol$ModuleSymbol findModule(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.code.ModuleFinder this
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         0: .line 169
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.ERR:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpeq 4
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
            ifnonnull 4
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
            ifnonnull 4
         1: .line 171
            aload 0 /* this */
            aload 1 /* msym */
            invokevirtual com.sun.tools.javac.code.ModuleFinder.scanModulePath:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Lcom/sun/tools/javac/util/List;
            astore 2 /* list */
        start local 2 // com.sun.tools.javac.util.List list
         2: .line 172
            aload 2 /* list */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 4
         3: .line 173
            aload 1 /* msym */
            getstatic com.sun.tools.javac.code.Kinds$Kind.ERR:Lcom/sun/tools/javac/code/Kinds$Kind;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
        end local 2 // com.sun.tools.javac.util.List list
         4: .line 176
      StackMap locals:
      StackMap stack:
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.ERR:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpeq 6
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.module_info:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.sourcefile:Ljavax/tools/JavaFileObject;
            ifnonnull 6
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.module_info:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
            ifnonnull 6
         5: .line 178
            aload 0 /* this */
            aload 1 /* msym */
            invokevirtual com.sun.tools.javac.code.ModuleFinder.findModuleInfo:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
         6: .line 180
      StackMap locals:
      StackMap stack:
            aload 1 /* msym */
            areturn
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 0 // com.sun.tools.javac.code.ModuleFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/ModuleFinder;
            0    7     1  msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            2    4     2  list  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
    MethodParameters:
      Name  Flags
      msym  

  public com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol$ModuleSymbol> findAllModules();
    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.ModuleFinder this
         0: .line 184
            aload 0 /* this */
            aconst_null
            invokevirtual com.sun.tools.javac.code.ModuleFinder.scanModulePath:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Lcom/sun/tools/javac/util/List;
            astore 1 /* list */
        start local 1 // com.sun.tools.javac.util.List list
         1: .line 185
            aload 1 /* list */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: com.sun.tools.javac.code.ModuleFinder 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$ModuleSymbol
            astore 2 /* msym */
        start local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         3: .line 186
            aload 2 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.ERR:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpeq 5
            aload 2 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.module_info:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.sourcefile:Ljavax/tools/JavaFileObject;
            ifnonnull 5
            aload 2 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.module_info:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
            ifnonnull 5
         4: .line 188
            aload 0 /* this */
            aload 2 /* msym */
            invokevirtual com.sun.tools.javac.code.ModuleFinder.findModuleInfo:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
        end local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         5: .line 185
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 191
            aload 1 /* list */
            areturn
        end local 1 // com.sun.tools.javac.util.List list
        end local 0 // com.sun.tools.javac.code.ModuleFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/code/ModuleFinder;
            1    7     1  list  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            3    5     2  msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;

  public com.sun.tools.javac.code.Symbol$ModuleSymbol findSingleModule();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.sun.tools.javac.code.ModuleFinder this
         0: .line 196
            aload 0 /* this */
            getstatic javax.tools.StandardLocation.SOURCE_PATH:Ljavax/tools/StandardLocation;
            getstatic javax.tools.JavaFileObject$Kind.SOURCE:Ljavax/tools/JavaFileObject$Kind;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.getModuleInfoFromLocation:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
            astore 1 /* src_fo */
        start local 1 // javax.tools.JavaFileObject src_fo
         1: .line 197
            aload 0 /* this */
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.getModuleInfoFromLocation:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
            astore 2 /* class_fo */
        start local 2 // javax.tools.JavaFileObject class_fo
         2: .line 198
            aload 1 /* src_fo */
            ifnonnull 3
            aload 2 /* class_fo */
            goto 5
         3: .line 199
      StackMap locals: javax.tools.JavaFileObject javax.tools.JavaFileObject
      StackMap stack:
            aload 2 /* class_fo */
            ifnonnull 4
            aload 1 /* src_fo */
            goto 5
         4: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.classFinder:Lcom/sun/tools/javac/code/ClassFinder;
            aload 1 /* src_fo */
            aload 2 /* class_fo */
            invokevirtual com.sun.tools.javac.code.ClassFinder.preferredFileObject:(Ljavax/tools/JavaFileObject;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
         5: .line 198
      StackMap locals:
      StackMap stack: javax.tools.JavaFileObject
            astore 3 /* fo */
        start local 3 // javax.tools.JavaFileObject fo
         6: .line 203
            aload 3 /* fo */
            ifnonnull 9
         7: .line 204
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 4 /* msym */
        start local 4 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         8: .line 205
            goto 10
        end local 4 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         9: .line 206
      StackMap locals: javax.tools.JavaFileObject
      StackMap stack:
            aload 0 /* this */
            aload 3 /* fo */
            invokevirtual com.sun.tools.javac.code.ModuleFinder.readModule:(Ljavax/tools/JavaFileObject;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 4 /* msym */
        start local 4 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        10: .line 209
      StackMap locals: com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack:
            aload 4 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
            ifnonnull 13
        11: .line 210
            aload 4 /* msym */
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
        12: .line 211
            goto 14
        13: .line 212
      StackMap locals:
      StackMap stack:
            aload 4 /* msym */
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchOutputLocation:Ljavax/tools/JavaFileManager$Location;
        14: .line 214
      StackMap locals:
      StackMap stack:
            aload 4 /* msym */
        15: areturn
        end local 4 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 3 // javax.tools.JavaFileObject fo
        end local 2 // javax.tools.JavaFileObject class_fo
        end local 1 // javax.tools.JavaFileObject src_fo
        16: .line 216
      StackMap locals: com.sun.tools.javac.code.ModuleFinder
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
        17: .line 217
            new java.lang.Error
            dup
            aload 1 /* e */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        end local 0 // com.sun.tools.javac.code.ModuleFinder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lcom/sun/tools/javac/code/ModuleFinder;
            1   16     1    src_fo  Ljavax/tools/JavaFileObject;
            2   16     2  class_fo  Ljavax/tools/JavaFileObject;
            6   16     3        fo  Ljavax/tools/JavaFileObject;
            8    9     4      msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           10   16     4      msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           17   18     1         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    15      16  Class java.io.IOException

  private com.sun.tools.javac.code.Symbol$ModuleSymbol readModule(javax.tools.JavaFileObject);
    descriptor: (Ljavax/tools/JavaFileObject;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.code.ModuleFinder this
        start local 1 // javax.tools.JavaFileObject fo
         0: .line 223
            invokestatic com.sun.tools.javac.code.ModuleFinder.$SWITCH_TABLE$javax$tools$JavaFileObject$Kind:()[I
            aload 1 /* fo */
            invokeinterface javax.tools.JavaFileObject.getKind:()Ljavax/tools/JavaFileObject$Kind;
            invokevirtual javax.tools.JavaFileObject$Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 1
                    2: 7
              default: 12
          }
         1: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.moduleNameFromSourceReader:Lcom/sun/tools/javac/code/ModuleFinder$ModuleNameFromSourceReader;
            aload 1 /* fo */
            invokeinterface com.sun.tools.javac.code.ModuleFinder$ModuleNameFromSourceReader.readModuleName:(Ljavax/tools/JavaFileObject;)Lcom/sun/tools/javac/util/Name;
            astore 2 /* name */
        start local 2 // com.sun.tools.javac.util.Name name
         2: .line 226
            aload 2 /* name */
            ifnonnull 14
         3: .line 228
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            ldc "file.does.not.contain.module"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/sun/tools/javac/util/JCDiagnostic;
         4: .line 227
            astore 3 /* diag */
        start local 3 // com.sun.tools.javac.util.JCDiagnostic diag
         5: .line 229
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.module_info:Lcom/sun/tools/javac/util/Name;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.errModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokevirtual com.sun.tools.javac.code.Symtab.defineClass:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            astore 4 /* errModuleInfo */
        start local 4 // com.sun.tools.javac.code.Symbol$ClassSymbol errModuleInfo
         6: .line 230
            new com.sun.tools.javac.code.ClassFinder$BadClassFile
            dup
            aload 4 /* errModuleInfo */
            aload 1 /* fo */
            aload 3 /* diag */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            invokespecial com.sun.tools.javac.code.ClassFinder$BadClassFile.<init>:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Ljavax/tools/JavaFileObject;Lcom/sun/tools/javac/util/JCDiagnostic;Lcom/sun/tools/javac/util/JCDiagnostic$Factory;)V
            athrow
        end local 4 // com.sun.tools.javac.code.Symbol$ClassSymbol errModuleInfo
        end local 3 // com.sun.tools.javac.util.JCDiagnostic diag
        end local 2 // com.sun.tools.javac.util.Name name
         7: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.names:Lcom/sun/tools/javac/util/Names;
            aload 0 /* this */
            aload 1 /* fo */
            invokevirtual com.sun.tools.javac.code.ModuleFinder.readModuleName:(Ljavax/tools/JavaFileObject;)Ljava/lang/String;
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            astore 2 /* name */
        start local 2 // com.sun.tools.javac.util.Name name
         8: .line 236
            goto 14
        end local 2 // com.sun.tools.javac.util.Name name
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: pop
        10: .line 238
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.error:Lcom/sun/tools/javac/util/Name;
            astore 2 /* name */
        start local 2 // com.sun.tools.javac.util.Name name
        11: .line 240
            goto 14
        end local 2 // com.sun.tools.javac.util.Name name
        12: .line 242
      StackMap locals:
      StackMap stack:
            invokestatic com.sun.tools.javac.util.Assert.error:()V
        13: .line 243
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.error:Lcom/sun/tools/javac/util/Name;
            astore 2 /* name */
        start local 2 // com.sun.tools.javac.util.Name name
        14: .line 247
      StackMap locals: com.sun.tools.javac.util.Name
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 2 /* name */
            invokevirtual com.sun.tools.javac.code.Symtab.enterModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 3 /* msym */
        start local 3 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        15: .line 248
            aload 3 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.module_info:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            aload 1 /* fo */
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
        16: .line 249
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.PATCH_MODULE_PATH:Ljavax/tools/StandardLocation;
            invokeinterface javax.tools.JavaFileManager.hasLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            ifeq 24
            aload 2 /* name */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.error:Lcom/sun/tools/javac/util/Name;
            if_acmpeq 24
        17: .line 250
            aload 3 /* msym */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.PATCH_MODULE_PATH:Ljavax/tools/StandardLocation;
            aload 2 /* name */
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
            invokeinterface javax.tools.JavaFileManager.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;)Ljavax/tools/JavaFileManager$Location;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
        18: .line 252
            aload 3 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
            ifnull 24
        19: .line 253
            aload 0 /* this */
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.getModuleInfoFromLocation:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
            astore 4 /* patchFO */
        start local 4 // javax.tools.JavaFileObject patchFO
        20: .line 254
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
            getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.getModuleInfoFromLocation:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
            aload 4 /* patchFO */
            invokevirtual com.sun.tools.javac.code.ModuleFinder.preferredFileObject:(Ljavax/tools/JavaFileObject;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            astore 4 /* patchFO */
        21: .line 255
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
            getstatic javax.tools.JavaFileObject$Kind.SOURCE:Ljavax/tools/JavaFileObject$Kind;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.getModuleInfoFromLocation:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
            aload 4 /* patchFO */
            invokevirtual com.sun.tools.javac.code.ModuleFinder.preferredFileObject:(Ljavax/tools/JavaFileObject;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            astore 4 /* patchFO */
        22: .line 257
            aload 4 /* patchFO */
            ifnull 24
        23: .line 258
            aload 3 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.module_info:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            aload 4 /* patchFO */
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
        end local 4 // javax.tools.JavaFileObject patchFO
        24: .line 263
      StackMap locals: com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack:
            aload 3 /* msym */
            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.completer:Lcom/sun/tools/javac/code/Symbol$Completer;
        25: .line 264
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.classFinder:Lcom/sun/tools/javac/code/ClassFinder;
            aload 3 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.module_info:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            invokevirtual com.sun.tools.javac.code.ClassFinder.fillIn:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)V
        26: .line 266
            aload 3 /* msym */
            areturn
        end local 3 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 2 // com.sun.tools.javac.util.Name name
        end local 1 // javax.tools.JavaFileObject fo
        end local 0 // com.sun.tools.javac.code.ModuleFinder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0           this  Lcom/sun/tools/javac/code/ModuleFinder;
            0   27     1             fo  Ljavax/tools/JavaFileObject;
            2    7     2           name  Lcom/sun/tools/javac/util/Name;
            8    9     2           name  Lcom/sun/tools/javac/util/Name;
           11   12     2           name  Lcom/sun/tools/javac/util/Name;
           14   27     2           name  Lcom/sun/tools/javac/util/Name;
            5    7     3           diag  Lcom/sun/tools/javac/util/JCDiagnostic;
            6    7     4  errModuleInfo  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
           15   27     3           msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           20   24     4        patchFO  Ljavax/tools/JavaFileObject;
      Exception table:
        from    to  target  type
           7     8       9  Class com.sun.tools.javac.jvm.ModuleNameReader$BadClassFile
           7     8       9  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fo    

  private java.lang.String readModuleName(javax.tools.JavaFileObject);
    descriptor: (Ljavax/tools/JavaFileObject;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.ModuleFinder this
        start local 1 // javax.tools.JavaFileObject jfo
         0: .line 270
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.moduleNameReader:Lcom/sun/tools/javac/jvm/ModuleNameReader;
            ifnonnull 2
         1: .line 271
            aload 0 /* this */
            new com.sun.tools.javac.jvm.ModuleNameReader
            dup
            invokespecial com.sun.tools.javac.jvm.ModuleNameReader.<init>:()V
            putfield com.sun.tools.javac.code.ModuleFinder.moduleNameReader:Lcom/sun/tools/javac/jvm/ModuleNameReader;
         2: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.moduleNameReader:Lcom/sun/tools/javac/jvm/ModuleNameReader;
            aload 1 /* jfo */
            invokevirtual com.sun.tools.javac.jvm.ModuleNameReader.readModuleName:(Ljavax/tools/JavaFileObject;)Ljava/lang/String;
            areturn
        end local 1 // javax.tools.JavaFileObject jfo
        end local 0 // com.sun.tools.javac.code.ModuleFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/code/ModuleFinder;
            0    3     1   jfo  Ljavax/tools/JavaFileObject;
    Exceptions:
      throws java.io.IOException, com.sun.tools.javac.jvm.ModuleNameReader$BadClassFile
    MethodParameters:
      Name  Flags
      jfo   

  private javax.tools.JavaFileObject getModuleInfoFromLocation(javax.tools.JavaFileManager$Location, javax.tools.JavaFileObject$Kind);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.ModuleFinder this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // javax.tools.JavaFileObject$Kind kind
         0: .line 276
            aload 1 /* location */
            ifnull 1
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.fileManager:Ljavax/tools/JavaFileManager;
            aload 1 /* location */
            invokeinterface javax.tools.JavaFileManager.hasLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            ifne 2
         1: .line 277
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.fileManager:Ljavax/tools/JavaFileManager;
            aload 1 /* location */
         3: .line 280
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.module_info:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
         4: .line 281
            aload 2 /* kind */
         5: .line 279
            invokeinterface javax.tools.JavaFileManager.getJavaFileForInput:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
            areturn
        end local 2 // javax.tools.JavaFileObject$Kind kind
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.code.ModuleFinder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/sun/tools/javac/code/ModuleFinder;
            0    6     1  location  Ljavax/tools/JavaFileManager$Location;
            0    6     2      kind  Ljavax/tools/JavaFileObject$Kind;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      location  
      kind      

  private com.sun.tools.javac.util.List<com.sun.tools.javac.code.Symbol$ModuleSymbol> scanModulePath(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Lcom/sun/tools/javac/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // com.sun.tools.javac.code.ModuleFinder this
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol toFind
         0: .line 285
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 2 /* results */
        start local 2 // com.sun.tools.javac.util.ListBuffer results
         1: .line 286
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* namesInSet */
        start local 3 // java.util.Map namesInSet
         2: .line 287
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.MODULE_SOURCE_PATH:Ljavax/tools/StandardLocation;
            invokeinterface javax.tools.JavaFileManager.hasLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            istore 4 /* multiModuleMode */
        start local 4 // boolean multiModuleMode
         3: .line 288
            goto 53
         4: .line 289
      StackMap locals: com.sun.tools.javac.util.ListBuffer java.util.Map int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.moduleLocationIterator:Lcom/sun/tools/javac/code/ModuleFinder$ModuleLocationIterator;
            invokevirtual com.sun.tools.javac.code.ModuleFinder$ModuleLocationIterator.next:()Ljava/util/Set;
            astore 5 /* locns */
        start local 5 // java.util.Set locns
         5: .line 290
            aload 3 /* namesInSet */
            invokeinterface java.util.Map.clear:()V
         6: .line 291
            aload 5 /* locns */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 50
      StackMap locals: com.sun.tools.javac.code.ModuleFinder com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.ListBuffer java.util.Map int java.util.Set top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.tools.JavaFileManager$Location
            astore 6 /* l */
        start local 6 // javax.tools.JavaFileManager$Location l
         8: .line 293
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.names:Lcom/sun/tools/javac/util/Names;
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.fileManager:Ljavax/tools/JavaFileManager;
            aload 6 /* l */
            invokeinterface javax.tools.JavaFileManager.inferModuleName:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/String;
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            astore 8 /* n */
        start local 8 // com.sun.tools.javac.util.Name n
         9: .line 294
            aload 3 /* namesInSet */
            aload 8 /* n */
            aload 6 /* l */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 45
        10: .line 295
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 8 /* n */
            invokevirtual com.sun.tools.javac.code.Symtab.enterModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 9 /* msym */
        start local 9 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        11: .line 296
            aload 9 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
            ifnonnull 50
            aload 9 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
            ifnull 13
        12: .line 298
            goto 50
        13: .line 300
      StackMap locals: com.sun.tools.javac.code.ModuleFinder com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.ListBuffer java.util.Map int java.util.Set javax.tools.JavaFileManager$Location java.util.Iterator com.sun.tools.javac.util.Name com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.PATCH_MODULE_PATH:Ljavax/tools/StandardLocation;
            invokeinterface javax.tools.JavaFileManager.hasLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            ifeq 28
        14: .line 301
            aload 9 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
            ifnonnull 28
        15: .line 302
            aload 9 /* msym */
        16: .line 303
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.PATCH_MODULE_PATH:Ljavax/tools/StandardLocation;
        17: .line 304
            aload 9 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
        18: .line 303
            invokeinterface javax.tools.JavaFileManager.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;)Ljavax/tools/JavaFileManager$Location;
        19: .line 302
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
        20: .line 305
            aload 9 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
            ifnull 28
        21: .line 306
            iload 4 /* multiModuleMode */
            ifeq 28
        22: .line 307
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            invokeinterface javax.tools.JavaFileManager.hasLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            ifeq 28
        23: .line 308
            aload 9 /* msym */
        24: .line 309
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
        25: .line 310
            aload 9 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
        26: .line 309
            invokeinterface javax.tools.JavaFileManager.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;)Ljavax/tools/JavaFileManager$Location;
        27: .line 308
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchOutputLocation:Ljavax/tools/JavaFileManager$Location;
        28: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.moduleLocationIterator:Lcom/sun/tools/javac/code/ModuleFinder$ModuleLocationIterator;
            getfield com.sun.tools.javac.code.ModuleFinder$ModuleLocationIterator.outer:Ljavax/tools/StandardLocation;
            getstatic javax.tools.StandardLocation.MODULE_SOURCE_PATH:Ljavax/tools/StandardLocation;
            if_acmpne 37
        29: .line 314
            aload 9 /* msym */
            aload 6 /* l */
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
        30: .line 315
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            invokeinterface javax.tools.JavaFileManager.hasLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            ifeq 38
        31: .line 316
            aload 9 /* msym */
        32: .line 317
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
        33: .line 318
            aload 9 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
        34: .line 317
            invokeinterface javax.tools.JavaFileManager.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;)Ljavax/tools/JavaFileManager$Location;
        35: .line 316
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
        36: .line 320
            goto 38
        37: .line 321
      StackMap locals:
      StackMap stack:
            aload 9 /* msym */
            aload 6 /* l */
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
        38: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.moduleLocationIterator:Lcom/sun/tools/javac/code/ModuleFinder$ModuleLocationIterator;
            getfield com.sun.tools.javac.code.ModuleFinder$ModuleLocationIterator.outer:Ljavax/tools/StandardLocation;
            getstatic javax.tools.StandardLocation.SYSTEM_MODULES:Ljavax/tools/StandardLocation;
            if_acmpeq 40
        39: .line 324
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.moduleLocationIterator:Lcom/sun/tools/javac/code/ModuleFinder$ModuleLocationIterator;
            getfield com.sun.tools.javac.code.ModuleFinder$ModuleLocationIterator.outer:Ljavax/tools/StandardLocation;
            getstatic javax.tools.StandardLocation.UPGRADE_MODULE_PATH:Ljavax/tools/StandardLocation;
            if_acmpne 41
        40: .line 325
      StackMap locals:
      StackMap stack:
            aload 9 /* msym */
            dup
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags_field:J
            ldc 9007199254740992
            lor
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags_field:J
        41: .line 327
      StackMap locals:
      StackMap stack:
            aload 1 /* toFind */
            ifnull 43
        42: .line 328
            aload 1 /* toFind */
            aload 9 /* msym */
            if_acmpne 50
            aload 9 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
            ifnonnull 43
            aload 9 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
            ifnull 50
        43: .line 331
      StackMap locals:
      StackMap stack:
            aload 2 /* results */
            aload 9 /* msym */
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        44: .line 333
            goto 50
        45: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.log:Lcom/sun/tools/javac/util/Log;
        46: .line 335
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.moduleLocationIterator:Lcom/sun/tools/javac/code/ModuleFinder$ModuleLocationIterator;
            getfield com.sun.tools.javac.code.ModuleFinder$ModuleLocationIterator.outer:Ljavax/tools/StandardLocation;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.getDescription:(Ljavax/tools/StandardLocation;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            aload 8 /* n */
        47: .line 334
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.DuplicateModuleOnPath:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        end local 8 // com.sun.tools.javac.util.Name n
        48: .line 337
            goto 50
      StackMap locals: com.sun.tools.javac.code.ModuleFinder com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.ListBuffer java.util.Map int java.util.Set javax.tools.JavaFileManager$Location java.util.Iterator
      StackMap stack: java.io.IOException
        49: pop
        end local 6 // javax.tools.JavaFileManager$Location l
        50: .line 291
      StackMap locals: com.sun.tools.javac.code.ModuleFinder com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.ListBuffer java.util.Map int java.util.Set top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        51: .line 341
            aload 1 /* toFind */
            ifnull 53
            aload 2 /* results */
            invokevirtual com.sun.tools.javac.util.ListBuffer.nonEmpty:()Z
            ifeq 53
        52: .line 342
            aload 2 /* results */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 5 // java.util.Set locns
        53: .line 288
      StackMap locals: com.sun.tools.javac.code.ModuleFinder com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.ListBuffer java.util.Map int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.moduleLocationIterator:Lcom/sun/tools/javac/code/ModuleFinder$ModuleLocationIterator;
            invokevirtual com.sun.tools.javac.code.ModuleFinder$ModuleLocationIterator.hasNext:()Z
            ifne 4
        54: .line 345
            aload 2 /* results */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 4 // boolean multiModuleMode
        end local 3 // java.util.Map namesInSet
        end local 2 // com.sun.tools.javac.util.ListBuffer results
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol toFind
        end local 0 // com.sun.tools.javac.code.ModuleFinder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   55     0             this  Lcom/sun/tools/javac/code/ModuleFinder;
            0   55     1           toFind  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            1   55     2          results  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            2   55     3       namesInSet  Ljava/util/Map<Lcom/sun/tools/javac/util/Name;Ljavax/tools/JavaFileManager$Location;>;
            3   55     4  multiModuleMode  Z
            5   53     5            locns  Ljava/util/Set<Ljavax/tools/JavaFileManager$Location;>;
            8   50     6                l  Ljavax/tools/JavaFileManager$Location;
            9   48     8                n  Lcom/sun/tools/javac/util/Name;
           11   44     9             msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
      Exception table:
        from    to  target  type
           8    12      49  Class java.io.IOException
          13    48      49  Class java.io.IOException
    Signature: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
    MethodParameters:
        Name  Flags
      toFind  

  private void findModuleInfo(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.code.ModuleFinder this
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         0: .line 352
            aload 0 /* this */
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchOutputLocation:Ljavax/tools/JavaFileManager$Location;
            getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.getModuleInfoFromLocation:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
            astore 2 /* fo */
        start local 2 // javax.tools.JavaFileObject fo
         1: .line 353
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
            getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.getModuleInfoFromLocation:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
            aload 2 /* fo */
            invokevirtual com.sun.tools.javac.code.ModuleFinder.preferredFileObject:(Ljavax/tools/JavaFileObject;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            astore 2 /* fo */
         2: .line 354
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
            getstatic javax.tools.JavaFileObject$Kind.SOURCE:Ljavax/tools/JavaFileObject$Kind;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.getModuleInfoFromLocation:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
            aload 2 /* fo */
            invokevirtual com.sun.tools.javac.code.ModuleFinder.preferredFileObject:(Ljavax/tools/JavaFileObject;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            astore 2 /* fo */
         3: .line 356
            aload 2 /* fo */
            ifnonnull 6
         4: .line 357
            aload 0 /* this */
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
            getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.getModuleInfoFromLocation:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
            astore 2 /* fo */
         5: .line 358
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
            getstatic javax.tools.JavaFileObject$Kind.SOURCE:Ljavax/tools/JavaFileObject$Kind;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.getModuleInfoFromLocation:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
            aload 2 /* fo */
            invokevirtual com.sun.tools.javac.code.ModuleFinder.preferredFileObject:(Ljavax/tools/JavaFileObject;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            astore 2 /* fo */
         6: .line 361
      StackMap locals: javax.tools.JavaFileObject
      StackMap stack:
            aload 2 /* fo */
            ifnonnull 17
         7: .line 362
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
            ifnonnull 9
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
            ifnull 9
         8: .line 363
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.fileManager:Ljavax/tools/JavaFileManager;
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
            invokeinterface javax.tools.JavaFileManager.inferModuleName:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/String;
            goto 10
      StackMap locals:
      StackMap stack:
         9: aconst_null
        10: .line 362
      StackMap locals:
      StackMap stack: java.lang.String
            astore 3 /* moduleName */
        start local 3 // java.lang.String moduleName
        11: .line 364
            aload 3 /* moduleName */
            ifnull 15
        12: .line 365
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.module_info:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            aconst_null
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
        13: .line 366
            aload 1 /* msym */
            dup
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags_field:J
            ldc 4503599627370496
            lor
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags_field:J
        14: .line 367
            goto 22
        15: .line 368
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* msym */
            getstatic com.sun.tools.javac.code.Kinds$Kind.ERR:Lcom/sun/tools/javac/code/Kinds$Kind;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
        end local 3 // java.lang.String moduleName
        16: .line 370
            goto 22
        17: .line 371
      StackMap locals:
      StackMap stack:
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.module_info:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            aload 2 /* fo */
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
        18: .line 372
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.module_info:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            new com.sun.tools.javac.code.ModuleFinder$1
            dup
            aload 0 /* this */
            aload 1 /* msym */
            invokespecial com.sun.tools.javac.code.ModuleFinder$1.<init>:(Lcom/sun/tools/javac/code/ModuleFinder;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.completer:Lcom/sun/tools/javac/code/Symbol$Completer;
        end local 2 // javax.tools.JavaFileObject fo
        19: .line 383
            goto 22
      StackMap locals: com.sun.tools.javac.code.ModuleFinder com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack: java.io.IOException
        20: pop
        21: .line 384
            aload 1 /* msym */
            getstatic com.sun.tools.javac.code.Kinds$Kind.ERR:Lcom/sun/tools/javac/code/Kinds$Kind;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
        22: .line 386
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 0 // com.sun.tools.javac.code.ModuleFinder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lcom/sun/tools/javac/code/ModuleFinder;
            0   23     1        msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            1   19     2          fo  Ljavax/tools/JavaFileObject;
           11   16     3  moduleName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0    19      20  Class java.io.IOException
    MethodParameters:
      Name  Flags
      msym  

  private javax.tools.JavaFileObject preferredFileObject(javax.tools.JavaFileObject, javax.tools.JavaFileObject);
    descriptor: (Ljavax/tools/JavaFileObject;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.ModuleFinder this
        start local 1 // javax.tools.JavaFileObject fo1
        start local 2 // javax.tools.JavaFileObject fo2
         0: .line 389
            aload 1 /* fo1 */
            ifnonnull 1
            aload 2 /* fo2 */
            areturn
         1: .line 390
      StackMap locals:
      StackMap stack:
            aload 2 /* fo2 */
            ifnonnull 2
            aload 1 /* fo1 */
            areturn
         2: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.ModuleFinder.classFinder:Lcom/sun/tools/javac/code/ClassFinder;
            aload 1 /* fo1 */
            aload 2 /* fo2 */
            invokevirtual com.sun.tools.javac.code.ClassFinder.preferredFileObject:(Ljavax/tools/JavaFileObject;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            areturn
        end local 2 // javax.tools.JavaFileObject fo2
        end local 1 // javax.tools.JavaFileObject fo1
        end local 0 // com.sun.tools.javac.code.ModuleFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/code/ModuleFinder;
            0    3     1   fo1  Ljavax/tools/JavaFileObject;
            0    3     2   fo2  Ljavax/tools/JavaFileObject;
    MethodParameters:
      Name  Flags
      fo1   
      fo2   

  com.sun.tools.javac.util.JCDiagnostic$Fragment getDescription(javax.tools.StandardLocation);
    descriptor: (Ljavax/tools/StandardLocation;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.ModuleFinder this
        start local 1 // javax.tools.StandardLocation l
         0: .line 395
            invokestatic com.sun.tools.javac.code.ModuleFinder.$SWITCH_TABLE$javax$tools$StandardLocation:()[I
            aload 1 /* l */
            invokevirtual javax.tools.StandardLocation.ordinal:()I
            iaload
            tableswitch { // 9 - 12
                    9: 2
                   10: 4
                   11: 3
                   12: 1
              default: 5
          }
         1: .line 396
      StackMap locals:
      StackMap stack:
            getstatic com.sun.tools.javac.resources.CompilerProperties$Fragments.LocnModule_path:Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            areturn
         2: .line 397
      StackMap locals:
      StackMap stack:
            getstatic com.sun.tools.javac.resources.CompilerProperties$Fragments.LocnModule_source_path:Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            areturn
         3: .line 398
      StackMap locals:
      StackMap stack:
            getstatic com.sun.tools.javac.resources.CompilerProperties$Fragments.LocnSystem_modules:Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            areturn
         4: .line 399
      StackMap locals:
      StackMap stack:
            getstatic com.sun.tools.javac.resources.CompilerProperties$Fragments.LocnUpgrade_module_path:Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            areturn
         5: .line 401
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 1 // javax.tools.StandardLocation l
        end local 0 // com.sun.tools.javac.code.ModuleFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/code/ModuleFinder;
            0    6     1     l  Ljavax/tools/StandardLocation;
    MethodParameters:
      Name  Flags
      l     

  static int[] $SWITCH_TABLE$javax$tools$JavaFileObject$Kind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 71
            getstatic com.sun.tools.javac.code.ModuleFinder.$SWITCH_TABLE$javax$tools$JavaFileObject$Kind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic javax.tools.JavaFileObject$Kind.values:()[Ljavax/tools/JavaFileObject$Kind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
            invokevirtual javax.tools.JavaFileObject$Kind.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic javax.tools.JavaFileObject$Kind.HTML:Ljavax/tools/JavaFileObject$Kind;
            invokevirtual javax.tools.JavaFileObject$Kind.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic javax.tools.JavaFileObject$Kind.OTHER:Ljavax/tools/JavaFileObject$Kind;
            invokevirtual javax.tools.JavaFileObject$Kind.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic javax.tools.JavaFileObject$Kind.SOURCE:Ljavax/tools/JavaFileObject$Kind;
            invokevirtual javax.tools.JavaFileObject$Kind.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic com.sun.tools.javac.code.ModuleFinder.$SWITCH_TABLE$javax$tools$JavaFileObject$Kind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$javax$tools$StandardLocation();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 71
            getstatic com.sun.tools.javac.code.ModuleFinder.$SWITCH_TABLE$javax$tools$StandardLocation:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic javax.tools.StandardLocation.values:()[Ljavax/tools/StandardLocation;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic javax.tools.StandardLocation.ANNOTATION_PROCESSOR_MODULE_PATH:Ljavax/tools/StandardLocation;
            invokevirtual javax.tools.StandardLocation.ordinal:()I
            bipush 6
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic javax.tools.StandardLocation.ANNOTATION_PROCESSOR_PATH:Ljavax/tools/StandardLocation;
            invokevirtual javax.tools.StandardLocation.ordinal:()I
            iconst_5
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            invokevirtual javax.tools.StandardLocation.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic javax.tools.StandardLocation.CLASS_PATH:Ljavax/tools/StandardLocation;
            invokevirtual javax.tools.StandardLocation.ordinal:()I
            iconst_3
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic javax.tools.StandardLocation.MODULE_PATH:Ljavax/tools/StandardLocation;
            invokevirtual javax.tools.StandardLocation.ordinal:()I
            bipush 12
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic javax.tools.StandardLocation.MODULE_SOURCE_PATH:Ljavax/tools/StandardLocation;
            invokevirtual javax.tools.StandardLocation.ordinal:()I
            bipush 9
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic javax.tools.StandardLocation.NATIVE_HEADER_OUTPUT:Ljavax/tools/StandardLocation;
            invokevirtual javax.tools.StandardLocation.ordinal:()I
            bipush 8
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic javax.tools.StandardLocation.PATCH_MODULE_PATH:Ljavax/tools/StandardLocation;
            invokevirtual javax.tools.StandardLocation.ordinal:()I
            bipush 13
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic javax.tools.StandardLocation.PLATFORM_CLASS_PATH:Ljavax/tools/StandardLocation;
            invokevirtual javax.tools.StandardLocation.ordinal:()I
            bipush 7
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic javax.tools.StandardLocation.SOURCE_OUTPUT:Ljavax/tools/StandardLocation;
            invokevirtual javax.tools.StandardLocation.ordinal:()I
            iconst_2
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic javax.tools.StandardLocation.SOURCE_PATH:Ljavax/tools/StandardLocation;
            invokevirtual javax.tools.StandardLocation.ordinal:()I
            iconst_4
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic javax.tools.StandardLocation.SYSTEM_MODULES:Ljavax/tools/StandardLocation;
            invokevirtual javax.tools.StandardLocation.ordinal:()I
            bipush 11
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic javax.tools.StandardLocation.UPGRADE_MODULE_PATH:Ljavax/tools/StandardLocation;
            invokevirtual javax.tools.StandardLocation.ordinal:()I
            bipush 10
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            dup
            putstatic com.sun.tools.javac.code.ModuleFinder.$SWITCH_TABLE$javax$tools$StandardLocation:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
}
SourceFile: "ModuleFinder.java"
NestMembers:
  com.sun.tools.javac.code.ModuleFinder$1  com.sun.tools.javac.code.ModuleFinder$ModuleLocationIterator  com.sun.tools.javac.code.ModuleFinder$ModuleNameFromSourceReader
InnerClasses:
  public BadClassFile = com.sun.tools.javac.code.ClassFinder$BadClassFile of com.sun.tools.javac.code.ClassFinder
  public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
  com.sun.tools.javac.code.ModuleFinder$1
  ModuleLocationIterator = com.sun.tools.javac.code.ModuleFinder$ModuleLocationIterator of com.sun.tools.javac.code.ModuleFinder
  public abstract ModuleNameFromSourceReader = com.sun.tools.javac.code.ModuleFinder$ModuleNameFromSourceReader of com.sun.tools.javac.code.ModuleFinder
  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 ModuleSymbol = com.sun.tools.javac.code.Symbol$ModuleSymbol 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 BadClassFile = com.sun.tools.javac.jvm.ModuleNameReader$BadClassFile of com.sun.tools.javac.jvm.ModuleNameReader
  public Errors = com.sun.tools.javac.resources.CompilerProperties$Errors of com.sun.tools.javac.resources.CompilerProperties
  public Fragments = com.sun.tools.javac.resources.CompilerProperties$Fragments of com.sun.tools.javac.resources.CompilerProperties
  public Key = com.sun.tools.javac.util.Context$Key of com.sun.tools.javac.util.Context
  public final Error = com.sun.tools.javac.util.JCDiagnostic$Error of com.sun.tools.javac.util.JCDiagnostic
  public Factory = com.sun.tools.javac.util.JCDiagnostic$Factory of com.sun.tools.javac.util.JCDiagnostic
  public final Fragment = com.sun.tools.javac.util.JCDiagnostic$Fragment of com.sun.tools.javac.util.JCDiagnostic
  public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager
  public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject