public class org.jruby.runtime.load.LoadServiceResourceInputStream extends java.io.ByteArrayInputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.runtime.load.LoadServiceResourceInputStream
  super_class: java.io.ByteArrayInputStream
{
  private static final byte[] NULL_BYTE_ARRAY;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int READ_CHUNK_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16384

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 13
            iconst_0
            newarray 8
            putstatic org.jruby.runtime.load.LoadServiceResourceInputStream.NULL_BYTE_ARRAY:[B
         1: .line 48
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.load.LoadServiceResourceInputStream this
        start local 1 // byte[] bytes
         0: .line 21
            aload 0 /* this */
            aload 1 /* bytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
         1: .line 22
            return
        end local 1 // byte[] bytes
        end local 0 // org.jruby.runtime.load.LoadServiceResourceInputStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/runtime/load/LoadServiceResourceInputStream;
            0    2     1  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.load.LoadServiceResourceInputStream this
        start local 1 // java.io.InputStream stream
         0: .line 35
            aload 0 /* this */
            getstatic org.jruby.runtime.load.LoadServiceResourceInputStream.NULL_BYTE_ARRAY:[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
         1: .line 36
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual org.jruby.runtime.load.LoadServiceResourceInputStream.bufferEntireStream:(Ljava/io/InputStream;)V
         2: .line 37
            return
        end local 1 // java.io.InputStream stream
        end local 0 // org.jruby.runtime.load.LoadServiceResourceInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/runtime/load/LoadServiceResourceInputStream;
            0    3     1  stream  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  public byte[] getBytes();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.jruby.runtime.load.LoadServiceResourceInputStream this
         0: .line 40
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadServiceResourceInputStream.buf:[B
            arraylength
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadServiceResourceInputStream.count:I
            if_icmpeq 4
         1: .line 41
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadServiceResourceInputStream.count:I
            newarray 8
            astore 1 /* b */
        start local 1 // byte[] b
         2: .line 42
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadServiceResourceInputStream.buf:[B
            iconst_0
            aload 1 /* b */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadServiceResourceInputStream.count:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 43
            aload 1 /* b */
            areturn
        end local 1 // byte[] b
         4: .line 45
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadServiceResourceInputStream.buf:[B
            areturn
        end local 0 // org.jruby.runtime.load.LoadServiceResourceInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/runtime/load/LoadServiceResourceInputStream;
            2    4     1     b  [B

  private void bufferEntireStream(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.jruby.runtime.load.LoadServiceResourceInputStream this
        start local 1 // java.io.InputStream stream
         0: .line 51
            sipush 16384
            newarray 8
            astore 2 /* chunk */
        start local 2 // byte[] chunk
         1: .line 53
            goto 7
        start local 3 // int bytesRead
         2: .line 54
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadServiceResourceInputStream.buf:[B
            arraylength
            iload 3 /* bytesRead */
            iadd
            newarray 8
            astore 4 /* newbuf */
        start local 4 // byte[] newbuf
         3: .line 55
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadServiceResourceInputStream.buf:[B
            iconst_0
            aload 4 /* newbuf */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadServiceResourceInputStream.buf:[B
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 56
            aload 2 /* chunk */
            iconst_0
            aload 4 /* newbuf */
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadServiceResourceInputStream.buf:[B
            arraylength
            iload 3 /* bytesRead */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 57
            aload 0 /* this */
            aload 4 /* newbuf */
            putfield org.jruby.runtime.load.LoadServiceResourceInputStream.buf:[B
         6: .line 58
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.runtime.load.LoadServiceResourceInputStream.buf:[B
            arraylength
            putfield org.jruby.runtime.load.LoadServiceResourceInputStream.count:I
        end local 4 // byte[] newbuf
        end local 3 // int bytesRead
         7: .line 53
      StackMap locals:
      StackMap stack:
            aload 1 /* stream */
            aload 2 /* chunk */
            invokevirtual java.io.InputStream.read:([B)I
            dup
            istore 3 /* bytesRead */
        start local 3 // int bytesRead
         8: iconst_m1
            if_icmpne 2
         9: .line 60
            return
        end local 3 // int bytesRead
        end local 2 // byte[] chunk
        end local 1 // java.io.InputStream stream
        end local 0 // org.jruby.runtime.load.LoadServiceResourceInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/jruby/runtime/load/LoadServiceResourceInputStream;
            0   10     1     stream  Ljava/io/InputStream;
            1   10     2      chunk  [B
            2    7     3  bytesRead  I
            8   10     3  bytesRead  I
            3    7     4     newbuf  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      stream  
}
SourceFile: "LoadServiceResourceInputStream.java"