class com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler extends com.sun.tools.javac.file.Locations$BasicLocationHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler
  super_class: com.sun.tools.javac.file.Locations$BasicLocationHandler
{
  private com.sun.tools.javac.file.Locations$ModuleTable moduleTable;
    descriptor: Lcom/sun/tools/javac/file/Locations$ModuleTable;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<java.nio.file.Path> paths;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/nio/file/Path;>;

  private final java.util.function.Predicate<java.nio.file.Path> checkModuleInfo;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Predicate<Ljava/nio/file/Path;>;

  final com.sun.tools.javac.file.Locations this$0;
    descriptor: Lcom/sun/tools/javac/file/Locations;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.tools.javac.file.Locations);
    descriptor: (Lcom/sun/tools/javac/file/Locations;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
         0: .line 1524
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
         1: .line 1525
            aload 0 /* this */
            getstatic javax.tools.StandardLocation.MODULE_SOURCE_PATH:Ljavax/tools/StandardLocation;
            iconst_1
            anewarray com.sun.tools.javac.main.Option
            dup
            iconst_0
         2: .line 1526
            getstatic com.sun.tools.javac.main.Option.MODULE_SOURCE_PATH:Lcom/sun/tools/javac/main/Option;
            aastore
            invokespecial com.sun.tools.javac.file.Locations$BasicLocationHandler.<init>:(Ljavax/tools/JavaFileManager$Location;[Lcom/sun/tools/javac/main/Option;)V
         3: .line 1592
            aload 0 /* this */
         4: .line 1593
            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/file/Locations$ModuleSourcePathLocationHandler.lambda$0(Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            putfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.checkModuleInfo:Ljava/util/function/Predicate;
         5: .line 1527
            return
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
    MethodParameters:
        Name  Flags
      this$0  final

  boolean handleOption(com.sun.tools.javac.main.Option, java.lang.String);
    descriptor: (Lcom/sun/tools/javac/main/Option;Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
        start local 1 // com.sun.tools.javac.main.Option option
        start local 2 // java.lang.String value
         0: .line 1531
            aload 0 /* this */
            iconst_1
            putfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.explicit:Z
         1: .line 1532
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.init:(Ljava/lang/String;)V
         2: .line 1533
            iconst_1
            ireturn
        end local 2 // java.lang.String value
        end local 1 // com.sun.tools.javac.main.Option option
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
            0    3     1  option  Lcom/sun/tools/javac/main/Option;
            0    3     2   value  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      option  
      value   

  void init(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
        start local 1 // java.lang.String value
         0: .line 1537
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* segments */
        start local 2 // java.util.Collection segments
         1: .line 1538
            aload 1 /* value */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 5
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.lang.String java.util.Collection top int int java.lang.String[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* s */
        start local 3 // java.lang.String s
         3: .line 1539
            aload 0 /* this */
            aload 3 /* s */
            aload 2 /* segments */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.expandBraces:(Ljava/lang/String;Ljava/util/Collection;)V
        end local 3 // java.lang.String s
         4: .line 1538
            iinc 4 1
      StackMap locals:
      StackMap stack:
         5: iload 4
            iload 5
            if_icmplt 2
         6: .line 1542
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 3 /* map */
        start local 3 // java.util.Map map
         7: .line 1543
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* noSuffixPaths */
        start local 4 // java.util.List noSuffixPaths
         8: .line 1544
            iconst_0
            istore 5 /* anySuffix */
        start local 5 // boolean anySuffix
         9: .line 1546
            aload 2 /* segments */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 32
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.lang.String java.util.Collection java.util.Map java.util.List int top java.util.Iterator
      StackMap stack:
        10: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* seg */
        start local 6 // java.lang.String seg
        11: .line 1547
            aload 6 /* seg */
            ldc "*"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 8 /* markStart */
        start local 8 // int markStart
        12: .line 1548
            iload 8 /* markStart */
            iconst_m1
            if_icmpne 17
        13: .line 1549
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
            aload 6 /* seg */
            iconst_0
            anewarray java.lang.String
            invokevirtual com.sun.tools.javac.file.Locations.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 9 /* p */
        start local 9 // java.nio.file.Path p
        14: .line 1550
            aload 0 /* this */
            aload 3 /* map */
            aload 9 /* p */
            aconst_null
            invokevirtual com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.add:(Ljava/util/Map;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
        15: .line 1551
            aload 4 /* noSuffixPaths */
            aload 9 /* p */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.nio.file.Path p
        16: .line 1552
            goto 32
        17: .line 1553
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.lang.String java.util.Collection java.util.Map java.util.List int java.lang.String java.util.Iterator int
      StackMap stack:
            iload 8 /* markStart */
            ifeq 18
            aload 0 /* this */
            aload 6 /* seg */
            iload 8 /* markStart */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.isSeparator:(C)Z
            ifne 19
        18: .line 1554
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "illegal use of * in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* seg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 1556
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
            aload 6 /* seg */
            iconst_0
            iload 8 /* markStart */
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokevirtual com.sun.tools.javac.file.Locations.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 9 /* prefix */
        start local 9 // java.nio.file.Path prefix
        20: .line 1558
            iload 8 /* markStart */
            ldc "*"
            invokevirtual java.lang.String.length:()I
            iadd
            istore 11 /* markEnd */
        start local 11 // int markEnd
        21: .line 1559
            iload 11 /* markEnd */
            aload 6 /* seg */
            invokevirtual java.lang.String.length:()I
            if_icmpne 24
        22: .line 1560
            aconst_null
            astore 10 /* suffix */
        start local 10 // java.nio.file.Path suffix
        23: .line 1561
            goto 29
        end local 10 // java.nio.file.Path suffix
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.lang.String java.util.Collection java.util.Map java.util.List int java.lang.String java.util.Iterator int java.nio.file.Path top int
      StackMap stack:
        24: aload 0 /* this */
            aload 6 /* seg */
            iload 11 /* markEnd */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.isSeparator:(C)Z
            ifeq 26
        25: .line 1562
            aload 6 /* seg */
            ldc "*"
            iload 11 /* markEnd */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            iconst_m1
            if_icmpeq 27
        26: .line 1563
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "illegal use of * in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* seg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 1565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
            aload 6 /* seg */
            iload 11 /* markEnd */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokevirtual com.sun.tools.javac.file.Locations.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 10 /* suffix */
        start local 10 // java.nio.file.Path suffix
        28: .line 1566
            iconst_1
            istore 5 /* anySuffix */
        29: .line 1568
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.lang.String java.util.Collection java.util.Map java.util.List int java.lang.String java.util.Iterator int java.nio.file.Path java.nio.file.Path int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* map */
            aload 9 /* prefix */
            aload 10 /* suffix */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.add:(Ljava/util/Map;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
        30: .line 1569
            aload 10 /* suffix */
            ifnonnull 32
        31: .line 1570
            aload 4 /* noSuffixPaths */
            aload 9 /* prefix */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // int markEnd
        end local 10 // java.nio.file.Path suffix
        end local 9 // java.nio.file.Path prefix
        end local 8 // int markStart
        end local 6 // java.lang.String seg
        32: .line 1546
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.lang.String java.util.Collection java.util.Map java.util.List int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        33: .line 1575
            aload 0 /* this */
            aload 3 /* map */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.initModuleTable:(Ljava/util/Map;)V
        34: .line 1576
            aload 0 /* this */
            iload 5 /* anySuffix */
            ifeq 35
            aconst_null
            goto 36
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.lang.String java.util.Collection java.util.Map java.util.List int
      StackMap stack: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler
        35: aload 4 /* noSuffixPaths */
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.lang.String java.util.Collection java.util.Map java.util.List int
      StackMap stack: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.util.List
        36: putfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.paths:Ljava/util/List;
        37: .line 1577
            return
        end local 5 // boolean anySuffix
        end local 4 // java.util.List noSuffixPaths
        end local 3 // java.util.Map map
        end local 2 // java.util.Collection segments
        end local 1 // java.lang.String value
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   38     0           this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
            0   38     1          value  Ljava/lang/String;
            1   38     2       segments  Ljava/util/Collection<Ljava/lang/String;>;
            3    4     3              s  Ljava/lang/String;
            7   38     3            map  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/nio/file/Path;>;>;
            8   38     4  noSuffixPaths  Ljava/util/List<Ljava/nio/file/Path;>;
            9   38     5      anySuffix  Z
           11   32     6            seg  Ljava/lang/String;
           12   32     8      markStart  I
           14   16     9              p  Ljava/nio/file/Path;
           20   32     9         prefix  Ljava/nio/file/Path;
           23   24    10         suffix  Ljava/nio/file/Path;
           28   32    10         suffix  Ljava/nio/file/Path;
           21   32    11        markEnd  I
    MethodParameters:
       Name  Flags
      value  

  private void initModuleTable(java.util.Map<java.lang.String, java.util.List<java.nio.file.Path>>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
        start local 1 // java.util.Map map
         0: .line 1580
            aload 0 /* this */
            new com.sun.tools.javac.file.Locations$ModuleTable
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
            invokespecial com.sun.tools.javac.file.Locations$ModuleTable.<init>:(Lcom/sun/tools/javac/file/Locations;)V
            putfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
         1: .line 1581
            aload 1 /* map */
            aload 0 /* this */
            invokedynamic accept(Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;)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/file/Locations$ModuleSourcePathLocationHandler.lambda$1(Ljava/lang/String;Ljava/util/List;)V (7)
                  (Ljava/lang/String;Ljava/util/List;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
         2: .line 1590
            return
        end local 1 // java.util.Map map
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
            0    3     1   map  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/nio/file/Path;>;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/nio/file/Path;>;>;)V
    MethodParameters:
      Name  Flags
      map   

  private boolean isSeparator(char);
    descriptor: (C)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
        start local 1 // char ch
         0: .line 1598
            iload 1 /* ch */
            getstatic java.io.File.separatorChar:C
            if_icmpeq 1
            iload 1 /* ch */
            bipush 47
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // char ch
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
            0    2     1    ch  C
    MethodParameters:
      Name  Flags
      ch    

  void add(java.util.Map<java.lang.String, java.util.List<java.nio.file.Path>>, java.nio.file.Path, java.nio.file.Path);
    descriptor: (Ljava/util/Map;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
        start local 1 // java.util.Map map
        start local 2 // java.nio.file.Path prefix
        start local 3 // java.nio.file.Path suffix
         0: .line 1602
            aload 2 /* prefix */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 8
         1: .line 1603
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
            getfield com.sun.tools.javac.file.Locations.warn:Z
            ifeq 7
         2: .line 1604
            aload 2 /* prefix */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 4
         3: .line 1605
            aload 2 /* prefix */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.DirPathElementNotDirectory:(Ljava/nio/file/Path;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
            goto 5
         4: .line 1606
      StackMap locals:
      StackMap stack:
            aload 2 /* prefix */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.DirPathElementNotFound:(Ljava/nio/file/Path;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
         5: .line 1604
      StackMap locals:
      StackMap stack: com.sun.tools.javac.util.JCDiagnostic$Warning
            astore 4 /* key */
        start local 4 // com.sun.tools.javac.util.JCDiagnostic$Warning key
         6: .line 1607
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
            getfield com.sun.tools.javac.file.Locations.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.code.Lint$LintCategory.PATH:Lcom/sun/tools/javac/code/Lint$LintCategory;
            aload 4 /* key */
            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 4 // com.sun.tools.javac.util.JCDiagnostic$Warning key
         7: .line 1609
      StackMap locals:
      StackMap stack:
            return
         8: .line 1611
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4
            aconst_null
            astore 5
         9: aload 2 /* prefix */
            invokedynamic accept()Ljava/nio/file/DirectoryStream$Filter;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler.lambda$2(Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;
            astore 6 /* stream */
        start local 6 // java.nio.file.DirectoryStream stream
        10: .line 1612
            aload 6 /* stream */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 8
            goto 21
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.util.Map java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
        11: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 7 /* entry */
        start local 7 // java.nio.file.Path entry
        12: .line 1613
            aload 3 /* suffix */
            ifnonnull 13
            aload 7 /* entry */
            goto 14
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.util.Map java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator
      StackMap stack:
        13: aload 7 /* entry */
            aload 3 /* suffix */
            invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
      StackMap locals:
      StackMap stack: java.nio.file.Path
        14: astore 9 /* path */
        start local 9 // java.nio.file.Path path
        15: .line 1614
            aload 9 /* path */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 21
        16: .line 1615
            aload 7 /* entry */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            astore 10 /* name */
        start local 10 // java.lang.String name
        17: .line 1616
            aload 1 /* map */
            aload 10 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 11 /* paths */
        start local 11 // java.util.List paths
        18: .line 1617
            aload 11 /* paths */
            ifnonnull 20
        19: .line 1618
            aload 1 /* map */
            aload 10 /* name */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            dup
            astore 11 /* paths */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 1619
      StackMap locals: java.nio.file.Path java.lang.String java.util.List
      StackMap stack:
            aload 11 /* paths */
            aload 9 /* path */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.util.List paths
        end local 10 // java.lang.String name
        end local 9 // java.nio.file.Path path
        end local 7 // java.nio.file.Path entry
        21: .line 1612
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.util.Map java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        22: .line 1622
            aload 6 /* stream */
            ifnull 30
            aload 6 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 30
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.util.Map java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
      StackMap stack: java.lang.Throwable
        23: astore 4
            aload 6 /* stream */
            ifnull 24
            aload 6 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 6 // java.nio.file.DirectoryStream stream
      StackMap locals:
      StackMap stack:
        24: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 5
            aload 4
            ifnonnull 26
            aload 5
            astore 4
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 4
            aload 5
            if_acmpeq 27
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        27: aload 4
            athrow
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.util.Map java.nio.file.Path java.nio.file.Path
      StackMap stack: java.io.IOException
        28: astore 4 /* e */
        start local 4 // java.io.IOException e
        29: .line 1624
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 4 /* e */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        end local 4 // java.io.IOException e
        30: .line 1626
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.nio.file.Path suffix
        end local 2 // java.nio.file.Path prefix
        end local 1 // java.util.Map map
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   31     0    this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
            0   31     1     map  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/nio/file/Path;>;>;
            0   31     2  prefix  Ljava/nio/file/Path;
            0   31     3  suffix  Ljava/nio/file/Path;
            6    7     4     key  Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
           10   24     6  stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
           12   21     7   entry  Ljava/nio/file/Path;
           15   21     9    path  Ljava/nio/file/Path;
           17   21    10    name  Ljava/lang/String;
           18   21    11   paths  Ljava/util/List<Ljava/nio/file/Path;>;
           29   30     4       e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          10    22      23  any
           9    25      25  any
           8    28      28  Class java.io.IOException
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/nio/file/Path;>;>;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
    MethodParameters:
        Name  Flags
      map     
      prefix  
      suffix  

  private void expandBraces(java.lang.String, java.util.Collection<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/Collection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
        start local 1 // java.lang.String value
        start local 2 // java.util.Collection results
         0: .line 1629
            iconst_0
            istore 3 /* depth */
        start local 3 // int depth
         1: .line 1630
            iconst_m1
            istore 4 /* start */
        start local 4 // int start
         2: .line 1631
            aconst_null
            astore 5 /* prefix */
        start local 5 // java.lang.String prefix
         3: .line 1632
            aconst_null
            astore 6 /* suffix */
        start local 6 // java.lang.String suffix
         4: .line 1633
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 25
         6: .line 1634
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.lang.String java.util.Collection int int java.lang.String java.lang.String int
      StackMap stack:
            aload 1 /* value */
            iload 7 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 3
                   44: 13
                  123: 7
                  125: 18
              default: 24
          }
         7: .line 1636
      StackMap locals:
      StackMap stack:
            iinc 3 /* depth */ 1
         8: .line 1637
            iload 3 /* depth */
            iconst_1
            if_icmpne 24
         9: .line 1638
            aload 1 /* value */
            iconst_0
            iload 7 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* prefix */
        10: .line 1639
            aload 1 /* value */
            aload 0 /* this */
            aload 1 /* value */
            iload 7 /* i */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.getMatchingBrace:(Ljava/lang/String;I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* suffix */
        11: .line 1640
            iload 7 /* i */
            iconst_1
            iadd
            istore 4 /* start */
        12: .line 1642
            goto 24
        13: .line 1645
      StackMap locals:
      StackMap stack:
            iload 3 /* depth */
            iconst_1
            if_icmpne 24
        14: .line 1646
            aload 1 /* value */
            iload 4 /* start */
            iload 7 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* elem */
        start local 8 // java.lang.String elem
        15: .line 1647
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 5 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* elem */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* results */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.expandBraces:(Ljava/lang/String;Ljava/util/Collection;)V
        16: .line 1648
            iload 7 /* i */
            iconst_1
            iadd
            istore 4 /* start */
        end local 8 // java.lang.String elem
        17: .line 1650
            goto 24
        18: .line 1653
      StackMap locals:
      StackMap stack:
            iload 3 /* depth */
            tableswitch { // 0 - 1
                    0: 19
                    1: 20
              default: 23
          }
        19: .line 1655
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "mismatched braces"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 1658
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            iload 4 /* start */
            iload 7 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* elem */
        start local 8 // java.lang.String elem
        21: .line 1659
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 5 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* elem */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* results */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.expandBraces:(Ljava/lang/String;Ljava/util/Collection;)V
        22: .line 1660
            return
        end local 8 // java.lang.String elem
        23: .line 1663
      StackMap locals:
      StackMap stack:
            iinc 3 /* depth */ -1
        24: .line 1633
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 7 /* i */
            aload 1 /* value */
            invokevirtual java.lang.String.length:()I
            if_icmplt 6
        end local 7 // int i
        26: .line 1668
            iload 3 /* depth */
            ifle 28
        27: .line 1669
            new java.lang.IllegalArgumentException
            dup
            ldc "mismatched braces"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 1670
      StackMap locals:
      StackMap stack:
            aload 2 /* results */
            aload 1 /* value */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        29: .line 1671
            return
        end local 6 // java.lang.String suffix
        end local 5 // java.lang.String prefix
        end local 4 // int start
        end local 3 // int depth
        end local 2 // java.util.Collection results
        end local 1 // java.lang.String value
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   30     0     this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
            0   30     1    value  Ljava/lang/String;
            0   30     2  results  Ljava/util/Collection<Ljava/lang/String;>;
            1   30     3    depth  I
            2   30     4    start  I
            3   30     5   prefix  Ljava/lang/String;
            4   30     6   suffix  Ljava/lang/String;
            5   26     7        i  I
           15   17     8     elem  Ljava/lang/String;
           21   23     8     elem  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
         Name  Flags
      value    
      results  

  int getMatchingBrace(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
        start local 1 // java.lang.String value
        start local 2 // int offset
         0: .line 1674
            iconst_1
            istore 3 /* depth */
        start local 3 // int depth
         1: .line 1675
            iload 2 /* offset */
            iconst_1
            iadd
            istore 4 /* i */
        start local 4 // int i
         2: goto 9
         3: .line 1676
      StackMap locals: int int
      StackMap stack:
            aload 1 /* value */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            tableswitch { // 123 - 125
                  123: 4
                  124: 8
                  125: 6
              default: 8
          }
         4: .line 1678
      StackMap locals:
      StackMap stack:
            iinc 3 /* depth */ 1
         5: .line 1679
            goto 8
         6: .line 1682
      StackMap locals:
      StackMap stack:
            iinc 3 /* depth */ -1
            iload 3 /* depth */
            ifne 8
         7: .line 1683
            iload 4 /* i */
            ireturn
         8: .line 1675
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 1 /* value */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 4 // int i
        10: .line 1687
            new java.lang.IllegalArgumentException
            dup
            ldc "mismatched braces"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int depth
        end local 2 // int offset
        end local 1 // java.lang.String value
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
            0   11     1   value  Ljava/lang/String;
            0   11     2  offset  I
            1   11     3   depth  I
            2   10     4       i  I
    MethodParameters:
        Name  Flags
      value   
      offset  

  boolean isSet();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
         0: .line 1692
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;

  java.util.Collection<java.nio.file.Path> getPaths();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
         0: .line 1697
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.paths:Ljava/util/List;
            ifnonnull 2
         1: .line 1700
            new java.lang.IllegalStateException
            dup
            ldc "paths not available"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1702
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.paths:Ljava/util/List;
            areturn
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
    Signature: ()Ljava/util/Collection<Ljava/nio/file/Path;>;

  void setPaths(java.lang.Iterable<? extends java.nio.file.Path>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
        start local 1 // java.lang.Iterable files
         0: .line 1707
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.Map map
         1: .line 1708
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* newPaths */
        start local 3 // java.util.List newPaths
         2: .line 1709
            aload 1 /* files */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.lang.Iterable java.util.Map java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 4 /* file */
        start local 4 // java.nio.file.Path file
         4: .line 1710
            aload 0 /* this */
            aload 2 /* map */
            aload 4 /* file */
            aconst_null
            invokevirtual com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.add:(Ljava/util/Map;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
         5: .line 1711
            aload 3 /* newPaths */
            aload 4 /* file */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.nio.file.Path file
         6: .line 1709
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 1714
            aload 0 /* this */
            aload 2 /* map */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.initModuleTable:(Ljava/util/Map;)V
         8: .line 1715
            aload 0 /* this */
            iconst_1
            putfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.explicit:Z
         9: .line 1716
            aload 0 /* this */
            aload 3 /* newPaths */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.paths:Ljava/util/List;
        10: .line 1717
            return
        end local 3 // java.util.List newPaths
        end local 2 // java.util.Map map
        end local 1 // java.lang.Iterable files
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
            0   11     1     files  Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
            1   11     2       map  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/nio/file/Path;>;>;
            2   11     3  newPaths  Ljava/util/List<Ljava/nio/file/Path;>;
            4    6     4      file  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Iterable<+Ljava/nio/file/Path;>;)V
    MethodParameters:
       Name  Flags
      files  

  void setPathsForModule(java.lang.String, java.lang.Iterable<? extends java.nio.file.Path>);
    descriptor: (Ljava/lang/String;Ljava/lang/Iterable;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Iterable paths
         0: .line 1721
            aload 0 /* this */
            aload 2 /* paths */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.checkPaths:(Ljava/lang/Iterable;)Ljava/util/List;
            astore 3 /* validPaths */
        start local 3 // java.util.List validPaths
         1: .line 1723
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
            ifnonnull 3
         2: .line 1724
            aload 0 /* this */
            new com.sun.tools.javac.file.Locations$ModuleTable
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
            invokespecial com.sun.tools.javac.file.Locations$ModuleTable.<init>:(Lcom/sun/tools/javac/file/Locations;)V
            putfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
         3: .line 1726
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
            aload 1 /* name */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.get:(Ljava/lang/String;)Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;
            astore 4 /* l */
        start local 4 // com.sun.tools.javac.file.Locations$ModuleLocationHandler l
         4: .line 1727
            aload 4 /* l */
            ifnonnull 13
         5: .line 1728
            new com.sun.tools.javac.file.Locations$ModuleLocationHandler
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
            aload 0 /* this */
         6: .line 1729
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.location:Ljavax/tools/JavaFileManager$Location;
            invokeinterface javax.tools.JavaFileManager$Location.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 1730
            aload 1 /* name */
         8: .line 1731
            aload 3 /* validPaths */
         9: .line 1732
            iconst_1
        10: .line 1728
            invokespecial com.sun.tools.javac.file.Locations$ModuleLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Lcom/sun/tools/javac/file/Locations$LocationHandler;Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;Z)V
            astore 4 /* l */
        11: .line 1733
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
            aload 4 /* l */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.add:(Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;)V
        12: .line 1734
            goto 15
        13: .line 1735
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleLocationHandler
      StackMap stack:
            aload 4 /* l */
            aload 3 /* validPaths */
            putfield com.sun.tools.javac.file.Locations$ModuleLocationHandler.searchPath:Ljava/util/Collection;
        14: .line 1736
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
            aload 4 /* l */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.updatePaths:(Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;)V
        15: .line 1738
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.explicit:Z
        16: .line 1739
            return
        end local 4 // com.sun.tools.javac.file.Locations$ModuleLocationHandler l
        end local 3 // java.util.List validPaths
        end local 2 // java.lang.Iterable paths
        end local 1 // java.lang.String name
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
            0   17     1        name  Ljava/lang/String;
            0   17     2       paths  Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
            1   17     3  validPaths  Ljava/util/List<Ljava/nio/file/Path;>;
            4   17     4           l  Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;Ljava/lang/Iterable<+Ljava/nio/file/Path;>;)V
    MethodParameters:
       Name  Flags
      name   
      paths  

  private java.util.List<java.nio.file.Path> checkPaths(java.lang.Iterable<? extends java.nio.file.Path>);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
        start local 1 // java.lang.Iterable paths
         0: .line 1742
            aload 1 /* paths */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1743
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* validPaths */
        start local 2 // java.util.List validPaths
         2: .line 1744
            aload 1 /* paths */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler java.lang.Iterable java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 3 /* p */
        start local 3 // java.nio.file.Path p
         4: .line 1745
            aload 2 /* validPaths */
            aload 0 /* this */
            aload 3 /* p */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.checkDirectory:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.nio.file.Path p
         5: .line 1744
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 1747
            aload 2 /* validPaths */
            areturn
        end local 2 // java.util.List validPaths
        end local 1 // java.lang.Iterable paths
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
            0    7     1       paths  Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
            2    7     2  validPaths  Ljava/util/List<Ljava/nio/file/Path;>;
            4    5     3           p  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Iterable<+Ljava/nio/file/Path;>;)Ljava/util/List<Ljava/nio/file/Path;>;
    MethodParameters:
       Name  Flags
      paths  

  javax.tools.JavaFileManager$Location getLocationForModule(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/tools/JavaFileManager$Location;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
        start local 1 // java.lang.String name
         0: .line 1752
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
            aload 1 /* name */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.get:(Ljava/lang/String;)Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;
      StackMap locals:
      StackMap stack: com.sun.tools.javac.file.Locations$ModuleLocationHandler
         2: areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  javax.tools.JavaFileManager$Location getLocationForModule(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljavax/tools/JavaFileManager$Location;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
        start local 1 // java.nio.file.Path file
         0: .line 1757
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
            aload 1 /* file */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.get:(Ljava/nio/file/Path;)Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;
      StackMap locals:
      StackMap stack: com.sun.tools.javac.file.Locations$ModuleLocationHandler
         2: areturn
        end local 1 // java.nio.file.Path file
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
            0    3     1  file  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      file  

  java.lang.Iterable<java.util.Set<javax.tools.JavaFileManager$Location>> listLocationsForModules();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
         0: .line 1762
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
            ifnonnull 2
         1: .line 1763
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         2: .line 1765
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
            invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.locations:()Ljava/util/Set;
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            areturn
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
    Signature: ()Ljava/lang/Iterable<Ljava/util/Set<Ljavax/tools/JavaFileManager$Location;>;>;

  boolean contains(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
        start local 1 // java.nio.file.Path file
         0: .line 1770
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
            aload 1 /* file */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.contains:(Ljava/nio/file/Path;)Z
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // java.nio.file.Path file
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
            0    3     1  file  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  private static boolean lambda$0(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.file.Path p
         0: .line 1593
            aload 0 /* p */
            ldc "module-info.java"
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ireturn
        end local 0 // java.nio.file.Path p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     p  Ljava/nio/file/Path;

  private void lambda$1(java.lang.String, java.util.List);
    descriptor: (Ljava/lang/String;Ljava/util/List;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
        start local 1 // java.lang.String modName
        start local 2 // java.util.List modPath
         0: .line 1582
            aload 2 /* modPath */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.checkModuleInfo:Ljava/util/function/Predicate;
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            istore 3 /* hasModuleInfo */
        start local 3 // boolean hasModuleInfo
         1: .line 1583
            iload 3 /* hasModuleInfo */
            ifeq 7
         2: .line 1584
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.location:Ljavax/tools/JavaFileManager$Location;
            invokeinterface javax.tools.JavaFileManager$Location.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* modName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* locnName */
        start local 4 // java.lang.String locnName
         3: .line 1585
            new com.sun.tools.javac.file.Locations$ModuleLocationHandler
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.this$0:Lcom/sun/tools/javac/file/Locations;
            aload 0 /* this */
            aload 4 /* locnName */
            aload 1 /* modName */
         4: .line 1586
            aload 2 /* modPath */
            iconst_0
         5: .line 1585
            invokespecial com.sun.tools.javac.file.Locations$ModuleLocationHandler.<init>:(Lcom/sun/tools/javac/file/Locations;Lcom/sun/tools/javac/file/Locations$LocationHandler;Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;Z)V
            astore 5 /* l */
        start local 5 // com.sun.tools.javac.file.Locations$ModuleLocationHandler l
         6: .line 1587
            aload 0 /* this */
            getfield com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler.moduleTable:Lcom/sun/tools/javac/file/Locations$ModuleTable;
            aload 5 /* l */
            invokevirtual com.sun.tools.javac.file.Locations$ModuleTable.add:(Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;)V
        end local 5 // com.sun.tools.javac.file.Locations$ModuleLocationHandler l
        end local 4 // java.lang.String locnName
        end local 3 // boolean hasModuleInfo
         7: .line 1589
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.List modPath
        end local 1 // java.lang.String modName
        end local 0 // com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lcom/sun/tools/javac/file/Locations$ModuleSourcePathLocationHandler;
            0    8     1        modName  Ljava/lang/String;
            0    8     2        modPath  Ljava/util/List<Ljava/nio/file/Path;>;
            1    7     3  hasModuleInfo  Z
            3    7     4       locnName  Ljava/lang/String;
            6    7     5              l  Lcom/sun/tools/javac/file/Locations$ModuleLocationHandler;

  private static boolean lambda$2(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.file.Path path
         0: .line 1611
            aload 0 /* path */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ireturn
        end local 0 // java.nio.file.Path path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "Locations.java"
NestHost: com.sun.tools.javac.file.Locations
InnerClasses:
  public final LintCategory = com.sun.tools.javac.code.Lint$LintCategory of com.sun.tools.javac.code.Lint
  private abstract BasicLocationHandler = com.sun.tools.javac.file.Locations$BasicLocationHandler of com.sun.tools.javac.file.Locations
  protected abstract LocationHandler = com.sun.tools.javac.file.Locations$LocationHandler of com.sun.tools.javac.file.Locations
  private ModuleLocationHandler = com.sun.tools.javac.file.Locations$ModuleLocationHandler of com.sun.tools.javac.file.Locations
  private ModuleSourcePathLocationHandler = com.sun.tools.javac.file.Locations$ModuleSourcePathLocationHandler of com.sun.tools.javac.file.Locations
  private ModuleTable = com.sun.tools.javac.file.Locations$ModuleTable of com.sun.tools.javac.file.Locations
  public Warnings = com.sun.tools.javac.resources.CompilerProperties$Warnings of com.sun.tools.javac.resources.CompilerProperties
  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 Filter = java.nio.file.DirectoryStream$Filter of java.nio.file.DirectoryStream
  public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager