public class org.jruby.util.io.Getline
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.util.io.Getline
  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.jruby.util.io.Getline this
         0: .line 17
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.util.io.Getline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/io/Getline;

  public static <Self, Return extends org.jruby.runtime.builtin.IRubyObject> Return getlineCall(org.jruby.runtime.ThreadContext, org.jruby.util.io.Getline$Callback<Self, Return>, Self, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.util.io.Getline$Callback getline
        start local 2 // java.lang.Object self
        start local 3 // org.jcodings.Encoding enc_io
         0: .line 23
            aload 0 /* context */
            aload 1 /* getline */
            aload 2 /* self */
            aload 3 /* enc_io */
            iconst_0
            aconst_null
            aconst_null
            aconst_null
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokestatic org.jruby.util.io.Getline.getlineCall:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jcodings.Encoding enc_io
        end local 2 // java.lang.Object self
        end local 1 // org.jruby.util.io.Getline$Callback getline
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1  getline  Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;
            0    1     2     self  TSelf;
            0    1     3   enc_io  Lorg/jcodings/Encoding;
    Signature: <Self:Ljava/lang/Object;Return::Lorg/jruby/runtime/builtin/IRubyObject;>(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;TSelf;Lorg/jcodings/Encoding;)TReturn;
    MethodParameters:
         Name  Flags
      context  
      getline  
      self     
      enc_io   

  public static <Self, Return extends org.jruby.runtime.builtin.IRubyObject> Return getlineCall(org.jruby.runtime.ThreadContext, org.jruby.util.io.Getline$Callback<Self, Return>, Self, org.jcodings.Encoding, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=5, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.util.io.Getline$Callback getline
        start local 2 // java.lang.Object self
        start local 3 // org.jcodings.Encoding enc_io
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 27
            aload 0 /* context */
            aload 1 /* getline */
            aload 2 /* self */
            aload 3 /* enc_io */
            iconst_1
            aload 4 /* arg0 */
            aconst_null
            aconst_null
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokestatic org.jruby.util.io.Getline.getlineCall:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 3 // org.jcodings.Encoding enc_io
        end local 2 // java.lang.Object self
        end local 1 // org.jruby.util.io.Getline$Callback getline
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1  getline  Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;
            0    1     2     self  TSelf;
            0    1     3   enc_io  Lorg/jcodings/Encoding;
            0    1     4     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    Signature: <Self:Ljava/lang/Object;Return::Lorg/jruby/runtime/builtin/IRubyObject;>(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;TSelf;Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;)TReturn;
    MethodParameters:
         Name  Flags
      context  
      getline  
      self     
      enc_io   
      arg0     

  public static <Self, Return extends org.jruby.runtime.builtin.IRubyObject> Return getlineCall(org.jruby.runtime.ThreadContext, org.jruby.util.io.Getline$Callback<Self, Return>, Self, org.jcodings.Encoding, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.util.io.Getline$Callback getline
        start local 2 // java.lang.Object self
        start local 3 // org.jcodings.Encoding enc_io
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 31
            aload 0 /* context */
            aload 1 /* getline */
            aload 2 /* self */
            aload 3 /* enc_io */
            iconst_2
            aload 4 /* arg0 */
            aload 5 /* arg1 */
            aconst_null
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokestatic org.jruby.util.io.Getline.getlineCall:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 3 // org.jcodings.Encoding enc_io
        end local 2 // java.lang.Object self
        end local 1 // org.jruby.util.io.Getline$Callback getline
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1  getline  Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;
            0    1     2     self  TSelf;
            0    1     3   enc_io  Lorg/jcodings/Encoding;
            0    1     4     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     5     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    Signature: <Self:Ljava/lang/Object;Return::Lorg/jruby/runtime/builtin/IRubyObject;>(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;TSelf;Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TReturn;
    MethodParameters:
         Name  Flags
      context  
      getline  
      self     
      enc_io   
      arg0     
      arg1     

  public static <Self, Return extends org.jruby.runtime.builtin.IRubyObject> Return getlineCall(org.jruby.runtime.ThreadContext, org.jruby.util.io.Getline$Callback<Self, Return>, Self, org.jcodings.Encoding, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=7, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.util.io.Getline$Callback getline
        start local 2 // java.lang.Object self
        start local 3 // org.jcodings.Encoding enc_io
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 6 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 35
            aload 0 /* context */
            aload 1 /* getline */
            aload 2 /* self */
            aload 3 /* enc_io */
            iconst_3
            aload 4 /* arg0 */
            aload 5 /* arg1 */
            aload 6 /* arg2 */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokestatic org.jruby.util.io.Getline.getlineCall:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 3 // org.jcodings.Encoding enc_io
        end local 2 // java.lang.Object self
        end local 1 // org.jruby.util.io.Getline$Callback getline
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1  getline  Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;
            0    1     2     self  TSelf;
            0    1     3   enc_io  Lorg/jcodings/Encoding;
            0    1     4     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     5     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     6     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
    Signature: <Self:Ljava/lang/Object;Return::Lorg/jruby/runtime/builtin/IRubyObject;>(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;TSelf;Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)TReturn;
    MethodParameters:
         Name  Flags
      context  
      getline  
      self     
      enc_io   
      arg0     
      arg1     
      arg2     

  public static <Self, Return extends org.jruby.runtime.builtin.IRubyObject> Return getlineCall(org.jruby.runtime.ThreadContext, org.jruby.util.io.Getline$Callback<Self, Return>, Self, org.jcodings.Encoding, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=5, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.util.io.Getline$Callback getline
        start local 2 // java.lang.Object self
        start local 3 // org.jcodings.Encoding enc_io
        start local 4 // org.jruby.runtime.Block block
         0: .line 39
            aload 0 /* context */
            aload 1 /* getline */
            aload 2 /* self */
            aload 3 /* enc_io */
            iconst_0
            aconst_null
            aconst_null
            aconst_null
            aload 4 /* block */
            invokestatic org.jruby.util.io.Getline.getlineCall:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jcodings.Encoding enc_io
        end local 2 // java.lang.Object self
        end local 1 // org.jruby.util.io.Getline$Callback getline
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1  getline  Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;
            0    1     2     self  TSelf;
            0    1     3   enc_io  Lorg/jcodings/Encoding;
            0    1     4    block  Lorg/jruby/runtime/Block;
    Signature: <Self:Ljava/lang/Object;Return::Lorg/jruby/runtime/builtin/IRubyObject;>(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;TSelf;Lorg/jcodings/Encoding;Lorg/jruby/runtime/Block;)TReturn;
    MethodParameters:
         Name  Flags
      context  
      getline  
      self     
      enc_io   
      block    

  public static <Self, Return extends org.jruby.runtime.builtin.IRubyObject> Return getlineCall(org.jruby.runtime.ThreadContext, org.jruby.util.io.Getline$Callback<Self, Return>, Self, org.jcodings.Encoding, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.util.io.Getline$Callback getline
        start local 2 // java.lang.Object self
        start local 3 // org.jcodings.Encoding enc_io
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 5 // org.jruby.runtime.Block block
         0: .line 43
            aload 0 /* context */
            aload 1 /* getline */
            aload 2 /* self */
            aload 3 /* enc_io */
            iconst_1
            aload 4 /* arg0 */
            aconst_null
            aconst_null
            aload 5 /* block */
            invokestatic org.jruby.util.io.Getline.getlineCall:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jruby.runtime.Block block
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 3 // org.jcodings.Encoding enc_io
        end local 2 // java.lang.Object self
        end local 1 // org.jruby.util.io.Getline$Callback getline
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1  getline  Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;
            0    1     2     self  TSelf;
            0    1     3   enc_io  Lorg/jcodings/Encoding;
            0    1     4     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     5    block  Lorg/jruby/runtime/Block;
    Signature: <Self:Ljava/lang/Object;Return::Lorg/jruby/runtime/builtin/IRubyObject;>(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;TSelf;Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)TReturn;
    MethodParameters:
         Name  Flags
      context  
      getline  
      self     
      enc_io   
      arg0     
      block    

  public static <Self, Return extends org.jruby.runtime.builtin.IRubyObject> Return getlineCall(org.jruby.runtime.ThreadContext, org.jruby.util.io.Getline$Callback<Self, Return>, Self, org.jcodings.Encoding, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=7, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.util.io.Getline$Callback getline
        start local 2 // java.lang.Object self
        start local 3 // org.jcodings.Encoding enc_io
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 6 // org.jruby.runtime.Block block
         0: .line 47
            aload 0 /* context */
            aload 1 /* getline */
            aload 2 /* self */
            aload 3 /* enc_io */
            iconst_2
            aload 4 /* arg0 */
            aload 5 /* arg1 */
            aconst_null
            aload 6 /* block */
            invokestatic org.jruby.util.io.Getline.getlineCall:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // org.jruby.runtime.Block block
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 3 // org.jcodings.Encoding enc_io
        end local 2 // java.lang.Object self
        end local 1 // org.jruby.util.io.Getline$Callback getline
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1  getline  Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;
            0    1     2     self  TSelf;
            0    1     3   enc_io  Lorg/jcodings/Encoding;
            0    1     4     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     5     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     6    block  Lorg/jruby/runtime/Block;
    Signature: <Self:Ljava/lang/Object;Return::Lorg/jruby/runtime/builtin/IRubyObject;>(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;TSelf;Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)TReturn;
    MethodParameters:
         Name  Flags
      context  
      getline  
      self     
      enc_io   
      arg0     
      arg1     
      block    

  public static <Self, Return extends org.jruby.runtime.builtin.IRubyObject> Return getlineCall(org.jruby.runtime.ThreadContext, org.jruby.util.io.Getline$Callback<Self, Return>, Self, org.jcodings.Encoding, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=8, args_size=8
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.util.io.Getline$Callback getline
        start local 2 // java.lang.Object self
        start local 3 // org.jcodings.Encoding enc_io
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 6 // org.jruby.runtime.builtin.IRubyObject arg2
        start local 7 // org.jruby.runtime.Block block
         0: .line 51
            aload 0 /* context */
            aload 1 /* getline */
            aload 2 /* self */
            aload 3 /* enc_io */
            iconst_3
            aload 4 /* arg0 */
            aload 5 /* arg1 */
            aload 6 /* arg2 */
            aload 7 /* block */
            invokestatic org.jruby.util.io.Getline.getlineCall:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // org.jruby.runtime.Block block
        end local 6 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 3 // org.jcodings.Encoding enc_io
        end local 2 // java.lang.Object self
        end local 1 // org.jruby.util.io.Getline$Callback getline
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1  getline  Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;
            0    1     2     self  TSelf;
            0    1     3   enc_io  Lorg/jcodings/Encoding;
            0    1     4     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     5     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     6     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     7    block  Lorg/jruby/runtime/Block;
    Signature: <Self:Ljava/lang/Object;Return::Lorg/jruby/runtime/builtin/IRubyObject;>(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;TSelf;Lorg/jcodings/Encoding;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)TReturn;
    MethodParameters:
         Name  Flags
      context  
      getline  
      self     
      enc_io   
      arg0     
      arg1     
      arg2     
      block    

  public static <Self, Return extends org.jruby.runtime.builtin.IRubyObject> Return getlineCall(org.jruby.runtime.ThreadContext, org.jruby.util.io.Getline$Callback<Self, Return>, Self, org.jcodings.Encoding, int, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback;Ljava/lang/Object;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=22, args_size=9
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.util.io.Getline$Callback getline
        start local 2 // java.lang.Object self
        start local 3 // org.jcodings.Encoding enc_io
        start local 4 // int argc
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 7 // org.jruby.runtime.builtin.IRubyObject arg2
        start local 8 // org.jruby.runtime.Block block
         0: .line 55
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* nil */
        start local 9 // org.jruby.runtime.builtin.IRubyObject nil
         1: .line 57
            iconst_0
            istore 10 /* chomp */
        start local 10 // boolean chomp
         2: .line 59
            aload 9 /* nil */
            astore 14 /* optArg */
        start local 14 // org.jruby.runtime.builtin.IRubyObject optArg
         3: aconst_null
            astore 15 /* sepArg */
        start local 15 // org.jruby.runtime.builtin.IRubyObject sepArg
         4: aconst_null
            astore 16 /* limArg */
        start local 16 // org.jruby.runtime.builtin.IRubyObject limArg
         5: .line 61
            iload 4 /* argc */
            tableswitch { // 1 - 3
                    1: 6
                    2: 8
                    3: 11
              default: 14
          }
         6: .line 63
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.Getline$Callback java.lang.Object org.jcodings.Encoding int org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.runtime.builtin.IRubyObject int top top top org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 5 /* arg0 */
            astore 14 /* optArg */
         7: .line 64
            goto 14
         8: .line 66
      StackMap locals:
      StackMap stack:
            aload 5 /* arg0 */
            astore 15 /* sepArg */
         9: .line 67
            aload 6 /* arg1 */
            astore 14 /* optArg */
        10: .line 68
            goto 14
        11: .line 70
      StackMap locals:
      StackMap stack:
            aload 5 /* arg0 */
            astore 15 /* sepArg */
        12: .line 71
            aload 6 /* arg1 */
            astore 16 /* limArg */
        13: .line 72
            aload 7 /* arg2 */
            astore 14 /* optArg */
        14: .line 74
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
        15: .line 76
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 17 /* runtime */
        start local 17 // org.jruby.Ruby runtime
        16: .line 78
            aload 17 /* runtime */
            aload 14 /* optArg */
            invokestatic org.jruby.ast.util.ArgsUtil.getOptionsArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 13 /* opt */
        start local 13 // org.jruby.runtime.builtin.IRubyObject opt
        17: .line 80
            aload 13 /* opt */
            aload 9 /* nil */
            if_acmpne 24
        18: .line 81
            iload 4 /* argc */
            iconst_1
            if_icmpne 21
        19: .line 82
            aload 5 /* arg0 */
            astore 15 /* sepArg */
        20: .line 83
            goto 27
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.util.io.Getline$Callback java.lang.Object org.jcodings.Encoding int org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.runtime.builtin.IRubyObject int top top org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby
      StackMap stack:
        21: iload 4 /* argc */
            iconst_2
            if_icmpne 27
        22: .line 84
            aload 6 /* arg1 */
            astore 16 /* limArg */
        23: .line 86
            goto 27
        24: .line 87
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            ldc "chomp"
            aload 13 /* opt */
            checkcast org.jruby.RubyHash
            invokestatic org.jruby.ast.util.ArgsUtil.extractKeywordArg:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/RubyHash;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 18 /* chompKwarg */
        start local 18 // org.jruby.runtime.builtin.IRubyObject chompKwarg
        25: .line 88
            aload 18 /* chompKwarg */
            ifnull 27
        26: .line 89
            aload 18 /* chompKwarg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            istore 10 /* chomp */
        end local 18 // org.jruby.runtime.builtin.IRubyObject chompKwarg
        27: .line 93
      StackMap locals:
      StackMap stack:
            aload 17 /* runtime */
            invokevirtual org.jruby.Ruby.getRecordSeparatorVar:()Lorg/jruby/runtime/GlobalVariable;
            invokevirtual org.jruby.runtime.GlobalVariable.get:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 18 /* rs */
        start local 18 // org.jruby.runtime.builtin.IRubyObject rs
        28: .line 94
            aload 9 /* nil */
            astore 19 /* lim */
        start local 19 // org.jruby.runtime.builtin.IRubyObject lim
        29: .line 96
            aload 15 /* sepArg */
            ifnull 36
            aload 16 /* limArg */
            ifnonnull 36
        30: .line 97
            aload 9 /* nil */
            astore 20 /* tmp */
        start local 20 // org.jruby.runtime.builtin.IRubyObject tmp
        31: .line 98
            aload 15 /* sepArg */
            aload 9 /* nil */
            if_acmpeq 32
            aload 17 /* runtime */
            aload 15 /* sepArg */
            invokestatic org.jruby.util.TypeConverter.checkStringType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            dup
            astore 20 /* tmp */
            aload 9 /* nil */
            if_acmpeq 34
        32: .line 99
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 20 /* tmp */
            astore 18 /* rs */
        33: .line 100
            goto 41
        34: .line 101
      StackMap locals:
      StackMap stack:
            aload 15 /* sepArg */
            astore 19 /* lim */
        end local 20 // org.jruby.runtime.builtin.IRubyObject tmp
        35: .line 103
            goto 41
      StackMap locals:
      StackMap stack:
        36: aload 15 /* sepArg */
            ifnull 41
            aload 16 /* limArg */
            ifnull 41
        37: .line 104
            aload 15 /* sepArg */
            astore 18 /* rs */
        38: .line 105
            aload 18 /* rs */
            aload 9 /* nil */
            if_acmpeq 40
        39: .line 106
            aload 18 /* rs */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 18 /* rs */
        40: .line 108
      StackMap locals:
      StackMap stack:
            aload 16 /* limArg */
            astore 19 /* lim */
        41: .line 112
      StackMap locals:
      StackMap stack:
            aload 18 /* rs */
            aload 9 /* nil */
            if_acmpeq 51
        42: .line 113
            aload 18 /* rs */
            checkcast org.jruby.RubyString
            astore 20 /* rs_s */
        start local 20 // org.jruby.RubyString rs_s
        43: .line 114
            aload 20 /* rs_s */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            astore 21 /* enc_rs */
        start local 21 // org.jcodings.Encoding enc_rs
        44: .line 115
            aload 3 /* enc_io */
            aload 21 /* enc_rs */
            if_acmpeq 51
        45: .line 116
            aload 20 /* rs_s */
            invokevirtual org.jruby.RubyString.scanForCodeRange:()I
            bipush 16
            if_icmpne 47
        46: .line 117
            aload 20 /* rs_s */
            invokevirtual org.jruby.RubyString.size:()I
            ifle 51
            aload 3 /* enc_io */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifne 51
        47: .line 118
      StackMap locals: org.jruby.RubyString org.jcodings.Encoding
      StackMap stack:
            aload 18 /* rs */
            aload 17 /* runtime */
            invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
            invokevirtual org.jruby.internal.runtime.GlobalVariables.getDefaultSeparator:()Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 50
        48: .line 119
            aload 17 /* runtime */
            iconst_2
            aload 3 /* enc_io */
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;ILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            bipush 10
            aload 3 /* enc_io */
            invokevirtual org.jruby.RubyString.cat:(ILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            astore 18 /* rs */
        49: .line 120
            goto 51
        50: .line 122
      StackMap locals:
      StackMap stack:
            aload 17 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "encoding mismatch: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* enc_io */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " IO with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 21 /* enc_rs */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " RS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 21 // org.jcodings.Encoding enc_rs
        end local 20 // org.jruby.RubyString rs_s
        51: .line 127
      StackMap locals:
      StackMap stack:
            aload 19 /* lim */
            aload 9 /* nil */
            if_acmpne 52
            ldc -1
            goto 53
      StackMap locals:
      StackMap stack:
        52: aload 19 /* lim */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
      StackMap locals:
      StackMap stack: long
        53: lstore 11 /* limit */
        start local 11 // long limit
        54: .line 129
            aload 1 /* getline */
            aload 0 /* context */
            aload 2 /* self */
            aload 18 /* rs */
            lload 11 /* limit */
            l2i
            iload 10 /* chomp */
            aload 8 /* block */
            invokeinterface org.jruby.util.io.Getline$Callback.getline:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;IZLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 19 // org.jruby.runtime.builtin.IRubyObject lim
        end local 18 // org.jruby.runtime.builtin.IRubyObject rs
        end local 17 // org.jruby.Ruby runtime
        end local 16 // org.jruby.runtime.builtin.IRubyObject limArg
        end local 15 // org.jruby.runtime.builtin.IRubyObject sepArg
        end local 14 // org.jruby.runtime.builtin.IRubyObject optArg
        end local 13 // org.jruby.runtime.builtin.IRubyObject opt
        end local 11 // long limit
        end local 10 // boolean chomp
        end local 9 // org.jruby.runtime.builtin.IRubyObject nil
        end local 8 // org.jruby.runtime.Block block
        end local 7 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 4 // int argc
        end local 3 // org.jcodings.Encoding enc_io
        end local 2 // java.lang.Object self
        end local 1 // org.jruby.util.io.Getline$Callback getline
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   55     0     context  Lorg/jruby/runtime/ThreadContext;
            0   55     1     getline  Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;
            0   55     2        self  TSelf;
            0   55     3      enc_io  Lorg/jcodings/Encoding;
            0   55     4        argc  I
            0   55     5        arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0   55     6        arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0   55     7        arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            0   55     8       block  Lorg/jruby/runtime/Block;
            1   55     9         nil  Lorg/jruby/runtime/builtin/IRubyObject;
            2   55    10       chomp  Z
           54   55    11       limit  J
           17   55    13         opt  Lorg/jruby/runtime/builtin/IRubyObject;
            3   55    14      optArg  Lorg/jruby/runtime/builtin/IRubyObject;
            4   55    15      sepArg  Lorg/jruby/runtime/builtin/IRubyObject;
            5   55    16      limArg  Lorg/jruby/runtime/builtin/IRubyObject;
           16   55    17     runtime  Lorg/jruby/Ruby;
           25   27    18  chompKwarg  Lorg/jruby/runtime/builtin/IRubyObject;
           28   55    18          rs  Lorg/jruby/runtime/builtin/IRubyObject;
           29   55    19         lim  Lorg/jruby/runtime/builtin/IRubyObject;
           31   35    20         tmp  Lorg/jruby/runtime/builtin/IRubyObject;
           43   51    20        rs_s  Lorg/jruby/RubyString;
           44   51    21      enc_rs  Lorg/jcodings/Encoding;
    Signature: <Self:Ljava/lang/Object;Return::Lorg/jruby/runtime/builtin/IRubyObject;>(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/io/Getline$Callback<TSelf;TReturn;>;TSelf;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)TReturn;
    MethodParameters:
         Name  Flags
      context  
      getline  
      self     
      enc_io   
      argc     
      arg0     
      arg1     
      arg2     
      block    
}
SourceFile: "Getline.java"
NestMembers:
  org.jruby.util.io.Getline$Callback
InnerClasses:
  public abstract Callback = org.jruby.util.io.Getline$Callback of org.jruby.util.io.Getline