abstract class org.graalvm.component.installer.AbstractIterable implements org.graalvm.component.installer.ComponentIterable
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.component.installer.AbstractIterable
  super_class: java.lang.Object
{
  protected final org.graalvm.component.installer.CommandInput input;
    descriptor: Lorg/graalvm/component/installer/CommandInput;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.component.installer.Feedback feedback;
    descriptor: Lorg/graalvm/component/installer/Feedback;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private boolean verifyJars;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.component.installer.CommandInput$CatalogFactory remoteFactory;
    descriptor: Lorg/graalvm/component/installer/CommandInput$CatalogFactory;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.component.installer.ComponentCatalog remoteCatalog;
    descriptor: Lorg/graalvm/component/installer/ComponentCatalog;
    flags: (0x0002) ACC_PRIVATE

  protected 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: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.component.installer.AbstractIterable this
        start local 1 // org.graalvm.component.installer.CommandInput input
        start local 2 // org.graalvm.component.installer.Feedback feedback
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 50
            aload 0 /* this */
            aload 1 /* input */
            putfield org.graalvm.component.installer.AbstractIterable.input:Lorg/graalvm/component/installer/CommandInput;
         2: .line 51
            aload 0 /* this */
            aload 2 /* feedback */
            putfield org.graalvm.component.installer.AbstractIterable.feedback:Lorg/graalvm/component/installer/Feedback;
         3: .line 52
            return
        end local 2 // org.graalvm.component.installer.Feedback feedback
        end local 1 // org.graalvm.component.installer.CommandInput input
        end local 0 // org.graalvm.component.installer.AbstractIterable this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/graalvm/component/installer/AbstractIterable;
            0    4     1     input  Lorg/graalvm/component/installer/CommandInput;
            0    4     2  feedback  Lorg/graalvm/component/installer/Feedback;
    MethodParameters:
          Name  Flags
      input     
      feedback  

  public boolean isVerifyJars();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.AbstractIterable this
         0: .line 55
            aload 0 /* this */
            getfield org.graalvm.component.installer.AbstractIterable.verifyJars:Z
            ireturn
        end local 0 // org.graalvm.component.installer.AbstractIterable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/AbstractIterable;

  public void setVerifyJars(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.AbstractIterable this
        start local 1 // boolean verifyJars
         0: .line 60
            aload 0 /* this */
            iload 1 /* verifyJars */
            putfield org.graalvm.component.installer.AbstractIterable.verifyJars:Z
         1: .line 61
            return
        end local 1 // boolean verifyJars
        end local 0 // org.graalvm.component.installer.AbstractIterable this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/component/installer/AbstractIterable;
            0    2     1  verifyJars  Z
    MethodParameters:
            Name  Flags
      verifyJars  

  public void setCatalogFactory(org.graalvm.component.installer.CommandInput$CatalogFactory);
    descriptor: (Lorg/graalvm/component/installer/CommandInput$CatalogFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.AbstractIterable this
        start local 1 // org.graalvm.component.installer.CommandInput$CatalogFactory cFactory
         0: .line 64
            aload 0 /* this */
            aload 1 /* cFactory */
            putfield org.graalvm.component.installer.AbstractIterable.remoteFactory:Lorg/graalvm/component/installer/CommandInput$CatalogFactory;
         1: .line 65
            return
        end local 1 // org.graalvm.component.installer.CommandInput$CatalogFactory cFactory
        end local 0 // org.graalvm.component.installer.AbstractIterable this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/component/installer/AbstractIterable;
            0    2     1  cFactory  Lorg/graalvm/component/installer/CommandInput$CatalogFactory;
    MethodParameters:
          Name  Flags
      cFactory  

  private org.graalvm.component.installer.ComponentCatalog getRemoteContents();
    descriptor: ()Lorg/graalvm/component/installer/ComponentCatalog;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.AbstractIterable this
         0: .line 68
            aload 0 /* this */
            getfield org.graalvm.component.installer.AbstractIterable.remoteCatalog:Lorg/graalvm/component/installer/ComponentCatalog;
            ifnull 2
         1: .line 69
            aload 0 /* this */
            getfield org.graalvm.component.installer.AbstractIterable.remoteCatalog:Lorg/graalvm/component/installer/ComponentCatalog;
            areturn
         2: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.AbstractIterable.remoteFactory:Lorg/graalvm/component/installer/CommandInput$CatalogFactory;
            ifnull 5
         3: .line 72
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.component.installer.AbstractIterable.remoteFactory:Lorg/graalvm/component/installer/CommandInput$CatalogFactory;
            aload 0 /* this */
            getfield org.graalvm.component.installer.AbstractIterable.input:Lorg/graalvm/component/installer/CommandInput;
            invokeinterface org.graalvm.component.installer.CommandInput$CatalogFactory.createComponentCatalog:(Lorg/graalvm/component/installer/CommandInput;)Lorg/graalvm/component/installer/ComponentCatalog;
            putfield org.graalvm.component.installer.AbstractIterable.remoteCatalog:Lorg/graalvm/component/installer/ComponentCatalog;
         4: .line 73
            goto 6
         5: .line 74
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.component.installer.AbstractIterable$NullCatalog
            dup
            invokespecial org.graalvm.component.installer.AbstractIterable$NullCatalog.<init>:()V
            putfield org.graalvm.component.installer.AbstractIterable.remoteCatalog:Lorg/graalvm/component/installer/ComponentCatalog;
         6: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.AbstractIterable.remoteCatalog:Lorg/graalvm/component/installer/ComponentCatalog;
            areturn
        end local 0 // org.graalvm.component.installer.AbstractIterable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/graalvm/component/installer/AbstractIterable;

  public org.graalvm.component.installer.ComponentIterable matchVersion(org.graalvm.component.installer.Version$Match);
    descriptor: (Lorg/graalvm/component/installer/Version$Match;)Lorg/graalvm/component/installer/ComponentIterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.AbstractIterable this
        start local 1 // org.graalvm.component.installer.Version$Match m
         0: .line 81
            aload 0 /* this */
            areturn
        end local 1 // org.graalvm.component.installer.Version$Match m
        end local 0 // org.graalvm.component.installer.AbstractIterable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/AbstractIterable;
            0    1     1     m  Lorg/graalvm/component/installer/Version$Match;
    MethodParameters:
      Name  Flags
      m     

  public org.graalvm.component.installer.ComponentIterable allowIncompatible();
    descriptor: ()Lorg/graalvm/component/installer/ComponentIterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.AbstractIterable this
         0: .line 86
            aload 0 /* this */
            areturn
        end local 0 // org.graalvm.component.installer.AbstractIterable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/AbstractIterable;

  public org.graalvm.component.installer.ComponentParam createParam(java.lang.String, org.graalvm.component.installer.model.ComponentInfo);
    descriptor: (Ljava/lang/String;Lorg/graalvm/component/installer/model/ComponentInfo;)Lorg/graalvm/component/installer/ComponentParam;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=4, args_size=3
        start local 0 // org.graalvm.component.installer.AbstractIterable this
        start local 1 // java.lang.String cmdString
        start local 2 // org.graalvm.component.installer.model.ComponentInfo info
         0: .line 91
            new org.graalvm.component.installer.remote.CatalogIterable$CatalogItemParam
            dup
         1: .line 92
            aload 0 /* this */
            invokevirtual org.graalvm.component.installer.AbstractIterable.getRemoteContents:()Lorg/graalvm/component/installer/ComponentCatalog;
            invokeinterface org.graalvm.component.installer.ComponentCatalog.getDownloadInterceptor:()Lorg/graalvm/component/installer/ComponentCatalog$DownloadInterceptor;
         2: .line 93
            aload 2 /* info */
         3: .line 94
            aload 2 /* info */
            invokevirtual org.graalvm.component.installer.model.ComponentInfo.getName:()Ljava/lang/String;
         4: .line 95
            aload 1 /* cmdString */
         5: .line 96
            aload 0 /* this */
            getfield org.graalvm.component.installer.AbstractIterable.feedback:Lorg/graalvm/component/installer/Feedback;
         6: .line 97
            aload 0 /* this */
            getfield org.graalvm.component.installer.AbstractIterable.input:Lorg/graalvm/component/installer/CommandInput;
            ldc "n"
            invokeinterface org.graalvm.component.installer.CommandInput.optValue:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 7
            iconst_1
            goto 8
      StackMap locals: org.graalvm.component.installer.AbstractIterable java.lang.String org.graalvm.component.installer.model.ComponentInfo
      StackMap stack: new 0 new 0 org.graalvm.component.installer.ComponentCatalog$DownloadInterceptor org.graalvm.component.installer.model.ComponentInfo java.lang.String java.lang.String org.graalvm.component.installer.Feedback
         7: iconst_0
         8: .line 91
      StackMap locals: org.graalvm.component.installer.AbstractIterable java.lang.String org.graalvm.component.installer.model.ComponentInfo
      StackMap stack: new 0 new 0 org.graalvm.component.installer.ComponentCatalog$DownloadInterceptor org.graalvm.component.installer.model.ComponentInfo java.lang.String java.lang.String org.graalvm.component.installer.Feedback int
            invokespecial org.graalvm.component.installer.remote.CatalogIterable$CatalogItemParam.<init>:(Lorg/graalvm/component/installer/ComponentCatalog$DownloadInterceptor;Lorg/graalvm/component/installer/model/ComponentInfo;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/component/installer/Feedback;Z)V
            astore 3 /* param */
        start local 3 // org.graalvm.component.installer.remote.RemoteComponentParam param
         9: .line 98
            aload 3 /* param */
            aload 0 /* this */
            getfield org.graalvm.component.installer.AbstractIterable.verifyJars:Z
            invokevirtual org.graalvm.component.installer.remote.RemoteComponentParam.setVerifyJars:(Z)V
        10: .line 99
            aload 3 /* param */
            areturn
        end local 3 // org.graalvm.component.installer.remote.RemoteComponentParam param
        end local 2 // org.graalvm.component.installer.model.ComponentInfo info
        end local 1 // java.lang.String cmdString
        end local 0 // org.graalvm.component.installer.AbstractIterable this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/graalvm/component/installer/AbstractIterable;
            0   11     1  cmdString  Ljava/lang/String;
            0   11     2       info  Lorg/graalvm/component/installer/model/ComponentInfo;
            9   11     3      param  Lorg/graalvm/component/installer/remote/RemoteComponentParam;
    MethodParameters:
           Name  Flags
      cmdString  
      info       
}
SourceFile: "AbstractIterable.java"
NestMembers:
  org.graalvm.component.installer.AbstractIterable$NullCatalog
InnerClasses:
  private NullCatalog = org.graalvm.component.installer.AbstractIterable$NullCatalog of org.graalvm.component.installer.AbstractIterable
  public abstract CatalogFactory = org.graalvm.component.installer.CommandInput$CatalogFactory of org.graalvm.component.installer.CommandInput
  public abstract DownloadInterceptor = org.graalvm.component.installer.ComponentCatalog$DownloadInterceptor of org.graalvm.component.installer.ComponentCatalog
  public final Match = org.graalvm.component.installer.Version$Match of org.graalvm.component.installer.Version
  public CatalogItemParam = org.graalvm.component.installer.remote.CatalogIterable$CatalogItemParam of org.graalvm.component.installer.remote.CatalogIterable