public final class jdk.tools.jaotc.collect.directory.DirectorySourceProvider implements jdk.tools.jaotc.collect.SourceProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.tools.jaotc.collect.directory.DirectorySourceProvider
  super_class: java.lang.Object
{
  private final jdk.tools.jaotc.collect.FileSupport fileSupport;
    descriptor: Ljdk/tools/jaotc/collect/FileSupport;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.nio.file.FileSystem fileSystem;
    descriptor: Ljava/nio/file/FileSystem;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static final java.lang.String TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "directory"

  public void <init>(jdk.tools.jaotc.collect.FileSupport);
    descriptor: (Ljdk/tools/jaotc/collect/FileSupport;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.collect.directory.DirectorySourceProvider this
        start local 1 // jdk.tools.jaotc.collect.FileSupport fileSupport
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 42
            aload 0 /* this */
            aload 1 /* fileSupport */
            putfield jdk.tools.jaotc.collect.directory.DirectorySourceProvider.fileSupport:Ljdk/tools/jaotc/collect/FileSupport;
         2: .line 43
            aload 0 /* this */
            invokestatic java.nio.file.FileSystems.getDefault:()Ljava/nio/file/FileSystem;
            putfield jdk.tools.jaotc.collect.directory.DirectorySourceProvider.fileSystem:Ljava/nio/file/FileSystem;
         3: .line 44
            return
        end local 1 // jdk.tools.jaotc.collect.FileSupport fileSupport
        end local 0 // jdk.tools.jaotc.collect.directory.DirectorySourceProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Ljdk/tools/jaotc/collect/directory/DirectorySourceProvider;
            0    4     1  fileSupport  Ljdk/tools/jaotc/collect/FileSupport;
    MethodParameters:
             Name  Flags
      fileSupport  

  public jdk.tools.jaotc.collect.ClassSource findSource(java.lang.String, jdk.tools.jaotc.collect.SearchPath);
    descriptor: (Ljava/lang/String;Ljdk/tools/jaotc/collect/SearchPath;)Ljdk/tools/jaotc/collect/ClassSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // jdk.tools.jaotc.collect.directory.DirectorySourceProvider this
        start local 1 // java.lang.String name
        start local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
         0: .line 48
            aload 0 /* this */
            getfield jdk.tools.jaotc.collect.directory.DirectorySourceProvider.fileSystem:Ljava/nio/file/FileSystem;
            aload 1 /* name */
            iconst_0
            anewarray java.lang.String
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 3 /* directoryPath */
        start local 3 // java.nio.file.Path directoryPath
         1: .line 50
            aload 0 /* this */
            getfield jdk.tools.jaotc.collect.directory.DirectorySourceProvider.fileSupport:Ljdk/tools/jaotc/collect/FileSupport;
            aload 3 /* directoryPath */
            invokevirtual jdk.tools.jaotc.collect.FileSupport.exists:(Ljava/nio/file/Path;)Z
            ifne 3
         2: .line 51
            aconst_null
            areturn
         3: .line 53
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.collect.directory.DirectorySourceProvider.fileSupport:Ljdk/tools/jaotc/collect/FileSupport;
            aload 3 /* directoryPath */
            invokevirtual jdk.tools.jaotc.collect.FileSupport.isDirectory:(Ljava/nio/file/Path;)Z
            ifne 5
         4: .line 54
            aconst_null
            areturn
         5: .line 58
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.collect.directory.DirectorySourceProvider.fileSupport:Ljdk/tools/jaotc/collect/FileSupport;
            aload 3 /* directoryPath */
            invokevirtual jdk.tools.jaotc.collect.FileSupport.createClassLoader:(Ljava/nio/file/Path;)Ljava/lang/ClassLoader;
            astore 4 /* classLoader */
        start local 4 // java.lang.ClassLoader classLoader
         6: .line 59
            new jdk.tools.jaotc.collect.directory.DirectorySource
            dup
            aload 3 /* directoryPath */
            aload 4 /* classLoader */
            invokespecial jdk.tools.jaotc.collect.directory.DirectorySource.<init>:(Ljava/nio/file/Path;Ljava/lang/ClassLoader;)V
         7: areturn
        end local 4 // java.lang.ClassLoader classLoader
         8: .line 60
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            pop
         9: .line 61
            aconst_null
            areturn
        end local 3 // java.nio.file.Path directoryPath
        end local 2 // jdk.tools.jaotc.collect.SearchPath searchPath
        end local 1 // java.lang.String name
        end local 0 // jdk.tools.jaotc.collect.directory.DirectorySourceProvider this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Ljdk/tools/jaotc/collect/directory/DirectorySourceProvider;
            0   10     1           name  Ljava/lang/String;
            0   10     2     searchPath  Ljdk/tools/jaotc/collect/SearchPath;
            1   10     3  directoryPath  Ljava/nio/file/Path;
            6    8     4    classLoader  Ljava/lang/ClassLoader;
      Exception table:
        from    to  target  type
           5     7       8  Class java.net.MalformedURLException
    MethodParameters:
            Name  Flags
      name        
      searchPath  

  public boolean supports(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.collect.directory.DirectorySourceProvider this
        start local 1 // java.lang.String type
         0: .line 67
            ldc "directory"
            aload 1 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String type
        end local 0 // jdk.tools.jaotc.collect.directory.DirectorySourceProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/collect/directory/DirectorySourceProvider;
            0    1     1  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  
}
SourceFile: "DirectorySourceProvider.java"