final class com.sun.tools.javac.file.JavacFileManager$DirectoryContainer implements com.sun.tools.javac.file.JavacFileManager$Container
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.sun.tools.javac.file.JavacFileManager$DirectoryContainer
  super_class: java.lang.Object
{
  private final java.nio.file.Path directory;
    descriptor: Ljava/nio/file/Path;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  public void <init>(com.sun.tools.javac.file.JavacFileManager, java.nio.file.Path);
    descriptor: (Lcom/sun/tools/javac/file/JavacFileManager;Ljava/nio/file/Path;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.file.JavacFileManager$DirectoryContainer this
        start local 2 // java.nio.file.Path directory
         0: .line 426
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 427
            aload 0 /* this */
            aload 2 /* directory */
            putfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.directory:Ljava/nio/file/Path;
         2: .line 428
            return
        end local 2 // java.nio.file.Path directory
        end local 0 // com.sun.tools.javac.file.JavacFileManager$DirectoryContainer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/tools/javac/file/JavacFileManager$DirectoryContainer;
            0    3     2  directory  Ljava/nio/file/Path;
    MethodParameters:
           Name  Flags
      this$0     final
      directory  

  public void list(java.nio.file.Path, com.sun.tools.javac.file.RelativePath$RelativeDirectory, java.util.Set<javax.tools.JavaFileObject$Kind>, boolean, com.sun.tools.javac.util.ListBuffer<javax.tools.JavaFileObject>);
    descriptor: (Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;Ljava/util/Set;ZLcom/sun/tools/javac/util/ListBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=6
        start local 0 // com.sun.tools.javac.file.JavacFileManager$DirectoryContainer this
        start local 1 // java.nio.file.Path userPath
        start local 2 // com.sun.tools.javac.file.RelativePath$RelativeDirectory subdirectory
        start local 3 // java.util.Set fileKinds
        start local 4 // boolean recurse
        start local 5 // com.sun.tools.javac.util.ListBuffer resultList
         0: .line 442
            aload 2 /* subdirectory */
            aload 1 /* userPath */
            invokevirtual com.sun.tools.javac.file.RelativePath$RelativeDirectory.resolveAgainst:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            astore 6 /* d */
        start local 6 // java.nio.file.Path d
         1: .line 443
            goto 4
        end local 6 // java.nio.file.Path d
      StackMap locals:
      StackMap stack: java.nio.file.InvalidPathException
         2: pop
         3: .line 444
            return
        start local 6 // java.nio.file.Path d
         4: .line 447
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 6 /* d */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 6
         5: .line 448
            return
         6: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
            aload 6 /* d */
            aload 2 /* subdirectory */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.caseMapCheck:(Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath;)Z
            ifne 8
         7: .line 452
            return
         8: .line 456
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8
            aconst_null
            astore 9
         9: aload 6 /* d */
            invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
            astore 10 /* s */
        start local 10 // java.util.stream.Stream s
        10: .line 457
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
            getfield com.sun.tools.javac.file.JavacFileManager.sortFiles:Lcom/sun/tools/javac/file/JavacFileManager$SortFiles;
            ifnonnull 11
            aload 10 /* s */
            goto 12
      StackMap locals: com.sun.tools.javac.file.JavacFileManager$DirectoryContainer java.nio.file.Path com.sun.tools.javac.file.RelativePath$RelativeDirectory java.util.Set int com.sun.tools.javac.util.ListBuffer java.nio.file.Path top java.lang.Throwable java.lang.Throwable java.util.stream.Stream
      StackMap stack:
        11: aload 10 /* s */
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
            getfield com.sun.tools.javac.file.JavacFileManager.sortFiles:Lcom/sun/tools/javac/file/JavacFileManager$SortFiles;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
      StackMap locals:
      StackMap stack: java.util.stream.Stream
        12: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            astore 7 /* files */
        start local 7 // java.util.List files
        13: .line 458
            aload 10 /* s */
            ifnull 21
            aload 10 /* s */
            invokeinterface java.util.stream.Stream.close:()V
            goto 21
        end local 7 // java.util.List files
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 8
            aload 10 /* s */
            ifnull 15
            aload 10 /* s */
            invokeinterface java.util.stream.Stream.close:()V
        end local 10 // java.util.stream.Stream s
      StackMap locals:
      StackMap stack:
        15: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 9
            aload 8
            ifnonnull 17
            aload 9
            astore 8
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 8
            aload 9
            if_acmpeq 18
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 8
            athrow
      StackMap locals: com.sun.tools.javac.file.JavacFileManager$DirectoryContainer java.nio.file.Path com.sun.tools.javac.file.RelativePath$RelativeDirectory java.util.Set int com.sun.tools.javac.util.ListBuffer java.nio.file.Path
      StackMap stack: java.io.IOException
        19: pop
        20: .line 459
            return
        start local 7 // java.util.List files
        21: .line 462
      StackMap locals: java.util.List
      StackMap stack:
            aload 7 /* files */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 44
      StackMap locals: com.sun.tools.javac.file.JavacFileManager$DirectoryContainer java.nio.file.Path com.sun.tools.javac.file.RelativePath$RelativeDirectory java.util.Set int com.sun.tools.javac.util.ListBuffer java.nio.file.Path java.util.List top java.util.Iterator
      StackMap stack:
        22: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 8 /* f */
        start local 8 // java.nio.file.Path f
        23: .line 463
            aload 8 /* f */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            astore 10 /* fname */
        start local 10 // java.lang.String fname
        24: .line 464
            aload 10 /* fname */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 26
        25: .line 465
            aload 10 /* fname */
            iconst_0
            aload 10 /* fname */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 10 /* fname */
        26: .line 466
      StackMap locals: com.sun.tools.javac.file.JavacFileManager$DirectoryContainer java.nio.file.Path com.sun.tools.javac.file.RelativePath$RelativeDirectory java.util.Set int com.sun.tools.javac.util.ListBuffer java.nio.file.Path java.util.List java.nio.file.Path java.util.Iterator java.lang.String
      StackMap stack:
            aload 8 /* f */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 35
        27: .line 467
            iload 4 /* recurse */
            ifeq 44
            aload 10 /* fname */
            invokestatic javax.lang.model.SourceVersion.isIdentifier:(Ljava/lang/CharSequence;)Z
            ifeq 44
        28: .line 468
            aload 0 /* this */
            aload 1 /* userPath */
        29: .line 469
            new com.sun.tools.javac.file.RelativePath$RelativeDirectory
            dup
            aload 2 /* subdirectory */
            aload 10 /* fname */
            invokespecial com.sun.tools.javac.file.RelativePath$RelativeDirectory.<init>:(Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;Ljava/lang/String;)V
        30: .line 470
            aload 3 /* fileKinds */
        31: .line 471
            iload 4 /* recurse */
        32: .line 472
            aload 5 /* resultList */
        33: .line 468
            invokevirtual com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.list:(Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;Ljava/util/Set;ZLcom/sun/tools/javac/util/ListBuffer;)V
        34: .line 474
            goto 44
        35: .line 475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
            aload 10 /* fname */
            aload 3 /* fileKinds */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.isValidFile:(Ljava/lang/String;Ljava/util/Set;)Z
            ifeq 44
        36: .line 477
            new com.sun.tools.javac.file.RelativePath$RelativeFile
            dup
            aload 2 /* subdirectory */
            aload 10 /* fname */
            invokespecial com.sun.tools.javac.file.RelativePath$RelativeFile.<init>:(Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;Ljava/lang/String;)V
            astore 11 /* file */
        start local 11 // com.sun.tools.javac.file.RelativePath$RelativeFile file
        37: .line 478
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
        38: .line 479
            aload 11 /* file */
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.directory:Ljava/nio/file/Path;
            invokevirtual com.sun.tools.javac.file.RelativePath$RelativeFile.resolveAgainst:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 1 /* userPath */
            aload 11 /* file */
        39: .line 478
            invokestatic com.sun.tools.javac.file.PathFileObject.forDirectoryPath:(Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath;)Lcom/sun/tools/javac/file/PathFileObject;
            astore 12 /* fe */
        start local 12 // javax.tools.JavaFileObject fe
        40: .line 480
            aload 5 /* resultList */
            aload 12 /* fe */
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 12 // javax.tools.JavaFileObject fe
        end local 11 // com.sun.tools.javac.file.RelativePath$RelativeFile file
        41: .line 481
            goto 44
      StackMap locals:
      StackMap stack: java.nio.file.InvalidPathException
        42: astore 11 /* e */
        start local 11 // java.nio.file.InvalidPathException e
        43: .line 482
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "error accessing directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.directory:Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            aload 11 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.nio.file.InvalidPathException e
        end local 10 // java.lang.String fname
        end local 8 // java.nio.file.Path f
        44: .line 462
      StackMap locals: com.sun.tools.javac.file.JavacFileManager$DirectoryContainer java.nio.file.Path com.sun.tools.javac.file.RelativePath$RelativeDirectory java.util.Set int com.sun.tools.javac.util.ListBuffer java.nio.file.Path java.util.List top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        45: .line 487
            return
        end local 7 // java.util.List files
        end local 6 // java.nio.file.Path d
        end local 5 // com.sun.tools.javac.util.ListBuffer resultList
        end local 4 // boolean recurse
        end local 3 // java.util.Set fileKinds
        end local 2 // com.sun.tools.javac.file.RelativePath$RelativeDirectory subdirectory
        end local 1 // java.nio.file.Path userPath
        end local 0 // com.sun.tools.javac.file.JavacFileManager$DirectoryContainer this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   46     0          this  Lcom/sun/tools/javac/file/JavacFileManager$DirectoryContainer;
            0   46     1      userPath  Ljava/nio/file/Path;
            0   46     2  subdirectory  Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;
            0   46     3     fileKinds  Ljava/util/Set<Ljavax/tools/JavaFileObject$Kind;>;
            0   46     4       recurse  Z
            0   46     5    resultList  Lcom/sun/tools/javac/util/ListBuffer<Ljavax/tools/JavaFileObject;>;
            1    2     6             d  Ljava/nio/file/Path;
            4   46     6             d  Ljava/nio/file/Path;
           13   14     7         files  Ljava/util/List<Ljava/nio/file/Path;>;
           21   46     7         files  Ljava/util/List<Ljava/nio/file/Path;>;
           10   15    10             s  Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
           23   44     8             f  Ljava/nio/file/Path;
           24   44    10         fname  Ljava/lang/String;
           37   41    11          file  Lcom/sun/tools/javac/file/RelativePath$RelativeFile;
           40   41    12            fe  Ljavax/tools/JavaFileObject;
           43   44    11             e  Ljava/nio/file/InvalidPathException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.nio.file.InvalidPathException
          10    13      14  any
           9    16      16  any
           8    19      19  Class java.io.IOException
          36    41      42  Class java.nio.file.InvalidPathException
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;Ljava/util/Set<Ljavax/tools/JavaFileObject$Kind;>;ZLcom/sun/tools/javac/util/ListBuffer<Ljavax/tools/JavaFileObject;>;)V
    MethodParameters:
              Name  Flags
      userPath      
      subdirectory  
      fileKinds     
      recurse       
      resultList    

  public javax.tools.JavaFileObject getFileObject(java.nio.file.Path, com.sun.tools.javac.file.RelativePath$RelativeFile);
    descriptor: (Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath$RelativeFile;)Ljavax/tools/JavaFileObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.file.JavacFileManager$DirectoryContainer this
        start local 1 // java.nio.file.Path userPath
        start local 2 // com.sun.tools.javac.file.RelativePath$RelativeFile name
         0: .line 492
            aload 2 /* name */
            aload 1 /* userPath */
            invokevirtual com.sun.tools.javac.file.RelativePath$RelativeFile.resolveAgainst:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            astore 3 /* f */
        start local 3 // java.nio.file.Path f
         1: .line 493
            aload 3 /* f */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 7
         2: .line 494
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
         3: .line 495
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
            getfield com.sun.tools.javac.file.JavacFileManager.fsInfo:Lcom/sun/tools/javac/file/FSInfo;
            aload 3 /* f */
            invokevirtual com.sun.tools.javac.file.FSInfo.getCanonicalFile:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 3 /* f */
         4: .line 494
            invokestatic com.sun.tools.javac.file.PathFileObject.forSimplePath:(Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;Ljava/nio/file/Path;)Lcom/sun/tools/javac/file/PathFileObject;
         5: areturn
        end local 3 // java.nio.file.Path f
         6: .line 496
      StackMap locals:
      StackMap stack: java.nio.file.InvalidPathException
            pop
         7: .line 498
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // com.sun.tools.javac.file.RelativePath$RelativeFile name
        end local 1 // java.nio.file.Path userPath
        end local 0 // com.sun.tools.javac.file.JavacFileManager$DirectoryContainer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/sun/tools/javac/file/JavacFileManager$DirectoryContainer;
            0    8     1  userPath  Ljava/nio/file/Path;
            0    8     2      name  Lcom/sun/tools/javac/file/RelativePath$RelativeFile;
            1    6     3         f  Ljava/nio/file/Path;
      Exception table:
        from    to  target  type
           0     5       6  Class java.nio.file.InvalidPathException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      userPath  
      name      

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.JavacFileManager$DirectoryContainer this
         0: .line 503
            return
        end local 0 // com.sun.tools.javac.file.JavacFileManager$DirectoryContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/file/JavacFileManager$DirectoryContainer;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "JavacFileManager.java"
NestHost: com.sun.tools.javac.file.JavacFileManager
InnerClasses:
  private abstract Container = com.sun.tools.javac.file.JavacFileManager$Container of com.sun.tools.javac.file.JavacFileManager
  private final DirectoryContainer = com.sun.tools.javac.file.JavacFileManager$DirectoryContainer of com.sun.tools.javac.file.JavacFileManager
  public RelativeDirectory = com.sun.tools.javac.file.RelativePath$RelativeDirectory of com.sun.tools.javac.file.RelativePath
  public RelativeFile = com.sun.tools.javac.file.RelativePath$RelativeFile of com.sun.tools.javac.file.RelativePath
  public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject