class org.jruby.RubyEnumerable$EachWithIndex implements org.jruby.runtime.BlockCallback
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.jruby.RubyEnumerable$EachWithIndex
  super_class: java.lang.Object
{
  private int index;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final org.jruby.runtime.Block block;
    descriptor: Lorg/jruby/runtime/Block;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(org.jruby.runtime.Block, int);
    descriptor: (Lorg/jruby/runtime/Block;I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.RubyEnumerable$EachWithIndex this
        start local 1 // org.jruby.runtime.Block block
        start local 2 // int index
         0: .line 1191
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1192
            aload 0 /* this */
            aload 1 /* block */
            putfield org.jruby.RubyEnumerable$EachWithIndex.block:Lorg/jruby/runtime/Block;
         2: .line 1193
            aload 0 /* this */
            iload 2 /* index */
            putfield org.jruby.RubyEnumerable$EachWithIndex.index:I
         3: .line 1194
            return
        end local 2 // int index
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.RubyEnumerable$EachWithIndex this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/RubyEnumerable$EachWithIndex;
            0    4     1  block  Lorg/jruby/runtime/Block;
            0    4     2  index  I
    MethodParameters:
       Name  Flags
      block  
      index  

  void <init>(org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/Block;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyEnumerable$EachWithIndex this
        start local 1 // org.jruby.runtime.Block block
         0: .line 1196
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1197
            aload 0 /* this */
            aload 1 /* block */
            putfield org.jruby.RubyEnumerable$EachWithIndex.block:Lorg/jruby/runtime/Block;
         2: .line 1198
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyEnumerable$EachWithIndex.index:I
         3: .line 1199
            return
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.RubyEnumerable$EachWithIndex this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/RubyEnumerable$EachWithIndex;
            0    4     1  block  Lorg/jruby/runtime/Block;
    MethodParameters:
       Name  Flags
      block  

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.jruby.RubyEnumerable$EachWithIndex this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] iargs
        start local 3 // org.jruby.runtime.Block block
         0: .line 1202
            aload 0 /* this */
            getfield org.jruby.RubyEnumerable$EachWithIndex.block:Lorg/jruby/runtime/Block;
            aload 1 /* context */
            aload 1 /* context */
            aload 2 /* iargs */
            invokestatic org.jruby.RubyEnumerable.packEnumValues:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            dup
            getfield org.jruby.RubyEnumerable$EachWithIndex.index:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.RubyEnumerable$EachWithIndex.index:I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.runtime.Block.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] iargs
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyEnumerable$EachWithIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyEnumerable$EachWithIndex;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    iargs  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      iargs    
      block    

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.jruby.RubyEnumerable$EachWithIndex this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject iarg
        start local 3 // org.jruby.runtime.Block block
         0: .line 1207
            aload 0 /* this */
            getfield org.jruby.RubyEnumerable$EachWithIndex.block:Lorg/jruby/runtime/Block;
            aload 1 /* context */
            aload 2 /* iarg */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            dup
            getfield org.jruby.RubyEnumerable$EachWithIndex.index:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.RubyEnumerable$EachWithIndex.index:I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.runtime.Block.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject iarg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyEnumerable$EachWithIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyEnumerable$EachWithIndex;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     iarg  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      iarg     
      block    
}
SourceFile: "RubyEnumerable.java"
NestHost: org.jruby.RubyEnumerable
InnerClasses:
  EachWithIndex = org.jruby.RubyEnumerable$EachWithIndex of org.jruby.RubyEnumerable