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 com.sun.tools.javac.jvm.Target target;
    descriptor: Lcom/sun/tools/javac/jvm/Target;
    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

  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 1363
            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 1362
            putstatic com.sun.tools.javac.comp.Modules.IS_AUTOMATIC:Ljava/util/function/Predicate;
         2: .line 1363
            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 177
            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 178
            aload 1 /* instance */
            ifnonnull 3
         2: .line 179
            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 180
      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 183
            aload 0 /* this */
            invokespecial com.sun.tools.javac.tree.JCTree$Visitor.<init>:()V
         1: .line 164
            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 166
            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 171
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
         4: .line 172
            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 219
            aload 0 /* this */
            iconst_m1
            putfield com.sun.tools.javac.comp.Modules.depth:I
         6: .line 626
            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 1458
            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 184
            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 185
            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 186
            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 187
            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 188
            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 189
            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 190
            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 191
            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 192
            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 193
            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 194
            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 195
            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 196
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.jvm.Target.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/jvm/Target;
            putfield com.sun.tools.javac.comp.Modules.target:Lcom/sun/tools/javac/jvm/Target;
        21: .line 197
            aload 0 /* this */
            getstatic com.sun.tools.javac.code.Source$Feature.MODULES:Lcom/sun/tools/javac/code/Source$Feature;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.source:Lcom/sun/tools/javac/code/Source;
            invokevirtual com.sun.tools.javac.code.Source$Feature.allowedInSource:(Lcom/sun/tools/javac/code/Source;)Z
            putfield com.sun.tools.javac.comp.Modules.allowModules:Z
        22: .line 198
            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
        23: .line 200
            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
        24: .line 201
            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
        25: .line 203
            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
        26: .line 204
            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
        27: .line 205
            aload 3 /* classWriter */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.multiModuleMode:Z
            putfield com.sun.tools.javac.jvm.ClassWriter.multiModuleMode:Z
        28: .line 206
            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
        29: .line 207
            aload 4 /* jniWriter */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.multiModuleMode:Z
            putfield com.sun.tools.javac.jvm.JNIWriter.multiModuleMode:Z
        30: .line 209
            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;
        31: .line 210
            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;
        32: .line 212
            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;
        33: .line 213
            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;
        34: .line 214
            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;
        35: .line 215
            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;
        36: .line 216
            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;
        37: .line 217
            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   38     0         this  Lcom/sun/tools/javac/comp/Modules;
            0   38     1      context  Lcom/sun/tools/javac/util/Context;
           23   38     2      options  Lcom/sun/tools/javac/util/Options;
           27   38     3  classWriter  Lcom/sun/tools/javac/jvm/ClassWriter;
           29   38     4    jniWriter  Lcom/sun/tools/javac/jvm/JNIWriter;
    MethodParameters:
         Name  Flags
      context  

  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 222
            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 223
            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 227
            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 229
            aload 0 /* this */
            iconst_1
            putfield com.sun.tools.javac.comp.Modules.inInitModules:Z
         4: .line 230
            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 231
            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 238
            aconst_null
         7: .line 231
            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 239
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 2
        10: .line 240
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.comp.Modules.inInitModules:Z
        11: .line 241
            aload 2
            athrow
        12: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.comp.Modules.inInitModules:Z
        13: .line 242
            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 245
            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 246
            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=4, 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 250
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.allowModules:Z
            ifne 7
         1: .line 251
            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 252
            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 251
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 254
            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 255
            iconst_1
            ireturn
         7: .line 258
      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 260
            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 263
            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 265
            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 267
            aload 2 /* init */
            aload 5 /* roots */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        12: .line 269
            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 270
            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 269
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        end local 5 // java.util.Set roots
        16: .line 272
            goto 23
      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 273
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.chk:Lcom/sun/tools/javac/comp/Check;
            aconst_null
            aload 5 /* ex */
            invokevirtual com.sun.tools.javac.comp.Check.completionError:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol$CompletionFailure;)Lcom/sun/tools/javac/code/Type;
            pop
        end local 5 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
        19: .line 275
            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 24
        20: .line 274
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        21: .line 275
            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
        22: .line 276
            aload 8
            athrow
        23: .line 275
      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
        24: .line 278
      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 25
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        25: 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   26     0         this  Lcom/sun/tools/javac/comp/Modules;
            0   26     1        trees  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;
            0   26     2         init  Ljava/util/function/Consumer<Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;>;
            0   26     3            c  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            3    4     4         tree  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            8   26     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   19     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    19      20  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 282
            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 286
            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 290
            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 294
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 3 /* modules */
        start local 3 // java.util.Set modules
         1: .line 295
            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 296
            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 298
            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 299
            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 300
            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 301
            aload 7
            athrow
         9: .line 300
      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 295
      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 303
            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 308
            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 309
            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 310
            iload 5 /* isModuleDecl */
            ifeq 31
         5: .line 311
            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 312
            iload 4 /* isModuleInfo */
            ifne 8
         7: .line 313
            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 315
      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 317
            aload 2 /* c */
            ifnull 16
        10: .line 318
            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 319
            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 320
            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 321
            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 322
            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 324
            goto 20
        end local 8 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
        16: .line 325
      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 326
            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 327
            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 328
            return
        20: .line 331
      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 332
            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 333
            aload 6 /* decl */
            aload 8 /* sym */
            putfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.sym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        23: .line 335
            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 336
      StackMap locals:
      StackMap stack:
            aload 3 /* modules */
            aload 8 /* sym */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        25: .line 337
            goto 27
        26: .line 338
      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 341
      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 343
            aload 9 /* provisionalEnv */
            aload 1 /* toplevel */
            putfield com.sun.tools.javac.comp.Env.toplevel:Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
        29: .line 344
            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 345
            goto 37
      StackMap locals:
      StackMap stack:
        31: iload 4 /* isModuleInfo */
            ifeq 37
        32: .line 346
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.multiModuleMode:Z
            ifeq 37
        33: .line 347
            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 348
            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 351
      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=5, locals=15, 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 355
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.multiModuleMode:Z
            ifeq 86
         1: .line 356
            iconst_0
            istore 4 /* patchesAutomaticModules */
        start local 4 // boolean patchesAutomaticModules
         2: .line 357
            aload 1 /* trees */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 77
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol int top java.util.Iterator
      StackMap stack:
         3: 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
         4: .line 358
            aload 5 /* 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 359
            aload 5 /* 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 360
            goto 77
         7: .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 int 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 5 /* 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 7 /* prev */
        start local 7 // javax.tools.JavaFileObject prev
         8: .line 365
            aload 0 /* this */
            aload 5 /* tree */
            invokevirtual com.sun.tools.javac.comp.Modules.getModuleLocation:(Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;)Ljavax/tools/JavaFileManager$Location;
            astore 8 /* msplocn */
        start local 8 // javax.tools.JavaFileManager$Location msplocn
         9: .line 366
            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 367
            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 368
            aload 5 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
        12: .line 367
            invokeinterface javax.tools.JavaFileManager.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileManager$Location;
        13: .line 368
            goto 15
        14: .line 369
      StackMap locals: javax.tools.JavaFileObject javax.tools.JavaFileManager$Location
      StackMap stack:
            aconst_null
        15: .line 366
      StackMap locals:
      StackMap stack: javax.tools.JavaFileManager$Location
            astore 9 /* plocn */
        start local 9 // javax.tools.JavaFileManager$Location plocn
        16: .line 371
            aload 9 /* plocn */
            ifnull 29
        17: .line 372
            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 9 /* 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 10 /* name */
        start local 10 // com.sun.tools.javac.util.Name name
        18: .line 373
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.moduleFinder:Lcom/sun/tools/javac/code/ModuleFinder;
            aload 10 /* name */
            invokevirtual com.sun.tools.javac.code.ModuleFinder.findModule:(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
        19: .line 374
            aload 5 /* tree */
            aload 11 /* msym */
            putfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        20: .line 375
            aload 2 /* rootModules */
            aload 11 /* msym */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        21: .line 376
            iload 4 /* patchesAutomaticModules */
            aload 11 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags_field:J
            ldc 4503599627370496
            land
            lconst_0
            lcmp
            ifeq 22
            iconst_1
            goto 23
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol int 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
      StackMap stack: int
        22: iconst_0
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol int 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
      StackMap stack: int int
        23: ior
            istore 4 /* patchesAutomaticModules */
        24: .line 378
            aload 8 /* msplocn */
            ifnull 76
        25: .line 379
            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 /* 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 12 /* mspname */
        start local 12 // com.sun.tools.javac.util.Name mspname
        26: .line 380
            aload 10 /* name */
            aload 12 /* mspname */
            if_acmpeq 76
        27: .line 381
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 5 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            aload 10 /* name */
            aload 12 /* 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 12 // com.sun.tools.javac.util.Name mspname
        end local 11 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 10 // com.sun.tools.javac.util.Name name
        28: .line 384
            goto 76
      StackMap locals:
      StackMap stack:
        29: aload 8 /* msplocn */
            ifnull 62
        30: .line 385
            aload 5 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.getModuleDecl:()Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            ifnull 35
        31: .line 387
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            aload 8 /* 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;
        32: .line 386
            astore 10 /* canonical */
        start local 10 // javax.tools.JavaFileObject canonical
        33: .line 388
            aload 10 /* canonical */
            ifnull 34
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
            aload 10 /* canonical */
            aload 5 /* 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 35
        34: .line 389
      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 5 /* 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 10 // javax.tools.JavaFileObject canonical
        35: .line 392
      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 8 /* 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 10 /* name */
        start local 10 // com.sun.tools.javac.util.Name name
        36: .line 394
            aload 5 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.getModuleDecl:()Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            astore 12 /* decl */
        start local 12 // com.sun.tools.javac.tree.JCTree$JCModuleDecl decl
        37: .line 395
            aload 12 /* decl */
            ifnull 42
        38: .line 396
            aload 12 /* decl */
            getfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.sym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 11 /* msym */
        start local 11 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        39: .line 397
            aload 11 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            aload 10 /* name */
            if_acmpeq 45
        40: .line 398
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 12 /* decl */
            getfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.qualId:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            aload 11 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.name:Lcom/sun/tools/javac/util/Name;
            aload 10 /* 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
        41: .line 400
            goto 45
        end local 11 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        42: .line 401
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol int 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 5 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.getPackage:()Lcom/sun/tools/javac/tree/JCTree$JCPackageDecl;
            ifnonnull 44
        43: .line 402
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 5 /* 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
        44: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 10 /* 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
        45: .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 int 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 11 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
            ifnonnull 59
        46: .line 407
            aload 11 /* msym */
            aload 8 /* msplocn */
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
        47: .line 408
            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 51
        48: .line 409
            aload 11 /* msym */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
        49: .line 410
            getstatic javax.tools.StandardLocation.PATCH_MODULE_PATH:Ljavax/tools/StandardLocation;
            aload 11 /* 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;
        50: .line 409
            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;
        51: .line 412
      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 59
        52: .line 413
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.fileManager:Ljavax/tools/JavaFileManager;
        53: .line 414
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            aload 11 /* 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;
        54: .line 413
            invokeinterface javax.tools.JavaFileManager.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;)Ljavax/tools/JavaFileManager$Location;
            astore 13 /* outputLocn */
        start local 13 // javax.tools.JavaFileManager$Location outputLocn
        55: .line 415
            aload 11 /* msym */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchLocation:Ljavax/tools/JavaFileManager$Location;
            ifnonnull 58
        56: .line 416
            aload 11 /* msym */
            aload 13 /* outputLocn */
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
        57: .line 417
            goto 59
        58: .line 418
      StackMap locals: javax.tools.JavaFileManager$Location
      StackMap stack:
            aload 11 /* msym */
            aload 13 /* outputLocn */
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.patchOutputLocation:Ljavax/tools/JavaFileManager$Location;
        end local 13 // javax.tools.JavaFileManager$Location outputLocn
        59: .line 422
      StackMap locals:
      StackMap stack:
            aload 5 /* tree */
            aload 11 /* msym */
            putfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        60: .line 423
            aload 2 /* rootModules */
            aload 11 /* msym */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // com.sun.tools.javac.tree.JCTree$JCModuleDecl decl
        end local 11 // com.sun.tools.javac.code.Symbol$ModuleSymbol msym
        end local 10 // com.sun.tools.javac.util.Name name
        61: .line 424
            goto 76
      StackMap locals:
      StackMap stack:
        62: aload 3 /* c */
            ifnull 65
            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 65
        63: .line 425
            aload 5 /* 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;
        64: .line 426
            goto 76
        65: .line 427
      StackMap locals:
      StackMap stack:
            aload 5 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.getModuleDecl:()Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            ifnull 68
        66: .line 428
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 5 /* 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
        67: .line 429
            goto 69
        68: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 5 /* 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
        69: .line 432
      StackMap locals:
      StackMap stack:
            aload 5 /* 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 9 // javax.tools.JavaFileManager$Location plocn
        end local 8 // javax.tools.JavaFileManager$Location msplocn
        70: .line 434
            goto 76
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol int com.sun.tools.javac.tree.JCTree$JCCompilationUnit java.util.Iterator javax.tools.JavaFileObject
      StackMap stack: java.io.IOException
        71: astore 8 /* e */
        start local 8 // java.io.IOException e
        72: .line 435
            new java.lang.Error
            dup
            aload 8 /* e */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.io.IOException e
        73: .line 436
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 14
        74: .line 437
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 7 /* prev */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        75: .line 438
            aload 14
            athrow
        76: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 7 /* prev */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        end local 7 // javax.tools.JavaFileObject prev
        end local 5 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
        77: .line 357
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        78: .line 440
            iload 4 /* patchesAutomaticModules */
            ifne 80
        79: .line 441
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.checkNoAllModulePath:()V
        80: .line 443
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set com.sun.tools.javac.code.Symbol$ClassSymbol int
      StackMap stack:
            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 84
        81: .line 444
            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;
        82: .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;
            getstatic javax.tools.StandardLocation.SOURCE_PATH:Ljavax/tools/StandardLocation;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.sourceLocation:Ljavax/tools/JavaFileManager$Location;
        83: .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;
            getstatic javax.tools.StandardLocation.CLASS_PATH:Ljavax/tools/StandardLocation;
            putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.classLocation:Ljavax/tools/JavaFileManager$Location;
        84: .line 448
      StackMap locals:
      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;
        end local 4 // boolean patchesAutomaticModules
        85: .line 449
            goto 151
        86: .line 450
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* module */
        start local 4 // com.sun.tools.javac.code.Symbol$ModuleSymbol module
        87: .line 451
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            ifnonnull 129
        88: .line 452
            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
        89: .line 453
            aload 2 /* rootModules */
            invokeinterface java.util.Set.size:()I
            tableswitch { // 0 - 1
                    0: 90
                    1: 112
              default: 127
          }
        90: .line 456
      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;
        91: .line 457
            goto 95
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Symbol$CompletionFailure
        92: astore 6 /* cf */
        start local 6 // com.sun.tools.javac.code.Symbol$CompletionFailure cf
        93: .line 458
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.chk:Lcom/sun/tools/javac/comp/Check;
            aconst_null
            aload 6 /* cf */
            invokevirtual com.sun.tools.javac.comp.Check.completionError:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol$CompletionFailure;)Lcom/sun/tools/javac/code/Type;
            pop
        94: .line 459
            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;
        end local 6 // com.sun.tools.javac.code.Symbol$CompletionFailure cf
        95: .line 461
      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_acmpne 106
        96: .line 462
            aload 5 /* moduleOverride */
            ifnull 102
        97: .line 463
            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;
        98: .line 464
            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;
        99: .line 465
            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.flags_field:J
            ldc 4503599627370496
            land
            lconst_0
            lcmp
            ifne 110
       100: .line 466
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.checkNoAllModulePath:()V
       101: .line 468
            goto 110
       102: .line 471
      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;
       103: .line 472
            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;
       104: .line 473
            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;
       105: .line 475
            goto 110
       106: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.checkNoAllModulePath:()V
       107: .line 477
            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
       108: .line 479
            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;
       109: .line 480
            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;
       110: .line 482
      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
       111: .line 483
            goto 138
       112: .line 485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.checkNoAllModulePath:()V
       113: .line 486
            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;
       114: .line 487
            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;
       115: .line 488
            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 122
       116: .line 490
            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;
       117: .line 491
            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;
       118: .line 490
            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;
       119: .line 492
            goto 122
      StackMap locals:
      StackMap stack: java.io.IOException
       120: astore 6 /* ex */
        start local 6 // java.io.IOException ex
       121: .line 493
            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
       122: .line 496
      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 125
       123: .line 497
            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;
       124: .line 498
            goto 138
       125: .line 499
      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;
       126: .line 501
            goto 138
       127: .line 503
      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
       128: .line 505
            goto 138
      StackMap locals:
      StackMap stack:
       129: aload 2 /* rootModules */
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmpne 134
       130: .line 506
            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 */
       131: .line 507
            aload 4 /* module */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
       132: .line 508
            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;
       133: .line 509
            goto 138
       134: .line 510
      StackMap locals:
      StackMap stack:
            aload 2 /* rootModules */
            invokeinterface java.util.Set.isEmpty:()Z
            invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
       135: .line 511
            aload 3 /* c */
            invokestatic com.sun.tools.javac.util.Assert.checkNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
       136: .line 512
            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;
            astore 4 /* module */
       137: .line 513
            aload 2 /* rootModules */
            aload 4 /* module */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
       138: .line 516
      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 141
       139: .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;
            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;
       140: .line 518
            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;
       141: .line 521
      StackMap locals:
      StackMap stack:
            aload 4 /* module */
            ifnonnull 143
       142: .line 522
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 4 /* module */
       143: .line 525
      StackMap locals:
      StackMap stack:
            aload 1 /* trees */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 150
      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:
       144: 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
       145: .line 526
            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 149
       146: .line 527
            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 149
       147: .line 528
            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 149
       148: .line 529
            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
       149: .line 531
      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
       150: .line 525
      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 144
        end local 4 // com.sun.tools.javac.code.Symbol$ModuleSymbol module
       151: .line 534
      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  152     0                     this  Lcom/sun/tools/javac/comp/Modules;
            0  152     1                    trees  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;
            0  152     2              rootModules  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            0  152     3                        c  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            2   85     4  patchesAutomaticModules  Z
            4   77     5                     tree  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            8   77     7                     prev  Ljavax/tools/JavaFileObject;
            9   70     8                  msplocn  Ljavax/tools/JavaFileManager$Location;
           16   70     9                    plocn  Ljavax/tools/JavaFileManager$Location;
           18   28    10                     name  Lcom/sun/tools/javac/util/Name;
           19   28    11                     msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           26   28    12                  mspname  Lcom/sun/tools/javac/util/Name;
           33   35    10                canonical  Ljavax/tools/JavaFileObject;
           36   61    10                     name  Lcom/sun/tools/javac/util/Name;
           39   42    11                     msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           45   61    11                     msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           37   61    12                     decl  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
           55   59    13               outputLocn  Ljavax/tools/JavaFileManager$Location;
           72   73     8                        e  Ljava/io/IOException;
           87  151     4                   module  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           89  128     5           moduleOverride  Ljava/lang/String;
           93   95     6                       cf  Lcom/sun/tools/javac/code/Symbol$CompletionFailure;
          121  122     6                       ex  Ljava/io/IOException;
          145  150     5                     tree  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
      Exception table:
        from    to  target  type
           8    70      71  Class java.io.IOException
           8    73      73  any
          90    91      92  Class com.sun.tools.javac.code.Symbol$CompletionFailure
         116   119     120  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=3, 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 538
            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 539
            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 540
            return
         3: .line 542
      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 543
            return
         5: .line 545
      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 546
            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 547
            return
         8: .line 550
      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 551
            return
        end local 3 // javax.tools.JavaFileObject fo
        10: .line 554
      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 555
            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 558
      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 560
            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;
            getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.FileSbOnSourceOrPatchPathForModule: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
        14: .line 561
            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 562
            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 563
            aload 4
            athrow
        18: .line 562
      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 564
            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 567
            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 568
            aconst_null
            areturn
         2: .line 571
      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 572
            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 573
            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 577
            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 576
            astore 6 /* loc */
        start local 6 // javax.tools.JavaFileManager$Location loc
         8: .line 579
            aload 6 /* loc */
            ifnull 13
         9: .line 580
            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 582
            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 583
            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 572
      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 587
            aload 2 /* override */
            invokeinterface java.util.Set.size:()I
            tableswitch { // 0 - 1
                    0: 15
                    1: 16
              default: 17
          }
        15: .line 588
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.util.List java.util.Set
      StackMap stack:
            aconst_null
            areturn
        16: .line 589
      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 591
      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 592
            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 607
            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 610
            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 609
            astore 3 /* loc */
        start local 3 // javax.tools.JavaFileManager$Location loc
         3: .line 611
            aload 3 /* loc */
            ifnonnull 10
         4: .line 612
            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 613
            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 612
      StackMap locals:
      StackMap stack: javax.tools.StandardLocation
            astore 4 /* sourceOutput */
        start local 4 // javax.tools.JavaFileManager$Location sourceOutput
         8: .line 615
            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 614
            astore 3 /* loc */
        end local 4 // javax.tools.JavaFileManager$Location sourceOutput
        10: .line 617
      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 621
            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 622
            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 624
      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 676
            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 677
            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 678
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* seenPackages */
        start local 4 // java.util.Set seenPackages
         3: .line 680
            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 681
            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 682
            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 683
            aload 4 /* seenPackages */
            aload 8 /* pack */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 13
        10: .line 684
            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 686
            aload 2 /* directives */
            aload 9 /* d */
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        12: .line 687
            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 680
      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 691
            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 692
            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 693
            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 694
            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 695
            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;
        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
        19: .line 696
            goto 22
      StackMap locals: com.sun.tools.javac.comp.Modules com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack: java.io.IOException
        20: astore 2 /* ex */
        start local 2 // java.io.IOException ex
        21: .line 697
            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
        22: .line 699
      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   23     0          this  Lcom/sun/tools/javac/comp/Modules;
            0   23     1          msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            1   19     2    directives  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Directive;>;
            2   19     3       exports  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Directive$ExportsDirective;>;
            3   19     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;
           21   22     2            ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    19      20  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 702
            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 704
            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 706
            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 708
            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 709
            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 710
            goto 14
         7: .line 711
      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 712
            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 711
      StackMap locals:
      StackMap stack: java.util.EnumSet
            astore 6 /* flags */
        start local 6 // java.util.Set flags
        11: .line 713
            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 714
            aload 2 /* directives */
            aload 7 /* d */
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        13: .line 715
            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 708
      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 718
            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 719
            aload 2 /* directives */
            aload 4 /* requiresUnnamed */
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        17: .line 720
            aload 3 /* requires */
            aload 4 /* requiresUnnamed */
            invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
            pop
        18: .line 722
            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 723
            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 724
            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 727
            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 757
            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 758
            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 762
            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 763
            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 968
            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 1216
            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 1217
            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=10, args_size=1
        start local 0 // com.sun.tools.javac.comp.Modules this
         0: .line 1221
            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 1222
            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 1226
            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 1227
            aconst_null
            astore 1 /* observable */
        start local 1 // java.util.Set observable
         4: .line 1228
            goto 28
        end local 1 // java.util.Set observable
         5: .line 1229
      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 1230
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.limitModsOpt:Ljava/lang/String;
            ifnull 14
         7: .line 1231
            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 1232
            aload 0 /* this */
            aload 3 /* limit */
            invokevirtual com.sun.tools.javac.comp.Modules.isValidName:(Ljava/lang/CharSequence;)Z
            ifne 11
        10: .line 1233
            goto 12
        11: .line 1234
      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 1231
      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 1237
      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 1238
            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 1237
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        18: .line 1240
            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 1241
            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 1242
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.lintOptions:Z
            ifeq 28
        21: .line 1243
            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 1244
            aload 1 /* observable */
            aload 3 /* msym */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 27
        24: .line 1245
            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 1246
            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 1245
            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 1243
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        end local 2 // java.util.Set limitMods
        28: .line 1252
      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 1254
            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 1255
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 4 /* enabledRoot */
        start local 4 // java.util.Set enabledRoot
        31: .line 1257
            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 50
        32: .line 1259
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.target:Lcom/sun/tools/javac/jvm/Target;
            invokevirtual com.sun.tools.javac.jvm.Target.allApiModulesAreRoots:()Z
            ifeq 35
        33: .line 1260
            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 5 /* jdkModulePred */
        start local 5 // java.util.function.Predicate jdkModulePred
        34: .line 1264
            goto 41
        end local 5 // java.util.function.Predicate jdkModulePred
        35: .line 1265
      StackMap locals: java.util.function.Predicate java.util.function.Predicate java.util.Set
      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.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
        36: .line 1266
            aload 6 /* javaSE */
            ifnull 40
            aload 1 /* observable */
            ifnull 37
            aload 1 /* observable */
            aload 6 /* javaSE */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 40
        37: .line 1267
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.Set top 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$10(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z (7)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
            astore 5 /* jdkModulePred */
        start local 5 // java.util.function.Predicate jdkModulePred
        38: .line 1272
            aload 4 /* enabledRoot */
            aload 6 /* javaSE */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        39: .line 1273
            goto 41
        end local 5 // java.util.function.Predicate jdkModulePred
        40: .line 1274
      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$12(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z (6)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
            astore 5 /* jdkModulePred */
        end local 6 // com.sun.tools.javac.code.Symbol$ModuleSymbol javaSE
        start local 5 // java.util.function.Predicate jdkModulePred
        41: .line 1278
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.Set java.util.function.Predicate
      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$13(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z (6)
                  (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)Z
            astore 6 /* noIncubatorPred */
        start local 6 // java.util.function.Predicate noIncubatorPred
        42: .line 1283
            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 8
            goto 49
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.Set java.util.function.Predicate java.util.function.Predicate top java.util.Iterator
      StackMap stack:
        43: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ModuleSymbol
            astore 7 /* sym */
        start local 7 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
        44: .line 1285
            aload 3 /* systemModulePred */
            aload 7 /* sym */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 49
            aload 2 /* observablePred */
            aload 7 /* sym */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 49
            aload 5 /* jdkModulePred */
            aload 7 /* sym */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 49
            aload 6 /* noIncubatorPred */
            aload 7 /* sym */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 49
        45: .line 1286
            aload 4 /* enabledRoot */
            aload 7 /* sym */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        46: .line 1288
            goto 49
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.Set java.util.function.Predicate java.util.function.Predicate com.sun.tools.javac.code.Symbol$ModuleSymbol java.util.Iterator
      StackMap stack: com.sun.tools.javac.code.Symbol$CompletionFailure
        47: astore 9 /* ex */
        start local 9 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
        48: .line 1289
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.chk:Lcom/sun/tools/javac/comp/Check;
            aconst_null
            aload 9 /* ex */
            invokevirtual com.sun.tools.javac.comp.Check.completionError:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol$CompletionFailure;)Lcom/sun/tools/javac/code/Type;
            pop
        end local 9 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
        end local 7 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
        49: .line 1283
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.Set java.util.function.Predicate java.util.function.Predicate top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 43
        end local 6 // java.util.function.Predicate noIncubatorPred
        end local 5 // java.util.function.Predicate jdkModulePred
        50: .line 1294
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.Set
      StackMap stack:
            aload 4 /* 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
        51: .line 1296
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addModsOpt:Ljava/lang/String;
            ifnonnull 52
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.extraAddMods:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 76
        52: .line 1297
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* fullAddMods */
        start local 5 // java.util.Set fullAddMods
        53: .line 1298
            aload 5 /* 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
        54: .line 1300
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addModsOpt:Ljava/lang/String;
            ifnull 56
        55: .line 1301
            aload 5 /* 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
        56: .line 1304
      StackMap locals: java.util.Set
      StackMap stack:
            aload 5 /* fullAddMods */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 75
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        57: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* added */
        start local 6 // java.lang.String added
        58: .line 1306
            aload 6 /* added */
            dup
            astore 9
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
          -1057501189: 59
           1070226586: 60
              default: 71
          }
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set 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:
        59: aload 9
            ldc "ALL-SYSTEM"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 61
            goto 71
      StackMap locals:
      StackMap stack:
        60: aload 9
            ldc "ALL-MODULE-PATH"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 66
            goto 71
        61: .line 1308
      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
        62: .line 1309
            invokevirtual java.util.HashSet.stream:()Ljava/util/stream/Stream;
        63: .line 1310
            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;
        64: .line 1308
            astore 8 /* modules */
        start local 8 // java.util.stream.Stream modules
        65: .line 1311
            goto 74
        end local 8 // java.util.stream.Stream modules
        66: .line 1313
      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
        67: .line 1314
            invokevirtual java.util.HashSet.stream:()Ljava/util/stream/Stream;
        68: .line 1315
            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;
        69: .line 1313
            astore 8 /* modules */
        start local 8 // java.util.stream.Stream modules
        70: .line 1316
            goto 74
        end local 8 // java.util.stream.Stream modules
        71: .line 1318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* added */
            invokevirtual com.sun.tools.javac.comp.Modules.isValidName:(Ljava/lang/CharSequence;)Z
            ifne 73
        72: .line 1319
            goto 75
        73: .line 1320
      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 6 /* 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 8 /* modules */
        start local 8 // java.util.stream.Stream modules
        74: .line 1323
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set 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 8 /* modules */
            aload 4 /* 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$14(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 8 // java.util.stream.Stream modules
        end local 6 // java.lang.String added
        75: .line 1304
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 57
        end local 5 // java.util.Set fullAddMods
        76: .line 1331
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set java.util.function.Predicate java.util.function.Predicate java.util.Set
      StackMap stack:
            aload 0 /* this */
            aload 4 /* 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 5 /* result */
        start local 5 // java.util.Set result
        77: .line 1333
            aload 5 /* 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
        78: .line 1335
            aload 5 /* 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 6 /* hasAutomatic */
        start local 6 // boolean hasAutomatic
        79: .line 1337
            iload 6 /* hasAutomatic */
            ifeq 84
        80: .line 1338
            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;
        81: .line 1339
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
        82: .line 1340
            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;
        83: .line 1341
            aload 5 /* 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
        84: .line 1344
      StackMap locals: java.util.Set int
      StackMap stack:
            aload 5 /* result */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        85: .line 1345
            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$16(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;
        86: .line 1346
            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$17(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;
        87: .line 1347
            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
        88: .line 1344
            astore 8 /* incubatingModules */
        start local 8 // java.lang.String incubatingModules
        89: .line 1349
            aload 8 /* incubatingModules */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 91
        90: .line 1350
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
            aload 8 /* 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
        91: .line 1353
      StackMap locals: com.sun.tools.javac.comp.Modules java.util.Set 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 5 /* result */
            putfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
        92: .line 1356
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.moduleVersionOpt:Ljava/lang/String;
            ifnull 95
        93: .line 1357
            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 9 /* version */
        start local 9 // com.sun.tools.javac.util.Name version
        94: .line 1358
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
            aload 9 /* 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$18(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 9 // com.sun.tools.javac.util.Name version
        95: .line 1360
      StackMap locals:
      StackMap stack:
            return
        end local 8 // java.lang.String incubatingModules
        end local 6 // boolean hasAutomatic
        end local 5 // java.util.Set result
        end local 4 // java.util.Set enabledRoot
        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   96     0               this  Lcom/sun/tools/javac/comp/Modules;
            4    5     1         observable  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           19   96     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   96     2     observablePred  Ljava/util/function/Predicate<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           30   96     3   systemModulePred  Ljava/util/function/Predicate<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           31   96     4        enabledRoot  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           34   35     5      jdkModulePred  Ljava/util/function/Predicate<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           38   40     5      jdkModulePred  Ljava/util/function/Predicate<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           41   50     5      jdkModulePred  Ljava/util/function/Predicate<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           36   41     6             javaSE  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           42   50     6    noIncubatorPred  Ljava/util/function/Predicate<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           44   49     7                sym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
           48   49     9                 ex  Lcom/sun/tools/javac/code/Symbol$CompletionFailure;
           53   76     5        fullAddMods  Ljava/util/Set<Ljava/lang/String;>;
           58   75     6              added  Ljava/lang/String;
           65   66     8            modules  Ljava/util/stream/Stream<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           70   71     8            modules  Ljava/util/stream/Stream<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           74   75     8            modules  Ljava/util/stream/Stream<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           77   96     5             result  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           79   96     6       hasAutomatic  Z
           89   96     8  incubatingModules  Ljava/lang/String;
           94   95     9            version  Lcom/sun/tools/javac/util/Name;
      Exception table:
        from    to  target  type
          44    46      47  Class com.sun.tools.javac.code.Symbol$CompletionFailure

  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 1366
            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 1372
            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 1373
            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 1375
            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 1376
            aload 2 /* rootModules */
            aload 6 /* ms */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 1377
            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 1378
            goto 8
         7: .line 1379
      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 1375
      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 1383
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 6 /* result */
        start local 6 // java.util.Set result
        10: .line 1384
            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 1386
            goto 40
        12: .line 1390
      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 1391
            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 1392
            aload 4 /* primaryTodo */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* primaryTodo */
        15: .line 1393
            iconst_1
            istore 8 /* isPrimaryTodo */
        start local 8 // boolean isPrimaryTodo
        16: .line 1394
            goto 20
        end local 8 // boolean isPrimaryTodo
        end local 7 // com.sun.tools.javac.code.Symbol$ModuleSymbol current
        17: .line 1395
      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 1396
            aload 5 /* secondaryTodo */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 5 /* secondaryTodo */
        19: .line 1397
            iconst_0
            istore 8 /* isPrimaryTodo */
        start local 8 // boolean isPrimaryTodo
        20: .line 1399
      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 1400
            goto 40
        22: .line 1401
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            aload 7 /* current */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 40
            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 40
            aload 7 /* current */
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.flags_field:J
            ldc 4503599627370496
            land
            lconst_0
            lcmp
            ifeq 24
        23: .line 1402
            goto 40
        24: .line 1403
      StackMap locals:
      StackMap stack:
            aload 7 /* current */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
        25: .line 1404
            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 1405
            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 1407
      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 1408
            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 1409
      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 1410
      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 1411
            goto 36
        35: .line 1412
      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 1407
      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 1415
            goto 40
      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: com.sun.tools.javac.code.Symbol$CompletionFailure
        38: astore 7 /* ex */
        start local 7 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
        39: .line 1416
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.chk:Lcom/sun/tools/javac/comp/Check;
            aconst_null
            aload 7 /* ex */
            invokevirtual com.sun.tools.javac.comp.Check.completionError:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol$CompletionFailure;)Lcom/sun/tools/javac/code/Type;
            pop
        end local 7 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
        40: .line 1386
      StackMap locals:
      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
        41: .line 1420
            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   42     0           this  Lcom/sun/tools/javac/comp/Modules;
            0   42     1           base  Ljava/util/Set<+Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            0   42     2    rootModules  Ljava/util/Set<+Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            0   42     3     observable  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            1   42     4    primaryTodo  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            2   42     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   42     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;
           39   40     7             ex  Lcom/sun/tools/javac/code/Symbol$CompletionFailure;
      Exception table:
        from    to  target  type
          12    21      38  Class com.sun.tools.javac.code.Symbol$CompletionFailure
          22    23      38  Class com.sun.tools.javac.code.Symbol$CompletionFailure
          24    37      38  Class com.sun.tools.javac.code.Symbol$CompletionFailure
    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 1424
            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 1426
            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 1427
            aload 2 /* mod */
            areturn
         3: .line 1430
      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 1434
            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 1435
            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 1461
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.inInitModules:Z
            ifeq 3
         1: .line 1462
            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$19(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 1463
            return
         3: .line 1466
      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 1467
            aload 0 /* this */
            aload 1 /* msym */
            invokevirtual com.sun.tools.javac.comp.Modules.completeAutomaticModule:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;)V
         5: .line 1470
      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 1472
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.initAddReads:()V
         7: .line 1474
            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 1476
            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 1478
            goto 26
        10: .line 1479
      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 1480
            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 1481
            aload 3 /* env */
            ifnull 21
        13: .line 1482
            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 1484
            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 1485
            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 1486
            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 1487
            aload 5
            athrow
        19: .line 1486
      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 1488
            goto 24
        21: .line 1489
      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 1491
      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 1493
      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 1478
      StackMap locals:
      StackMap stack:
            aload 2 /* requires */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 10
        27: .line 1496
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 3 /* readable */
        start local 3 // java.util.Set readable
        28: .line 1497
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* requiresTransitive */
        start local 4 // java.util.Set requiresTransitive
        29: .line 1499
            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 1500
            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 1501
            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 1502
            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 1503
            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$20(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 1504
            aload 3 /* readable */
            aload 7 /* s */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        36: .line 1505
            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 1506
            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 1507
            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 1499
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        40: .line 1511
            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 1512
            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 1513
            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 1514
            aload 5 /* d */
            getfield com.sun.tools.javac.code.Directive$ExportsDirective.packge:Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
            ifnull 46
        45: .line 1515
            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 1513
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 43
        47: .line 1518
            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   48     0                this  Lcom/sun/tools/javac/comp/Modules;
            0   48     1                msym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            9   48     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   48     3            readable  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
           29   48     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 1521
            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 1523
            aload 2 /* requiresTransitive */
            ifnonnull 27
         2: .line 1525
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* requiresTransitive */
         3: .line 1527
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* seen */
        start local 3 // java.util.Set seen
         4: .line 1528
            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 1530
            goto 25
         6: .line 1531
      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 1532
            aload 4 /* todo */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* todo */
         8: .line 1533
            aload 3 /* seen */
            aload 5 /* current */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 10
         9: .line 1534
            goto 25
        10: .line 1535
      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 1536
            aload 5 /* current */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
        12: .line 1538
            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 1539
            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$21(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 1540
            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 1541
            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 1542
            aload 7 /* rd */
            invokevirtual com.sun.tools.javac.code.Directive$RequiresDirective.isTransitive:()Z
            ifeq 19
        18: .line 1543
            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 1541
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        20: .line 1545
            goto 25
        end local 6 // java.lang.Iterable requires
        21: .line 1546
      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 1547
            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 1546
      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 1530
      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 1552
            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 1555
      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 1559
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.initAddExports:()V
         1: .line 1561
            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 1562
            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 1564
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* seen */
        start local 3 // java.util.Map seen
         4: .line 1566
            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 1567
            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 1568
            goto 9
         8: .line 1569
      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 1566
      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 1572
            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$22(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 1577
            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 1583
            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 1584
            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 1585
      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 1586
            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 1588
            aload 8 /* previousModule */
            ifnull 29
            aload 8 /* previousModule */
            aload 3 /* exportsFrom */
            if_acmpeq 29
         6: .line 1589
            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 1590
            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 1591
      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 1590
      StackMap locals:
      StackMap stack: javax.tools.JavaFileObject
            astore 10 /* origSource */
        start local 10 // javax.tools.JavaFileObject origSource
        10: .line 1592
            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 1594
            aload 1 /* msym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.isUnnamed:()Z
            ifeq 18
        14: .line 1595
            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 1596
            aload 8 /* previousModule */
            aload 3 /* exportsFrom */
        16: .line 1595
            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 1597
            goto 26
        18: .line 1598
      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 1599
            aload 8 /* previousModule */
            aload 3 /* exportsFrom */
        20: .line 1598
            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 1601
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 12
        23: .line 1602
            aload 9 /* env */
            ifnull 25
        24: .line 1603
            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 1604
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 12
            athrow
        26: .line 1602
      StackMap locals:
      StackMap stack:
            aload 9 /* env */
            ifnull 31
        27: .line 1603
            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 1605
            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 1608
      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 1609
            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 1583
      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 1612
            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 1615
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addExports:Ljava/util/Map;
            ifnull 2
         1: .line 1616
            return
         2: .line 1618
      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 1619
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* unknownModules */
        start local 1 // java.util.Set unknownModules
         4: .line 1621
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addExportsOpt:Ljava/lang/String;
            ifnonnull 6
         5: .line 1622
            return
         6: .line 1624
      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 1625
            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 1626
            aload 3 /* s */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 11
        10: .line 1627
            goto 46
        11: .line 1628
      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 1629
            aload 7 /* em */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifne 14
        13: .line 1630
            goto 46
        14: .line 1637
      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 1638
            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 1639
            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 1641
            aload 0 /* this */
            aload 8 /* moduleName */
            invokevirtual com.sun.tools.javac.comp.Modules.isValidName:(Ljava/lang/CharSequence;)Z
            ifne 19
        18: .line 1642
            goto 46
        19: .line 1644
      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 1645
            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 1646
            goto 46
        22: .line 1648
      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 1649
            goto 46
        24: .line 1651
      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 1652
            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 1653
            goto 46
        27: .line 1656
      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 1657
            aload 12 /* p */
            aload 11 /* msym */
            putfield com.sun.tools.javac.code.Symbol$PackageSymbol.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
        29: .line 1659
            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 1660
            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 1662
            aload 14 /* toModule */
            ldc "ALL-UNNAMED"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
        33: .line 1663
            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 1664
            goto 40
        end local 18 // com.sun.tools.javac.code.Symbol$ModuleSymbol m
        35: .line 1665
      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 1666
            goto 41
        37: .line 1667
      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 1668
            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 1669
            goto 41
        40: .line 1671
      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 1660
      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 1674
            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$23(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 1675
            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 1676
            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 1625
      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 1678
            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 1681
            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 1682
            iconst_1
            ireturn
         2: .line 1685
      StackMap locals:
      StackMap stack:
            aload 2 /* unknownModules */
            aload 1 /* msym */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 8
         3: .line 1686
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.lintOptions:Z
            ifeq 7
         4: .line 1687
            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 1688
            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 1687
            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 1690
      StackMap locals:
      StackMap stack:
            aload 2 /* unknownModules */
            aload 1 /* msym */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1692
      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 1696
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addReads:Ljava/util/Map;
            ifnull 2
         1: .line 1697
            return
         2: .line 1699
      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 1701
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.addReadsOpt:Ljava/lang/String;
            ifnonnull 5
         4: .line 1702
            return
         5: .line 1704
      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 1705
            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 1706
            aload 2 /* s */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 10
         9: .line 1707
            goto 41
        10: .line 1708
      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 1709
            aload 6 /* rm */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifne 13
        12: .line 1710
            goto 41
        13: .line 1717
      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 1718
            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 1720
            aload 0 /* this */
            aload 7 /* sourceName */
            invokevirtual com.sun.tools.javac.comp.Modules.isValidName:(Ljava/lang/CharSequence;)Z
            ifne 17
        16: .line 1721
            goto 41
        17: .line 1723
      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 1724
            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 1725
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.lintOptions:Z
            ifeq 41
        20: .line 1726
            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 1728
            goto 41
        22: .line 1731
      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 1732
            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 1733
            goto 41
        25: .line 1736
      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 1738
            aload 10 /* targetName */
            ldc "ALL-UNNAMED"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
        28: .line 1739
            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 1740
            goto 37
        end local 14 // com.sun.tools.javac.code.Symbol$ModuleSymbol targetModule
        30: .line 1741
      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 1742
            goto 39
        32: .line 1743
      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 1744
            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 1745
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.lintOptions:Z
            ifeq 39
        35: .line 1746
            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 1748
            goto 39
        37: .line 1751
      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$24(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 1752
            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 1736
      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 1705
      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 1755
            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=4, 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 1758
            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 24
      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 1760
            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 24
            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 1761
            goto 24
        start local 4 // com.sun.tools.javac.tree.JCTree$JCRequires rd
         5: .line 1762
      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 1763
            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 1764
            goto 21
         8: .line 1765
      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 1766
            aload 6 /* queue */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 6 /* queue */
        10: .line 1767
            aload 5 /* nonSyntheticDeps */
            aload 7 /* current */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 12
        11: .line 1768
            goto 21
        12: .line 1769
      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 1770
            aload 7 /* current */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.flags:()J
            ldc 4503599627370496
            land
            lconst_0
            lcmp
            ifeq 15
        14: .line 1771
            goto 21
        15: .line 1772
      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 1773
            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 1774
            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 1775
            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 1773
      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 1764
      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 1778
            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 1779
            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
        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
        24: .line 1758
      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
        25: .line 1782
            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   26     0              this  Lcom/sun/tools/javac/comp/Modules;
            0   26     1               mod  Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
            2   24     2                 d  Lcom/sun/tools/javac/tree/JCTree$JCDirective;
            3    4     4                rd  Lcom/sun/tools/javac/tree/JCTree$JCRequires;
            5   24     4                rd  Lcom/sun/tools/javac/tree/JCTree$JCRequires;
            6   24     5  nonSyntheticDeps  Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;>;
            7   24     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 1785
            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 1790
            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 1791
            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 1792
            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 1793
            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 1794
            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 1795
            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 1796
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1790
            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 1801
            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 1806
            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 1810
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.Modules.allModules:Ljava/util/Set;
         1: .line 1811
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
         2: .line 1812
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.Modules.defaultModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
         3: .line 1813
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Modules.warnedMissing:Ljava/util/Set;
            invokeinterface java.util.Set.clear:()V
         4: .line 1814
            return
        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;

  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 1363
            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 232
            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 233
            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 234
            aload 0 /* this */
            aload 1 /* modules */
            putfield com.sun.tools.javac.comp.Modules.rootModules:Ljava/util/Set;
         3: .line 235
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Modules.setupAllModules:()V
         4: .line 236
            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 237
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.comp.Modules.inInitModules:Z
         6: .line 238
            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 246
            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 479
            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 508
            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 969
            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 971
            aload 2 /* msym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
         2: .line 973
            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 974
            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 975
            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 976
            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 977
            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 980
            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 981
            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 982
            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 983
            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 984
            aload 8
            athrow
        13: .line 982
      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 983
            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 985
            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 1253
            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 1254
            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 1261
            aload 0 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
         1: .line 1262
            aload 0 /* 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$9(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
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$ModuleSymbol sym
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   sym  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;

  private boolean lambda$10(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 1268
            aload 1 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
         1: .line 1269
            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 1270
            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$11(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 1269
            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$12(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 1274
            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 boolean lambda$13(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 1279
            aload 0 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol$ModuleSymbol.complete:()V
         1: .line 1280
            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 static void lambda$14(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 1324
            aload 0
            aload 2 /* sym */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1325
            aload 1
            ifnull 3
         2: .line 1326
            aload 1
            aload 2 /* sym */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1327
      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$16(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 1345
            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$17(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 1346
            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$18(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 1358
            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$19(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 1462
            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$20(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 1503
            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$21(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 1539
            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$22(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 1573
            aload 1
            getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.readModules:Ljava/util/Set;
            aload 3 /* exportsFrom */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1574
            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
         2: .line 1576
      StackMap locals:
      StackMap stack:
            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    3     0         this  Lcom/sun/tools/javac/comp/Modules;
            0    3     3  exportsFrom  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            0    3     4      exports  Ljava/util/Set<Lcom/sun/tools/javac/code/Directive$ExportsDirective;>;

  private static java.util.Set lambda$23(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 1674
            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$24(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 1751
            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$9(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 1262
            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;

  private static boolean lambda$11(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 1270
            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 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 final Feature = com.sun.tools.javac.code.Source$Feature of com.sun.tools.javac.code.Source
  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 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