public class org.jruby.runtime.CompiledIRBlockBody extends org.jruby.runtime.IRBlockBody
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.runtime.CompiledIRBlockBody
  super_class: org.jruby.runtime.IRBlockBody
{
  protected final java.lang.invoke.MethodHandle handle;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.invoke.MethodHandle callHandle;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.invoke.MethodHandle yieldDirectHandle;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected java.lang.invoke.MethodHandle normalYieldHandle;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.invoke.MethodHandle normalYieldSpecificHandle;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.invoke.MethodHandle normalYieldUnwrapHandle;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0004) ACC_PROTECTED

  private static final java.lang.invoke.MethodHandles$Lookup LOOKUP;
    descriptor: Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle VALUE_TO_ARRAY;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle WRAP_VALUE;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle CHECK_ARITY;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 36
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            putstatic org.jruby.runtime.CompiledIRBlockBody.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
         1: .line 38
            ldc [Lorg/jruby/runtime/builtin/IRubyObject;
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_0
            anewarray java.lang.Class
            invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Lcom/headius/invokebinder/Binder;
            getstatic org.jruby.runtime.CompiledIRBlockBody.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Lorg/jruby/ir/runtime/IRRuntimeHelpers;
            ldc "singleBlockArgToArray"
            invokevirtual com.headius.invokebinder.Binder.invokeStaticQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
            putstatic org.jruby.runtime.CompiledIRBlockBody.VALUE_TO_ARRAY:Ljava/lang/invoke/MethodHandle;
         2: .line 40
            ldc [Lorg/jruby/runtime/builtin/IRubyObject;
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_0
            anewarray java.lang.Class
            invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Lcom/headius/invokebinder/Binder;
            getstatic org.jruby.runtime.CompiledIRBlockBody.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Lorg/jruby/runtime/CompiledIRBlockBody;
            ldc "wrapValue"
            invokevirtual com.headius.invokebinder.Binder.invokeStaticQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
            putstatic org.jruby.runtime.CompiledIRBlockBody.WRAP_VALUE:Ljava/lang/invoke/MethodHandle;
         3: .line 43
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            ldc Lorg/jruby/runtime/ThreadContext;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/runtime/Block;
            aastore
            dup
            iconst_1
            ldc [Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            dup
            iconst_2
            ldc Lorg/jruby/runtime/Block;
            aastore
            invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Lcom/headius/invokebinder/Binder;
         4: .line 44
            getstatic org.jruby.runtime.CompiledIRBlockBody.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Lorg/jruby/runtime/CompiledIRBlockBody;
            ldc "checkArity"
            invokevirtual com.headius.invokebinder.Binder.invokeStaticQuiet:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
         5: .line 42
            putstatic org.jruby.runtime.CompiledIRBlockBody.CHECK_ARITY:Ljava/lang/invoke/MethodHandle;
         6: .line 44
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.invoke.MethodHandle, org.jruby.ir.IRScope, long);
    descriptor: (Ljava/lang/invoke/MethodHandle;Lorg/jruby/ir/IRScope;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // org.jruby.runtime.CompiledIRBlockBody this
        start local 1 // java.lang.invoke.MethodHandle handle
        start local 2 // org.jruby.ir.IRScope closure
        start local 3 // long encodedSignature
         0: .line 21
            aload 0 /* this */
            aload 2 /* closure */
            lload 3 /* encodedSignature */
            invokestatic org.jruby.runtime.Signature.decode:(J)Lorg/jruby/runtime/Signature;
            invokespecial org.jruby.runtime.IRBlockBody.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/runtime/Signature;)V
         1: .line 23
            aload 0 /* this */
            aload 1 /* handle */
            putfield org.jruby.runtime.CompiledIRBlockBody.handle:Ljava/lang/invoke/MethodHandle;
         2: .line 24
            aload 1 /* handle */
            iconst_2
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* closure */
            invokevirtual org.jruby.ir.IRScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            invokestatic java.lang.invoke.MethodHandles.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* callHandle */
        start local 5 // java.lang.invoke.MethodHandle callHandle
         3: .line 26
            aload 0 /* this */
            aload 5 /* callHandle */
            getstatic org.jruby.runtime.CompiledIRBlockBody.CHECK_ARITY:Ljava/lang/invoke/MethodHandle;
            invokestatic java.lang.invoke.MethodHandles.foldArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            putfield org.jruby.runtime.CompiledIRBlockBody.callHandle:Ljava/lang/invoke/MethodHandle;
         4: .line 27
            aload 0 /* this */
         5: .line 28
            aload 1 /* handle */
            iconst_2
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* closure */
            invokevirtual org.jruby.ir.IRScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
            aastore
            invokestatic java.lang.invoke.MethodHandles.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
         6: .line 29
            iconst_4
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 30
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            aastore
         8: .line 27
            invokestatic java.lang.invoke.MethodHandles.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            putfield org.jruby.runtime.CompiledIRBlockBody.yieldDirectHandle:Ljava/lang/invoke/MethodHandle;
         9: .line 33
            aload 2 /* closure */
            invokevirtual org.jruby.ir.IRScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
            invokevirtual org.jruby.parser.StaticScope.determineModule:()Lorg/jruby/RubyModule;
            pop
        10: .line 34
            return
        end local 5 // java.lang.invoke.MethodHandle callHandle
        end local 3 // long encodedSignature
        end local 2 // org.jruby.ir.IRScope closure
        end local 1 // java.lang.invoke.MethodHandle handle
        end local 0 // org.jruby.runtime.CompiledIRBlockBody this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lorg/jruby/runtime/CompiledIRBlockBody;
            0   11     1            handle  Ljava/lang/invoke/MethodHandle;
            0   11     2           closure  Lorg/jruby/ir/IRScope;
            0   11     3  encodedSignature  J
            3   11     5        callHandle  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                  Name  Flags
      handle            
      closure           
      encodedSignature  

  private static void checkArity(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block selfBlock
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 47
            aload 1 /* selfBlock */
            getfield org.jruby.runtime.Block.type:Lorg/jruby/runtime/Block$Type;
            getstatic org.jruby.runtime.Block$Type.LAMBDA:Lorg/jruby/runtime/Block$Type;
            if_acmpne 2
         1: .line 48
            aload 1 /* selfBlock */
            invokevirtual org.jruby.runtime.Block.getSignature:()Lorg/jruby/runtime/Signature;
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* args */
            invokevirtual org.jruby.runtime.Signature.checkArity:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 50
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.Block selfBlock
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0    context  Lorg/jruby/runtime/ThreadContext;
            0    3     1  selfBlock  Lorg/jruby/runtime/Block;
            0    3     2       args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3      block  Lorg/jruby/runtime/Block;
    MethodParameters:
           Name  Flags
      context    
      selfBlock  
      args       
      block      

  private static org.jruby.runtime.builtin.IRubyObject[] wrapValue(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)[Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 52
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 0 /* value */
            aastore
            areturn
        end local 0 // org.jruby.runtime.builtin.IRubyObject value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      value  

  public org.jruby.runtime.ArgumentDescriptor[] getArgumentDescriptors();
    descriptor: ()[Lorg/jruby/runtime/ArgumentDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.CompiledIRBlockBody this
         0: .line 56
            aload 0 /* this */
            getfield org.jruby.runtime.CompiledIRBlockBody.closure:Lorg/jruby/ir/IRClosure;
            invokevirtual org.jruby.ir.IRClosure.getArgumentDescriptors:()[Lorg/jruby/runtime/ArgumentDescriptor;
            areturn
        end local 0 // org.jruby.runtime.CompiledIRBlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/CompiledIRBlockBody;

  public boolean canCallDirect();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.CompiledIRBlockBody this
         0: .line 61
            iconst_1
            ireturn
        end local 0 // org.jruby.runtime.CompiledIRBlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/CompiledIRBlockBody;

  public java.lang.invoke.MethodHandle getCallHandle();
    descriptor: ()Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.CompiledIRBlockBody this
         0: .line 65
            aload 0 /* this */
            getfield org.jruby.runtime.CompiledIRBlockBody.callHandle:Ljava/lang/invoke/MethodHandle;
            areturn
        end local 0 // org.jruby.runtime.CompiledIRBlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/CompiledIRBlockBody;

  public java.lang.invoke.MethodHandle getNormalYieldSpecificHandle();
    descriptor: ()Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.jruby.runtime.CompiledIRBlockBody this
         0: .line 72
            aload 0 /* this */
            getfield org.jruby.runtime.CompiledIRBlockBody.normalYieldSpecificHandle:Ljava/lang/invoke/MethodHandle;
            astore 1 /* normalYieldSpecificHandle */
        start local 1 // java.lang.invoke.MethodHandle normalYieldSpecificHandle
         1: .line 73
            aload 1 /* normalYieldSpecificHandle */
            ifnull 2
            aload 1 /* normalYieldSpecificHandle */
            areturn
         2: .line 75
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 0 /* this */
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            ldc Lorg/jruby/runtime/ThreadContext;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/runtime/Block;
            aastore
            invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Lcom/headius/invokebinder/Binder;
         3: .line 76
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/parser/StaticScope;
            aastore
            dup
            iconst_1
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            dup
            iconst_2
            ldc [Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            dup
            iconst_3
            ldc Lorg/jruby/runtime/Block;
            aastore
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 77
            aload 0 /* this */
            invokevirtual org.jruby.runtime.CompiledIRBlockBody.getStaticScope:()Lorg/jruby/parser/StaticScope;
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            aconst_null
            aastore
            dup
            iconst_3
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            aastore
         5: .line 76
            invokevirtual com.headius.invokebinder.Binder.append:([Ljava/lang/Class;[Ljava/lang/Object;)Lcom/headius/invokebinder/Binder;
         6: .line 78
            aload 0 /* this */
            getfield org.jruby.runtime.CompiledIRBlockBody.handle:Ljava/lang/invoke/MethodHandle;
            invokevirtual com.headius.invokebinder.Binder.invoke:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
         7: .line 75
            dup_x1
            putfield org.jruby.runtime.CompiledIRBlockBody.normalYieldSpecificHandle:Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.invoke.MethodHandle normalYieldSpecificHandle
        end local 0 // org.jruby.runtime.CompiledIRBlockBody this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    8     0                       this  Lorg/jruby/runtime/CompiledIRBlockBody;
            1    8     1  normalYieldSpecificHandle  Ljava/lang/invoke/MethodHandle;

  public java.lang.invoke.MethodHandle getNormalYieldHandle();
    descriptor: ()Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=1
        start local 0 // org.jruby.runtime.CompiledIRBlockBody this
         0: .line 82
            aload 0 /* this */
            getfield org.jruby.runtime.CompiledIRBlockBody.normalYieldHandle:Ljava/lang/invoke/MethodHandle;
            astore 1 /* normalYieldHandle */
        start local 1 // java.lang.invoke.MethodHandle normalYieldHandle
         1: .line 83
            aload 1 /* normalYieldHandle */
            ifnull 2
            aload 1 /* normalYieldHandle */
            areturn
         2: .line 85
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 0 /* this */
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            ldc Lorg/jruby/runtime/ThreadContext;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/runtime/Block;
            aastore
            dup
            iconst_1
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Lcom/headius/invokebinder/Binder;
         3: .line 86
            iconst_2
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
            getstatic org.jruby.runtime.CompiledIRBlockBody.WRAP_VALUE:Ljava/lang/invoke/MethodHandle;
            aastore
            invokevirtual com.headius.invokebinder.Binder.filter:(I[Ljava/lang/invoke/MethodHandle;)Lcom/headius/invokebinder/Binder;
         4: .line 87
            iconst_2
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/parser/StaticScope;
            aastore
            dup
            iconst_1
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.jruby.runtime.CompiledIRBlockBody.getStaticScope:()Lorg/jruby/parser/StaticScope;
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            invokevirtual com.headius.invokebinder.Binder.insert:(I[Ljava/lang/Class;[Ljava/lang/Object;)Lcom/headius/invokebinder/Binder;
         5: .line 88
            ldc Lorg/jruby/runtime/Block;
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual com.headius.invokebinder.Binder.append:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/headius/invokebinder/Binder;
         6: .line 89
            aload 0 /* this */
            getfield org.jruby.runtime.CompiledIRBlockBody.handle:Ljava/lang/invoke/MethodHandle;
            invokevirtual com.headius.invokebinder.Binder.invoke:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
         7: .line 85
            dup_x1
            putfield org.jruby.runtime.CompiledIRBlockBody.normalYieldHandle:Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.invoke.MethodHandle normalYieldHandle
        end local 0 // org.jruby.runtime.CompiledIRBlockBody this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/jruby/runtime/CompiledIRBlockBody;
            1    8     1  normalYieldHandle  Ljava/lang/invoke/MethodHandle;

  public java.lang.invoke.MethodHandle getNormalYieldUnwrapHandle();
    descriptor: ()Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=1
        start local 0 // org.jruby.runtime.CompiledIRBlockBody this
         0: .line 93
            aload 0 /* this */
            getfield org.jruby.runtime.CompiledIRBlockBody.normalYieldUnwrapHandle:Ljava/lang/invoke/MethodHandle;
            astore 1 /* normalYieldUnwrapHandle */
        start local 1 // java.lang.invoke.MethodHandle normalYieldUnwrapHandle
         1: .line 94
            aload 1 /* normalYieldUnwrapHandle */
            ifnull 2
            aload 1 /* normalYieldUnwrapHandle */
            areturn
         2: .line 96
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 0 /* this */
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            ldc Lorg/jruby/runtime/ThreadContext;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/runtime/Block;
            aastore
            dup
            iconst_1
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Lcom/headius/invokebinder/Binder;
         3: .line 97
            iconst_2
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
            getstatic org.jruby.runtime.CompiledIRBlockBody.VALUE_TO_ARRAY:Ljava/lang/invoke/MethodHandle;
            aastore
            invokevirtual com.headius.invokebinder.Binder.filter:(I[Ljava/lang/invoke/MethodHandle;)Lcom/headius/invokebinder/Binder;
         4: .line 98
            iconst_2
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/parser/StaticScope;
            aastore
            dup
            iconst_1
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.jruby.runtime.CompiledIRBlockBody.getStaticScope:()Lorg/jruby/parser/StaticScope;
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            invokevirtual com.headius.invokebinder.Binder.insert:(I[Ljava/lang/Class;[Ljava/lang/Object;)Lcom/headius/invokebinder/Binder;
         5: .line 99
            ldc Lorg/jruby/runtime/Block;
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual com.headius.invokebinder.Binder.append:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/headius/invokebinder/Binder;
         6: .line 100
            aload 0 /* this */
            getfield org.jruby.runtime.CompiledIRBlockBody.handle:Ljava/lang/invoke/MethodHandle;
            invokevirtual com.headius.invokebinder.Binder.invoke:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
         7: .line 96
            dup_x1
            putfield org.jruby.runtime.CompiledIRBlockBody.normalYieldUnwrapHandle:Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.invoke.MethodHandle normalYieldUnwrapHandle
        end local 0 // org.jruby.runtime.CompiledIRBlockBody this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    8     0                     this  Lorg/jruby/runtime/CompiledIRBlockBody;
            1    8     1  normalYieldUnwrapHandle  Ljava/lang/invoke/MethodHandle;

  protected org.jruby.runtime.builtin.IRubyObject callDirect(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.jruby.runtime.CompiledIRBlockBody this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 4 // org.jruby.runtime.Block blockArg
         0: .line 138
            aload 0 /* this */
            getfield org.jruby.runtime.CompiledIRBlockBody.callHandle:Ljava/lang/invoke/MethodHandle;
            aload 1 /* context */
            aload 2 /* block */
            aload 3 /* args */
            aload 4 /* blockArg */
            invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
         1: areturn
         2: .line 139
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* t */
        start local 5 // java.lang.Throwable t
         3: .line 140
            aload 5 /* t */
            invokestatic org.jruby.runtime.Helpers.throwException:(Ljava/lang/Throwable;)V
         4: .line 141
            aconst_null
            areturn
        end local 5 // java.lang.Throwable t
        end local 4 // org.jruby.runtime.Block blockArg
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.CompiledIRBlockBody this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/runtime/CompiledIRBlockBody;
            0    5     1   context  Lorg/jruby/runtime/ThreadContext;
            0    5     2     block  Lorg/jruby/runtime/Block;
            0    5     3      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     4  blockArg  Lorg/jruby/runtime/Block;
            3    5     5         t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    MethodParameters:
          Name  Flags
      context   
      block     
      args      
      blockArg  

  protected org.jruby.runtime.builtin.IRubyObject yieldDirect(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.jruby.runtime.CompiledIRBlockBody this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 4 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 148
            aload 0 /* this */
            getfield org.jruby.runtime.CompiledIRBlockBody.yieldDirectHandle:Ljava/lang/invoke/MethodHandle;
            aload 1 /* context */
            aload 2 /* block */
            aload 4 /* self */
            aload 3 /* args */
            invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
         1: areturn
         2: .line 149
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* t */
        start local 5 // java.lang.Throwable t
         3: .line 150
            aload 5 /* t */
            invokestatic org.jruby.runtime.Helpers.throwException:(Ljava/lang/Throwable;)V
         4: .line 151
            aconst_null
            areturn
        end local 5 // java.lang.Throwable t
        end local 4 // org.jruby.runtime.builtin.IRubyObject self
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.CompiledIRBlockBody this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/runtime/CompiledIRBlockBody;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2    block  Lorg/jruby/runtime/Block;
            0    5     3     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     4     self  Lorg/jruby/runtime/builtin/IRubyObject;
            3    5     5        t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    MethodParameters:
         Name  Flags
      context  
      block    
      args     
      self     

  protected org.jruby.runtime.builtin.IRubyObject commonYieldPath(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.Block$Type, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/Block$Type;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=7
        start local 0 // org.jruby.runtime.CompiledIRBlockBody this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
        start local 3 // org.jruby.runtime.Block$Type type
        start local 4 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 5 // org.jruby.runtime.builtin.IRubyObject self
        start local 6 // org.jruby.runtime.Block blockArg
         0: .line 157
            new java.lang.UnsupportedOperationException
            dup
            ldc "commonYieldPath not implemented"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // org.jruby.runtime.Block blockArg
        end local 5 // org.jruby.runtime.builtin.IRubyObject self
        end local 4 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 3 // org.jruby.runtime.Block$Type type
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.CompiledIRBlockBody this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/jruby/runtime/CompiledIRBlockBody;
            0    1     1   context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     block  Lorg/jruby/runtime/Block;
            0    1     3      type  Lorg/jruby/runtime/Block$Type;
            0    1     4      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     5      self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     6  blockArg  Lorg/jruby/runtime/Block;
    MethodParameters:
          Name  Flags
      context   
      block     
      type      
      args      
      self      
      blockArg  
}
SourceFile: "CompiledIRBlockBody.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Type = org.jruby.runtime.Block$Type of org.jruby.runtime.Block