public abstract class org.jruby.runtime.BlockBody
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.jruby.runtime.BlockBody
  super_class: java.lang.Object
{
  protected final org.jruby.runtime.Signature signature;
    descriptor: Lorg/jruby/runtime/Signature;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected volatile java.lang.invoke.MethodHandle testBlockBody;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

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

  public static final org.jruby.runtime.BlockBody NULL_BODY;
    descriptor: Lorg/jruby/runtime/BlockBody;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 82
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            ldc Lorg/jruby/runtime/Block;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/runtime/BlockBody;
            aastore
            invokestatic com.headius.invokebinder.Binder.from:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Lcom/headius/invokebinder/Binder;
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Lorg/jruby/runtime/BlockBody;
            ldc "testBlockBody"
            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.BlockBody.TEST_BLOCK_BODY:Ljava/lang/invoke/MethodHandle;
         1: .line 290
            new org.jruby.runtime.NullBlockBody
            dup
            invokespecial org.jruby.runtime.NullBlockBody.<init>:()V
            putstatic org.jruby.runtime.BlockBody.NULL_BODY:Lorg/jruby/runtime/BlockBody;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.jruby.runtime.Signature);
    descriptor: (Lorg/jruby/runtime/Signature;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.BlockBody this
        start local 1 // org.jruby.runtime.Signature signature
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 0 /* this */
            aload 1 /* signature */
            putfield org.jruby.runtime.BlockBody.signature:Lorg/jruby/runtime/Signature;
         2: .line 57
            return
        end local 1 // org.jruby.runtime.Signature signature
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/runtime/BlockBody;
            0    3     1  signature  Lorg/jruby/runtime/Signature;
    MethodParameters:
           Name  Flags
      signature  

  public org.jruby.runtime.Signature getSignature();
    descriptor: ()Lorg/jruby/runtime/Signature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 60
            aload 0 /* this */
            getfield org.jruby.runtime.BlockBody.signature:Lorg/jruby/runtime/Signature;
            areturn
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;

  public org.jruby.EvalType getEvalType();
    descriptor: ()Lorg/jruby/EvalType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 64
            aconst_null
            areturn
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;

  public void setEvalType(org.jruby.EvalType);
    descriptor: (Lorg/jruby/EvalType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.jruby.runtime.BlockBody this
        start local 1 // org.jruby.EvalType evalType
         0: .line 69
            return
        end local 1 // org.jruby.EvalType evalType
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/jruby/runtime/BlockBody;
            0    1     1  evalType  Lorg/jruby/EvalType;
    MethodParameters:
          Name  Flags
      evalType  

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

  public java.lang.invoke.MethodHandle getTestBlockBody();
    descriptor: ()Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 76
            aload 0 /* this */
            getfield org.jruby.runtime.BlockBody.testBlockBody:Ljava/lang/invoke/MethodHandle;
            astore 1 /* testBlockBody */
        start local 1 // java.lang.invoke.MethodHandle testBlockBody
         1: .line 77
            aload 1 /* testBlockBody */
            ifnull 2
            aload 1 /* testBlockBody */
            areturn
         2: .line 79
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 0 /* this */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            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;
            iconst_0
            invokevirtual com.headius.invokebinder.Binder.drop:(I)Lcom/headius/invokebinder/Binder;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            invokevirtual com.headius.invokebinder.Binder.append:([Ljava/lang/Object;)Lcom/headius/invokebinder/Binder;
            getstatic org.jruby.runtime.BlockBody.TEST_BLOCK_BODY:Ljava/lang/invoke/MethodHandle;
            invokevirtual com.headius.invokebinder.Binder.invoke:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            dup_x1
            putfield org.jruby.runtime.BlockBody.testBlockBody:Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.invoke.MethodHandle testBlockBody
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/jruby/runtime/BlockBody;
            1    3     1  testBlockBody  Ljava/lang/invoke/MethodHandle;

  public static boolean testBlockBody(org.jruby.runtime.Block, org.jruby.runtime.BlockBody);
    descriptor: (Lorg/jruby/runtime/Block;Lorg/jruby/runtime/BlockBody;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.Block block
        start local 1 // org.jruby.runtime.BlockBody body
         0: .line 85
            aload 0 /* block */
            invokevirtual org.jruby.runtime.Block.getBody:()Lorg/jruby/runtime/BlockBody;
            aload 1 /* body */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.jruby.runtime.BlockBody body
        end local 0 // org.jruby.runtime.Block block
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  block  Lorg/jruby/runtime/Block;
            0    2     1   body  Lorg/jruby/runtime/BlockBody;
    MethodParameters:
       Name  Flags
      block  
      body   

  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=3, locals=5, args_size=5
        start local 0 // org.jruby.runtime.BlockBody 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 89
            new java.lang.RuntimeException
            dup
            ldc "callDirect not implemented in base class. We should never get here."
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        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.BlockBody this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/jruby/runtime/BlockBody;
            0    1     1   context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     block  Lorg/jruby/runtime/Block;
            0    1     3      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4  blockArg  Lorg/jruby/runtime/Block;
    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=3, locals=5, args_size=5
        start local 0 // org.jruby.runtime.BlockBody 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 93
            new java.lang.RuntimeException
            dup
            ldc "yieldDirect not implemented in base class. We should never get here."
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        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.BlockBody this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/runtime/BlockBody;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
            0    1     3     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4     self  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      block    
      args     
      self     

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 100
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;
    MethodParameters:
         Name  Flags
      context  
      block    
      args     

  public org.jruby.runtime.builtin.IRubyObject call(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: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 108
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;
    MethodParameters:
          Name  Flags
      context   
      block     
      args      
      blockArg  

  public final org.jruby.runtime.builtin.IRubyObject yield(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.jruby.runtime.BlockBody 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 value
         0: .line 113
            aload 0 /* this */
            invokevirtual org.jruby.runtime.BlockBody.canCallDirect:()Z
            ifeq 2
         1: .line 114
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 3 /* value */
            aastore
            aconst_null
            invokevirtual org.jruby.runtime.BlockBody.yieldDirect:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            aload 3 /* value */
            invokevirtual org.jruby.runtime.BlockBody.doYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/runtime/BlockBody;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
            0    3     3    value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      block    
      value    

  public final org.jruby.runtime.builtin.IRubyObject yield(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: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.jruby.runtime.BlockBody 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 121
            aload 0 /* this */
            invokevirtual org.jruby.runtime.BlockBody.canCallDirect:()Z
            ifeq 2
         1: .line 122
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            aload 3 /* args */
            aload 4 /* self */
            invokevirtual org.jruby.runtime.BlockBody.yieldDirect:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 124
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 2 /* block */
            getfield org.jruby.runtime.Block.type:Lorg/jruby/runtime/Block$Type;
            aload 0 /* this */
            aload 3 /* args */
            invokestatic org.jruby.RubyProc.prepareArgs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block$Type;Lorg/jruby/runtime/BlockBody;[Lorg/jruby/runtime/builtin/IRubyObject;)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* preppedValue */
        start local 5 // org.jruby.runtime.builtin.IRubyObject[] preppedValue
         3: .line 125
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            aload 5 /* preppedValue */
            aload 4 /* self */
            invokevirtual org.jruby.runtime.BlockBody.doYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject[] preppedValue
        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.BlockBody this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/jruby/runtime/BlockBody;
            0    4     1       context  Lorg/jruby/runtime/ThreadContext;
            0    4     2         block  Lorg/jruby/runtime/Block;
            0    4     3          args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     4          self  Lorg/jruby/runtime/builtin/IRubyObject;
            3    4     5  preppedValue  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      block    
      args     
      self     

  protected abstract org.jruby.runtime.builtin.IRubyObject doYield(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      context  
      block    
      value    

  protected abstract org.jruby.runtime.builtin.IRubyObject doYield(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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      context  
      block    
      args     
      self     

  public org.jruby.runtime.builtin.IRubyObject yield(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, 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/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 148
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;
    MethodParameters:
          Name  Flags
      context   
      block     
      args      
      self      
      blockArg  

  public org.jruby.runtime.builtin.IRubyObject yield(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: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 154
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;
    MethodParameters:
          Name  Flags
      context   
      block     
      value     
      blockArg  

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 162
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.runtime.BlockBody this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
        start local 3 // org.jruby.runtime.Block unusedBlock
         0: .line 167
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.runtime.BlockBody.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block unusedBlock
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/jruby/runtime/BlockBody;
            0    1     1      context  Lorg/jruby/runtime/ThreadContext;
            0    1     2        block  Lorg/jruby/runtime/Block;
            0    1     3  unusedBlock  Lorg/jruby/runtime/Block;
    MethodParameters:
             Name  Flags
      context      
      block        
      unusedBlock  

  public org.jruby.runtime.builtin.IRubyObject yieldSpecific(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 174
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 182
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;
    MethodParameters:
         Name  Flags
      context  
      block    
      arg0     

  public org.jruby.runtime.builtin.IRubyObject call(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: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.jruby.runtime.BlockBody 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 arg0
        start local 4 // org.jruby.runtime.Block unusedBlock
         0: .line 186
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            aload 3 /* arg0 */
            invokevirtual org.jruby.runtime.BlockBody.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block unusedBlock
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/jruby/runtime/BlockBody;
            0    1     1      context  Lorg/jruby/runtime/ThreadContext;
            0    1     2        block  Lorg/jruby/runtime/Block;
            0    1     3         arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4  unusedBlock  Lorg/jruby/runtime/Block;
    MethodParameters:
             Name  Flags
      context      
      block        
      arg0         
      unusedBlock  

  public org.jruby.runtime.builtin.IRubyObject yieldSpecific(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 193
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;
    MethodParameters:
         Name  Flags
      context  
      block    
      arg0     

  public org.jruby.runtime.builtin.IRubyObject call(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: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 201
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;
    MethodParameters:
         Name  Flags
      context  
      block    
      arg0     
      arg1     

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, 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/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.jruby.runtime.BlockBody 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 arg0
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 5 // org.jruby.runtime.Block unusedBlock
         0: .line 205
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            aload 3 /* arg0 */
            aload 4 /* arg1 */
            invokevirtual org.jruby.runtime.BlockBody.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jruby.runtime.Block unusedBlock
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/jruby/runtime/BlockBody;
            0    1     1      context  Lorg/jruby/runtime/ThreadContext;
            0    1     2        block  Lorg/jruby/runtime/Block;
            0    1     3         arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4         arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     5  unusedBlock  Lorg/jruby/runtime/Block;
    MethodParameters:
             Name  Flags
      context      
      block        
      arg0         
      arg1         
      unusedBlock  

  public org.jruby.runtime.builtin.IRubyObject yieldSpecific(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: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 212
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;
    MethodParameters:
         Name  Flags
      context  
      block    
      arg0     
      arg1     

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject, 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;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 220
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;
    MethodParameters:
         Name  Flags
      context  
      block    
      arg0     
      arg1     
      arg2     

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, 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/runtime/Block;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: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // org.jruby.runtime.BlockBody 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 arg0
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg2
        start local 6 // org.jruby.runtime.Block unusedBlock
         0: .line 224
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            aload 3 /* arg0 */
            aload 4 /* arg1 */
            aload 5 /* arg2 */
            invokevirtual org.jruby.runtime.BlockBody.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // org.jruby.runtime.Block unusedBlock
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/jruby/runtime/BlockBody;
            0    1     1      context  Lorg/jruby/runtime/ThreadContext;
            0    1     2        block  Lorg/jruby/runtime/Block;
            0    1     3         arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4         arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     5         arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     6  unusedBlock  Lorg/jruby/runtime/Block;
    MethodParameters:
             Name  Flags
      context      
      block        
      arg0         
      arg1         
      arg2         
      unusedBlock  

  public org.jruby.runtime.builtin.IRubyObject yieldSpecific(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.runtime.builtin.IRubyObject, 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;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 231
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\trestricted identifier yield not allowed here - method calls need to be qualified\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;
    MethodParameters:
         Name  Flags
      context  
      block    
      arg0     
      arg1     
      arg2     

  public abstract org.jruby.parser.StaticScope getStaticScope();
    descriptor: ()Lorg/jruby/parser/StaticScope;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setStaticScope(org.jruby.parser.StaticScope);
    descriptor: (Lorg/jruby/parser/StaticScope;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      newScope  

  public org.jruby.runtime.Arity arity();
    descriptor: ()Lorg/jruby/runtime/Arity;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.BlockBody this
         0: .line 246
            aload 0 /* this */
            getfield org.jruby.runtime.BlockBody.signature:Lorg/jruby/runtime/Signature;
            invokevirtual org.jruby.runtime.Signature.arity:()Lorg/jruby/runtime/Arity;
            areturn
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

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

  public abstract java.lang.String getFile();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int getLine();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public org.jruby.runtime.builtin.IRubyObject[] prepareArgumentsForCall(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block$Type);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block$Type;)[Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.runtime.BlockBody this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block$Type type
         0: .line 269
            aload 3 /* type */
            getstatic org.jruby.runtime.Block$Type.LAMBDA:Lorg/jruby/runtime/Block$Type;
            if_acmpne 3
         1: .line 270
            aload 0 /* this */
            getfield org.jruby.runtime.BlockBody.signature:Lorg/jruby/runtime/Signature;
            aload 1 /* 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 271
            goto 12
         3: .line 274
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpne 8
         4: .line 276
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.jruby.runtime.BlockBody.signature:Lorg/jruby/runtime/Signature;
            aload 2 /* args */
            iconst_0
            aaload
            instanceof org.jruby.RubyArray
            ifeq 5
            aload 3 /* type */
            getstatic org.jruby.runtime.Block$Type.NORMAL:Lorg/jruby/runtime/Block$Type;
            if_acmpne 5
            iconst_1
            goto 6
      StackMap locals: org.jruby.runtime.BlockBody org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block$Type
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Signature
         5: iconst_0
      StackMap locals: org.jruby.runtime.BlockBody org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block$Type
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Signature int
         6: invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.convertValueIntoArgArray:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Signature;Z)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* args */
         7: .line 277
            goto 12
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            getfield org.jruby.runtime.BlockBody.signature:Lorg/jruby/runtime/Signature;
            invokevirtual org.jruby.runtime.Signature.arityValue:()I
            iconst_1
            if_icmpne 12
            aload 0 /* this */
            getfield org.jruby.runtime.BlockBody.signature:Lorg/jruby/runtime/Signature;
            invokevirtual org.jruby.runtime.Signature.restKwargs:()Z
            ifne 12
         9: .line 279
            aload 2 /* args */
            arraylength
            ifne 10
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getSingleNilArray:()[Lorg/jruby/runtime/builtin/IRubyObject;
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* args */
            iconst_0
            aaload
            aastore
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject[]
        11: astore 2 /* args */
        12: .line 283
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            areturn
        end local 3 // org.jruby.runtime.Block$Type type
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/jruby/runtime/BlockBody;
            0   13     1  context  Lorg/jruby/runtime/ThreadContext;
            0   13     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0   13     3     type  Lorg/jruby/runtime/Block$Type;
    MethodParameters:
         Name  Flags
      context  
      args     
      type     

  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.BlockBody this
         0: .line 287
            getstatic org.jruby.runtime.ArgumentDescriptor.EMPTY_ARRAY:[Lorg/jruby/runtime/ArgumentDescriptor;
            areturn
        end local 0 // org.jruby.runtime.BlockBody this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/BlockBody;
}
SourceFile: "BlockBody.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