public class org.graalvm.component.installer.persist.DirectoryChannelFactory implements org.graalvm.component.installer.SoftwareChannel$Factory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.component.installer.persist.DirectoryChannelFactory
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.persist.DirectoryChannelFactory this
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.component.installer.persist.DirectoryChannelFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/persist/DirectoryChannelFactory;

  public org.graalvm.component.installer.SoftwareChannel createChannel(org.graalvm.component.installer.SoftwareChannelSource, org.graalvm.component.installer.CommandInput, org.graalvm.component.installer.Feedback);
    descriptor: (Lorg/graalvm/component/installer/SoftwareChannelSource;Lorg/graalvm/component/installer/CommandInput;Lorg/graalvm/component/installer/Feedback;)Lorg/graalvm/component/installer/SoftwareChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // org.graalvm.component.installer.persist.DirectoryChannelFactory this
        start local 1 // org.graalvm.component.installer.SoftwareChannelSource source
        start local 2 // org.graalvm.component.installer.CommandInput input
        start local 3 // org.graalvm.component.installer.Feedback output
         0: .line 46
            aload 1 /* source */
            invokevirtual org.graalvm.component.installer.SoftwareChannelSource.getLocationURL:()Ljava/lang/String;
            astore 4 /* u */
        start local 4 // java.lang.String u
         1: .line 47
            aload 4 /* u */
            ldc "file:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 3
         2: .line 48
            aconst_null
            areturn
         3: .line 50
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* output */
            ldc Lorg/graalvm/component/installer/persist/DirectoryChannelFactory;
            invokeinterface org.graalvm.component.installer.Feedback.withBundle:(Ljava/lang/Class;)Lorg/graalvm/component/installer/Feedback;
            astore 5 /* out2 */
        start local 5 // org.graalvm.component.installer.Feedback out2
         4: .line 52
            new java.io.File
            dup
            new java.net.URI
            dup
            aload 4 /* u */
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            invokespecial java.io.File.<init>:(Ljava/net/URI;)V
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            astore 6 /* p */
        start local 6 // java.nio.file.Path p
         5: .line 53
            aload 6 /* p */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 7
         6: .line 54
            aconst_null
            areturn
         7: .line 56
      StackMap locals: org.graalvm.component.installer.Feedback java.nio.file.Path
      StackMap stack:
            new org.graalvm.component.installer.persist.DirectoryCatalogProvider
            dup
            aload 6 /* p */
            aload 5 /* out2 */
            invokespecial org.graalvm.component.installer.persist.DirectoryCatalogProvider.<init>:(Ljava/nio/file/Path;Lorg/graalvm/component/installer/Feedback;)V
            astore 7 /* dp */
        start local 7 // org.graalvm.component.installer.persist.DirectoryCatalogProvider dp
         8: .line 57
            aload 7 /* dp */
            aload 2 /* input */
            ldc "s"
            invokeinterface org.graalvm.component.installer.CommandInput.optValue:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 9
            iconst_1
            goto 10
      StackMap locals: org.graalvm.component.installer.persist.DirectoryChannelFactory org.graalvm.component.installer.SoftwareChannelSource org.graalvm.component.installer.CommandInput org.graalvm.component.installer.Feedback java.lang.String org.graalvm.component.installer.Feedback java.nio.file.Path org.graalvm.component.installer.persist.DirectoryCatalogProvider
      StackMap stack: org.graalvm.component.installer.persist.DirectoryCatalogProvider
         9: iconst_0
      StackMap locals: org.graalvm.component.installer.persist.DirectoryChannelFactory org.graalvm.component.installer.SoftwareChannelSource org.graalvm.component.installer.CommandInput org.graalvm.component.installer.Feedback java.lang.String org.graalvm.component.installer.Feedback java.nio.file.Path org.graalvm.component.installer.persist.DirectoryCatalogProvider
      StackMap stack: org.graalvm.component.installer.persist.DirectoryCatalogProvider int
        10: invokevirtual org.graalvm.component.installer.persist.DirectoryCatalogProvider.setVerifyJars:(Z)V
        11: .line 59
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
            aload 1 /* source */
            ldc "reportErrors"
            invokevirtual org.graalvm.component.installer.SoftwareChannelSource.getParameter:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 60
            aload 7 /* dp */
            iconst_0
            invokevirtual org.graalvm.component.installer.persist.DirectoryCatalogProvider.setReportErrors:(Z)V
        13: .line 62
      StackMap locals:
      StackMap stack:
            aload 7 /* dp */
        14: areturn
        end local 7 // org.graalvm.component.installer.persist.DirectoryCatalogProvider dp
        end local 6 // java.nio.file.Path p
        15: .line 63
      StackMap locals: org.graalvm.component.installer.persist.DirectoryChannelFactory org.graalvm.component.installer.SoftwareChannelSource org.graalvm.component.installer.CommandInput org.graalvm.component.installer.Feedback java.lang.String org.graalvm.component.installer.Feedback
      StackMap stack: java.net.URISyntaxException
            astore 6 /* ex */
        start local 6 // java.net.URISyntaxException ex
        16: .line 64
            aload 5 /* out2 */
            ldc "ERR_DirectoryURLInvalid"
            aload 6 /* ex */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* u */
            aastore
            dup
            iconst_1
            aload 6 /* ex */
            invokevirtual java.net.URISyntaxException.getMessage:()Ljava/lang/String;
            aastore
            invokeinterface org.graalvm.component.installer.Feedback.error:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
        17: .line 65
            aconst_null
            areturn
        end local 6 // java.net.URISyntaxException ex
        end local 5 // org.graalvm.component.installer.Feedback out2
        end local 4 // java.lang.String u
        end local 3 // org.graalvm.component.installer.Feedback output
        end local 2 // org.graalvm.component.installer.CommandInput input
        end local 1 // org.graalvm.component.installer.SoftwareChannelSource source
        end local 0 // org.graalvm.component.installer.persist.DirectoryChannelFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lorg/graalvm/component/installer/persist/DirectoryChannelFactory;
            0   18     1  source  Lorg/graalvm/component/installer/SoftwareChannelSource;
            0   18     2   input  Lorg/graalvm/component/installer/CommandInput;
            0   18     3  output  Lorg/graalvm/component/installer/Feedback;
            1   18     4       u  Ljava/lang/String;
            4   18     5    out2  Lorg/graalvm/component/installer/Feedback;
            5   15     6       p  Ljava/nio/file/Path;
            8   15     7      dp  Lorg/graalvm/component/installer/persist/DirectoryCatalogProvider;
           16   18     6      ex  Ljava/net/URISyntaxException;
      Exception table:
        from    to  target  type
           4     6      15  Class java.net.URISyntaxException
           7    14      15  Class java.net.URISyntaxException
    MethodParameters:
        Name  Flags
      source  
      input   
      output  

  public void init(org.graalvm.component.installer.CommandInput, org.graalvm.component.installer.Feedback);
    descriptor: (Lorg/graalvm/component/installer/CommandInput;Lorg/graalvm/component/installer/Feedback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.graalvm.component.installer.persist.DirectoryChannelFactory this
        start local 1 // org.graalvm.component.installer.CommandInput input
        start local 2 // org.graalvm.component.installer.Feedback output
         0: .line 71
            return
        end local 2 // org.graalvm.component.installer.Feedback output
        end local 1 // org.graalvm.component.installer.CommandInput input
        end local 0 // org.graalvm.component.installer.persist.DirectoryChannelFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/component/installer/persist/DirectoryChannelFactory;
            0    1     1   input  Lorg/graalvm/component/installer/CommandInput;
            0    1     2  output  Lorg/graalvm/component/installer/Feedback;
    MethodParameters:
        Name  Flags
      input   
      output  
}
SourceFile: "DirectoryChannelFactory.java"
InnerClasses:
  public abstract Factory = org.graalvm.component.installer.SoftwareChannel$Factory of org.graalvm.component.installer.SoftwareChannel