public abstract class org.eclipse.jgit.lib.ObjectReader implements java.lang.AutoCloseable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.eclipse.jgit.lib.ObjectReader
  super_class: java.lang.Object
{
  public static final int OBJ_ANY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  protected int streamFileThreshold;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.lib.ObjectReader this
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jgit.lib.ObjectReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/lib/ObjectReader;

  public abstract org.eclipse.jgit.lib.ObjectReader newReader();
    descriptor: ()Lorg/eclipse/jgit/lib/ObjectReader;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public org.eclipse.jgit.lib.AbbreviatedObjectId abbreviate(org.eclipse.jgit.lib.AnyObjectId);
    descriptor: (Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/lib/AbbreviatedObjectId;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.lib.ObjectReader this
        start local 1 // org.eclipse.jgit.lib.AnyObjectId objectId
         0: .line 70
            aload 0 /* this */
            aload 1 /* objectId */
            bipush 7
            invokevirtual org.eclipse.jgit.lib.ObjectReader.abbreviate:(Lorg/eclipse/jgit/lib/AnyObjectId;I)Lorg/eclipse/jgit/lib/AbbreviatedObjectId;
            areturn
        end local 1 // org.eclipse.jgit.lib.AnyObjectId objectId
        end local 0 // org.eclipse.jgit.lib.ObjectReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jgit/lib/ObjectReader;
            0    1     1  objectId  Lorg/eclipse/jgit/lib/AnyObjectId;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      objectId  

  public org.eclipse.jgit.lib.AbbreviatedObjectId abbreviate(org.eclipse.jgit.lib.AnyObjectId, int);
    descriptor: (Lorg/eclipse/jgit/lib/AnyObjectId;I)Lorg/eclipse/jgit/lib/AbbreviatedObjectId;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.eclipse.jgit.lib.ObjectReader this
        start local 1 // org.eclipse.jgit.lib.AnyObjectId objectId
        start local 2 // int len
         0: .line 97
            iload 2 /* len */
            bipush 40
            if_icmpne 2
         1: .line 98
            aload 1 /* objectId */
            invokestatic org.eclipse.jgit.lib.AbbreviatedObjectId.fromObjectId:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/lib/AbbreviatedObjectId;
            areturn
         2: .line 100
      StackMap locals:
      StackMap stack:
            aload 1 /* objectId */
            iload 2 /* len */
            invokevirtual org.eclipse.jgit.lib.AnyObjectId.abbreviate:(I)Lorg/eclipse/jgit/lib/AbbreviatedObjectId;
            astore 3 /* abbrev */
        start local 3 // org.eclipse.jgit.lib.AbbreviatedObjectId abbrev
         3: .line 101
            aload 0 /* this */
            aload 3 /* abbrev */
            invokevirtual org.eclipse.jgit.lib.ObjectReader.resolve:(Lorg/eclipse/jgit/lib/AbbreviatedObjectId;)Ljava/util/Collection;
            astore 4 /* matches */
        start local 4 // java.util.Collection matches
         4: .line 102
            goto 15
         5: .line 103
      StackMap locals: org.eclipse.jgit.lib.AbbreviatedObjectId java.util.Collection
      StackMap stack:
            aload 1 /* objectId */
            iinc 2 /* len */ 1
            iload 2 /* len */
            invokevirtual org.eclipse.jgit.lib.AnyObjectId.abbreviate:(I)Lorg/eclipse/jgit/lib/AbbreviatedObjectId;
            astore 3 /* abbrev */
         6: .line 104
            new java.util.ArrayList
            dup
            bipush 8
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* n */
        start local 5 // java.util.List n
         7: .line 105
            aload 4 /* matches */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.lib.AnyObjectId int org.eclipse.jgit.lib.AbbreviatedObjectId java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
         8: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.ObjectId
            astore 6 /* candidate */
        start local 6 // org.eclipse.jgit.lib.ObjectId candidate
         9: .line 106
            aload 3 /* abbrev */
            aload 6 /* candidate */
            invokevirtual org.eclipse.jgit.lib.AbbreviatedObjectId.prefixCompare:(Lorg/eclipse/jgit/lib/AnyObjectId;)I
            ifne 11
        10: .line 107
            aload 5 /* n */
            aload 6 /* candidate */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.eclipse.jgit.lib.ObjectId candidate
        11: .line 105
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        12: .line 109
            iconst_1
            aload 5 /* n */
            invokeinterface java.util.List.size:()I
            if_icmpge 14
        13: .line 110
            aload 5 /* n */
            astore 4 /* matches */
            goto 15
        14: .line 112
      StackMap locals: org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.lib.AnyObjectId int org.eclipse.jgit.lib.AbbreviatedObjectId java.util.Collection java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 3 /* abbrev */
            invokevirtual org.eclipse.jgit.lib.ObjectReader.resolve:(Lorg/eclipse/jgit/lib/AbbreviatedObjectId;)Ljava/util/Collection;
            astore 4 /* matches */
        end local 5 // java.util.List n
        15: .line 102
      StackMap locals:
      StackMap stack:
            iconst_1
            aload 4 /* matches */
            invokeinterface java.util.Collection.size:()I
            if_icmpge 16
            iload 2 /* len */
            bipush 40
            if_icmplt 5
        16: .line 114
      StackMap locals:
      StackMap stack:
            aload 3 /* abbrev */
            areturn
        end local 4 // java.util.Collection matches
        end local 3 // org.eclipse.jgit.lib.AbbreviatedObjectId abbrev
        end local 2 // int len
        end local 1 // org.eclipse.jgit.lib.AnyObjectId objectId
        end local 0 // org.eclipse.jgit.lib.ObjectReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/eclipse/jgit/lib/ObjectReader;
            0   17     1   objectId  Lorg/eclipse/jgit/lib/AnyObjectId;
            0   17     2        len  I
            3   17     3     abbrev  Lorg/eclipse/jgit/lib/AbbreviatedObjectId;
            4   17     4    matches  Ljava/util/Collection<Lorg/eclipse/jgit/lib/ObjectId;>;
            7   15     5          n  Ljava/util/List<Lorg/eclipse/jgit/lib/ObjectId;>;
            9   11     6  candidate  Lorg/eclipse/jgit/lib/ObjectId;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      objectId  
      len       

  public abstract java.util.Collection<org.eclipse.jgit.lib.ObjectId> resolve(org.eclipse.jgit.lib.AbbreviatedObjectId);
    descriptor: (Lorg/eclipse/jgit/lib/AbbreviatedObjectId;)Ljava/util/Collection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/eclipse/jgit/lib/AbbreviatedObjectId;)Ljava/util/Collection<Lorg/eclipse/jgit/lib/ObjectId;>;
    MethodParameters:
      Name  Flags
      id    

  public boolean has(org.eclipse.jgit.lib.AnyObjectId);
    descriptor: (Lorg/eclipse/jgit/lib/AnyObjectId;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.lib.ObjectReader this
        start local 1 // org.eclipse.jgit.lib.AnyObjectId objectId
         0: .line 160
            aload 0 /* this */
            aload 1 /* objectId */
            iconst_m1
            invokevirtual org.eclipse.jgit.lib.ObjectReader.has:(Lorg/eclipse/jgit/lib/AnyObjectId;I)Z
            ireturn
        end local 1 // org.eclipse.jgit.lib.AnyObjectId objectId
        end local 0 // org.eclipse.jgit.lib.ObjectReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jgit/lib/ObjectReader;
            0    1     1  objectId  Lorg/eclipse/jgit/lib/AnyObjectId;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      objectId  

  public boolean has(org.eclipse.jgit.lib.AnyObjectId, int);
    descriptor: (Lorg/eclipse/jgit/lib/AnyObjectId;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jgit.lib.ObjectReader this
        start local 1 // org.eclipse.jgit.lib.AnyObjectId objectId
        start local 2 // int typeHint
         0: .line 182
            aload 0 /* this */
            aload 1 /* objectId */
            iload 2 /* typeHint */
            invokevirtual org.eclipse.jgit.lib.ObjectReader.open:(Lorg/eclipse/jgit/lib/AnyObjectId;I)Lorg/eclipse/jgit/lib/ObjectLoader;
            pop
         1: .line 183
            iconst_1
            ireturn
         2: .line 184
      StackMap locals:
      StackMap stack: org.eclipse.jgit.errors.MissingObjectException
            pop
         3: .line 185
            iconst_0
            ireturn
        end local 2 // int typeHint
        end local 1 // org.eclipse.jgit.lib.AnyObjectId objectId
        end local 0 // org.eclipse.jgit.lib.ObjectReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/eclipse/jgit/lib/ObjectReader;
            0    4     1  objectId  Lorg/eclipse/jgit/lib/AnyObjectId;
            0    4     2  typeHint  I
      Exception table:
        from    to  target  type
           0     1       2  Class org.eclipse.jgit.errors.MissingObjectException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      objectId  
      typeHint  

  public org.eclipse.jgit.lib.ObjectLoader open(org.eclipse.jgit.lib.AnyObjectId);
    descriptor: (Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/lib/ObjectLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.lib.ObjectReader this
        start local 1 // org.eclipse.jgit.lib.AnyObjectId objectId
         0: .line 203
            aload 0 /* this */
            aload 1 /* objectId */
            iconst_m1
            invokevirtual org.eclipse.jgit.lib.ObjectReader.open:(Lorg/eclipse/jgit/lib/AnyObjectId;I)Lorg/eclipse/jgit/lib/ObjectLoader;
            areturn
        end local 1 // org.eclipse.jgit.lib.AnyObjectId objectId
        end local 0 // org.eclipse.jgit.lib.ObjectReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jgit/lib/ObjectReader;
            0    1     1  objectId  Lorg/eclipse/jgit/lib/AnyObjectId;
    Exceptions:
      throws org.eclipse.jgit.errors.MissingObjectException, java.io.IOException
    MethodParameters:
          Name  Flags
      objectId  

  public abstract org.eclipse.jgit.lib.ObjectLoader open(org.eclipse.jgit.lib.AnyObjectId, int);
    descriptor: (Lorg/eclipse/jgit/lib/AnyObjectId;I)Lorg/eclipse/jgit/lib/ObjectLoader;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.eclipse.jgit.errors.MissingObjectException, org.eclipse.jgit.errors.IncorrectObjectTypeException, java.io.IOException
    MethodParameters:
          Name  Flags
      objectId  
      typeHint  

  public abstract java.util.Set<org.eclipse.jgit.lib.ObjectId> getShallowCommits();
    descriptor: ()Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    Signature: ()Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;

  public <T extends org.eclipse.jgit.lib.ObjectId> org.eclipse.jgit.lib.AsyncObjectLoaderQueue<T> open(java.lang.Iterable<T>, boolean);
    descriptor: (Ljava/lang/Iterable;Z)Lorg/eclipse/jgit/lib/AsyncObjectLoaderQueue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jgit.lib.ObjectReader this
        start local 1 // java.lang.Iterable objectIds
        start local 2 // boolean reportMissing
         0: .line 254
            aload 1 /* objectIds */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3 /* idItr */
        start local 3 // java.util.Iterator idItr
         1: .line 255
            new org.eclipse.jgit.lib.ObjectReader$1
            dup
            aload 0 /* this */
            aload 3 /* idItr */
            invokespecial org.eclipse.jgit.lib.ObjectReader$1.<init>:(Lorg/eclipse/jgit/lib/ObjectReader;Ljava/util/Iterator;)V
            areturn
        end local 3 // java.util.Iterator idItr
        end local 2 // boolean reportMissing
        end local 1 // java.lang.Iterable objectIds
        end local 0 // org.eclipse.jgit.lib.ObjectReader this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/eclipse/jgit/lib/ObjectReader;
            0    2     1      objectIds  Ljava/lang/Iterable<TT;>;
            0    2     2  reportMissing  Z
            1    2     3          idItr  Ljava/util/Iterator<TT;>;
    Signature: <T:Lorg/eclipse/jgit/lib/ObjectId;>(Ljava/lang/Iterable<TT;>;Z)Lorg/eclipse/jgit/lib/AsyncObjectLoaderQueue<TT;>;
    MethodParameters:
               Name  Flags
      objectIds      
      reportMissing  final

  public long getObjectSize(org.eclipse.jgit.lib.AnyObjectId, int);
    descriptor: (Lorg/eclipse/jgit/lib/AnyObjectId;I)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jgit.lib.ObjectReader this
        start local 1 // org.eclipse.jgit.lib.AnyObjectId objectId
        start local 2 // int typeHint
         0: .line 321
            aload 0 /* this */
            aload 1 /* objectId */
            iload 2 /* typeHint */
            invokevirtual org.eclipse.jgit.lib.ObjectReader.open:(Lorg/eclipse/jgit/lib/AnyObjectId;I)Lorg/eclipse/jgit/lib/ObjectLoader;
            invokevirtual org.eclipse.jgit.lib.ObjectLoader.getSize:()J
            lreturn
        end local 2 // int typeHint
        end local 1 // org.eclipse.jgit.lib.AnyObjectId objectId
        end local 0 // org.eclipse.jgit.lib.ObjectReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jgit/lib/ObjectReader;
            0    1     1  objectId  Lorg/eclipse/jgit/lib/AnyObjectId;
            0    1     2  typeHint  I
    Exceptions:
      throws org.eclipse.jgit.errors.MissingObjectException, org.eclipse.jgit.errors.IncorrectObjectTypeException, java.io.IOException
    MethodParameters:
          Name  Flags
      objectId  
      typeHint  

  public <T extends org.eclipse.jgit.lib.ObjectId> org.eclipse.jgit.lib.AsyncObjectSizeQueue<T> getObjectSize(java.lang.Iterable<T>, boolean);
    descriptor: (Ljava/lang/Iterable;Z)Lorg/eclipse/jgit/lib/AsyncObjectSizeQueue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jgit.lib.ObjectReader this
        start local 1 // java.lang.Iterable objectIds
        start local 2 // boolean reportMissing
         0: .line 340
            aload 1 /* objectIds */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3 /* idItr */
        start local 3 // java.util.Iterator idItr
         1: .line 341
            new org.eclipse.jgit.lib.ObjectReader$2
            dup
            aload 0 /* this */
            aload 3 /* idItr */
            invokespecial org.eclipse.jgit.lib.ObjectReader$2.<init>:(Lorg/eclipse/jgit/lib/ObjectReader;Ljava/util/Iterator;)V
            areturn
        end local 3 // java.util.Iterator idItr
        end local 2 // boolean reportMissing
        end local 1 // java.lang.Iterable objectIds
        end local 0 // org.eclipse.jgit.lib.ObjectReader this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/eclipse/jgit/lib/ObjectReader;
            0    2     1      objectIds  Ljava/lang/Iterable<TT;>;
            0    2     2  reportMissing  Z
            1    2     3          idItr  Ljava/util/Iterator<TT;>;
    Signature: <T:Lorg/eclipse/jgit/lib/ObjectId;>(Ljava/lang/Iterable<TT;>;Z)Lorg/eclipse/jgit/lib/AsyncObjectSizeQueue<TT;>;
    MethodParameters:
               Name  Flags
      objectIds      
      reportMissing  final

  public void setAvoidUnreachableObjects(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.lib.ObjectReader this
        start local 1 // boolean avoid
         0: .line 396
            return
        end local 1 // boolean avoid
        end local 0 // org.eclipse.jgit.lib.ObjectReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jgit/lib/ObjectReader;
            0    1     1  avoid  Z
    MethodParameters:
       Name  Flags
      avoid  

  public org.eclipse.jgit.lib.BitmapIndex getBitmapIndex();
    descriptor: ()Lorg/eclipse/jgit/lib/BitmapIndex;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.lib.ObjectReader this
         0: .line 407
            aconst_null
            areturn
        end local 0 // org.eclipse.jgit.lib.ObjectReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/lib/ObjectReader;
    Exceptions:
      throws java.io.IOException

  public org.eclipse.jgit.lib.ObjectInserter getCreatedFromInserter();
    descriptor: ()Lorg/eclipse/jgit/lib/ObjectInserter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.lib.ObjectReader this
         0: .line 421
            aconst_null
            areturn
        end local 0 // org.eclipse.jgit.lib.ObjectReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/lib/ObjectReader;
    RuntimeVisibleAnnotations: 
      org.eclipse.jgit.annotations.Nullable()

  public abstract void close();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public void setStreamFileThreshold(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.lib.ObjectReader this
        start local 1 // int threshold
         0: .line 446
            aload 0 /* this */
            iload 1 /* threshold */
            putfield org.eclipse.jgit.lib.ObjectReader.streamFileThreshold:I
         1: .line 447
            return
        end local 1 // int threshold
        end local 0 // org.eclipse.jgit.lib.ObjectReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/eclipse/jgit/lib/ObjectReader;
            0    2     1  threshold  I
    MethodParameters:
           Name  Flags
      threshold  

  public int getStreamFileThreshold();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.lib.ObjectReader this
         0: .line 457
            aload 0 /* this */
            getfield org.eclipse.jgit.lib.ObjectReader.streamFileThreshold:I
            ireturn
        end local 0 // org.eclipse.jgit.lib.ObjectReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/lib/ObjectReader;
}
SourceFile: "ObjectReader.java"
NestMembers:
  org.eclipse.jgit.lib.ObjectReader$1  org.eclipse.jgit.lib.ObjectReader$2  org.eclipse.jgit.lib.ObjectReader$Filter
InnerClasses:
  org.eclipse.jgit.lib.ObjectReader$1
  org.eclipse.jgit.lib.ObjectReader$2
  public abstract Filter = org.eclipse.jgit.lib.ObjectReader$Filter of org.eclipse.jgit.lib.ObjectReader