public class com.sun.tools.javac.comp.Modules extends com.sun.tools.javac.tree.JCTree$Visitor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.comp.Modules
  super_class: com.sun.tools.javac.tree.JCTree$Visitor
{
  private static final java.lang.String ALL_SYSTEM;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ALL-SYSTEM"

  private static final java.lang.String ALL_MODULE_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ALL-MODULE-PATH"

  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.util.Names names;
    descriptor: Lcom/sun/tools/javac/util/Names;
    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.comp.Attr attr;
    descriptor: Lcom/sun/tools/javac/comp/Attr;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.comp.Check chk;
    descriptor: Lcom/sun/tools/javac/comp/Check;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final com.sun.tools.javac.comp.TypeEnvs typeEnvs;
    descriptor: Lcom/sun/tools/javac/comp/TypeEnvs;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.code.Types types;
    descriptor: Lcom/sun/tools/javac/code/Types;
    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.code.ModuleFinder moduleFinder;
    descriptor: Lcom/sun/tools/javac/code/ModuleFinder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final boolean allowModules;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean allowAccessIntoSystem;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public final boolean multiModuleMode;
    descriptor: Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

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

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

  com.sun.tools.javac.code.Symbol$ModuleSymbol defaultModule;
    descriptor: Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    flags: (0x0000) 

  private final java.lang.String addExportsOpt;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.Map<com.sun.tools.javac.code.Symbol$ModuleSymbol, java.util.Set<com.sun.tools.javac.code.Directive$ExportsDirective>> addExports;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Set<Lcom/sun/tools/javac/code/Directive$ExportsDirective;>;>;

  private final java.lang.String addReadsOpt;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.Map<com.sun.tools.javac.code.Symbol$ModuleSymbol, java.util.Set<com.sun.tools.javac.code.Directive$RequiresDirective>> addReads;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Set<Lcom/sun/tools/javac/code/Directive$RequiresDirective;>;>;

  private final java.lang.String addModsOpt;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Set<java.lang.String> extraAddMods;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private final java.lang.String limitModsOpt;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Set<java.lang.String> extraLimitMods;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private final java.lang.String moduleVersionOpt;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean lintOptions;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol> rootModules;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;

  private final java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol> warnedMissing;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;

  public com.sun.tools.javac.comp.Modules$PackageNameFinder findPackageInFile;
    descriptor: Lcom/sun/tools/javac/comp/Modules$PackageNameFinder;
    flags: (0x0001) ACC_PUBLIC

  private static final java.lang.String XMODULES_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "-Xmodule:"

  int depth;
    descriptor: I
    flags: (0x0000) 

  boolean inInitModules;
    descriptor: Z
    flags: (0x0000) 

  private final com.sun.tools.javac.code.Symbol$Completer mainCompleter;
    descriptor: Lcom/sun/tools/javac/code/Symbol$Completer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol> allModules;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;

  private static final java.util.function.Predicate<com.sun.tools.javac.code.Symbol$ModuleSymbol> IS_AUTOMATIC;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Predicate<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;

  private final java.util.Map<com.sun.tools.javac.code.Symbol$ModuleSymbol, java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol>> requiresTransitiveCache;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1329
            invokedynamic test()Ljava/util/function/Predicate;
              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/comp/Modules.lambda$0(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z (6)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
         1: .line 1328
            putstatic com.sun.tools.javac.comp.Modules.IS_AUTOMATIC:Ljava/util/function/Predicate;
         2: .line 1329
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.sun.tools.javac.comp.Modules instance(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Modules;
    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 172
            aload 0 /* context */
            ldc Lcom/sun/tools/javac/comp/Modules;
            invokevirtual com.sun.tools.javac.util.Context.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.Modules
            astore 1 /* instance */
        start local 1 // com.sun.tools.javac.comp.Modules instance
         1: .line 173
            aload 1 /* instance */
            ifnonnull 3
         2: .line 174
            new com.sun.tools.javac.comp.Modules
            dup
            aload 0 /* context */
            invokespecial com.sun.tools.javac.comp.Modules.<init>:(Lcom/sun/tools/javac/util/Context;)V
            astore 1 /* instance */
         3: .line 175
      StackMap locals: com.sun.tools.javac.comp.Modules
      StackMap stack:
            aload 1 /* instance */
            areturn
        end local 1 // com.sun.tools.javac.comp.Modules 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/comp/Modules;
    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=6, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.util.Context context
         0: .line 178
            aload 0 /* this */
            invokespecial com.sun.tools.javac.tree.JCTree$Visitor.<init>:()V
         1: .line 159
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield com.sun.tools.javac.comp.Modules.extraAddMods:Ljava/util/Set;
         2: .line 161
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield com.sun.tools.javac.comp.Modules.extraLimitMods:Ljava/util/Set;
         3: .line 166
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
         4: .line 167
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield com.sun.tools.javac.comp.Modules.warnedMissing:Ljava/util/Set;
         5: .line 215
            aload 0 /* this */
            iconst_m1
            putfield com.sun.tools.javac.comp.Modules.depth:I
         6: .line 625
            aload 0 /* this */
            new com.sun.tools.javac.comp.Modules$1
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.Modules$1.<init>:(Lcom/sun/tools/javac/comp/Modules;)V
            putfield com.sun.tools.javac.comp.Modules.mainCompleter:Lcom/sun/tools/javac/code/Symbol$Completer;
         7: .line 1420
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.javac.comp.Modules.requiresTransitiveCache:Ljava/util/Map;
         8: .line 179
            aload 1 /* context */
            ldc Lcom/sun/tools/javac/comp/Modules;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Context.put:(Ljava/lang/Class;Ljava/lang/Object;)V
         9: .line 180
            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.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
        10: .line 181
            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.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
        11: .line 182
            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.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
        12: .line 183
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.comp.Attr.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Attr;
            putfield com.sun.tools.javac.comp.Modules.attr:Lcom/sun/tools/javac/comp/Attr;
        13: .line 184
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.comp.Check.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Check;
            putfield com.sun.tools.javac.comp.Modules.chk:Lcom/sun/tools/javac/comp/Check;
        14: .line 185
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.DeferredLintHandler.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/DeferredLintHandler;
            putfield com.sun.tools.javac.comp.Modules.deferredLintHandler:Lcom/sun/tools/javac/code/DeferredLintHandler;
        15: .line 186
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.comp.TypeEnvs.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/TypeEnvs;
            putfield com.sun.tools.javac.comp.Modules.typeEnvs:Lcom/sun/tools/javac/comp/TypeEnvs;
        16: .line 187
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.ModuleFinder.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/ModuleFinder;
            putfield com.sun.tools.javac.comp.Modules.moduleFinder:Lcom/sun/tools/javac/code/ModuleFinder;
        17: .line 188
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.Types.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Types;
            putfield com.sun.tools.javac.comp.Modules.types:Lcom/sun/tools/javac/code/Types;
        18: .line 189
            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.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
        19: .line 190
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.Source.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Source;
            putfield com.sun.tools.javac.comp.Modules.source:Lcom/sun/tools/javac/code/Source;
        20: .line 191
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.source:Lcom/sun/tools/javac/code/Source;
            invokevirtual com.sun.tools.javac.code.Source.allowModules:()Z
            putfield com.sun.tools.javac.comp.Modules.allowModules:Z
        21: .line 192
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.Options.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Options;
            astore 2 /* options */
        start local 2 // com.sun.tools.javac.util.Options options
        22: .line 194
            aload 0 /* this */
            aload 2 /* options */
            getstatic com.sun.tools.javac.main.Option.RELEASE:Lcom/sun/tools/javac/main/Option;
            invokevirtual com.sun.tools.javac.util.Options.isUnset:(Lcom/sun/tools/javac/main/Option;)Z
            putfield com.sun.tools.javac.comp.Modules.allowAccessIntoSystem:Z
        23: .line 195
            aload 0 /* this */
            aload 2 /* options */
            getstatic com.sun.tools.javac.main.Option.XLINT_CUSTOM:Lcom/sun/tools/javac/main/Option;
            new java.lang.StringBuilder
            dup
            ldc "-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.sun.tools.javac.code.Lint$LintCategory.OPTIONS:Lcom/sun/tools/javac/code/Lint$LintCategory;
            getfield com.sun.tools.javac.code.Lint$LintCategory.option:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.javac.util.Options.isUnset:(Lcom/sun/tools/javac/main/Option;Ljava/lang/String;)Z
            putfield com.sun.tools.javac.comp.Modules.lintOptions:Z
        24: .line 197
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.MODULE_SOURCE_PATH:Ljavax/tools/StandardLocation;
            invokeinterface javax.tools.JavaFileManager.hasLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            putfield com.sun.tools.javac.comp.Modules.multiModuleMode:Z
        25: .line 198
            aload 1 /* context */
            invokestatic com.sun.tools.javac.jvm.ClassWriter.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/jvm/ClassWriter;
            astore 3 /* classWriter */
        start local 3 // com.sun.tools.javac.jvm.ClassWriter classWriter
        26: .line 199
            aload 3 /* classWriter */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.multiModuleMode:Z
            putfield com.sun.tools.javac.jvm.ClassWriter.multiModuleMode:Z
        27: .line 200
            aload 1 /* context */
            invokestatic com.sun.tools.javac.jvm.JNIWriter.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/jvm/JNIWriter;
            astore 4 /* jniWriter */
        start local 4 // com.sun.tools.javac.jvm.JNIWriter jniWriter
        28: .line 201
            aload 4 /* jniWriter */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.multiModuleMode:Z
            putfield com.sun.tools.javac.jvm.JNIWriter.multiModuleMode:Z
        29: .line 203
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            ldc "java.se"
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            putfield com.sun.tools.javac.comp.Modules.java_se:Lcom/sun/tools/javac/util/Name;
        30: .line 204
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            ldc "java."
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            putfield com.sun.tools.javac.comp.Modules.java_:Lcom/sun/tools/javac/util/Name;
        31: .line 206
            aload 0 /* this */
            aload 2 /* options */
            getstatic com.sun.tools.javac.main.Option.ADD_EXPORTS:Lcom/sun/tools/javac/main/Option;
            invokevirtual com.sun.tools.javac.util.Options.get:(Lcom/sun/tools/javac/main/Option;)Ljava/lang/String;
            putfield com.sun.tools.javac.comp.Modules.addExportsOpt:Ljava/lang/String;
        32: .line 207
            aload 0 /* this */
            aload 2 /* options */
            getstatic com.sun.tools.javac.main.Option.ADD_READS:Lcom/sun/tools/javac/main/Option;
            invokevirtual com.sun.tools.javac.util.Options.get:(Lcom/sun/tools/javac/main/Option;)Ljava/lang/String;
            putfield com.sun.tools.javac.comp.Modules.addReadsOpt:Ljava/lang/String;
        33: .line 208
            aload 0 /* this */
            aload 2 /* options */
            getstatic com.sun.tools.javac.main.Option.ADD_MODULES:Lcom/sun/tools/javac/main/Option;
            invokevirtual com.sun.tools.javac.util.Options.get:(Lcom/sun/tools/javac/main/Option;)Ljava/lang/String;
            putfield com.sun.tools.javac.comp.Modules.addModsOpt:Ljava/lang/String;
        34: .line 209
            aload 0 /* this */
            aload 2 /* options */
            getstatic com.sun.tools.javac.main.Option.LIMIT_MODULES:Lcom/sun/tools/javac/main/Option;
            invokevirtual com.sun.tools.javac.util.Options.get:(Lcom/sun/tools/javac/main/Option;)Ljava/lang/String;
            putfield com.sun.tools.javac.comp.Modules.limitModsOpt:Ljava/lang/String;
        35: .line 210
            aload 0 /* this */
            aload 2 /* options */
            getstatic com.sun.tools.javac.main.Option.MODULE_VERSION:Lcom/sun/tools/javac/main/Option;
            invokevirtual com.sun.tools.javac.util.Options.get:(Lcom/sun/tools/javac/main/Option;)Ljava/lang/String;
            putfield com.sun.tools.javac.comp.Modules.moduleVersionOpt:Ljava/lang/String;
        36: .line 211
            return
        end local 4 // com.sun.tools.javac.jvm.JNIWriter jniWriter
        end local 3 // com.sun.tools.javac.jvm.ClassWriter classWriter
        end local 2 // com.sun.tools.javac.util.Options options
        end local 1 // com.sun.tools.javac.util.Context context
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   37     0         this  Lcom/sun/tools/javac/comp/Modules;
            0   37     1      context  Lcom/sun/tools/javac/util/Context;
           22   37     2      options  Lcom/sun/tools/javac/util/Options;
           26   37     3  classWriter  Lcom/sun/tools/javac/jvm/ClassWriter;
           28   37     4    jniWriter  Lcom/sun/tools/javac/jvm/JNIWriter;
    MethodParameters:
         Name  Flags
      context  

  private void dprintln(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // java.lang.String msg
         0: .line 217
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 4
         2: .line 218
      StackMap locals: int
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "  "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         3: .line 217
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.depth:I
            if_icmplt 2
        end local 2 // int i
         5: .line 219
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 1 /* msg */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 220
            return
        end local 1 // java.lang.String msg
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/comp/Modules;
            0    7     1   msg  Ljava/lang/String;
            1    5     2     i  I
    MethodParameters:
      Name  Flags
      msg   

  public void addExtraAddModules(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // java.lang.String[] extras
         0: .line 223
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.extraAddMods:Ljava/util/Set;
            aload 1 /* extras */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 224
            return
        end local 1 // java.lang.String[] extras
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/tools/javac/comp/Modules;
            0    2     1  extras  [Ljava/lang/String;
    MethodParameters:
        Name  Flags
      extras  

  public void addExtraLimitModules(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // java.lang.String[] extras
         0: .line 227
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.extraLimitMods:Ljava/util/Set;
            aload 1 /* extras */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 228
            return
        end local 1 // java.lang.String[] extras
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/tools/javac/comp/Modules;
            0    2     1  extras  [Ljava/lang/String;
    MethodParameters:
        Name  Flags
      extras  

  public void initModules(com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCCompilationUnit>);
    descriptor: (Lcom/sun/tools/javac/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.util.List trees
         0: .line 232
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.inInitModules:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         3: .line 234
            aload 0 /* this */
            iconst_1
            putfield com.sun.tools.javac.comp.Modules.inInitModules:Z
         4: .line 235
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            invokestatic com.sun.tools.javac.util.Assert.checkNull:(Ljava/lang/Object;)V
         5: .line 236
            aload 0 /* this */
            aload 1 /* trees */
            aload 0 /* this */
            invokedynamic accept(Lcom/sun/tools/javac/comp/Modules;)Ljava/util/function/Consumer;
              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;)V
                  com/sun/tools/javac/comp/Modules.lambda$1(Ljava/util/Set;)V (7)
                  (Ljava/util/Set;)V
         6: .line 243
            aconst_null
         7: .line 236
            invokevirtual com.sun.tools.javac.comp.Modules.enter:(Lcom/sun/tools/javac/util/List;Ljava/util/function/Consumer;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
            pop
         8: .line 244
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 2
        10: .line 245
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.comp.Modules.inInitModules:Z
        11: .line 246
            aload 2
            athrow
        12: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.comp.Modules.inInitModules:Z
        13: .line 247
            return
        end local 1 // com.sun.tools.javac.util.List trees
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lcom/sun/tools/javac/comp/Modules;
            0   14     1  trees  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;
      Exception table:
        from    to  target  type
           3     9       9  any
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;)V
    MethodParameters:
       Name  Flags
      trees  

  public boolean enter(com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCCompilationUnit>, com.sun.tools.javac.code.Symbol$ClassSymbol);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.util.List trees
        start local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol c
         0: .line 250
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            ifnonnull 1
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.inInitModules:Z
            ifne 1
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allowModules:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
         3: .line 251
            aload 0 /* this */
            aload 1 /* trees */
            invokedynamic accept()Ljava/util/function/Consumer;
              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;)V
                  com/sun/tools/javac/comp/Modules.lambda$2(Ljava/util/Set;)V (6)
                  (Ljava/util/Set;)V
            aload 2 /* c */
            invokevirtual com.sun.tools.javac.comp.Modules.enter:(Lcom/sun/tools/javac/util/List;Ljava/util/function/Consumer;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
            ireturn
        end local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol c
        end local 1 // com.sun.tools.javac.util.List trees
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/sun/tools/javac/comp/Modules;
            0    4     1  trees  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;
            0    4     2      c  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
    MethodParameters:
       Name  Flags
      trees  
      c      

  private boolean enter(com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCCompilationUnit>, java.util.function.Consumer<java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol>>, com.sun.tools.javac.code.Symbol$ClassSymbol);
    descriptor: (Lcom/sun/tools/javac/util/List;Ljava/util/function/Consumer;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=4
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.util.List trees
        start local 2 // java.util.function.Consumer init
        start local 3 // com.sun.tools.javac.code.Symbol$ClassSymbol c
         0: .line 255
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allowModules:Z
            ifne 7
         1: .line 256
            aload 1 /* trees */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 4
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.function.Consumer com.sun.tools.javac.code.Symbol$ClassSymbol top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCompilationUnit
            astore 4 /* tree */
        start local 4 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
         3: .line 257
            aload 4 /* tree */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.noModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            putfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        end local 4 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
         4: .line 256
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 259
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.noModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            putfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
         6: .line 260
            iconst_1
            ireturn
         7: .line 263
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.function.Consumer com.sun.tools.javac.code.Symbol$ClassSymbol
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            getfield com.sun.tools.javac.util.Log.nerrors:I
            istore 4 /* startErrors */
        start local 4 // int startErrors
         8: .line 265
            aload 0 /* this */
            dup
            getfield com.sun.tools.javac.comp.Modules.depth:I
            iconst_1
            iadd
            putfield com.sun.tools.javac.comp.Modules.depth:I
         9: .line 268
            aload 0 /* this */
            aload 1 /* trees */
            aload 3 /* c */
            invokevirtual com.sun.tools.javac.comp.Modules.enterModules:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Ljava/util/Set;
            astore 5 /* roots */
        start local 5 // java.util.Set roots
        10: .line 270
            aload 0 /* this */
            aload 1 /* trees */
            aload 5 /* roots */
            aload 3 /* c */
            invokevirtual com.sun.tools.javac.comp.Modules.setCompilationUnitModules:(Lcom/sun/tools/javac/util/List;Ljava/util/Set;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)V
        11: .line 272
            aload 2 /* init */
            aload 5 /* roots */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        12: .line 274
            aload 5 /* roots */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 15
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.function.Consumer com.sun.tools.javac.code.Symbol$ClassSymbol int java.util.Set top java.util.Iterator
      StackMap stack:
        13: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 6 /* msym */
        start local 6 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        14: .line 275
            aload 6 /* msym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
        end local 6 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        15: .line 274
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        end local 5 // java.util.Set roots
        16: .line 277
            goto 24
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.function.Consumer com.sun.tools.javac.code.Symbol$ClassSymbol int
      StackMap stack: com.sun.tools.javac.code.Symbol$CompletionFailure
        17: astore 5 /* ex */
        start local 5 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
        18: .line 278
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.JCDiagnostic$DiagnosticFlag.NON_DEFERRABLE:Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticFlag;
            iconst_m1
            ldc "cant.access"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* ex */
            getfield com.sun.tools.javac.code.Symbol$CompletionFailure.sym:Lcom/sun/tools/javac/code/Symbol;
            aastore
            dup
            iconst_1
            aload 5 /* ex */
            invokevirtual com.sun.tools.javac.code.Symbol$CompletionFailure.getDetailValue:()Ljava/lang/Object;
            aastore
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticFlag;ILjava/lang/String;[Ljava/lang/Object;)V
        19: .line 279
            aload 5 /* ex */
            instanceof com.sun.tools.javac.code.ClassFinder$BadClassFile
            ifeq 20
            new com.sun.tools.javac.util.Abort
            dup
            invokespecial com.sun.tools.javac.util.Abort.<init>:()V
            athrow
        end local 5 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
        20: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.tools.javac.comp.Modules.depth:I
            iconst_1
            isub
            putfield com.sun.tools.javac.comp.Modules.depth:I
            goto 25
        21: .line 280
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        22: .line 281
            aload 0 /* this */
            dup
            getfield com.sun.tools.javac.comp.Modules.depth:I
            iconst_1
            isub
            putfield com.sun.tools.javac.comp.Modules.depth:I
        23: .line 282
            aload 8
            athrow
        24: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.tools.javac.comp.Modules.depth:I
            iconst_1
            isub
            putfield com.sun.tools.javac.comp.Modules.depth:I
        25: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            getfield com.sun.tools.javac.util.Log.nerrors:I
            iload 4 /* startErrors */
            if_icmpne 26
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        26: iconst_0
            ireturn
        end local 4 // int startErrors
        end local 3 // com.sun.tools.javac.code.Symbol$ClassSymbol c
        end local 2 // java.util.function.Consumer init
        end local 1 // com.sun.tools.javac.util.List trees
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   27     0         this  Lcom/sun/tools/javac/comp/Modules;
            0   27     1        trees  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;
            0   27     2         init  Ljava/util/function/Consumer<Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;>;
            0   27     3            c  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            3    4     4         tree  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            8   27     4  startErrors  I
           10   16     5        roots  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           14   15     6         msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           18   20     5           ex  Lcom/sun/tools/javac/code/Symbol$CompletionFailure;
      Exception table:
        from    to  target  type
           9    16      17  Class com.sun.tools.javac.code.Symbol$CompletionFailure
           9    20      21  any
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;Ljava/util/function/Consumer<Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;>;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Z
    MethodParameters:
       Name  Flags
      trees  
      init   
      c      

  public com.sun.tools.javac.code.Symbol$Completer getCompleter();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol$Completer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Modules this
         0: .line 288
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.mainCompleter:Lcom/sun/tools/javac/code/Symbol$Completer;
            areturn
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Modules;

  public com.sun.tools.javac.code.Symbol$ModuleSymbol getDefaultModule();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Modules this
         0: .line 292
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            areturn
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Modules;

  public boolean modulesInitialized();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Modules this
         0: .line 296
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/comp/Modules;

  private java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol> enterModules(com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCCompilationUnit>, com.sun.tools.javac.code.Symbol$ClassSymbol);
    descriptor: (Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.util.List trees
        start local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol c
         0: .line 300
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 3 /* modules */
        start local 3 // java.util.Set modules
         1: .line 301
            aload 1 /* trees */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol$ClassSymbol java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCompilationUnit
            astore 4 /* tree */
        start local 4 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
         3: .line 302
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 4 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            astore 6 /* prev */
        start local 6 // javax.tools.JavaFileObject prev
         4: .line 304
            aload 0 /* this */
            aload 4 /* tree */
            aload 2 /* c */
            aload 3 /* modules */
            invokevirtual com.sun.tools.javac.comp.Modules.enterModule:(Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Ljava/util/Set;)V
         5: .line 305
            goto 9
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol$ClassSymbol java.util.Set com.sun.tools.javac.tree.JCTree$JCCompilationUnit java.util.Iterator javax.tools.JavaFileObject
      StackMap stack: java.lang.Throwable
         6: astore 7
         7: .line 306
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 6 /* prev */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
         8: .line 307
            aload 7
            athrow
         9: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 6 /* prev */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        end local 6 // javax.tools.JavaFileObject prev
        end local 4 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
        10: .line 301
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol$ClassSymbol java.util.Set top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        11: .line 309
            aload 3 /* modules */
            areturn
        end local 3 // java.util.Set modules
        end local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol c
        end local 1 // com.sun.tools.javac.util.List trees
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lcom/sun/tools/javac/comp/Modules;
            0   12     1    trees  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;
            0   12     2        c  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            1   12     3  modules  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            3   10     4     tree  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            4   10     6     prev  Ljavax/tools/JavaFileObject;
      Exception table:
        from    to  target  type
           4     6       6  any
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
    MethodParameters:
       Name  Flags
      trees  
      c      

  private void enterModule(com.sun.tools.javac.tree.JCTree$JCCompilationUnit, com.sun.tools.javac.code.Symbol$ClassSymbol, java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol>);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit toplevel
        start local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol c
        start local 3 // java.util.Set modules
         0: .line 314
            aload 1 /* toplevel */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            ldc "module-info"
            getstatic javax.tools.JavaFileObject$Kind.SOURCE:Ljavax/tools/JavaFileObject$Kind;
            invokeinterface javax.tools.JavaFileObject.isNameCompatible:(Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;)Z
            istore 4 /* isModuleInfo */
        start local 4 // boolean isModuleInfo
         1: .line 315
            aload 1 /* toplevel */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.getModuleDecl:()Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            ifnull 2
            iconst_1
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 5 /* isModuleDecl */
        start local 5 // boolean isModuleDecl
         4: .line 316
            iload 5 /* isModuleDecl */
            ifeq 31
         5: .line 317
            aload 1 /* toplevel */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.getModuleDecl:()Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            astore 6 /* decl */
        start local 6 // com.sun.tools.javac.tree.JCTree$JCModuleDecl decl
         6: .line 318
            iload 4 /* isModuleInfo */
            ifne 8
         7: .line 319
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 6 /* decl */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCModuleDecl.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.ModuleDeclSbInModuleInfoJava:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
         8: .line 321
      StackMap locals: int com.sun.tools.javac.tree.JCTree$JCModuleDecl
      StackMap stack:
            aload 6 /* decl */
            getfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.qualId:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokestatic com.sun.tools.javac.tree.TreeInfo.fullName:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/util/Name;
            astore 7 /* name */
        start local 7 // com.sun.tools.javac.util.Name name
         9: .line 323
            aload 2 /* c */
            ifnull 16
        10: .line 324
            aload 2 /* c */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 8 /* sym */
        start local 8 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
        11: .line 325
            aload 8 /* sym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 326
            aload 6 /* decl */
            getfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.qualId:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokestatic com.sun.tools.javac.tree.TreeInfo.fullName:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/util/Name;
            astore 9 /* treeName */
        start local 9 // com.sun.tools.javac.util.Name treeName
        13: .line 327
            aload 8 /* sym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            aload 9 /* treeName */
            if_acmpeq 20
        14: .line 328
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 6 /* decl */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCModuleDecl.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            aload 7 /* name */
            aload 8 /* sym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ModuleNameMismatch:(Lcom/sun/tools/javac/util/Name;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$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        end local 9 // com.sun.tools.javac.util.Name treeName
        15: .line 330
            goto 20
        end local 8 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
        16: .line 331
      StackMap locals: com.sun.tools.javac.util.Name
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 7 /* name */
            invokevirtual com.sun.tools.javac.code.Symtab.enterModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 8 /* sym */
        start local 8 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
        17: .line 332
            aload 8 /* sym */
            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;
            ifnull 20
            aload 8 /* sym */
            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;
            aload 1 /* toplevel */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            if_acmpeq 20
        18: .line 333
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 6 /* decl */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCModuleDecl.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            aload 8 /* sym */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.DuplicateModule:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        19: .line 334
            return
        20: .line 337
      StackMap locals: com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack:
            aload 8 /* sym */
            aload 0 /* this */
            aload 1 /* toplevel */
            invokevirtual com.sun.tools.javac.comp.Modules.getSourceCompleter:(Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;)Lcom/sun/tools/javac/code/Symbol$Completer;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.completer:Lcom/sun/tools/javac/code/Symbol$Completer;
        21: .line 338
            aload 8 /* sym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.module_info:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            aload 1 /* toplevel */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.sourcefile:Ljavax/tools/JavaFileObject;
        22: .line 339
            aload 6 /* decl */
            aload 8 /* sym */
            putfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.sym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        23: .line 341
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.multiModuleMode:Z
            ifne 24
            aload 3 /* modules */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 26
        24: .line 342
      StackMap locals:
      StackMap stack:
            aload 3 /* modules */
            aload 8 /* sym */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        25: .line 343
            goto 27
        26: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* toplevel */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.TooManyModules:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        27: .line 347
      StackMap locals:
      StackMap stack:
            new com.sun.tools.javac.comp.Env
            dup
            aload 6 /* decl */
            aconst_null
            invokespecial com.sun.tools.javac.comp.Env.<init>:(Lcom/sun/tools/javac/tree/JCTree;Ljava/lang/Object;)V
            astore 9 /* provisionalEnv */
        start local 9 // com.sun.tools.javac.comp.Env provisionalEnv
        28: .line 349
            aload 9 /* provisionalEnv */
            aload 1 /* toplevel */
            putfield com.sun.tools.javac.comp.Env.toplevel:Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
        29: .line 350
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.typeEnvs:Lcom/sun/tools/javac/comp/TypeEnvs;
            aload 8 /* sym */
            aload 9 /* provisionalEnv */
            invokevirtual com.sun.tools.javac.comp.TypeEnvs.put:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/comp/Env;
            pop
        end local 9 // com.sun.tools.javac.comp.Env provisionalEnv
        end local 8 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
        end local 7 // com.sun.tools.javac.util.Name name
        end local 6 // com.sun.tools.javac.tree.JCTree$JCModuleDecl decl
        30: .line 351
            goto 37
      StackMap locals:
      StackMap stack:
        31: iload 4 /* isModuleInfo */
            ifeq 37
        32: .line 352
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.multiModuleMode:Z
            ifeq 37
        33: .line 353
            aload 1 /* toplevel */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.defs:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 34
            aload 1 /* toplevel */
            goto 35
      StackMap locals:
      StackMap stack:
        34: aload 1 /* toplevel */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.defs:Lcom/sun/tools/javac/util/List;
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree
      StackMap locals:
      StackMap stack: com.sun.tools.javac.tree.JCTree
        35: astore 6 /* tree */
        start local 6 // com.sun.tools.javac.tree.JCTree tree
        36: .line 354
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 6 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.ExpectedModule:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        end local 6 // com.sun.tools.javac.tree.JCTree tree
        37: .line 357
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean isModuleDecl
        end local 4 // boolean isModuleInfo
        end local 3 // java.util.Set modules
        end local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol c
        end local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit toplevel
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   38     0            this  Lcom/sun/tools/javac/comp/Modules;
            0   38     1        toplevel  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            0   38     2               c  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            0   38     3         modules  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            1   38     4    isModuleInfo  Z
            4   38     5    isModuleDecl  Z
            6   30     6            decl  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            9   30     7            name  Lcom/sun/tools/javac/util/Name;
           11   16     8             sym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           17   30     8             sym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           13   15     9        treeName  Lcom/sun/tools/javac/util/Name;
           28   30     9  provisionalEnv  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
           36   37     6            tree  Lcom/sun/tools/javac/tree/JCTree;
    Signature: (Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;)V
    MethodParameters:
          Name  Flags
      toplevel  
      c         
      modules   

  private void setCompilationUnitModules(com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCCompilationUnit>, java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol>, com.sun.tools.javac.code.Symbol$ClassSymbol);
    descriptor: (Lcom/sun/tools/javac/util/List;Ljava/util/Set;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=4
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.util.List trees
        start local 2 // java.util.Set rootModules
        start local 3 // com.sun.tools.javac.code.Symbol$ClassSymbol c
         0: .line 361
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.multiModuleMode:Z
            ifeq 81
         1: .line 362
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.checkNoAllModulePath:()V
         2: .line 363
            aload 1 /* trees */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 74
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCompilationUnit
            astore 4 /* tree */
        start local 4 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
         4: .line 364
            aload 4 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.defs:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 7
         5: .line 365
            aload 4 /* tree */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            putfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
         6: .line 366
            goto 74
         7: .line 369
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.tree.JCTree$JCCompilationUnit java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 4 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            astore 6 /* prev */
        start local 6 // javax.tools.JavaFileObject prev
         8: .line 371
            aload 0 /* this */
            aload 4 /* tree */
            invokevirtual com.sun.tools.javac.comp.Modules.getModuleLocation:(Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;)Ljavax/tools/JavaFileManager$Location;
            astore 7 /* msplocn */
        start local 7 // javax.tools.JavaFileManager$Location msplocn
         9: .line 372
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.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 14
        10: .line 373
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.PATCH_MODULE_PATH:Ljavax/tools/StandardLocation;
        11: .line 374
            aload 4 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
        12: .line 373
            invokeinterface javax.tools.JavaFileManager.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileManager$Location;
        13: .line 374
            goto 15
        14: .line 375
      StackMap locals: javax.tools.JavaFileObject javax.tools.JavaFileManager$Location
      StackMap stack:
            aconst_null
        15: .line 372
      StackMap locals:
      StackMap stack: javax.tools.JavaFileManager$Location
            astore 8 /* plocn */
        start local 8 // javax.tools.JavaFileManager$Location plocn
        16: .line 377
            aload 8 /* plocn */
            ifnull 26
        17: .line 378
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            aload 8 /* plocn */
            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 9 /* name */
        start local 9 // com.sun.tools.javac.util.Name name
        18: .line 379
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.moduleFinder:Lcom/sun/tools/javac/code/ModuleFinder;
            aload 9 /* name */
            invokevirtual com.sun.tools.javac.code.ModuleFinder.findModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 10 /* msym */
        start local 10 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        19: .line 380
            aload 4 /* tree */
            aload 10 /* msym */
            putfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        20: .line 381
            aload 2 /* rootModules */
            aload 10 /* msym */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        21: .line 383
            aload 7 /* msplocn */
            ifnull 73
        22: .line 384
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            aload 7 /* msplocn */
            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 11 /* mspname */
        start local 11 // com.sun.tools.javac.util.Name mspname
        23: .line 385
            aload 9 /* name */
            aload 11 /* mspname */
            if_acmpeq 73
        24: .line 386
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 4 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            aload 9 /* name */
            aload 11 /* mspname */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.FilePatchedAndMsp:(Lcom/sun/tools/javac/util/Name;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$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        end local 11 // com.sun.tools.javac.util.Name mspname
        end local 10 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 9 // com.sun.tools.javac.util.Name name
        25: .line 389
            goto 73
      StackMap locals: javax.tools.JavaFileManager$Location
      StackMap stack:
        26: aload 7 /* msplocn */
            ifnull 59
        27: .line 390
            aload 4 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.getModuleDecl:()Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            ifnull 32
        28: .line 392
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            aload 7 /* msplocn */
            ldc "module-info"
            getstatic javax.tools.JavaFileObject$Kind.SOURCE:Ljavax/tools/JavaFileObject$Kind;
            invokeinterface javax.tools.JavaFileManager.getJavaFileForInput:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
        29: .line 391
            astore 9 /* canonical */
        start local 9 // javax.tools.JavaFileObject canonical
        30: .line 393
            aload 9 /* canonical */
            ifnull 31
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            aload 9 /* canonical */
            aload 4 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            invokeinterface javax.tools.JavaFileManager.isSameFile:(Ljavax/tools/FileObject;Ljavax/tools/FileObject;)Z
            ifne 32
        31: .line 394
      StackMap locals: javax.tools.JavaFileObject
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 4 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.ModuleNotFoundOnModuleSourcePath:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        end local 9 // javax.tools.JavaFileObject canonical
        32: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            aload 7 /* msplocn */
            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 9 /* name */
        start local 9 // com.sun.tools.javac.util.Name name
        33: .line 399
            aload 4 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.getModuleDecl:()Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            astore 11 /* decl */
        start local 11 // com.sun.tools.javac.tree.JCTree$JCModuleDecl decl
        34: .line 400
            aload 11 /* decl */
            ifnull 39
        35: .line 401
            aload 11 /* decl */
            getfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.sym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 10 /* msym */
        start local 10 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        36: .line 402
            aload 10 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            aload 9 /* name */
            if_acmpeq 42
        37: .line 403
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 11 /* decl */
            getfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.qualId:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            aload 10 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            aload 9 /* name */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ModuleNameMismatch:(Lcom/sun/tools/javac/util/Name;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$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        38: .line 405
            goto 42
        end local 10 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        39: .line 406
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.tree.JCTree$JCCompilationUnit java.util.Iterator javax.tools.JavaFileObject javax.tools.JavaFileManager$Location javax.tools.JavaFileManager$Location com.sun.tools.javac.util.Name top com.sun.tools.javac.tree.JCTree$JCModuleDecl
      StackMap stack:
            aload 4 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.getPackage:()Lcom/sun/tools/javac/tree/JCTree$JCPackageDecl;
            ifnonnull 41
        40: .line 407
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 4 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.UnnamedPkgNotAllowedNamedModules:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        41: .line 409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 9 /* name */
            invokevirtual com.sun.tools.javac.code.Symtab.enterModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 10 /* msym */
        start local 10 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        42: .line 411
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.tree.JCTree$JCCompilationUnit java.util.Iterator javax.tools.JavaFileObject javax.tools.JavaFileManager$Location javax.tools.JavaFileManager$Location com.sun.tools.javac.util.Name com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.tree.JCTree$JCModuleDecl
      StackMap stack:
            aload 10 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
            ifnonnull 56
        43: .line 412
            aload 10 /* msym */
            aload 7 /* msplocn */
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
        44: .line 413
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.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 48
        45: .line 414
            aload 10 /* msym */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
        46: .line 415
            getstatic javax.tools.StandardLocation.PATCH_MODULE_PATH:Ljavax/tools/StandardLocation;
            aload 10 /* 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;
        47: .line 414
            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;
        48: .line 417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            invokeinterface javax.tools.JavaFileManager.hasLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            ifeq 56
        49: .line 418
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
        50: .line 419
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            aload 10 /* 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;
        51: .line 418
            invokeinterface javax.tools.JavaFileManager.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;)Ljavax/tools/JavaFileManager$Location;
            astore 12 /* outputLocn */
        start local 12 // javax.tools.JavaFileManager$Location outputLocn
        52: .line 420
            aload 10 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
            ifnonnull 55
        53: .line 421
            aload 10 /* msym */
            aload 12 /* outputLocn */
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
        54: .line 422
            goto 56
        55: .line 423
      StackMap locals: javax.tools.JavaFileManager$Location
      StackMap stack:
            aload 10 /* msym */
            aload 12 /* outputLocn */
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchOutputLocation:Ljavax/tools/JavaFileManager$Location;
        end local 12 // javax.tools.JavaFileManager$Location outputLocn
        56: .line 427
      StackMap locals:
      StackMap stack:
            aload 4 /* tree */
            aload 10 /* msym */
            putfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        57: .line 428
            aload 2 /* rootModules */
            aload 10 /* msym */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // com.sun.tools.javac.tree.JCTree$JCModuleDecl decl
        end local 10 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 9 // com.sun.tools.javac.util.Name name
        58: .line 429
            goto 73
      StackMap locals:
      StackMap stack:
        59: aload 3 /* c */
            ifnull 62
            aload 3 /* c */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.packge:()Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
            getfield com.sun.tools.javac.code.Symbol$PackageSymbol.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            if_acmpne 62
        60: .line 430
            aload 4 /* tree */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            putfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        61: .line 431
            goto 73
        62: .line 432
      StackMap locals:
      StackMap stack:
            aload 4 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.getModuleDecl:()Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            ifnull 65
        63: .line 433
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 4 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.ModuleNotFoundOnModuleSourcePath:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        64: .line 434
            goto 66
        65: .line 435
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 4 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.NotInModuleOnModuleSourcePath:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        66: .line 437
      StackMap locals:
      StackMap stack:
            aload 4 /* tree */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.errModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            putfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        end local 8 // javax.tools.JavaFileManager$Location plocn
        end local 7 // javax.tools.JavaFileManager$Location msplocn
        67: .line 439
            goto 73
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.tree.JCTree$JCCompilationUnit java.util.Iterator javax.tools.JavaFileObject
      StackMap stack: java.io.IOException
        68: astore 7 /* e */
        start local 7 // java.io.IOException e
        69: .line 440
            new java.lang.Error
            dup
            aload 7 /* e */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.io.IOException e
        70: .line 441
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        71: .line 442
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 6 /* prev */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        72: .line 443
            aload 13
            athrow
        73: .line 442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 6 /* prev */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        end local 6 // javax.tools.JavaFileObject prev
        end local 4 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
        74: .line 363
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        75: .line 445
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
            ifnonnull 79
        76: .line 446
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.getUnnamedModuleCompleter:()Lcom/sun/tools/javac/code/Symbol$Completer;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.completer:Lcom/sun/tools/javac/code/Symbol$Completer;
        77: .line 447
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            getstatic javax.tools.StandardLocation.SOURCE_PATH:Ljavax/tools/StandardLocation;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
        78: .line 448
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            getstatic javax.tools.StandardLocation.CLASS_PATH:Ljavax/tools/StandardLocation;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
        79: .line 450
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            putfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        80: .line 451
            goto 144
        81: .line 452
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* module */
        start local 4 // com.sun.tools.javac.code.Symbol$ModuleSymbol module
        82: .line 453
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            ifnonnull 119
        83: .line 454
            aload 0 /* this */
            aload 1 /* trees */
            invokevirtual com.sun.tools.javac.comp.Modules.singleModuleOverride:(Lcom/sun/tools/javac/util/List;)Ljava/lang/String;
            astore 5 /* moduleOverride */
        start local 5 // java.lang.String moduleOverride
        84: .line 455
            aload 2 /* rootModules */
            invokeinterface java.util.Set.size:()I
            tableswitch { // 0 - 1
                    0: 85
                    1: 102
              default: 117
          }
        85: .line 457
      StackMap locals: com.sun.tools.javac.code.Symbol$ModuleSymbol java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.moduleFinder:Lcom/sun/tools/javac/code/ModuleFinder;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.findSingleModule:()Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            putfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        86: .line 458
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            if_acmpne 96
        87: .line 459
            aload 5 /* moduleOverride */
            ifnull 92
        88: .line 460
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.checkNoAllModulePath:()V
        89: .line 461
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.moduleFinder:Lcom/sun/tools/javac/code/ModuleFinder;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 5 /* moduleOverride */
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.findModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            putfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        90: .line 462
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchOutputLocation:Ljavax/tools/JavaFileManager$Location;
        91: .line 463
            goto 100
        92: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.getUnnamedModuleCompleter:()Lcom/sun/tools/javac/code/Symbol$Completer;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.completer:Lcom/sun/tools/javac/code/Symbol$Completer;
        93: .line 467
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            getstatic javax.tools.StandardLocation.SOURCE_PATH:Ljavax/tools/StandardLocation;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
        94: .line 468
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            getstatic javax.tools.StandardLocation.CLASS_PATH:Ljavax/tools/StandardLocation;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
        95: .line 470
            goto 100
        96: .line 471
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.checkNoAllModulePath:()V
        97: .line 472
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
        98: .line 474
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            aload 0 /* this */
            invokedynamic complete(Lcom/sun/tools/javac/comp/Modules;)Lcom/sun/tools/javac/code/Symbol$Completer;
              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:
                  (Lcom/sun/tools/javac/code/Symbol;)V
                  com/sun/tools/javac/comp/Modules.lambda$3(Lcom/sun/tools/javac/code/Symbol;)V (7)
                  (Lcom/sun/tools/javac/code/Symbol;)V
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.completer:Lcom/sun/tools/javac/code/Symbol$Completer;
        99: .line 475
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            getstatic javax.tools.StandardLocation.SOURCE_PATH:Ljavax/tools/StandardLocation;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
       100: .line 477
      StackMap locals:
      StackMap stack:
            aload 2 /* rootModules */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
       101: .line 478
            goto 131
       102: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.checkNoAllModulePath:()V
       103: .line 481
            aload 0 /* this */
            aload 2 /* rootModules */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            putfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
       104: .line 482
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            getstatic javax.tools.StandardLocation.SOURCE_PATH:Ljavax/tools/StandardLocation;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
       105: .line 483
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.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 112
       106: .line 485
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
       107: .line 486
            getstatic javax.tools.StandardLocation.PATCH_MODULE_PATH:Ljavax/tools/StandardLocation;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            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;
       108: .line 485
            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;
       109: .line 487
            goto 112
      StackMap locals:
      StackMap stack: java.io.IOException
       110: astore 6 /* ex */
        start local 6 // java.io.IOException ex
       111: .line 488
            new java.lang.Error
            dup
            aload 6 /* ex */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException ex
       112: .line 491
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
            ifnonnull 115
       113: .line 492
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
       114: .line 493
            goto 131
       115: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchOutputLocation:Ljavax/tools/JavaFileManager$Location;
       116: .line 496
            goto 131
       117: .line 498
      StackMap locals:
      StackMap stack:
            ldc "too many modules"
            invokestatic com.sun.tools.javac.util.Assert.error:(Ljava/lang/String;)V
        end local 5 // java.lang.String moduleOverride
       118: .line 500
            goto 131
      StackMap locals:
      StackMap stack:
       119: aload 2 /* rootModules */
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmpne 124
       120: .line 501
            aload 2 /* rootModules */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 4 /* module */
       121: .line 502
            aload 4 /* module */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
       122: .line 503
            aload 4 /* module */
            aload 0 /* this */
            invokedynamic complete(Lcom/sun/tools/javac/comp/Modules;)Lcom/sun/tools/javac/code/Symbol$Completer;
              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:
                  (Lcom/sun/tools/javac/code/Symbol;)V
                  com/sun/tools/javac/comp/Modules.lambda$4(Lcom/sun/tools/javac/code/Symbol;)V (7)
                  (Lcom/sun/tools/javac/code/Symbol;)V
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.completer:Lcom/sun/tools/javac/code/Symbol$Completer;
       123: .line 504
            goto 131
       124: .line 505
      StackMap locals:
      StackMap stack:
            aload 2 /* rootModules */
            invokeinterface java.util.Set.isEmpty:()Z
            invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
       125: .line 506
            aload 0 /* this */
            aload 1 /* trees */
            invokevirtual com.sun.tools.javac.comp.Modules.singleModuleOverride:(Lcom/sun/tools/javac/util/List;)Ljava/lang/String;
            astore 5 /* moduleOverride */
        start local 5 // java.lang.String moduleOverride
       126: .line 507
            aload 5 /* moduleOverride */
            ifnull 129
       127: .line 508
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.moduleFinder:Lcom/sun/tools/javac/code/ModuleFinder;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 5 /* moduleOverride */
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.findModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 4 /* module */
       128: .line 509
            goto 130
       129: .line 510
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 4 /* module */
       130: .line 512
      StackMap locals:
      StackMap stack:
            aload 2 /* rootModules */
            aload 4 /* module */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.String moduleOverride
       131: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            if_acmpeq 134
       132: .line 516
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.getUnnamedModuleCompleter:()Lcom/sun/tools/javac/code/Symbol$Completer;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.completer:Lcom/sun/tools/javac/code/Symbol$Completer;
       133: .line 517
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            getstatic javax.tools.StandardLocation.CLASS_PATH:Ljavax/tools/StandardLocation;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
       134: .line 520
      StackMap locals:
      StackMap stack:
            aload 4 /* module */
            ifnonnull 136
       135: .line 521
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 4 /* module */
       136: .line 524
      StackMap locals:
      StackMap stack:
            aload 1 /* trees */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 143
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$ModuleSymbol top java.util.Iterator
      StackMap stack:
       137: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCompilationUnit
            astore 5 /* tree */
        start local 5 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
       138: .line 525
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            if_acmpeq 142
       139: .line 526
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
            getstatic javax.tools.StandardLocation.SOURCE_PATH:Ljavax/tools/StandardLocation;
            if_acmpne 142
       140: .line 527
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.SOURCE_PATH:Ljavax/tools/StandardLocation;
            invokeinterface javax.tools.JavaFileManager.hasLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            ifeq 142
       141: .line 528
            aload 0 /* this */
            aload 5 /* tree */
            aload 4 /* module */
            invokevirtual com.sun.tools.javac.comp.Modules.checkSourceLocation:(Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
       142: .line 530
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.tree.JCTree$JCCompilationUnit java.util.Iterator
      StackMap stack:
            aload 5 /* tree */
            aload 4 /* module */
            putfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        end local 5 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
       143: .line 524
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.code.Symbol$ModuleSymbol top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 137
        end local 4 // com.sun.tools.javac.code.Symbol$ModuleSymbol module
       144: .line 533
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol
      StackMap stack:
            return
        end local 3 // com.sun.tools.javac.code.Symbol$ClassSymbol c
        end local 2 // java.util.Set rootModules
        end local 1 // com.sun.tools.javac.util.List trees
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  145     0            this  Lcom/sun/tools/javac/comp/Modules;
            0  145     1           trees  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;
            0  145     2     rootModules  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            0  145     3               c  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            4   74     4            tree  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            8   74     6            prev  Ljavax/tools/JavaFileObject;
            9   67     7         msplocn  Ljavax/tools/JavaFileManager$Location;
           16   67     8           plocn  Ljavax/tools/JavaFileManager$Location;
           18   25     9            name  Lcom/sun/tools/javac/util/Name;
           19   25    10            msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           23   25    11         mspname  Lcom/sun/tools/javac/util/Name;
           30   32     9       canonical  Ljavax/tools/JavaFileObject;
           33   58     9            name  Lcom/sun/tools/javac/util/Name;
           36   39    10            msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           42   58    10            msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           34   58    11            decl  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
           52   56    12      outputLocn  Ljavax/tools/JavaFileManager$Location;
           69   70     7               e  Ljava/io/IOException;
           82  144     4          module  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           84  118     5  moduleOverride  Ljava/lang/String;
          111  112     6              ex  Ljava/io/IOException;
          126  131     5  moduleOverride  Ljava/lang/String;
          138  143     5            tree  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
      Exception table:
        from    to  target  type
           8    67      68  Class java.io.IOException
           8    70      70  any
         106   109     110  Class java.io.IOException
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)V
    MethodParameters:
             Name  Flags
      trees        
      rootModules  
      c            

  private void checkSourceLocation(com.sun.tools.javac.tree.JCTree$JCCompilationUnit, com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
        start local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         0: .line 537
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            astore 3 /* fo */
        start local 3 // javax.tools.JavaFileObject fo
         1: .line 538
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            aload 2 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
            aload 3 /* fo */
            invokeinterface javax.tools.JavaFileManager.contains:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/FileObject;)Z
            ifeq 3
         2: .line 539
            return
         3: .line 541
      StackMap locals: javax.tools.JavaFileObject
      StackMap stack:
            aload 2 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
            ifnull 5
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            aload 2 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
            aload 3 /* fo */
            invokeinterface javax.tools.JavaFileManager.contains:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/FileObject;)Z
            ifeq 5
         4: .line 542
            return
         5: .line 544
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.SOURCE_OUTPUT:Ljavax/tools/StandardLocation;
            invokeinterface javax.tools.JavaFileManager.hasLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            ifeq 8
         6: .line 545
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.SOURCE_OUTPUT:Ljavax/tools/StandardLocation;
            aload 3 /* fo */
            invokeinterface javax.tools.JavaFileManager.contains:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/FileObject;)Z
            ifeq 12
         7: .line 546
            return
         8: .line 549
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            aload 3 /* fo */
            invokeinterface javax.tools.JavaFileManager.contains:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/FileObject;)Z
            ifeq 12
         9: .line 550
            return
        end local 3 // javax.tools.JavaFileObject fo
        10: .line 553
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.tree.JCTree$JCCompilationUnit com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        11: .line 554
            new java.lang.Error
            dup
            aload 3 /* e */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException e
        12: .line 557
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            astore 3 /* prev */
        start local 3 // javax.tools.JavaFileObject prev
        13: .line 559
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            ldc "file.sb.on.source.or.patch.path.for.module"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Ljava/lang/String;[Ljava/lang/Object;)V
        14: .line 560
            goto 18
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.tree.JCTree$JCCompilationUnit com.sun.tools.javac.code.Symbol$ModuleSymbol javax.tools.JavaFileObject
      StackMap stack: java.lang.Throwable
        15: astore 4
        16: .line 561
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 3 /* prev */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        17: .line 562
            aload 4
            athrow
        18: .line 561
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 3 /* prev */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        19: .line 563
            return
        end local 3 // javax.tools.JavaFileObject prev
        end local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lcom/sun/tools/javac/comp/Modules;
            0   20     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            0   20     2  msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            1   10     3    fo  Ljavax/tools/JavaFileObject;
           11   12     3     e  Ljava/io/IOException;
           13   20     3  prev  Ljavax/tools/JavaFileObject;
      Exception table:
        from    to  target  type
           0     2      10  Class java.io.IOException
           3     4      10  Class java.io.IOException
           5     7      10  Class java.io.IOException
           8     9      10  Class java.io.IOException
          13    15      15  any
    MethodParameters:
      Name  Flags
      tree  
      msym  

  private java.lang.String singleModuleOverride(com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCCompilationUnit>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.util.List trees
         0: .line 566
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.PATCH_MODULE_PATH:Ljavax/tools/StandardLocation;
            invokeinterface javax.tools.JavaFileManager.hasLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            ifne 2
         1: .line 567
            aconst_null
            areturn
         2: .line 570
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 2 /* override */
        start local 2 // java.util.Set override
         3: .line 571
            aload 1 /* trees */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCCompilationUnit
            astore 3 /* tree */
        start local 3 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
         5: .line 572
            aload 3 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            astore 5 /* fo */
        start local 5 // javax.tools.JavaFileObject fo
         6: .line 576
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.PATCH_MODULE_PATH:Ljavax/tools/StandardLocation;
            aload 5 /* fo */
            invokeinterface javax.tools.JavaFileManager.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileManager$Location;
         7: .line 575
            astore 6 /* loc */
        start local 6 // javax.tools.JavaFileManager$Location loc
         8: .line 578
            aload 6 /* loc */
            ifnull 13
         9: .line 579
            aload 2 /* override */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            aload 6 /* loc */
            invokeinterface javax.tools.JavaFileManager.inferModuleName:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // javax.tools.JavaFileManager$Location loc
        10: .line 581
            goto 13
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.tree.JCTree$JCCompilationUnit java.util.Iterator javax.tools.JavaFileObject
      StackMap stack: java.io.IOException
        11: astore 6 /* ex */
        start local 6 // java.io.IOException ex
        12: .line 582
            new java.lang.Error
            dup
            aload 6 /* ex */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException ex
        end local 5 // javax.tools.JavaFileObject fo
        end local 3 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
        13: .line 571
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        14: .line 586
            aload 2 /* override */
            invokeinterface java.util.Set.size:()I
            tableswitch { // 0 - 1
                    0: 15
                    1: 16
              default: 17
          }
        15: .line 587
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set
      StackMap stack:
            aconst_null
            areturn
        16: .line 588
      StackMap locals:
      StackMap stack:
            aload 2 /* override */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        17: .line 590
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 2 /* override */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.TooManyPatchedModules:(Ljava/util/Set;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        18: .line 591
            aconst_null
            areturn
        end local 2 // java.util.Set override
        end local 1 // com.sun.tools.javac.util.List trees
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Lcom/sun/tools/javac/comp/Modules;
            0   19     1     trees  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;
            3   19     2  override  Ljava/util/Set<Ljava/lang/String;>;
            5   13     3      tree  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            6   13     5        fo  Ljavax/tools/JavaFileObject;
            8   10     6       loc  Ljavax/tools/JavaFileManager$Location;
           12   13     6        ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           6    10      11  Class java.io.IOException
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;)Ljava/lang/String;
    MethodParameters:
       Name  Flags
      trees  

  private javax.tools.JavaFileManager$Location getModuleLocation(com.sun.tools.javac.tree.JCTree$JCCompilationUnit);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;)Ljavax/tools/JavaFileManager$Location;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
         0: .line 606
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            astore 2 /* fo */
        start local 2 // javax.tools.JavaFileObject fo
         1: .line 609
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.MODULE_SOURCE_PATH:Ljavax/tools/StandardLocation;
            aload 2 /* fo */
            invokeinterface javax.tools.JavaFileManager.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileManager$Location;
         2: .line 608
            astore 3 /* loc */
        start local 3 // javax.tools.JavaFileManager$Location loc
         3: .line 610
            aload 3 /* loc */
            ifnonnull 10
         4: .line 611
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            getstatic javax.tools.StandardLocation.SOURCE_OUTPUT:Ljavax/tools/StandardLocation;
            invokeinterface javax.tools.JavaFileManager.hasLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            ifeq 6
         5: .line 612
            getstatic javax.tools.StandardLocation.SOURCE_OUTPUT:Ljavax/tools/StandardLocation;
            goto 7
      StackMap locals: javax.tools.JavaFileObject javax.tools.JavaFileManager$Location
      StackMap stack:
         6: getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
         7: .line 611
      StackMap locals:
      StackMap stack: javax.tools.StandardLocation
            astore 4 /* sourceOutput */
        start local 4 // javax.tools.JavaFileManager$Location sourceOutput
         8: .line 614
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            aload 4 /* sourceOutput */
            aload 2 /* fo */
            invokeinterface javax.tools.JavaFileManager.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileManager$Location;
         9: .line 613
            astore 3 /* loc */
        end local 4 // javax.tools.JavaFileManager$Location sourceOutput
        10: .line 616
      StackMap locals:
      StackMap stack:
            aload 3 /* loc */
            areturn
        end local 3 // javax.tools.JavaFileManager$Location loc
        end local 2 // javax.tools.JavaFileObject fo
        end local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lcom/sun/tools/javac/comp/Modules;
            0   11     1          tree  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            1   11     2            fo  Ljavax/tools/JavaFileObject;
            3   11     3           loc  Ljavax/tools/JavaFileManager$Location;
            8   10     4  sourceOutput  Ljavax/tools/JavaFileManager$Location;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      tree  

  private void checkNoAllModulePath();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Modules this
         0: .line 620
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addModsOpt:Ljava/lang/String;
            ifnull 2
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addModsOpt:Ljava/lang/String;
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            ldc "ALL-MODULE-PATH"
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 621
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.AddmodsAllModulePathInvalid:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
         2: .line 623
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/comp/Modules;

  private void setupAutomaticModule(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         0: .line 663
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 2 /* directives */
        start local 2 // com.sun.tools.javac.util.ListBuffer directives
         1: .line 664
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 3 /* exports */
        start local 3 // com.sun.tools.javac.util.ListBuffer exports
         2: .line 665
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* seenPackages */
        start local 4 // java.util.Set seenPackages
         3: .line 667
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
            ldc ""
            getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            iconst_1
            invokeinterface javax.tools.JavaFileManager.list:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Set;Z)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer java.util.Set top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.tools.JavaFileObject
            astore 5 /* clazz */
        start local 5 // javax.tools.JavaFileObject clazz
         5: .line 668
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
            aload 5 /* clazz */
            invokeinterface javax.tools.JavaFileManager.inferBinaryName:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject;)Ljava/lang/String;
            astore 7 /* binName */
        start local 7 // java.lang.String binName
         6: .line 669
            aload 7 /* binName */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_m1
            if_icmpeq 7
            aload 7 /* binName */
            iconst_0
            aload 7 /* binName */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            goto 8
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer java.util.Set javax.tools.JavaFileObject java.util.Iterator java.lang.String
      StackMap stack:
         7: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         8: astore 8 /* pack */
        start local 8 // java.lang.String pack
         9: .line 670
            aload 4 /* seenPackages */
            aload 8 /* pack */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 13
        10: .line 671
            new com.sun.tools.javac.code.Directive$ExportsDirective
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 1 /* msym */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 8 /* pack */
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Symtab.enterPackage:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
            aconst_null
            invokespecial com.sun.tools.javac.code.Directive$ExportsDirective.<init>:(Lcom/sun/tools/javac/code/Symbol$PackageSymbol;Lcom/sun/tools/javac/util/List;)V
            astore 9 /* d */
        start local 9 // com.sun.tools.javac.code.Directive$ExportsDirective d
        11: .line 673
            aload 2 /* directives */
            aload 9 /* d */
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        12: .line 674
            aload 3 /* exports */
            aload 9 /* d */
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // com.sun.tools.javac.code.Directive$ExportsDirective d
        end local 8 // java.lang.String pack
        end local 7 // java.lang.String binName
        end local 5 // javax.tools.JavaFileObject clazz
        13: .line 667
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer java.util.Set top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        14: .line 678
            aload 1 /* msym */
            aload 3 /* exports */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.exports:Lcom/sun/tools/javac/util/List;
        15: .line 679
            aload 1 /* msym */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.provides:Lcom/sun/tools/javac/util/List;
        16: .line 680
            aload 1 /* msym */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
        17: .line 681
            aload 1 /* msym */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.uses:Lcom/sun/tools/javac/util/List;
        18: .line 682
            aload 1 /* msym */
            aload 2 /* directives */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
        19: .line 683
            aload 1 /* msym */
            dup
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags_field:J
            ldc 1073741824
            lor
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags_field:J
        end local 4 // java.util.Set seenPackages
        end local 3 // com.sun.tools.javac.util.ListBuffer exports
        end local 2 // com.sun.tools.javac.util.ListBuffer directives
        20: .line 684
            goto 23
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack: java.io.IOException
        21: astore 2 /* ex */
        start local 2 // java.io.IOException ex
        22: .line 685
            new java.lang.IllegalStateException
            dup
            aload 2 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException ex
        23: .line 687
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Lcom/sun/tools/javac/comp/Modules;
            0   24     1          msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            1   20     2    directives  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Directive;>;
            2   20     3       exports  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Directive$ExportsDirective;>;
            3   20     4  seenPackages  Ljava/util/Set<Ljava/lang/String;>;
            5   13     5         clazz  Ljavax/tools/JavaFileObject;
            6   13     7       binName  Ljava/lang/String;
            9   13     8          pack  Ljava/lang/String;
           11   13     9             d  Lcom/sun/tools/javac/code/Directive$ExportsDirective;
           22   23     2            ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    20      21  Class java.io.IOException
    Exceptions:
      throws com.sun.tools.javac.code.Symbol$CompletionFailure
    MethodParameters:
      Name  Flags
      msym  

  private void completeAutomaticModule(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         0: .line 690
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 2 /* directives */
        start local 2 // com.sun.tools.javac.util.ListBuffer directives
         1: .line 692
            aload 2 /* directives */
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.ListBuffer.addAll:(Ljava/util/Collection;)Z
            pop
         2: .line 694
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 3 /* requires */
        start local 3 // com.sun.tools.javac.util.ListBuffer requires
         3: .line 696
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.allModules:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 4 /* ms */
        start local 4 // com.sun.tools.javac.code.Symbol$ModuleSymbol ms
         5: .line 697
            aload 4 /* ms */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            if_acmpeq 14
            aload 4 /* ms */
            aload 1 /* msym */
            if_acmpne 7
         6: .line 698
            goto 14
         7: .line 699
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Iterator
      StackMap stack:
            aload 4 /* ms */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags_field:J
            ldc 4503599627370496
            land
            lconst_0
            lcmp
            ifeq 9
         8: .line 700
            getstatic com.sun.tools.javac.code.Directive$RequiresFlag.TRANSITIVE:Lcom/sun/tools/javac/code/Directive$RequiresFlag;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            goto 10
      StackMap locals:
      StackMap stack:
         9: ldc Lcom/sun/tools/javac/code/Directive$RequiresFlag;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
        10: .line 699
      StackMap locals:
      StackMap stack: java.util.EnumSet
            astore 6 /* flags */
        start local 6 // java.util.Set flags
        11: .line 701
            new com.sun.tools.javac.code.Directive$RequiresDirective
            dup
            aload 4 /* ms */
            aload 6 /* flags */
            invokespecial com.sun.tools.javac.code.Directive$RequiresDirective.<init>:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Set;)V
            astore 7 /* d */
        start local 7 // com.sun.tools.javac.code.Directive$RequiresDirective d
        12: .line 702
            aload 2 /* directives */
            aload 7 /* d */
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        13: .line 703
            aload 3 /* requires */
            aload 7 /* d */
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // com.sun.tools.javac.code.Directive$RequiresDirective d
        end local 6 // java.util.Set flags
        end local 4 // com.sun.tools.javac.code.Symbol$ModuleSymbol ms
        14: .line 696
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        15: .line 706
            new com.sun.tools.javac.code.Directive$RequiresDirective
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokespecial com.sun.tools.javac.code.Directive$RequiresDirective.<init>:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
            astore 4 /* requiresUnnamed */
        start local 4 // com.sun.tools.javac.code.Directive$RequiresDirective requiresUnnamed
        16: .line 707
            aload 2 /* directives */
            aload 4 /* requiresUnnamed */
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        17: .line 708
            aload 3 /* requires */
            aload 4 /* requiresUnnamed */
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        18: .line 710
            aload 1 /* msym */
            aload 3 /* requires */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
        19: .line 711
            aload 1 /* msym */
            aload 2 /* directives */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
        20: .line 712
            return
        end local 4 // com.sun.tools.javac.code.Directive$RequiresDirective requiresUnnamed
        end local 3 // com.sun.tools.javac.util.ListBuffer requires
        end local 2 // com.sun.tools.javac.util.ListBuffer directives
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0             this  Lcom/sun/tools/javac/comp/Modules;
            0   21     1             msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            1   21     2       directives  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Directive;>;
            3   21     3         requires  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Directive$RequiresDirective;>;
            5   14     4               ms  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           11   14     6            flags  Ljava/util/Set<Lcom/sun/tools/javac/code/Directive$RequiresFlag;>;
           12   14     7                d  Lcom/sun/tools/javac/code/Directive$RequiresDirective;
           16   21     4  requiresUnnamed  Lcom/sun/tools/javac/code/Directive$RequiresDirective;
    Exceptions:
      throws com.sun.tools.javac.code.Symbol$CompletionFailure
    MethodParameters:
      Name  Flags
      msym  

  private com.sun.tools.javac.code.Symbol$Completer getSourceCompleter(com.sun.tools.javac.tree.JCTree$JCCompilationUnit);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;)Lcom/sun/tools/javac/code/Symbol$Completer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
         0: .line 715
            new com.sun.tools.javac.comp.Modules$2
            dup
            aload 0 /* this */
            aload 1 /* tree */
            invokespecial com.sun.tools.javac.comp.Modules$2.<init>:(Lcom/sun/tools/javac/comp/Modules;Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;)V
            areturn
        end local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Modules;
            0    1     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
    MethodParameters:
      Name  Flags
      tree  

  public boolean isRootModule(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol module
         0: .line 745
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 746
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            aload 1 /* module */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol module
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/tools/javac/comp/Modules;
            0    2     1  module  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    MethodParameters:
        Name  Flags
      module  

  public java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol> getRootModules();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Modules this
         0: .line 750
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 751
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            areturn
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/comp/Modules;
    Signature: ()Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;

  public com.sun.tools.javac.code.Symbol$Completer getUsesProvidesCompleter();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol$Completer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Modules this
         0: .line 946
            aload 0 /* this */
            invokedynamic complete(Lcom/sun/tools/javac/comp/Modules;)Lcom/sun/tools/javac/code/Symbol$Completer;
              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:
                  (Lcom/sun/tools/javac/code/Symbol;)V
                  com/sun/tools/javac/comp/Modules.lambda$5(Lcom/sun/tools/javac/code/Symbol;)V (7)
                  (Lcom/sun/tools/javac/code/Symbol;)V
            areturn
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Modules;

  public java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol> allModules();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Modules this
         0: .line 1193
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1194
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
            areturn
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/comp/Modules;
    Signature: ()Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;

  private void setupAllModules();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // com.sun.tools.javac.comp.Modules this
         0: .line 1198
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1199
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
            invokestatic com.sun.tools.javac.util.Assert.checkNull:(Ljava/lang/Object;)V
         2: .line 1203
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.limitModsOpt:Ljava/lang/String;
            ifnonnull 5
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.extraLimitMods:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         3: .line 1204
            aconst_null
            astore 1 /* observable */
        start local 1 // java.util.Set observable
         4: .line 1205
            goto 28
        end local 1 // java.util.Set observable
         5: .line 1206
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* limitMods */
        start local 2 // java.util.Set limitMods
         6: .line 1207
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.limitModsOpt:Ljava/lang/String;
            ifnull 14
         7: .line 1208
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.limitModsOpt:Ljava/lang/String;
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 13
      StackMap locals: com.sun.tools.javac.comp.Modules top java.util.Set top int int java.lang.String[]
      StackMap stack:
         8: aload 6
            iload 4
            aaload
            astore 3 /* limit */
        start local 3 // java.lang.String limit
         9: .line 1209
            aload 0 /* this */
            aload 3 /* limit */
            invokevirtual com.sun.tools.javac.comp.Modules.isValidName:(Ljava/lang/CharSequence;)Z
            ifne 11
        10: .line 1210
            goto 12
        11: .line 1211
      StackMap locals: com.sun.tools.javac.comp.Modules top java.util.Set java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 2 /* limitMods */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 3 /* limit */
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Symtab.enterModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String limit
        12: .line 1208
      StackMap locals: com.sun.tools.javac.comp.Modules top java.util.Set top int int java.lang.String[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        13: iload 4
            iload 5
            if_icmplt 8
        14: .line 1214
      StackMap locals: com.sun.tools.javac.comp.Modules top java.util.Set
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.extraLimitMods:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 17
      StackMap locals: com.sun.tools.javac.comp.Modules top java.util.Set top java.util.Iterator
      StackMap stack:
        15: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* limit */
        start local 3 // java.lang.String limit
        16: .line 1215
            aload 2 /* limitMods */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 3 /* limit */
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Symtab.enterModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String limit
        17: .line 1214
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        18: .line 1217
            aload 0 /* this */
            aload 2 /* limitMods */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            aconst_null
            invokevirtual com.sun.tools.javac.comp.Modules.computeTransitiveClosure:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;)Ljava/util/Set;
            astore 1 /* observable */
        start local 1 // java.util.Set observable
        19: .line 1218
            aload 1 /* observable */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        20: .line 1219
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.lintOptions:Z
            ifeq 28
        21: .line 1220
            aload 2 /* limitMods */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 27
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        22: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 3 /* msym */
        start local 3 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        23: .line 1221
            aload 1 /* observable */
            aload 3 /* msym */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 27
        24: .line 1222
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.code.Lint$LintCategory.OPTIONS:Lcom/sun/tools/javac/code/Lint$LintCategory;
        25: .line 1223
            getstatic com.sun.tools.javac.main.Option.LIMIT_MODULES:Lcom/sun/tools/javac/main/Option;
            aload 3 /* msym */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.ModuleForOptionNotFound:(Lcom/sun/tools/javac/main/Option;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
        26: .line 1222
            invokevirtual com.sun.tools.javac.util.Log.warning:(Lcom/sun/tools/javac/code/Lint$LintCategory;Lcom/sun/tools/javac/util/JCDiagnostic$Warning;)V
        end local 3 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        27: .line 1220
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        end local 2 // java.util.Set limitMods
        28: .line 1229
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set
      StackMap stack:
            aload 0 /* this */
            aload 1 /* observable */
            invokedynamic test(Lcom/sun/tools/javac/comp/Modules;Ljava/util/Set;)Ljava/util/function/Predicate;
              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/comp/Modules.lambda$6(Ljava/util/Set;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z (7)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
            astore 2 /* observablePred */
        start local 2 // java.util.function.Predicate observablePred
        29: .line 1231
            invokedynamic test()Ljava/util/function/Predicate;
              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/comp/Modules.lambda$7(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z (6)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
            astore 3 /* systemModulePred */
        start local 3 // java.util.function.Predicate systemModulePred
        30: .line 1232
            invokedynamic test()Ljava/util/function/Predicate;
              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/comp/Modules.lambda$8(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z (6)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
            astore 4 /* noIncubatorPred */
        start local 4 // java.util.function.Predicate noIncubatorPred
        31: .line 1236
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 5 /* enabledRoot */
        start local 5 // java.util.Set enabledRoot
        32: .line 1238
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 44
        33: .line 1239
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.java_se:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Symtab.getModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 6 /* javaSE */
        start local 6 // com.sun.tools.javac.code.Symbol$ModuleSymbol javaSE
        34: .line 1242
            aload 6 /* javaSE */
            ifnull 38
            aload 1 /* observable */
            ifnull 35
            aload 1 /* observable */
            aload 6 /* javaSE */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 38
        35: .line 1243
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.function.Predicate java.util.Set com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack:
            aload 0 /* this */
            invokedynamic test(Lcom/sun/tools/javac/comp/Modules;)Ljava/util/function/Predicate;
              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/comp/Modules.lambda$9(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z (7)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
            astore 7 /* jdkModulePred */
        start local 7 // java.util.function.Predicate jdkModulePred
        36: .line 1248
            aload 5 /* enabledRoot */
            aload 6 /* javaSE */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        37: .line 1249
            goto 39
        end local 7 // java.util.function.Predicate jdkModulePred
        38: .line 1250
      StackMap locals:
      StackMap stack:
            invokedynamic test()Ljava/util/function/Predicate;
              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/comp/Modules.lambda$11(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z (6)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
            astore 7 /* jdkModulePred */
        start local 7 // java.util.function.Predicate jdkModulePred
        39: .line 1253
      StackMap locals: java.util.function.Predicate
      StackMap stack:
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            invokevirtual com.sun.tools.javac.code.Symtab.getAllModules:()Ljava/util/Collection;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 9
            goto 43
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.function.Predicate java.util.Set com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.function.Predicate top java.util.Iterator
      StackMap stack:
        40: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 8 /* sym */
        start local 8 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
        41: .line 1254
            aload 3 /* systemModulePred */
            aload 8 /* sym */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 43
            aload 2 /* observablePred */
            aload 8 /* sym */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 43
            aload 7 /* jdkModulePred */
            aload 8 /* sym */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 43
            aload 4 /* noIncubatorPred */
            aload 8 /* sym */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 43
        42: .line 1255
            aload 5 /* enabledRoot */
            aload 8 /* sym */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
        43: .line 1253
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 40
        end local 7 // java.util.function.Predicate jdkModulePred
        end local 6 // com.sun.tools.javac.code.Symbol$ModuleSymbol javaSE
        44: .line 1260
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.function.Predicate java.util.Set
      StackMap stack:
            aload 5 /* enabledRoot */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        45: .line 1262
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addModsOpt:Ljava/lang/String;
            ifnonnull 46
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.extraAddMods:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 70
        46: .line 1263
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* fullAddMods */
        start local 6 // java.util.Set fullAddMods
        47: .line 1264
            aload 6 /* fullAddMods */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.extraAddMods:Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        48: .line 1266
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addModsOpt:Ljava/lang/String;
            ifnull 50
        49: .line 1267
            aload 6 /* fullAddMods */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addModsOpt:Ljava/lang/String;
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        50: .line 1270
      StackMap locals: java.util.Set
      StackMap stack:
            aload 6 /* fullAddMods */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 69
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.function.Predicate java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        51: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* added */
        start local 7 // java.lang.String added
        52: .line 1272
            aload 7 /* added */
            dup
            astore 10
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
          -1057501189: 53
           1070226586: 54
              default: 65
          }
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.function.Predicate java.util.Set java.util.Set java.lang.String java.util.Iterator top java.lang.String
      StackMap stack:
        53: aload 10
            ldc "ALL-SYSTEM"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 55
            goto 65
      StackMap locals:
      StackMap stack:
        54: aload 10
            ldc "ALL-MODULE-PATH"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 60
            goto 65
        55: .line 1274
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            invokevirtual com.sun.tools.javac.code.Symtab.getAllModules:()Ljava/util/Collection;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
        56: .line 1275
            invokevirtual java.util.HashSet.stream:()Ljava/util/stream/Stream;
        57: .line 1276
            aload 3 /* systemModulePred */
            aload 2 /* observablePred */
            invokeinterface java.util.function.Predicate.and:(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        58: .line 1274
            astore 9 /* modules */
        start local 9 // java.util.stream.Stream modules
        59: .line 1277
            goto 68
        end local 9 // java.util.stream.Stream modules
        60: .line 1279
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            invokevirtual com.sun.tools.javac.code.Symtab.getAllModules:()Ljava/util/Collection;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
        61: .line 1280
            invokevirtual java.util.HashSet.stream:()Ljava/util/stream/Stream;
        62: .line 1281
            aload 3 /* systemModulePred */
            invokeinterface java.util.function.Predicate.negate:()Ljava/util/function/Predicate;
            aload 2 /* observablePred */
            invokeinterface java.util.function.Predicate.and:(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        63: .line 1279
            astore 9 /* modules */
        start local 9 // java.util.stream.Stream modules
        64: .line 1282
            goto 68
        end local 9 // java.util.stream.Stream modules
        65: .line 1284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* added */
            invokevirtual com.sun.tools.javac.comp.Modules.isValidName:(Ljava/lang/CharSequence;)Z
            ifne 67
        66: .line 1285
            goto 69
        67: .line 1286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 7 /* added */
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Symtab.enterModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokestatic java.util.stream.Stream.of:(Ljava/lang/Object;)Ljava/util/stream/Stream;
            astore 9 /* modules */
        start local 9 // java.util.stream.Stream modules
        68: .line 1289
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.function.Predicate java.util.Set java.util.Set java.lang.String java.util.Iterator java.util.stream.Stream
      StackMap stack:
            aload 9 /* modules */
            aload 5 /* enabledRoot */
            aload 1 /* observable */
            invokedynamic accept(Ljava/util/Set;Ljava/util/Set;)Ljava/util/function/Consumer;
              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;)V
                  com/sun/tools/javac/comp/Modules.lambda$12(Ljava/util/Set;Ljava/util/Set;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V (6)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        end local 9 // java.util.stream.Stream modules
        end local 7 // java.lang.String added
        69: .line 1270
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.function.Predicate java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 51
        end local 6 // java.util.Set fullAddMods
        70: .line 1297
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.function.Predicate java.util.Set
      StackMap stack:
            aload 0 /* this */
            aload 5 /* enabledRoot */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            aload 1 /* observable */
            invokevirtual com.sun.tools.javac.comp.Modules.computeTransitiveClosure:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;)Ljava/util/Set;
            astore 6 /* result */
        start local 6 // java.util.Set result
        71: .line 1299
            aload 6 /* result */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        72: .line 1301
            aload 6 /* result */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            getstatic com.sun.tools.javac.comp.Modules.IS_AUTOMATIC:Ljava/util/function/Predicate;
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            istore 7 /* hasAutomatic */
        start local 7 // boolean hasAutomatic
        73: .line 1303
            iload 7 /* hasAutomatic */
            ifeq 78
        74: .line 1304
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            invokevirtual com.sun.tools.javac.code.Symtab.getAllModules:()Ljava/util/Collection;
        75: .line 1305
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
        76: .line 1306
            getstatic com.sun.tools.javac.comp.Modules.IS_AUTOMATIC:Ljava/util/function/Predicate;
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        77: .line 1307
            aload 6 /* result */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/Set;)Ljava/util/function/Consumer;
              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;)V
                  java/util/Set.add(Ljava/lang/Object;)Z (9 itf)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        78: .line 1310
      StackMap locals: java.util.Set int
      StackMap stack:
            aload 6 /* result */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        79: .line 1311
            invokedynamic test()Ljava/util/function/Predicate;
              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/comp/Modules.lambda$14(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z (6)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        80: .line 1312
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  com/sun/tools/javac/comp/Modules.lambda$15(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/lang/String; (6)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        81: .line 1313
            ldc ","
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
        82: .line 1310
            astore 9 /* incubatingModules */
        start local 9 // java.lang.String incubatingModules
        83: .line 1315
            aload 9 /* incubatingModules */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 85
        84: .line 1316
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 9 /* incubatingModules */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.IncubatingModules:(Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
            invokevirtual com.sun.tools.javac.util.Log.warning:(Lcom/sun/tools/javac/util/JCDiagnostic$Warning;)V
        85: .line 1319
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.function.Predicate java.util.Set java.util.Set int top java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 6 /* result */
            putfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
        86: .line 1322
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.moduleVersionOpt:Ljava/lang/String;
            ifnull 89
        87: .line 1323
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.moduleVersionOpt:Ljava/lang/String;
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            astore 10 /* version */
        start local 10 // com.sun.tools.javac.util.Name version
        88: .line 1324
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            aload 10 /* version */
            invokedynamic accept(Lcom/sun/tools/javac/util/Name;)Ljava/util/function/Consumer;
              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;)V
                  com/sun/tools/javac/comp/Modules.lambda$16(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V (6)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
            invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
        end local 10 // com.sun.tools.javac.util.Name version
        89: .line 1326
      StackMap locals:
      StackMap stack:
            return
        end local 9 // java.lang.String incubatingModules
        end local 7 // boolean hasAutomatic
        end local 6 // java.util.Set result
        end local 5 // java.util.Set enabledRoot
        end local 4 // java.util.function.Predicate noIncubatorPred
        end local 3 // java.util.function.Predicate systemModulePred
        end local 2 // java.util.function.Predicate observablePred
        end local 1 // java.util.Set observable
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   90     0               this  Lcom/sun/tools/javac/comp/Modules;
            4    5     1         observable  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           19   90     1         observable  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            6   28     2          limitMods  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            9   12     3              limit  Ljava/lang/String;
           16   17     3              limit  Ljava/lang/String;
           23   27     3               msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           29   90     2     observablePred  Ljava/util/function/Predicate<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           30   90     3   systemModulePred  Ljava/util/function/Predicate<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           31   90     4    noIncubatorPred  Ljava/util/function/Predicate<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           32   90     5        enabledRoot  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           34   44     6             javaSE  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           36   38     7      jdkModulePred  Ljava/util/function/Predicate<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           39   44     7      jdkModulePred  Ljava/util/function/Predicate<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           41   43     8                sym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           47   70     6        fullAddMods  Ljava/util/Set<Ljava/lang/String;>;
           52   69     7              added  Ljava/lang/String;
           59   60     9            modules  Ljava/util/stream/Stream<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           64   65     9            modules  Ljava/util/stream/Stream<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           68   69     9            modules  Ljava/util/stream/Stream<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           71   90     6             result  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           73   90     7       hasAutomatic  Z
           83   90     9  incubatingModules  Ljava/lang/String;
           88   89    10            version  Lcom/sun/tools/javac/util/Name;

  public boolean isInModuleGraph(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         0: .line 1332
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
            ifnull 1
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
            aload 1 /* msym */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/comp/Modules;
            0    2     1  msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    MethodParameters:
      Name  Flags
      msym  

  private java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol> computeTransitiveClosure(java.util.Set<? extends com.sun.tools.javac.code.Symbol$ModuleSymbol>, java.util.Set<? extends com.sun.tools.javac.code.Symbol$ModuleSymbol>, java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol>);
    descriptor: (Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // java.util.Set base
        start local 2 // java.util.Set rootModules
        start local 3 // java.util.Set observable
         0: .line 1338
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            astore 4 /* primaryTodo */
        start local 4 // com.sun.tools.javac.util.List primaryTodo
         1: .line 1339
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            astore 5 /* secondaryTodo */
        start local 5 // com.sun.tools.javac.util.List secondaryTodo
         2: .line 1341
            aload 1 /* base */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 8
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.Set java.util.Set com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
         3: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 6 /* ms */
        start local 6 // com.sun.tools.javac.code.Symbol$ModuleSymbol ms
         4: .line 1342
            aload 2 /* rootModules */
            aload 6 /* ms */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 1343
            aload 4 /* primaryTodo */
            aload 6 /* ms */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 4 /* primaryTodo */
         6: .line 1344
            goto 8
         7: .line 1345
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.Set java.util.Set com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Iterator
      StackMap stack:
            aload 5 /* secondaryTodo */
            aload 6 /* ms */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 5 /* secondaryTodo */
        end local 6 // com.sun.tools.javac.code.Symbol$ModuleSymbol ms
         8: .line 1341
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.Set java.util.Set com.sun.tools.javac.util.List com.sun.tools.javac.util.List top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 1349
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 6 /* result */
        start local 6 // java.util.Set result
        10: .line 1350
            aload 6 /* result */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.java_base:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 1352
            goto 37
        12: .line 1355
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.Set java.util.Set com.sun.tools.javac.util.List com.sun.tools.javac.util.List java.util.Set
      StackMap stack:
            aload 4 /* primaryTodo */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 17
        13: .line 1356
            aload 4 /* primaryTodo */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 7 /* current */
        start local 7 // com.sun.tools.javac.code.Symbol$ModuleSymbol current
        14: .line 1357
            aload 4 /* primaryTodo */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* primaryTodo */
        15: .line 1358
            iconst_1
            istore 8 /* isPrimaryTodo */
        start local 8 // boolean isPrimaryTodo
        16: .line 1359
            goto 20
        end local 8 // boolean isPrimaryTodo
        end local 7 // com.sun.tools.javac.code.Symbol$ModuleSymbol current
        17: .line 1360
      StackMap locals:
      StackMap stack:
            aload 5 /* secondaryTodo */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 7 /* current */
        start local 7 // com.sun.tools.javac.code.Symbol$ModuleSymbol current
        18: .line 1361
            aload 5 /* secondaryTodo */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 5 /* secondaryTodo */
        19: .line 1362
            iconst_0
            istore 8 /* isPrimaryTodo */
        start local 8 // boolean isPrimaryTodo
        20: .line 1364
      StackMap locals: com.sun.tools.javac.code.Symbol$ModuleSymbol int
      StackMap stack:
            aload 3 /* observable */
            ifnull 22
            aload 3 /* observable */
            aload 7 /* current */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 22
        21: .line 1365
            goto 37
        22: .line 1366
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            aload 7 /* current */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 37
            aload 7 /* current */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            if_acmpeq 37
            aload 7 /* current */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags_field:J
            ldc 4503599627370496
            land
            lconst_0
            lcmp
            ifeq 24
        23: .line 1367
            goto 37
        24: .line 1368
      StackMap locals:
      StackMap stack:
            aload 7 /* current */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
        25: .line 1369
            aload 7 /* current */
            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_acmpne 28
            iload 8 /* isPrimaryTodo */
            ifne 26
            aload 1 /* base */
            aload 7 /* current */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 28
      StackMap locals:
      StackMap stack:
        26: aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.warnedMissing:Ljava/util/Set;
            aload 7 /* current */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 28
        27: .line 1370
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 7 /* current */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ModuleNotFound:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        28: .line 1372
      StackMap locals:
      StackMap stack:
            aload 7 /* current */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 36
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.Set java.util.Set com.sun.tools.javac.util.List com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ModuleSymbol int top java.util.Iterator
      StackMap stack:
        29: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Directive$RequiresDirective
            astore 9 /* rd */
        start local 9 // com.sun.tools.javac.code.Directive$RequiresDirective rd
        30: .line 1373
            aload 9 /* rd */
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.java_base:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            if_acmpne 31
            goto 36
        31: .line 1374
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.Set java.util.Set com.sun.tools.javac.util.List com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ModuleSymbol int com.sun.tools.javac.code.Directive$RequiresDirective java.util.Iterator
      StackMap stack:
            aload 9 /* rd */
            invokevirtual com.sun.tools.javac.code.Directive$RequiresDirective.isTransitive:()Z
            ifeq 32
            iload 8 /* isPrimaryTodo */
            ifne 33
      StackMap locals:
      StackMap stack:
        32: aload 2 /* rootModules */
            aload 7 /* current */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 35
        33: .line 1375
      StackMap locals:
      StackMap stack:
            aload 4 /* primaryTodo */
            aload 9 /* rd */
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 4 /* primaryTodo */
        34: .line 1376
            goto 36
        35: .line 1377
      StackMap locals:
      StackMap stack:
            aload 5 /* secondaryTodo */
            aload 9 /* rd */
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 5 /* secondaryTodo */
        end local 9 // com.sun.tools.javac.code.Directive$RequiresDirective rd
        36: .line 1372
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.Set java.util.Set com.sun.tools.javac.util.List com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ModuleSymbol int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        end local 8 // boolean isPrimaryTodo
        end local 7 // com.sun.tools.javac.code.Symbol$ModuleSymbol current
        37: .line 1352
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.Set java.util.Set com.sun.tools.javac.util.List com.sun.tools.javac.util.List java.util.Set
      StackMap stack:
            aload 4 /* primaryTodo */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 12
            aload 5 /* secondaryTodo */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 12
        38: .line 1382
            aload 6 /* result */
            areturn
        end local 6 // java.util.Set result
        end local 5 // com.sun.tools.javac.util.List secondaryTodo
        end local 4 // com.sun.tools.javac.util.List primaryTodo
        end local 3 // java.util.Set observable
        end local 2 // java.util.Set rootModules
        end local 1 // java.util.Set base
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   39     0           this  Lcom/sun/tools/javac/comp/Modules;
            0   39     1           base  Ljava/util/Set<+Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            0   39     2    rootModules  Ljava/util/Set<+Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            0   39     3     observable  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            1   39     4    primaryTodo  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            2   39     5  secondaryTodo  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            4    8     6             ms  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           10   39     6         result  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           14   17     7        current  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           18   37     7        current  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           16   17     8  isPrimaryTodo  Z
           20   37     8  isPrimaryTodo  Z
           30   36     9             rd  Lcom/sun/tools/javac/code/Directive$RequiresDirective;
    Signature: (Ljava/util/Set<+Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;Ljava/util/Set<+Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;)Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
    MethodParameters:
             Name  Flags
      base         
      rootModules  
      observable   

  public com.sun.tools.javac.code.Symbol$ModuleSymbol getObservableModule(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=2, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.util.Name name
         0: .line 1386
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 1 /* name */
            invokevirtual com.sun.tools.javac.code.Symtab.getModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 2 /* mod */
        start local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol mod
         1: .line 1388
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.allModules:()Ljava/util/Set;
            aload 2 /* mod */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 1389
            aload 2 /* mod */
            areturn
         3: .line 1392
      StackMap locals: com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack:
            aconst_null
            areturn
        end local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol mod
        end local 1 // com.sun.tools.javac.util.Name name
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/comp/Modules;
            0    4     1  name  Lcom/sun/tools/javac/util/Name;
            1    4     2   mod  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    MethodParameters:
      Name  Flags
      name  

  private com.sun.tools.javac.code.Symbol$Completer getUnnamedModuleCompleter();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol$Completer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Modules this
         0: .line 1396
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.moduleFinder:Lcom/sun/tools/javac/code/ModuleFinder;
            invokevirtual com.sun.tools.javac.code.ModuleFinder.findAllModules:()Lcom/sun/tools/javac/util/List;
            pop
         1: .line 1397
            new com.sun.tools.javac.comp.Modules$3
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.Modules$3.<init>:(Lcom/sun/tools/javac/comp/Modules;)V
            areturn
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/comp/Modules;

  private void completeModule(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         0: .line 1423
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.inInitModules:Z
            ifeq 3
         1: .line 1424
            aload 1 /* msym */
            aload 0 /* this */
            aload 1 /* msym */
            invokedynamic complete(Lcom/sun/tools/javac/comp/Modules;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Lcom/sun/tools/javac/code/Symbol$Completer;
              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:
                  (Lcom/sun/tools/javac/code/Symbol;)V
                  com/sun/tools/javac/comp/Modules.lambda$17(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/code/Symbol;)V (7)
                  (Lcom/sun/tools/javac/code/Symbol;)V
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.completer:Lcom/sun/tools/javac/code/Symbol$Completer;
         2: .line 1425
            return
         3: .line 1428
      StackMap locals:
      StackMap stack:
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags_field:J
            ldc 4503599627370496
            land
            lconst_0
            lcmp
            ifeq 5
         4: .line 1429
            aload 0 /* this */
            aload 1 /* msym */
            invokevirtual com.sun.tools.javac.comp.Modules.completeAutomaticModule:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
         5: .line 1432
      StackMap locals:
      StackMap stack:
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 1434
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.initAddReads:()V
         7: .line 1436
            aload 1 /* msym */
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addReads:Ljava/util/Map;
            aload 1 /* msym */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Iterable
            invokestatic com.sun.tools.javac.util.List.from:(Ljava/lang/Iterable;)Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.appendList:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
         8: .line 1438
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
            astore 2 /* requires */
        start local 2 // com.sun.tools.javac.util.List requires
         9: .line 1440
            goto 26
        10: .line 1441
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.allModules:()Ljava/util/Set;
            aload 2 /* requires */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Directive$RequiresDirective
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 25
        11: .line 1442
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.typeEnvs:Lcom/sun/tools/javac/comp/TypeEnvs;
            aload 1 /* msym */
            invokevirtual com.sun.tools.javac.comp.TypeEnvs.get:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/comp/Env;
            astore 3 /* env */
        start local 3 // com.sun.tools.javac.comp.Env env
        12: .line 1443
            aload 3 /* env */
            ifnull 21
        13: .line 1444
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 3 /* env */
            getfield com.sun.tools.javac.comp.Env.toplevel:Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            astore 4 /* origSource */
        start local 4 // javax.tools.JavaFileObject origSource
        14: .line 1446
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 3 /* env */
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            aload 2 /* requires */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Directive$RequiresDirective
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ModuleNotFound:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        15: .line 1447
            goto 19
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.List com.sun.tools.javac.comp.Env javax.tools.JavaFileObject
      StackMap stack: java.lang.Throwable
        16: astore 5
        17: .line 1448
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 4 /* origSource */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        18: .line 1449
            aload 5
            athrow
        19: .line 1448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 4 /* origSource */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        end local 4 // javax.tools.JavaFileObject origSource
        20: .line 1450
            goto 24
        21: .line 1451
      StackMap locals:
      StackMap stack:
            aload 1 /* msym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.flags:()J
            ldc 4503599627370496
            land
            lconst_0
            lcmp
            ifne 22
            iconst_1
            goto 23
      StackMap locals:
      StackMap stack:
        22: iconst_0
      StackMap locals:
      StackMap stack: int
        23: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
        24: .line 1453
      StackMap locals:
      StackMap stack:
            aload 1 /* msym */
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
            aload 2 /* requires */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Directive$RequiresDirective
            invokestatic com.sun.tools.javac.util.List.filter:(Lcom/sun/tools/javac/util/List;Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
        end local 3 // com.sun.tools.javac.comp.Env env
        25: .line 1455
      StackMap locals:
      StackMap stack:
            aload 2 /* requires */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 2 /* requires */
        26: .line 1440
      StackMap locals:
      StackMap stack:
            aload 2 /* requires */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 10
        27: .line 1458
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 3 /* readable */
        start local 3 // java.util.Set readable
        28: .line 1459
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* requiresTransitive */
        start local 4 // java.util.Set requiresTransitive
        29: .line 1461
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 39
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.List java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        30: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Directive$RequiresDirective
            astore 5 /* d */
        start local 5 // com.sun.tools.javac.code.Directive$RequiresDirective d
        31: .line 1462
            aload 5 /* d */
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
        32: .line 1463
            aload 3 /* readable */
            aload 5 /* d */
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        33: .line 1464
            aload 0 /* this */
            aload 5 /* d */
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokevirtual com.sun.tools.javac.comp.Modules.retrieveRequiresTransitive:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/util/Set;
            astore 7 /* s */
        start local 7 // java.util.Set s
        34: .line 1465
            aload 7 /* s */
            aload 5 /* d */
            invokedynamic get(Lcom/sun/tools/javac/code/Directive$RequiresDirective;)Ljava/util/function/Supplier;
              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;
                  com/sun/tools/javac/comp/Modules.lambda$18(Lcom/sun/tools/javac/code/Directive$RequiresDirective;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;
            pop
        35: .line 1466
            aload 3 /* readable */
            aload 7 /* s */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        36: .line 1467
            aload 5 /* d */
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.flags:Ljava/util/Set;
            getstatic com.sun.tools.javac.code.Directive$RequiresFlag.TRANSITIVE:Lcom/sun/tools/javac/code/Directive$RequiresFlag;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 39
        37: .line 1468
            aload 4 /* requiresTransitive */
            aload 5 /* d */
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        38: .line 1469
            aload 4 /* requiresTransitive */
            aload 7 /* s */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // java.util.Set s
        end local 5 // com.sun.tools.javac.code.Directive$RequiresDirective d
        39: .line 1461
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        40: .line 1473
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.requiresTransitiveCache:Ljava/util/Map;
            aload 1 /* msym */
            aload 4 /* requiresTransitive */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        41: .line 1474
            aload 0 /* this */
            aload 1 /* msym */
            aload 3 /* readable */
            invokevirtual com.sun.tools.javac.comp.Modules.initVisiblePackages:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Collection;)V
        42: .line 1475
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.exports:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 46
      StackMap locals:
      StackMap stack:
        43: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Directive$ExportsDirective
            astore 5 /* d */
        start local 5 // com.sun.tools.javac.code.Directive$ExportsDirective d
        44: .line 1476
            aload 5 /* d */
            getfield com.sun.tools.javac.code.Directive$ExportsDirective.packge:Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
            ifnull 46
        45: .line 1477
            aload 5 /* d */
            getfield com.sun.tools.javac.code.Directive$ExportsDirective.packge:Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
            aload 1 /* msym */
            putfield com.sun.tools.javac.code.Symbol$PackageSymbol.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        end local 5 // com.sun.tools.javac.code.Directive$ExportsDirective d
        46: .line 1475
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 43
        47: .line 1481
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allowAccessIntoSystem:Z
            ifne 50
            aload 1 /* msym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.flags:()J
            ldc 9007199254740992
            land
            lconst_0
            lcmp
            ifeq 50
        48: .line 1482
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
            ifnull 50
        49: .line 1483
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* msym */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.PatchModuleWithRelease:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        50: .line 1485
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.util.List java.util.Set java.util.Set
      StackMap stack:
            return
        end local 4 // java.util.Set requiresTransitive
        end local 3 // java.util.Set readable
        end local 2 // com.sun.tools.javac.util.List requires
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   51     0                this  Lcom/sun/tools/javac/comp/Modules;
            0   51     1                msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            9   51     2            requires  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Directive$RequiresDirective;>;
           12   25     3                 env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
           14   20     4          origSource  Ljavax/tools/JavaFileObject;
           28   51     3            readable  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           29   51     4  requiresTransitive  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           31   39     5                   d  Lcom/sun/tools/javac/code/Directive$RequiresDirective;
           34   39     7                   s  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           44   46     5                   d  Lcom/sun/tools/javac/code/Directive$ExportsDirective;
      Exception table:
        from    to  target  type
          14    16      16  any
    MethodParameters:
      Name  Flags
      msym  

  private java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol> retrieveRequiresTransitive(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         0: .line 1488
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.requiresTransitiveCache:Ljava/util/Map;
            aload 1 /* msym */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 2 /* requiresTransitive */
        start local 2 // java.util.Set requiresTransitive
         1: .line 1490
            aload 2 /* requiresTransitive */
            ifnonnull 27
         2: .line 1492
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* requiresTransitive */
         3: .line 1494
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* seen */
        start local 3 // java.util.Set seen
         4: .line 1495
            aload 1 /* msym */
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 4 /* todo */
        start local 4 // com.sun.tools.javac.util.List todo
         5: .line 1497
            goto 25
         6: .line 1498
      StackMap locals: java.util.Set java.util.Set com.sun.tools.javac.util.List
      StackMap stack:
            aload 4 /* todo */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 5 /* current */
        start local 5 // com.sun.tools.javac.code.Symbol$ModuleSymbol current
         7: .line 1499
            aload 4 /* todo */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* todo */
         8: .line 1500
            aload 3 /* seen */
            aload 5 /* current */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 10
         9: .line 1501
            goto 25
        10: .line 1502
      StackMap locals: com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack:
            aload 2 /* requiresTransitive */
            aload 5 /* current */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 1503
            aload 5 /* current */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
        12: .line 1505
            aload 5 /* current */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            if_acmpeq 21
        13: .line 1506
            aload 5 /* current */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
            aload 5 /* current */
            aload 1 /* msym */
            invokedynamic get(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/util/function/Supplier;
              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;
                  com/sun/tools/javac/comp/Modules.lambda$19(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;
            pop
        14: .line 1507
            aload 5 /* current */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
            astore 6 /* requires */
        start local 6 // java.lang.Iterable requires
        15: .line 1508
            aload 6 /* requires */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 8
            goto 19
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Set java.util.Set com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol$ModuleSymbol java.lang.Iterable top java.util.Iterator
      StackMap stack:
        16: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Directive$RequiresDirective
            astore 7 /* rd */
        start local 7 // com.sun.tools.javac.code.Directive$RequiresDirective rd
        17: .line 1509
            aload 7 /* rd */
            invokevirtual com.sun.tools.javac.code.Directive$RequiresDirective.isTransitive:()Z
            ifeq 19
        18: .line 1510
            aload 4 /* todo */
            aload 7 /* rd */
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 4 /* todo */
        end local 7 // com.sun.tools.javac.code.Directive$RequiresDirective rd
        19: .line 1508
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        20: .line 1512
            goto 25
        end local 6 // java.lang.Iterable requires
        21: .line 1513
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Set java.util.Set com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.allModules:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 24
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Set java.util.Set com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol$ModuleSymbol top top java.util.Iterator
      StackMap stack:
        22: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 7 /* mod */
        start local 7 // com.sun.tools.javac.code.Symbol$ModuleSymbol mod
        23: .line 1514
            aload 4 /* todo */
            aload 7 /* mod */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 4 /* todo */
        end local 7 // com.sun.tools.javac.code.Symbol$ModuleSymbol mod
        24: .line 1513
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        end local 5 // com.sun.tools.javac.code.Symbol$ModuleSymbol current
        25: .line 1497
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Set java.util.Set com.sun.tools.javac.util.List
      StackMap stack:
            aload 4 /* todo */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 6
        26: .line 1519
            aload 2 /* requiresTransitive */
            aload 1 /* msym */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        end local 4 // com.sun.tools.javac.util.List todo
        end local 3 // java.util.Set seen
        27: .line 1522
      StackMap locals:
      StackMap stack:
            aload 2 /* requiresTransitive */
            areturn
        end local 2 // java.util.Set requiresTransitive
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   28     0                this  Lcom/sun/tools/javac/comp/Modules;
            0   28     1                msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            1   28     2  requiresTransitive  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            4   27     3                seen  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            5   27     4                todo  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            7   25     5             current  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           15   21     6            requires  Ljava/lang/Iterable<+Lcom/sun/tools/javac/code/Directive$RequiresDirective;>;
           17   19     7                  rd  Lcom/sun/tools/javac/code/Directive$RequiresDirective;
           23   24     7                 mod  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    Signature: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
    MethodParameters:
      Name  Flags
      msym  

  private void initVisiblePackages(com.sun.tools.javac.code.Symbol$ModuleSymbol, java.util.Collection<com.sun.tools.javac.code.Symbol$ModuleSymbol>);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Collection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        start local 2 // java.util.Collection readable
         0: .line 1526
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.initAddExports:()V
         1: .line 1528
            aload 1 /* msym */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.visiblePackages:Ljava/util/Map;
         2: .line 1529
            aload 1 /* msym */
            new java.util.HashSet
            dup
            aload 2 /* readable */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.readModules:Ljava/util/Set;
         3: .line 1531
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* seen */
        start local 3 // java.util.Map seen
         4: .line 1533
            aload 2 /* readable */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Collection java.util.Map top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 4 /* rm */
        start local 4 // com.sun.tools.javac.code.Symbol$ModuleSymbol rm
         6: .line 1534
            aload 4 /* rm */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            if_acmpne 8
         7: .line 1535
            goto 9
         8: .line 1536
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Collection java.util.Map com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 1 /* msym */
            aload 3 /* seen */
            aload 4 /* rm */
            aload 4 /* rm */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.exports:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Modules.addVisiblePackages:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Map;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Collection;)V
        end local 4 // com.sun.tools.javac.code.Symbol$ModuleSymbol rm
         9: .line 1533
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Collection java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 1539
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addExports:Ljava/util/Map;
            aload 0 /* this */
            aload 1 /* msym */
            aload 3 /* seen */
            invokedynamic accept(Lcom/sun/tools/javac/comp/Modules;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Map;)Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  com/sun/tools/javac/comp/Modules.lambda$20(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Map;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Set;)V (7)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Set;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
        11: .line 1542
            return
        end local 3 // java.util.Map seen
        end local 2 // java.util.Collection readable
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lcom/sun/tools/javac/comp/Modules;
            0   12     1      msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            0   12     2  readable  Ljava/util/Collection<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            4   12     3      seen  Ljava/util/Map<Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            6    9     4        rm  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    Signature: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Collection<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;)V
    MethodParameters:
          Name  Flags
      msym      
      readable  

  private void addVisiblePackages(com.sun.tools.javac.code.Symbol$ModuleSymbol, java.util.Map<com.sun.tools.javac.util.Name, com.sun.tools.javac.code.Symbol$ModuleSymbol>, com.sun.tools.javac.code.Symbol$ModuleSymbol, java.util.Collection<com.sun.tools.javac.code.Directive$ExportsDirective>);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Map;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Collection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=5
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        start local 2 // java.util.Map seenPackages
        start local 3 // com.sun.tools.javac.code.Symbol$ModuleSymbol exportsFrom
        start local 4 // java.util.Collection exports
         0: .line 1548
            aload 4 /* exports */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 31
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Map com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Collection top java.util.Iterator
      StackMap stack:
         1: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Directive$ExportsDirective
            astore 5 /* d */
        start local 5 // com.sun.tools.javac.code.Directive$ExportsDirective d
         2: .line 1549
            aload 5 /* d */
            getfield com.sun.tools.javac.code.Directive$ExportsDirective.modules:Lcom/sun/tools/javac/util/List;
            ifnull 3
            aload 5 /* d */
            getfield com.sun.tools.javac.code.Directive$ExportsDirective.modules:Lcom/sun/tools/javac/util/List;
            aload 1 /* msym */
            invokevirtual com.sun.tools.javac.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 31
         3: .line 1550
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Map com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Collection com.sun.tools.javac.code.Directive$ExportsDirective java.util.Iterator
      StackMap stack:
            aload 5 /* d */
            getfield com.sun.tools.javac.code.Directive$ExportsDirective.packge:Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
            getfield com.sun.tools.javac.code.Symbol$PackageSymbol.fullname:Lcom/sun/tools/javac/util/Name;
            astore 7 /* packageName */
        start local 7 // com.sun.tools.javac.util.Name packageName
         4: .line 1551
            aload 2 /* seenPackages */
            aload 7 /* packageName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 8 /* previousModule */
        start local 8 // com.sun.tools.javac.code.Symbol$ModuleSymbol previousModule
         5: .line 1553
            aload 8 /* previousModule */
            ifnull 29
            aload 8 /* previousModule */
            aload 3 /* exportsFrom */
            if_acmpeq 29
         6: .line 1554
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.typeEnvs:Lcom/sun/tools/javac/comp/TypeEnvs;
            aload 1 /* msym */
            invokevirtual com.sun.tools.javac.comp.TypeEnvs.get:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/comp/Env;
            astore 9 /* env */
        start local 9 // com.sun.tools.javac.comp.Env env
         7: .line 1555
            aload 9 /* env */
            ifnull 8
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 9 /* env */
            getfield com.sun.tools.javac.comp.Env.toplevel:Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            goto 9
         8: .line 1556
      StackMap locals: com.sun.tools.javac.util.Name com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.comp.Env
      StackMap stack:
            aconst_null
         9: .line 1555
      StackMap locals:
      StackMap stack: javax.tools.JavaFileObject
            astore 10 /* origSource */
        start local 10 // javax.tools.JavaFileObject origSource
        10: .line 1557
            aload 9 /* env */
            ifnull 11
            aload 9 /* env */
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            invokevirtual com.sun.tools.javac.tree.JCTree.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            goto 12
      StackMap locals: javax.tools.JavaFileObject
      StackMap stack:
        11: aconst_null
      StackMap locals:
      StackMap stack: com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition
        12: astore 11 /* pos */
        start local 11 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        13: .line 1559
            aload 1 /* msym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.isUnnamed:()Z
            ifeq 18
        14: .line 1560
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 11 /* pos */
            aload 7 /* packageName */
        15: .line 1561
            aload 8 /* previousModule */
            aload 3 /* exportsFrom */
        16: .line 1560
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.PackageClashFromRequiresInUnnamed:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        17: .line 1562
            goto 26
        18: .line 1563
      StackMap locals: com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 11 /* pos */
            aload 1 /* msym */
            aload 7 /* packageName */
        19: .line 1564
            aload 8 /* previousModule */
            aload 3 /* exportsFrom */
        20: .line 1563
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.PackageClashFromRequires:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        21: .line 1566
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 12
        23: .line 1567
            aload 9 /* env */
            ifnull 25
        24: .line 1568
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 10 /* origSource */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        25: .line 1569
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 12
            athrow
        26: .line 1567
      StackMap locals:
      StackMap stack:
            aload 9 /* env */
            ifnull 31
        27: .line 1568
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 10 /* origSource */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        28: .line 1570
            goto 31
        end local 11 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        end local 10 // javax.tools.JavaFileObject origSource
        end local 9 // com.sun.tools.javac.comp.Env env
        29: .line 1573
      StackMap locals:
      StackMap stack:
            aload 2 /* seenPackages */
            aload 7 /* packageName */
            aload 3 /* exportsFrom */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 1574
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.visiblePackages:Ljava/util/Map;
            aload 5 /* d */
            getfield com.sun.tools.javac.code.Directive$ExportsDirective.packge:Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
            getfield com.sun.tools.javac.code.Symbol$PackageSymbol.fullname:Lcom/sun/tools/javac/util/Name;
            aload 5 /* d */
            getfield com.sun.tools.javac.code.Directive$ExportsDirective.packge:Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // com.sun.tools.javac.code.Symbol$ModuleSymbol previousModule
        end local 7 // com.sun.tools.javac.util.Name packageName
        end local 5 // com.sun.tools.javac.code.Directive$ExportsDirective d
        31: .line 1548
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Map com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        32: .line 1577
            return
        end local 4 // java.util.Collection exports
        end local 3 // com.sun.tools.javac.code.Symbol$ModuleSymbol exportsFrom
        end local 2 // java.util.Map seenPackages
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   33     0            this  Lcom/sun/tools/javac/comp/Modules;
            0   33     1            msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            0   33     2    seenPackages  Ljava/util/Map<Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            0   33     3     exportsFrom  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            0   33     4         exports  Ljava/util/Collection<Lcom/sun/tools/javac/code/Directive$ExportsDirective;>;
            2   31     5               d  Lcom/sun/tools/javac/code/Directive$ExportsDirective;
            4   31     7     packageName  Lcom/sun/tools/javac/util/Name;
            5   31     8  previousModule  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            7   29     9             env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
           10   29    10      origSource  Ljavax/tools/JavaFileObject;
           13   29    11             pos  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
      Exception table:
        from    to  target  type
          13    22      22  any
    Signature: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Map<Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Collection<Lcom/sun/tools/javac/code/Directive$ExportsDirective;>;)V
    MethodParameters:
              Name  Flags
      msym          
      seenPackages  
      exportsFrom   
      exports       

  private void initAddExports();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=19, args_size=1
        start local 0 // com.sun.tools.javac.comp.Modules this
         0: .line 1580
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addExports:Ljava/util/Map;
            ifnull 2
         1: .line 1581
            return
         2: .line 1583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield com.sun.tools.javac.comp.Modules.addExports:Ljava/util/Map;
         3: .line 1584
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* unknownModules */
        start local 1 // java.util.Set unknownModules
         4: .line 1586
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addExportsOpt:Ljava/lang/String;
            ifnonnull 6
         5: .line 1587
            return
         6: .line 1589
      StackMap locals: java.util.Set
      StackMap stack:
            ldc "([^/]+)/([^=]+)=(.*)"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            astore 2 /* ep */
        start local 2 // java.util.regex.Pattern ep
         7: .line 1590
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addExportsOpt:Ljava/lang/String;
            ldc "\u0000+"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 47
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.regex.Pattern top int int java.lang.String[]
      StackMap stack:
         8: aload 6
            iload 4
            aaload
            astore 3 /* s */
        start local 3 // java.lang.String s
         9: .line 1591
            aload 3 /* s */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 11
        10: .line 1592
            goto 46
        11: .line 1593
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.regex.Pattern java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 2 /* ep */
            aload 3 /* s */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 7 /* em */
        start local 7 // java.util.regex.Matcher em
        12: .line 1594
            aload 7 /* em */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifne 14
        13: .line 1595
            goto 46
        14: .line 1602
      StackMap locals: java.util.regex.Matcher
      StackMap stack:
            aload 7 /* em */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 8 /* moduleName */
        start local 8 // java.lang.String moduleName
        15: .line 1603
            aload 7 /* em */
            iconst_2
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 9 /* packageName */
        start local 9 // java.lang.String packageName
        16: .line 1604
            aload 7 /* em */
            iconst_3
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 10 /* targetNames */
        start local 10 // java.lang.String targetNames
        17: .line 1606
            aload 0 /* this */
            aload 8 /* moduleName */
            invokevirtual com.sun.tools.javac.comp.Modules.isValidName:(Ljava/lang/CharSequence;)Z
            ifne 19
        18: .line 1607
            goto 46
        19: .line 1609
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 8 /* moduleName */
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Symtab.enterModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 11 /* msym */
        start local 11 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        20: .line 1610
            aload 0 /* this */
            aload 11 /* msym */
            aload 1 /* unknownModules */
            invokevirtual com.sun.tools.javac.comp.Modules.isKnownModule:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Set;)Z
            ifne 22
        21: .line 1611
            goto 46
        22: .line 1613
      StackMap locals: com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack:
            aload 0 /* this */
            aload 9 /* packageName */
            invokevirtual com.sun.tools.javac.comp.Modules.isValidName:(Ljava/lang/CharSequence;)Z
            ifne 24
        23: .line 1614
            goto 46
        24: .line 1616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allowAccessIntoSystem:Z
            ifne 27
            aload 11 /* msym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.flags:()J
            ldc 9007199254740992
            land
            lconst_0
            lcmp
            ifeq 27
        25: .line 1617
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 11 /* msym */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.AddExportsWithRelease:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        26: .line 1618
            goto 46
        27: .line 1621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 11 /* msym */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 9 /* packageName */
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Symtab.enterPackage:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
            astore 12 /* p */
        start local 12 // com.sun.tools.javac.code.Symbol$PackageSymbol p
        28: .line 1622
            aload 12 /* p */
            aload 11 /* msym */
            putfield com.sun.tools.javac.code.Symbol$PackageSymbol.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        29: .line 1624
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            astore 13 /* targetModules */
        start local 13 // com.sun.tools.javac.util.List targetModules
        30: .line 1625
            aload 10 /* targetNames */
            ldc "[ ,]+"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 17
            arraylength
            istore 16
            iconst_0
            istore 15
            goto 42
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.regex.Pattern java.lang.String int int java.lang.String[] java.util.regex.Matcher java.lang.String java.lang.String java.lang.String com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.code.Symbol$PackageSymbol com.sun.tools.javac.util.List top int int java.lang.String[]
      StackMap stack:
        31: aload 17
            iload 15
            aaload
            astore 14 /* toModule */
        start local 14 // java.lang.String toModule
        32: .line 1627
            aload 14 /* toModule */
            ldc "ALL-UNNAMED"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
        33: .line 1628
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 18 /* m */
        start local 18 // com.sun.tools.javac.code.Symbol$ModuleSymbol m
        34: .line 1629
            goto 40
        end local 18 // com.sun.tools.javac.code.Symbol$ModuleSymbol m
        35: .line 1630
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.regex.Pattern java.lang.String int int java.lang.String[] java.util.regex.Matcher java.lang.String java.lang.String java.lang.String com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.code.Symbol$PackageSymbol com.sun.tools.javac.util.List java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            aload 14 /* toModule */
            invokevirtual com.sun.tools.javac.comp.Modules.isValidName:(Ljava/lang/CharSequence;)Z
            ifne 37
        36: .line 1631
            goto 41
        37: .line 1632
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 14 /* toModule */
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Symtab.enterModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 18 /* m */
        start local 18 // com.sun.tools.javac.code.Symbol$ModuleSymbol m
        38: .line 1633
            aload 0 /* this */
            aload 18 /* m */
            aload 1 /* unknownModules */
            invokevirtual com.sun.tools.javac.comp.Modules.isKnownModule:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Set;)Z
            ifne 40
        39: .line 1634
            goto 41
        40: .line 1636
      StackMap locals: com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack:
            aload 13 /* targetModules */
            aload 18 /* m */
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 13 /* targetModules */
        end local 18 // com.sun.tools.javac.code.Symbol$ModuleSymbol m
        end local 14 // java.lang.String toModule
        41: .line 1625
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.regex.Pattern java.lang.String int int java.lang.String[] java.util.regex.Matcher java.lang.String java.lang.String java.lang.String com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.code.Symbol$PackageSymbol com.sun.tools.javac.util.List top int int java.lang.String[]
      StackMap stack:
            iinc 15 1
      StackMap locals:
      StackMap stack:
        42: iload 15
            iload 16
            if_icmplt 31
        43: .line 1639
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addExports:Ljava/util/Map;
            aload 11 /* msym */
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  com/sun/tools/javac/comp/Modules.lambda$21(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/util/Set; (6)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/util/Set;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 14 /* extra */
        start local 14 // java.util.Set extra
        44: .line 1640
            new com.sun.tools.javac.code.Directive$ExportsDirective
            dup
            aload 12 /* p */
            aload 13 /* targetModules */
            invokespecial com.sun.tools.javac.code.Directive$ExportsDirective.<init>:(Lcom/sun/tools/javac/code/Symbol$PackageSymbol;Lcom/sun/tools/javac/util/List;)V
            astore 15 /* d */
        start local 15 // com.sun.tools.javac.code.Directive$ExportsDirective d
        45: .line 1641
            aload 14 /* extra */
            aload 15 /* d */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // com.sun.tools.javac.code.Directive$ExportsDirective d
        end local 14 // java.util.Set extra
        end local 13 // com.sun.tools.javac.util.List targetModules
        end local 12 // com.sun.tools.javac.code.Symbol$PackageSymbol p
        end local 11 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 10 // java.lang.String targetNames
        end local 9 // java.lang.String packageName
        end local 8 // java.lang.String moduleName
        end local 7 // java.util.regex.Matcher em
        end local 3 // java.lang.String s
        46: .line 1590
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.regex.Pattern top int int java.lang.String[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        47: iload 4
            iload 5
            if_icmplt 8
        48: .line 1643
            return
        end local 2 // java.util.regex.Pattern ep
        end local 1 // java.util.Set unknownModules
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   49     0            this  Lcom/sun/tools/javac/comp/Modules;
            4   49     1  unknownModules  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            7   49     2              ep  Ljava/util/regex/Pattern;
            9   46     3               s  Ljava/lang/String;
           12   46     7              em  Ljava/util/regex/Matcher;
           15   46     8      moduleName  Ljava/lang/String;
           16   46     9     packageName  Ljava/lang/String;
           17   46    10     targetNames  Ljava/lang/String;
           20   46    11            msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           28   46    12               p  Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
           30   46    13   targetModules  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           32   41    14        toModule  Ljava/lang/String;
           34   35    18               m  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           38   41    18               m  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           44   46    14           extra  Ljava/util/Set<Lcom/sun/tools/javac/code/Directive$ExportsDirective;>;
           45   46    15               d  Lcom/sun/tools/javac/code/Directive$ExportsDirective;

  private boolean isKnownModule(com.sun.tools.javac.code.Symbol$ModuleSymbol, java.util.Set<com.sun.tools.javac.code.Symbol$ModuleSymbol>);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Set;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        start local 2 // java.util.Set unknownModules
         0: .line 1646
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
            aload 1 /* msym */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1647
            iconst_1
            ireturn
         2: .line 1650
      StackMap locals:
      StackMap stack:
            aload 2 /* unknownModules */
            aload 1 /* msym */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 8
         3: .line 1651
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.lintOptions:Z
            ifeq 7
         4: .line 1652
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.code.Lint$LintCategory.OPTIONS:Lcom/sun/tools/javac/code/Lint$LintCategory;
         5: .line 1653
            getstatic com.sun.tools.javac.main.Option.ADD_EXPORTS:Lcom/sun/tools/javac/main/Option;
            aload 1 /* msym */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.ModuleForOptionNotFound:(Lcom/sun/tools/javac/main/Option;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
         6: .line 1652
            invokevirtual com.sun.tools.javac.util.Log.warning:(Lcom/sun/tools/javac/code/Lint$LintCategory;Lcom/sun/tools/javac/util/JCDiagnostic$Warning;)V
         7: .line 1655
      StackMap locals:
      StackMap stack:
            aload 2 /* unknownModules */
            aload 1 /* msym */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1657
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.util.Set unknownModules
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lcom/sun/tools/javac/comp/Modules;
            0    9     1            msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            0    9     2  unknownModules  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
    Signature: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;)Z
    MethodParameters:
                Name  Flags
      msym            
      unknownModules  

  private void initAddReads();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=1
        start local 0 // com.sun.tools.javac.comp.Modules this
         0: .line 1661
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addReads:Ljava/util/Map;
            ifnull 2
         1: .line 1662
            return
         2: .line 1664
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield com.sun.tools.javac.comp.Modules.addReads:Ljava/util/Map;
         3: .line 1666
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addReadsOpt:Ljava/lang/String;
            ifnonnull 5
         4: .line 1667
            return
         5: .line 1669
      StackMap locals:
      StackMap stack:
            ldc "([^=]+)=(.*)"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            astore 1 /* rp */
        start local 1 // java.util.regex.Pattern rp
         6: .line 1670
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addReadsOpt:Ljava/lang/String;
            ldc "\u0000+"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 42
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.regex.Pattern top int int java.lang.String[]
      StackMap stack:
         7: aload 5
            iload 3
            aaload
            astore 2 /* s */
        start local 2 // java.lang.String s
         8: .line 1671
            aload 2 /* s */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 10
         9: .line 1672
            goto 41
        10: .line 1673
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.regex.Pattern java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 1 /* rp */
            aload 2 /* s */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 6 /* rm */
        start local 6 // java.util.regex.Matcher rm
        11: .line 1674
            aload 6 /* rm */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifne 13
        12: .line 1675
            goto 41
        13: .line 1682
      StackMap locals: java.util.regex.Matcher
      StackMap stack:
            aload 6 /* rm */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 7 /* sourceName */
        start local 7 // java.lang.String sourceName
        14: .line 1683
            aload 6 /* rm */
            iconst_2
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 8 /* targetNames */
        start local 8 // java.lang.String targetNames
        15: .line 1685
            aload 0 /* this */
            aload 7 /* sourceName */
            invokevirtual com.sun.tools.javac.comp.Modules.isValidName:(Ljava/lang/CharSequence;)Z
            ifne 17
        16: .line 1686
            goto 41
        17: .line 1688
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 7 /* sourceName */
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            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
        18: .line 1689
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
            aload 9 /* msym */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 22
        19: .line 1690
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.lintOptions:Z
            ifeq 41
        20: .line 1691
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.main.Option.ADD_READS:Lcom/sun/tools/javac/main/Option;
            aload 9 /* msym */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.ModuleForOptionNotFound:(Lcom/sun/tools/javac/main/Option;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
            invokevirtual com.sun.tools.javac.util.Log.warning:(Lcom/sun/tools/javac/util/JCDiagnostic$Warning;)V
        21: .line 1693
            goto 41
        22: .line 1696
      StackMap locals: com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allowAccessIntoSystem:Z
            ifne 25
            aload 9 /* msym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.flags:()J
            ldc 9007199254740992
            land
            lconst_0
            lcmp
            ifeq 25
        23: .line 1697
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 9 /* msym */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.AddReadsWithRelease:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        24: .line 1698
            goto 41
        25: .line 1701
      StackMap locals:
      StackMap stack:
            aload 8 /* targetNames */
            ldc "[ ,]+"
            iconst_m1
            invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 40
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.regex.Pattern java.lang.String int int java.lang.String[] java.util.regex.Matcher java.lang.String java.lang.String com.sun.tools.javac.code.Symbol$ModuleSymbol top int int java.lang.String[]
      StackMap stack:
        26: aload 13
            iload 11
            aaload
            astore 10 /* targetName */
        start local 10 // java.lang.String targetName
        27: .line 1703
            aload 10 /* targetName */
            ldc "ALL-UNNAMED"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
        28: .line 1704
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.unnamedModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 14 /* targetModule */
        start local 14 // com.sun.tools.javac.code.Symbol$ModuleSymbol targetModule
        29: .line 1705
            goto 37
        end local 14 // com.sun.tools.javac.code.Symbol$ModuleSymbol targetModule
        30: .line 1706
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.regex.Pattern java.lang.String int int java.lang.String[] java.util.regex.Matcher java.lang.String java.lang.String com.sun.tools.javac.code.Symbol$ModuleSymbol java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            aload 10 /* targetName */
            invokevirtual com.sun.tools.javac.comp.Modules.isValidName:(Ljava/lang/CharSequence;)Z
            ifne 32
        31: .line 1707
            goto 39
        32: .line 1708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
            aload 10 /* targetName */
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Symtab.enterModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 14 /* targetModule */
        start local 14 // com.sun.tools.javac.code.Symbol$ModuleSymbol targetModule
        33: .line 1709
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
            aload 14 /* targetModule */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 37
        34: .line 1710
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.lintOptions:Z
            ifeq 39
        35: .line 1711
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.code.Lint$LintCategory.OPTIONS:Lcom/sun/tools/javac/code/Lint$LintCategory;
            getstatic com.sun.tools.javac.main.Option.ADD_READS:Lcom/sun/tools/javac/main/Option;
            aload 14 /* targetModule */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.ModuleForOptionNotFound:(Lcom/sun/tools/javac/main/Option;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
            invokevirtual com.sun.tools.javac.util.Log.warning:(Lcom/sun/tools/javac/code/Lint$LintCategory;Lcom/sun/tools/javac/util/JCDiagnostic$Warning;)V
        36: .line 1713
            goto 39
        37: .line 1716
      StackMap locals: com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addReads:Ljava/util/Map;
            aload 9 /* msym */
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  com/sun/tools/javac/comp/Modules.lambda$22(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/util/Set; (6)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/util/Set;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Set
        38: .line 1717
            new com.sun.tools.javac.code.Directive$RequiresDirective
            dup
            aload 14 /* targetModule */
            getstatic com.sun.tools.javac.code.Directive$RequiresFlag.EXTRA:Lcom/sun/tools/javac/code/Directive$RequiresFlag;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            invokespecial com.sun.tools.javac.code.Directive$RequiresDirective.<init>:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Set;)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // com.sun.tools.javac.code.Symbol$ModuleSymbol targetModule
        end local 10 // java.lang.String targetName
        39: .line 1701
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.regex.Pattern java.lang.String int int java.lang.String[] java.util.regex.Matcher java.lang.String java.lang.String com.sun.tools.javac.code.Symbol$ModuleSymbol top int int java.lang.String[]
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        40: iload 11
            iload 12
            if_icmplt 26
        end local 9 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 8 // java.lang.String targetNames
        end local 7 // java.lang.String sourceName
        end local 6 // java.util.regex.Matcher rm
        end local 2 // java.lang.String s
        41: .line 1670
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.regex.Pattern top int int java.lang.String[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        42: iload 3
            iload 4
            if_icmplt 7
        43: .line 1720
            return
        end local 1 // java.util.regex.Pattern rp
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   44     0          this  Lcom/sun/tools/javac/comp/Modules;
            6   44     1            rp  Ljava/util/regex/Pattern;
            8   41     2             s  Ljava/lang/String;
           11   41     6            rm  Ljava/util/regex/Matcher;
           14   41     7    sourceName  Ljava/lang/String;
           15   41     8   targetNames  Ljava/lang/String;
           18   41     9          msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           27   39    10    targetName  Ljava/lang/String;
           29   30    14  targetModule  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           33   39    14  targetModule  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  private void checkCyclicDependencies(com.sun.tools.javac.tree.JCTree$JCModuleDecl);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCModuleDecl mod
         0: .line 1723
            aload 1 /* mod */
            getfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.directives:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 25
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.tree.JCTree$JCModuleDecl top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCDirective
            astore 2 /* d */
        start local 2 // com.sun.tools.javac.tree.JCTree$JCDirective d
         2: .line 1725
            aload 2 /* d */
            getstatic com.sun.tools.javac.tree.JCTree$Tag.REQUIRES:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$JCDirective.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
            ifeq 25
            aload 2 /* d */
            checkcast com.sun.tools.javac.tree.JCTree$JCRequires
            dup
            astore 4 /* rd */
        start local 4 // com.sun.tools.javac.tree.JCTree$JCRequires rd
         3: getfield com.sun.tools.javac.tree.JCTree$JCRequires.directive:Lcom/sun/tools/javac/code/Directive$RequiresDirective;
            ifnonnull 5
        end local 4 // com.sun.tools.javac.tree.JCTree$JCRequires rd
         4: .line 1726
            goto 25
        start local 4 // com.sun.tools.javac.tree.JCTree$JCRequires rd
         5: .line 1727
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.tree.JCTree$JCModuleDecl com.sun.tools.javac.tree.JCTree$JCDirective java.util.Iterator com.sun.tools.javac.tree.JCTree$JCRequires
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* nonSyntheticDeps */
        start local 5 // java.util.Set nonSyntheticDeps
         6: .line 1728
            aload 4 /* rd */
            getfield com.sun.tools.javac.tree.JCTree$JCRequires.directive:Lcom/sun/tools/javac/code/Directive$RequiresDirective;
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 6 /* queue */
        start local 6 // com.sun.tools.javac.util.List queue
         7: .line 1729
            goto 21
         8: .line 1730
      StackMap locals: java.util.Set com.sun.tools.javac.util.List
      StackMap stack:
            aload 6 /* queue */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 7 /* current */
        start local 7 // com.sun.tools.javac.code.Symbol$ModuleSymbol current
         9: .line 1731
            aload 6 /* queue */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 6 /* queue */
        10: .line 1732
            aload 5 /* nonSyntheticDeps */
            aload 7 /* current */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 12
        11: .line 1733
            goto 21
        12: .line 1734
      StackMap locals: com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack:
            aload 7 /* current */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
        13: .line 1735
            aload 7 /* current */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.flags:()J
            ldc 1073741824
            land
            lconst_0
            lcmp
            ifeq 15
        14: .line 1736
            goto 21
        15: .line 1737
      StackMap locals:
      StackMap stack:
            aload 7 /* current */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
            aload 7 /* current */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic get(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/util/function/Supplier;
              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;
                  com/sun/tools/javac/code/Symbol$ModuleSymbol.toString()Ljava/lang/String; (5)
                  ()Ljava/lang/String;
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;
            pop
        16: .line 1738
            aload 7 /* current */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 20
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.tree.JCTree$JCModuleDecl com.sun.tools.javac.tree.JCTree$JCDirective java.util.Iterator com.sun.tools.javac.tree.JCTree$JCRequires java.util.Set com.sun.tools.javac.util.List com.sun.tools.javac.code.Symbol$ModuleSymbol top top java.util.Iterator
      StackMap stack:
        17: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Directive$RequiresDirective
            astore 9 /* dep */
        start local 9 // com.sun.tools.javac.code.Directive$RequiresDirective dep
        18: .line 1739
            aload 9 /* dep */
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.flags:Ljava/util/Set;
            getstatic com.sun.tools.javac.code.Directive$RequiresFlag.EXTRA:Lcom/sun/tools/javac/code/Directive$RequiresFlag;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 20
        19: .line 1740
            aload 6 /* queue */
            aload 9 /* dep */
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 6 /* queue */
        end local 9 // com.sun.tools.javac.code.Directive$RequiresDirective dep
        20: .line 1738
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        end local 7 // com.sun.tools.javac.code.Symbol$ModuleSymbol current
        21: .line 1729
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.tree.JCTree$JCModuleDecl com.sun.tools.javac.tree.JCTree$JCDirective java.util.Iterator com.sun.tools.javac.tree.JCTree$JCRequires java.util.Set com.sun.tools.javac.util.List
      StackMap stack:
            aload 6 /* queue */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 8
        22: .line 1743
            aload 5 /* nonSyntheticDeps */
            aload 1 /* mod */
            getfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.sym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 1744
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 4 /* rd */
            getfield com.sun.tools.javac.tree.JCTree$JCRequires.moduleName:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            aload 4 /* rd */
            getfield com.sun.tools.javac.tree.JCTree$JCRequires.directive:Lcom/sun/tools/javac/code/Directive$RequiresDirective;
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.CyclicRequires:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
        24: .line 1746
      StackMap locals:
      StackMap stack:
            aload 1 /* mod */
            getfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.sym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            dup
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags_field:J
            ldc 1073741824
            lor
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags_field:J
        end local 6 // com.sun.tools.javac.util.List queue
        end local 5 // java.util.Set nonSyntheticDeps
        end local 4 // com.sun.tools.javac.tree.JCTree$JCRequires rd
        end local 2 // com.sun.tools.javac.tree.JCTree$JCDirective d
        25: .line 1723
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.tree.JCTree$JCModuleDecl top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        26: .line 1748
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCModuleDecl mod
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   27     0              this  Lcom/sun/tools/javac/comp/Modules;
            0   27     1               mod  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            2   25     2                 d  Lcom/sun/tools/javac/tree/JCTree$JCDirective;
            3    4     4                rd  Lcom/sun/tools/javac/tree/JCTree$JCRequires;
            5   25     4                rd  Lcom/sun/tools/javac/tree/JCTree$JCRequires;
            6   25     5  nonSyntheticDeps  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            7   25     6             queue  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            9   21     7           current  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           18   20     9               dep  Lcom/sun/tools/javac/code/Directive$RequiresDirective;
    MethodParameters:
      Name  Flags
      mod   

  private boolean isValidName(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // java.lang.CharSequence name
         0: .line 1751
            aload 1 /* name */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.source:Lcom/sun/tools/javac/code/Source;
            invokestatic com.sun.tools.javac.code.Source.toSourceVersion:(Lcom/sun/tools/javac/code/Source;)Ljavax/lang/model/SourceVersion;
            invokestatic javax.lang.model.SourceVersion.isName:(Ljava/lang/CharSequence;Ljavax/lang/model/SourceVersion;)Z
            ireturn
        end local 1 // java.lang.CharSequence name
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Modules;
            0    1     1  name  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      name  

  private java.lang.String toString(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         0: .line 1756
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 1757
            ldc "kind:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 1758
            ldc "locn:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
            invokevirtual com.sun.tools.javac.comp.Modules.toString:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
            invokevirtual com.sun.tools.javac.comp.Modules.toString:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1759
            ldc "info:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            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;
            invokevirtual com.sun.tools.javac.comp.Modules.toString:(Ljavax/tools/JavaFileObject;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 1760
            aload 0 /* this */
            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;
            invokevirtual com.sun.tools.javac.comp.Modules.toString:(Ljavax/tools/JavaFileObject;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1761
            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.completer:Lcom/sun/tools/javac/code/Symbol$Completer;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         6: .line 1762
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1756
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/javac/comp/Modules;
            0    8     1  msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
    MethodParameters:
      Name  Flags
      msym  

  java.lang.String toString(javax.tools.JavaFileManager$Location);
    descriptor: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // javax.tools.JavaFileManager$Location locn
         0: .line 1767
            aload 1 /* locn */
            ifnonnull 1
            ldc "--"
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* locn */
            invokeinterface javax.tools.JavaFileManager$Location.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 1 // javax.tools.JavaFileManager$Location locn
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/comp/Modules;
            0    3     1  locn  Ljavax/tools/JavaFileManager$Location;
    MethodParameters:
      Name  Flags
      locn  

  java.lang.String toString(javax.tools.JavaFileObject);
    descriptor: (Ljavax/tools/JavaFileObject;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // javax.tools.JavaFileObject fo
         0: .line 1772
            aload 1 /* fo */
            ifnonnull 1
            ldc "--"
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* fo */
            invokeinterface javax.tools.JavaFileObject.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 1 // javax.tools.JavaFileObject fo
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/comp/Modules;
            0    3     1    fo  Ljavax/tools/JavaFileObject;
    MethodParameters:
      Name  Flags
      fo    

  public void newRound();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Modules this
         0: .line 1776
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
         1: .line 1777
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
         2: .line 1778
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.warnedMissing:Ljava/util/Set;
            invokeinterface java.util.Set.clear:()V
         3: .line 1779
            return
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/comp/Modules;

  private static boolean lambda$0(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol m
         0: .line 1329
            aload 0 /* m */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags_field:J
            ldc 4503599627370496
            land
            lconst_0
            lcmp
            ifeq 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$ModuleSymbol m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     m  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  private void lambda$1(java.util.Set);
    descriptor: (Ljava/util/Set;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // java.util.Set modules
         0: .line 237
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            invokestatic com.sun.tools.javac.util.Assert.checkNull:(Ljava/lang/Object;)V
         1: .line 238
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
            invokestatic com.sun.tools.javac.util.Assert.checkNull:(Ljava/lang/Object;)V
         2: .line 239
            aload 0 /* this */
            aload 1 /* modules */
            putfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
         3: .line 240
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.setupAllModules:()V
         4: .line 241
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 242
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.comp.Modules.inInitModules:Z
         6: .line 243
            return
        end local 1 // java.util.Set modules
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/sun/tools/javac/comp/Modules;
            0    7     1  modules  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;

  private static void lambda$2(java.util.Set);
    descriptor: (Ljava/util/Set;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.util.Set modules
         0: .line 251
            return
        end local 0 // java.util.Set modules
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  modules  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;

  private void lambda$3(com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.code.Symbol sym
         0: .line 474
            aload 0 /* this */
            aload 1 /* sym */
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            invokevirtual com.sun.tools.javac.comp.Modules.completeModule:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
            return
        end local 1 // com.sun.tools.javac.code.Symbol sym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Modules;
            0    1     1   sym  Lcom/sun/tools/javac/code/Symbol;
    Exceptions:
      throws com.sun.tools.javac.code.Symbol$CompletionFailure

  private void lambda$4(com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.code.Symbol sym
         0: .line 503
            aload 0 /* this */
            aload 1 /* sym */
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            invokevirtual com.sun.tools.javac.comp.Modules.completeModule:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
            return
        end local 1 // com.sun.tools.javac.code.Symbol sym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Modules;
            0    1     1   sym  Lcom/sun/tools/javac/code/Symbol;
    Exceptions:
      throws com.sun.tools.javac.code.Symbol$CompletionFailure

  private void lambda$5(com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.code.Symbol sym
         0: .line 947
            aload 1 /* sym */
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 2 /* msym */
        start local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         1: .line 949
            aload 2 /* msym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
         2: .line 951
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.typeEnvs:Lcom/sun/tools/javac/comp/TypeEnvs;
            aload 2 /* msym */
            invokevirtual com.sun.tools.javac.comp.TypeEnvs.get:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/comp/Env;
            astore 3 /* env */
        start local 3 // com.sun.tools.javac.comp.Env env
         3: .line 952
            new com.sun.tools.javac.comp.Modules$UsesProvidesVisitor
            dup
            aload 0 /* this */
            aload 2 /* msym */
            aload 3 /* env */
            invokespecial com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.<init>:(Lcom/sun/tools/javac/comp/Modules;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/comp/Env;)V
            astore 4 /* v */
        start local 4 // com.sun.tools.javac.comp.Modules$UsesProvidesVisitor v
         4: .line 953
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 3 /* env */
            getfield com.sun.tools.javac.comp.Env.toplevel:Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            astore 5 /* prev */
        start local 5 // javax.tools.JavaFileObject prev
         5: .line 954
            aload 3 /* env */
            getfield com.sun.tools.javac.comp.Env.toplevel:Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.getModuleDecl:()Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            astore 6 /* decl */
        start local 6 // com.sun.tools.javac.tree.JCTree$JCModuleDecl decl
         6: .line 955
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.deferredLintHandler:Lcom/sun/tools/javac/code/DeferredLintHandler;
            aload 6 /* decl */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCModuleDecl.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            invokevirtual com.sun.tools.javac.code.DeferredLintHandler.setPos:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;)Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            astore 7 /* prevLintPos */
        start local 7 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition prevLintPos
         7: .line 958
            aload 6 /* decl */
            aload 4 /* v */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCModuleDecl.accept:(Lcom/sun/tools/javac/tree/JCTree$Visitor;)V
         8: .line 959
            goto 13
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Symbol$ModuleSymbol com.sun.tools.javac.comp.Env com.sun.tools.javac.comp.Modules$UsesProvidesVisitor javax.tools.JavaFileObject com.sun.tools.javac.tree.JCTree$JCModuleDecl com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition
      StackMap stack: java.lang.Throwable
         9: astore 8
        10: .line 960
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 5 /* prev */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        11: .line 961
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.deferredLintHandler:Lcom/sun/tools/javac/code/DeferredLintHandler;
            aload 7 /* prevLintPos */
            invokevirtual com.sun.tools.javac.code.DeferredLintHandler.setPos:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;)Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            pop
        12: .line 962
            aload 8
            athrow
        13: .line 960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 5 /* prev */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        14: .line 961
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.deferredLintHandler:Lcom/sun/tools/javac/code/DeferredLintHandler;
            aload 7 /* prevLintPos */
            invokevirtual com.sun.tools.javac.code.DeferredLintHandler.setPos:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;)Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            pop
        end local 7 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition prevLintPos
        end local 6 // com.sun.tools.javac.tree.JCTree$JCModuleDecl decl
        end local 5 // javax.tools.JavaFileObject prev
        end local 4 // com.sun.tools.javac.comp.Modules$UsesProvidesVisitor v
        end local 3 // com.sun.tools.javac.comp.Env env
        end local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        15: .line 963
            return
        end local 1 // com.sun.tools.javac.code.Symbol sym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lcom/sun/tools/javac/comp/Modules;
            0   16     1          sym  Lcom/sun/tools/javac/code/Symbol;
            1   15     2         msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            3   15     3          env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
            4   15     4            v  Lcom/sun/tools/javac/comp/Modules$UsesProvidesVisitor;
            5   15     5         prev  Ljavax/tools/JavaFileObject;
            6   15     6         decl  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            7   15     7  prevLintPos  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
      Exception table:
        from    to  target  type
           7     9       9  any
    Exceptions:
      throws com.sun.tools.javac.code.Symbol$CompletionFailure

  private boolean lambda$6(java.util.Set, com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Ljava/util/Set;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
         0: .line 1230
            aload 1
            ifnonnull 2
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.moduleFinder:Lcom/sun/tools/javac/code/ModuleFinder;
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.ModuleFinder.findModule:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            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 1
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         1: iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 1
            aload 2 /* sym */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/comp/Modules;
            0    4     2   sym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  private static boolean lambda$7(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
         0: .line 1231
            aload 0 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.flags:()J
            ldc 9007199254740992
            land
            lconst_0
            lcmp
            ifeq 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$ModuleSymbol sym
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   sym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  private static boolean lambda$8(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)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$ModuleSymbol sym
         0: .line 1233
            aload 0 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
         1: .line 1234
            aload 0 /* sym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.resolutionFlags:Ljava/util/Set;
            getstatic com.sun.tools.javac.code.Symbol$ModuleResolutionFlags.DO_NOT_RESOLVE_BY_DEFAULT:Lcom/sun/tools/javac/code/Symbol$ModuleResolutionFlags;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   sym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  private boolean lambda$9(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
         0: .line 1244
            aload 1 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
         1: .line 1245
            aload 1 /* sym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.java_:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.startsWith:(Lcom/sun/tools/javac/util/Name;)Z
            ifne 4
         2: .line 1246
            aload 1 /* sym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.exports:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              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/comp/Modules.lambda$10(Lcom/sun/tools/javac/code/Directive$ExportsDirective;)Z (6)
                  (Lcom/sun/tools/javac/code/Directive$ExportsDirective;)Z
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            ifeq 4
         3: .line 1245
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/comp/Modules;
            0    5     1   sym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  private static boolean lambda$11(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
         0: .line 1250
            iconst_1
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   sym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  private static void lambda$12(java.util.Set, java.util.Set, com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Ljava/util/Set;Ljava/util/Set;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
         0: .line 1290
            aload 0
            aload 2 /* sym */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1291
            aload 1
            ifnull 3
         2: .line 1292
            aload 1
            aload 2 /* sym */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1293
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     2   sym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  private static boolean lambda$14(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)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$ModuleSymbol msym
         0: .line 1311
            aload 0 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.resolutionFlags:Ljava/util/Set;
            getstatic com.sun.tools.javac.code.Symbol$ModuleResolutionFlags.WARN_INCUBATING:Lcom/sun/tools/javac/code/Symbol$ModuleResolutionFlags;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  private static java.lang.String lambda$15(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
         0: .line 1312
            aload 0 /* 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;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  private static void lambda$16(com.sun.tools.javac.util.Name, com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol m
         0: .line 1324
            aload 1 /* m */
            aload 0
            dup_x1
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.version:Lcom/sun/tools/javac/util/Name;
            return
        end local 1 // com.sun.tools.javac.code.Symbol$ModuleSymbol m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     m  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  private void lambda$17(com.sun.tools.javac.code.Symbol$ModuleSymbol, com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/code/Symbol;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 2 // com.sun.tools.javac.code.Symbol sym
         0: .line 1424
            aload 0 /* this */
            aload 1
            invokevirtual com.sun.tools.javac.comp.Modules.completeModule:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
            return
        end local 2 // com.sun.tools.javac.code.Symbol sym
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Modules;
            0    1     2   sym  Lcom/sun/tools/javac/code/Symbol;
    Exceptions:
      throws com.sun.tools.javac.code.Symbol$CompletionFailure

  private static java.lang.String lambda$18(com.sun.tools.javac.code.Directive$RequiresDirective);
    descriptor: (Lcom/sun/tools/javac/code/Directive$RequiresDirective;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 1465
            new java.lang.StringBuilder
            dup
            ldc "no entry in cache for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String lambda$19(com.sun.tools.javac.code.Symbol$ModuleSymbol, com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1506
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ".requires == null; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$20(com.sun.tools.javac.code.Symbol$ModuleSymbol, java.util.Map, com.sun.tools.javac.code.Symbol$ModuleSymbol, java.util.Set);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Map;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Set;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.comp.Modules this
        start local 3 // com.sun.tools.javac.code.Symbol$ModuleSymbol exportsFrom
        start local 4 // java.util.Set exports
         0: .line 1540
            aload 0 /* this */
            aload 1
            aload 2
            aload 3 /* exportsFrom */
            aload 4 /* exports */
            invokevirtual com.sun.tools.javac.comp.Modules.addVisiblePackages:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Map;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Ljava/util/Collection;)V
         1: .line 1541
            return
        end local 4 // java.util.Set exports
        end local 3 // com.sun.tools.javac.code.Symbol$ModuleSymbol exportsFrom
        end local 0 // com.sun.tools.javac.comp.Modules this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/sun/tools/javac/comp/Modules;
            0    2     3  exportsFrom  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            0    2     4      exports  Ljava/util/Set<Lcom/sun/tools/javac/code/Directive$ExportsDirective;>;

  private static java.util.Set lambda$21(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/util/Set;
    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$ModuleSymbol _x
         0: .line 1639
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol _x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    _x  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  private static java.util.Set lambda$22(com.sun.tools.javac.code.Symbol$ModuleSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Ljava/util/Set;
    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$ModuleSymbol m
         0: .line 1716
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     m  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  private static boolean lambda$10(com.sun.tools.javac.code.Directive$ExportsDirective);
    descriptor: (Lcom/sun/tools/javac/code/Directive$ExportsDirective;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Directive$ExportsDirective e
         0: .line 1246
            aload 0 /* e */
            getfield com.sun.tools.javac.code.Directive$ExportsDirective.modules:Lcom/sun/tools/javac/util/List;
            ifnonnull 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.Directive$ExportsDirective e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Lcom/sun/tools/javac/code/Directive$ExportsDirective;
}
SourceFile: "Modules.java"
NestMembers:
  com.sun.tools.javac.comp.Modules$1  com.sun.tools.javac.comp.Modules$2  com.sun.tools.javac.comp.Modules$3  com.sun.tools.javac.comp.Modules$ModuleVisitor  com.sun.tools.javac.comp.Modules$PackageNameFinder  com.sun.tools.javac.comp.Modules$UsesProvidesVisitor
InnerClasses:
  public BadClassFile = com.sun.tools.javac.code.ClassFinder$BadClassFile of com.sun.tools.javac.code.ClassFinder
  public ExportsDirective = com.sun.tools.javac.code.Directive$ExportsDirective of com.sun.tools.javac.code.Directive
  public RequiresDirective = com.sun.tools.javac.code.Directive$RequiresDirective of com.sun.tools.javac.code.Directive
  public final RequiresFlag = com.sun.tools.javac.code.Directive$RequiresFlag 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 final LintCategory = com.sun.tools.javac.code.Lint$LintCategory of com.sun.tools.javac.code.Lint
  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 CompletionFailure = com.sun.tools.javac.code.Symbol$CompletionFailure 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
  com.sun.tools.javac.comp.Modules$1
  com.sun.tools.javac.comp.Modules$2
  com.sun.tools.javac.comp.Modules$3
  ModuleVisitor = com.sun.tools.javac.comp.Modules$ModuleVisitor of com.sun.tools.javac.comp.Modules
  public abstract PackageNameFinder = com.sun.tools.javac.comp.Modules$PackageNameFinder of com.sun.tools.javac.comp.Modules
  UsesProvidesVisitor = com.sun.tools.javac.comp.Modules$UsesProvidesVisitor of com.sun.tools.javac.comp.Modules
  public Errors = com.sun.tools.javac.resources.CompilerProperties$Errors of com.sun.tools.javac.resources.CompilerProperties
  public Warnings = com.sun.tools.javac.resources.CompilerProperties$Warnings of com.sun.tools.javac.resources.CompilerProperties
  public JCCompilationUnit = com.sun.tools.javac.tree.JCTree$JCCompilationUnit of com.sun.tools.javac.tree.JCTree
  public abstract JCDirective = com.sun.tools.javac.tree.JCTree$JCDirective of com.sun.tools.javac.tree.JCTree
  public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
  public JCModuleDecl = com.sun.tools.javac.tree.JCTree$JCModuleDecl of com.sun.tools.javac.tree.JCTree
  public JCPackageDecl = com.sun.tools.javac.tree.JCTree$JCPackageDecl of com.sun.tools.javac.tree.JCTree
  public JCRequires = com.sun.tools.javac.tree.JCTree$JCRequires of com.sun.tools.javac.tree.JCTree
  public final Tag = com.sun.tools.javac.tree.JCTree$Tag of com.sun.tools.javac.tree.JCTree
  public abstract Visitor = com.sun.tools.javac.tree.JCTree$Visitor of com.sun.tools.javac.tree.JCTree
  public final DiagnosticFlag = com.sun.tools.javac.util.JCDiagnostic$DiagnosticFlag of com.sun.tools.javac.util.JCDiagnostic
  public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
  public final Error = com.sun.tools.javac.util.JCDiagnostic$Error of com.sun.tools.javac.util.JCDiagnostic
  public final Warning = com.sun.tools.javac.util.JCDiagnostic$Warning of com.sun.tools.javac.util.JCDiagnostic
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager
  public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject