public class org.jruby.runtime.Block
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.runtime.Block
  super_class: java.lang.Object
{
  private org.jruby.RubyProc proc;
    descriptor: Lorg/jruby/RubyProc;
    flags: (0x0002) ACC_PRIVATE

  public org.jruby.runtime.Block$Type type;
    descriptor: Lorg/jruby/runtime/Block$Type;
    flags: (0x0001) ACC_PUBLIC

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

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

  private boolean escaped;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.jruby.runtime.Block escapeBlock;
    descriptor: Lorg/jruby/runtime/Block;
    flags: (0x0002) ACC_PRIVATE

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

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=0, args_size=0
         0: .line 53
            ldc Lorg/jruby/runtime/Block;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.jruby.runtime.Block.$assertionsDisabled:Z
         3: .line 86
            new org.jruby.runtime.Block
            dup
            getstatic org.jruby.runtime.BlockBody.NULL_BODY:Lorg/jruby/runtime/BlockBody;
            new org.jruby.runtime.Binding
            dup
            aconst_null
            new org.jruby.runtime.Frame
            dup
            invokespecial org.jruby.runtime.Frame.<init>:()V
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            invokespecial org.jruby.runtime.Binding.<init>:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Frame;Lorg/jruby/runtime/Visibility;)V
            invokespecial org.jruby.runtime.Block.<init>:(Lorg/jruby/runtime/BlockBody;Lorg/jruby/runtime/Binding;)V
            putstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
         4: .line 90
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.runtime.Block.getBinding:()Lorg/jruby/runtime/Binding;
            invokevirtual org.jruby.runtime.Binding.getFrame:()Lorg/jruby/runtime/Frame;
            aconst_null
            aconst_null
            ldc ""
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.runtime.Frame.updateFrame:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;)V
         5: .line 91
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.jruby.runtime.BlockBody, org.jruby.runtime.Binding);
    descriptor: (Lorg/jruby/runtime/BlockBody;Lorg/jruby/runtime/Binding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.runtime.Block this
        start local 1 // org.jruby.runtime.BlockBody body
        start local 2 // org.jruby.runtime.Binding binding
         0: .line 93
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 69
            aload 0 /* this */
            aconst_null
            putfield org.jruby.runtime.Block.proc:Lorg/jruby/RubyProc;
         2: .line 71
            aload 0 /* this */
            getstatic org.jruby.runtime.Block$Type.NORMAL:Lorg/jruby/runtime/Block$Type;
            putfield org.jruby.runtime.Block.type:Lorg/jruby/runtime/Block$Type;
         3: .line 81
            aload 0 /* this */
            aload 0 /* this */
            putfield org.jruby.runtime.Block.escapeBlock:Lorg/jruby/runtime/Block;
         4: .line 94
            getstatic org.jruby.runtime.Block.$assertionsDisabled:Z
            ifne 5
            aload 2 /* binding */
            ifnonnull 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 95
      StackMap locals: org.jruby.runtime.Block org.jruby.runtime.BlockBody org.jruby.runtime.Binding
      StackMap stack:
            aload 0 /* this */
            aload 1 /* body */
            putfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
         6: .line 96
            aload 0 /* this */
            aload 2 /* binding */
            putfield org.jruby.runtime.Block.binding:Lorg/jruby/runtime/Binding;
         7: .line 97
            return
        end local 2 // org.jruby.runtime.Binding binding
        end local 1 // org.jruby.runtime.BlockBody body
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/runtime/Block;
            0    8     1     body  Lorg/jruby/runtime/BlockBody;
            0    8     2  binding  Lorg/jruby/runtime/Binding;
    MethodParameters:
         Name  Flags
      body     
      binding  

  public void <init>(org.jruby.runtime.BlockBody);
    descriptor: (Lorg/jruby/runtime/BlockBody;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.runtime.Block this
        start local 1 // org.jruby.runtime.BlockBody body
         0: .line 100
            aload 0 /* this */
            aload 1 /* body */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.runtime.Block.getBinding:()Lorg/jruby/runtime/Binding;
            invokespecial org.jruby.runtime.Block.<init>:(Lorg/jruby/runtime/BlockBody;Lorg/jruby/runtime/Binding;)V
         1: .line 101
            return
        end local 1 // org.jruby.runtime.BlockBody body
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/Block;
            0    2     1  body  Lorg/jruby/runtime/BlockBody;
    MethodParameters:
      Name  Flags
      body  

  public org.jruby.runtime.DynamicScope allocScope(org.jruby.runtime.DynamicScope);
    descriptor: (Lorg/jruby/runtime/DynamicScope;)Lorg/jruby/runtime/DynamicScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.runtime.Block this
        start local 1 // org.jruby.runtime.DynamicScope parentScope
         0: .line 111
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            invokevirtual org.jruby.runtime.BlockBody.getStaticScope:()Lorg/jruby/parser/StaticScope;
            aload 1 /* parentScope */
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            invokevirtual org.jruby.runtime.BlockBody.getEvalType:()Lorg/jruby/EvalType;
            invokestatic org.jruby.runtime.DynamicScope.newDynamicScope:(Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/DynamicScope;Lorg/jruby/EvalType;)Lorg/jruby/runtime/DynamicScope;
            astore 2 /* newScope */
        start local 2 // org.jruby.runtime.DynamicScope newScope
         1: .line 112
            aload 0 /* this */
            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
            aload 2 /* newScope */
            iconst_1
            invokevirtual org.jruby.runtime.DynamicScope.setLambda:(Z)V
         2: .line 113
      StackMap locals: org.jruby.runtime.DynamicScope
      StackMap stack:
            aload 2 /* newScope */
            areturn
        end local 2 // org.jruby.runtime.DynamicScope newScope
        end local 1 // org.jruby.runtime.DynamicScope parentScope
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/jruby/runtime/Block;
            0    3     1  parentScope  Lorg/jruby/runtime/DynamicScope;
            1    3     2     newScope  Lorg/jruby/runtime/DynamicScope;
    MethodParameters:
             Name  Flags
      parentScope  

  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.Block this
         0: .line 117
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            invokevirtual org.jruby.runtime.BlockBody.getEvalType:()Lorg/jruby/EvalType;
            areturn
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/Block;

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

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.Block this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 125
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* args */
            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 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/runtime/Block;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      args     

  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=5, locals=4, args_size=4
        start local 0 // org.jruby.runtime.Block 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 blockArg
         0: .line 129
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* args */
            aload 3 /* blockArg */
            invokevirtual org.jruby.runtime.BlockBody.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block blockArg
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/jruby/runtime/Block;
            0    1     1   context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3  blockArg  Lorg/jruby/runtime/Block;
    MethodParameters:
          Name  Flags
      context   
      args      
      blockArg  

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

  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=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.Block this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block blockArg
         0: .line 136
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* blockArg */
            invokevirtual org.jruby.runtime.BlockBody.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block blockArg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/jruby/runtime/Block;
            0    1     1   context  Lorg/jruby/runtime/ThreadContext;
            0    1     2  blockArg  Lorg/jruby/runtime/Block;
    MethodParameters:
          Name  Flags
      context   
      blockArg  

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

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

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

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

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

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;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=5, args_size=5
        start local 0 // org.jruby.runtime.Block this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block blockArg
         0: .line 154
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 4 /* blockArg */
            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/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block blockArg
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/jruby/runtime/Block;
            0    1     1   context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3      arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4  blockArg  Lorg/jruby/runtime/Block;
    MethodParameters:
          Name  Flags
      context   
      arg0      
      arg1      
      blockArg  

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

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

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

  public org.jruby.runtime.builtin.IRubyObject yieldSpecific(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;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=6, locals=5, args_size=5
        start local 0 // org.jruby.runtime.Block this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 166
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 4 /* arg2 */
            invokevirtual org.jruby.runtime.BlockBody.yieldSpecific:(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 4 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/runtime/Block;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      arg2     

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

  public org.jruby.runtime.builtin.IRubyObject yieldNonArray(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.jruby.runtime.Block this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 174
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            aload 1 /* context */
            aload 0 /* this */
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* value */
            aastore
            aload 3 /* self */
            invokevirtual org.jruby.runtime.BlockBody.yield:(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 3 // org.jruby.runtime.builtin.IRubyObject self
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/runtime/Block;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     self  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      value    
      self     

  public org.jruby.runtime.builtin.IRubyObject yieldArray(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.jruby.runtime.Block this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 181
            aload 2 /* value */
            invokestatic org.jruby.ir.runtime.IRRuntimeHelpers.singleBlockArgToArray:(Lorg/jruby/runtime/builtin/IRubyObject;)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* args */
        start local 4 // org.jruby.runtime.builtin.IRubyObject[] args
         1: .line 182
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            aload 1 /* context */
            aload 0 /* this */
            aload 4 /* args */
            aload 3 /* self */
            invokevirtual org.jruby.runtime.BlockBody.yield:(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 4 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 3 // org.jruby.runtime.builtin.IRubyObject self
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/runtime/Block;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2    value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3     self  Lorg/jruby/runtime/builtin/IRubyObject;
            1    2     4     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      value    
      self     

  public org.jruby.runtime.builtin.IRubyObject yieldValues(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.runtime.Block this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 186
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* args */
            aconst_null
            invokevirtual org.jruby.runtime.BlockBody.yield:(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 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/runtime/Block;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.Block cloneBlock();
    descriptor: ()Lorg/jruby/runtime/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.runtime.Block this
         0: .line 190
            new org.jruby.runtime.Block
            dup
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            aload 0 /* this */
            getfield org.jruby.runtime.Block.binding:Lorg/jruby/runtime/Binding;
            invokespecial org.jruby.runtime.Block.<init>:(Lorg/jruby/runtime/BlockBody;Lorg/jruby/runtime/Binding;)V
            astore 1 /* newBlock */
        start local 1 // org.jruby.runtime.Block newBlock
         1: .line 192
            aload 1 /* newBlock */
            aload 0 /* this */
            getfield org.jruby.runtime.Block.type:Lorg/jruby/runtime/Block$Type;
            putfield org.jruby.runtime.Block.type:Lorg/jruby/runtime/Block$Type;
         2: .line 193
            aload 1 /* newBlock */
            aload 0 /* this */
            putfield org.jruby.runtime.Block.escapeBlock:Lorg/jruby/runtime/Block;
         3: .line 195
            aload 1 /* newBlock */
            areturn
        end local 1 // org.jruby.runtime.Block newBlock
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/runtime/Block;
            1    4     1  newBlock  Lorg/jruby/runtime/Block;

  public org.jruby.runtime.Block cloneBlockAndBinding();
    descriptor: ()Lorg/jruby/runtime/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.runtime.Block this
         0: .line 199
            new org.jruby.runtime.Block
            dup
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            aload 0 /* this */
            getfield org.jruby.runtime.Block.binding:Lorg/jruby/runtime/Binding;
            invokevirtual org.jruby.runtime.Binding.clone:()Lorg/jruby/runtime/Binding;
            invokespecial org.jruby.runtime.Block.<init>:(Lorg/jruby/runtime/BlockBody;Lorg/jruby/runtime/Binding;)V
            astore 1 /* newBlock */
        start local 1 // org.jruby.runtime.Block newBlock
         1: .line 201
            aload 1 /* newBlock */
            aload 0 /* this */
            getfield org.jruby.runtime.Block.type:Lorg/jruby/runtime/Block$Type;
            putfield org.jruby.runtime.Block.type:Lorg/jruby/runtime/Block$Type;
         2: .line 202
            aload 1 /* newBlock */
            aload 0 /* this */
            putfield org.jruby.runtime.Block.escapeBlock:Lorg/jruby/runtime/Block;
         3: .line 204
            aload 1 /* newBlock */
            areturn
        end local 1 // org.jruby.runtime.Block newBlock
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/runtime/Block;
            1    4     1  newBlock  Lorg/jruby/runtime/Block;

  public org.jruby.runtime.Block cloneBlockAndFrame();
    descriptor: ()Lorg/jruby/runtime/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=4, args_size=1
        start local 0 // org.jruby.runtime.Block this
         0: .line 208
            aload 0 /* this */
            getfield org.jruby.runtime.Block.binding:Lorg/jruby/runtime/Binding;
            astore 1 /* oldBinding */
        start local 1 // org.jruby.runtime.Binding oldBinding
         1: .line 209
            new org.jruby.runtime.Binding
            dup
         2: .line 210
            aload 1 /* oldBinding */
            invokevirtual org.jruby.runtime.Binding.getSelf:()Lorg/jruby/runtime/builtin/IRubyObject;
         3: .line 211
            aload 1 /* oldBinding */
            invokevirtual org.jruby.runtime.Binding.getFrame:()Lorg/jruby/runtime/Frame;
            invokevirtual org.jruby.runtime.Frame.duplicate:()Lorg/jruby/runtime/Frame;
         4: .line 212
            aload 1 /* oldBinding */
            invokevirtual org.jruby.runtime.Binding.getVisibility:()Lorg/jruby/runtime/Visibility;
         5: .line 213
            aload 1 /* oldBinding */
            invokevirtual org.jruby.runtime.Binding.getDynamicScope:()Lorg/jruby/runtime/DynamicScope;
         6: .line 214
            aload 1 /* oldBinding */
            invokevirtual org.jruby.runtime.Binding.getMethod:()Ljava/lang/String;
         7: .line 215
            aload 1 /* oldBinding */
            invokevirtual org.jruby.runtime.Binding.getFile:()Ljava/lang/String;
         8: .line 216
            aload 1 /* oldBinding */
            invokevirtual org.jruby.runtime.Binding.getLine:()I
         9: .line 209
            invokespecial org.jruby.runtime.Binding.<init>:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Frame;Lorg/jruby/runtime/Visibility;Lorg/jruby/runtime/DynamicScope;Ljava/lang/String;Ljava/lang/String;I)V
            astore 2 /* binding */
        start local 2 // org.jruby.runtime.Binding binding
        10: .line 218
            new org.jruby.runtime.Block
            dup
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            aload 2 /* binding */
            invokespecial org.jruby.runtime.Block.<init>:(Lorg/jruby/runtime/BlockBody;Lorg/jruby/runtime/Binding;)V
            astore 3 /* newBlock */
        start local 3 // org.jruby.runtime.Block newBlock
        11: .line 220
            aload 3 /* newBlock */
            aload 0 /* this */
            getfield org.jruby.runtime.Block.type:Lorg/jruby/runtime/Block$Type;
            putfield org.jruby.runtime.Block.type:Lorg/jruby/runtime/Block$Type;
        12: .line 221
            aload 3 /* newBlock */
            aload 0 /* this */
            putfield org.jruby.runtime.Block.escapeBlock:Lorg/jruby/runtime/Block;
        13: .line 223
            aload 3 /* newBlock */
            areturn
        end local 3 // org.jruby.runtime.Block newBlock
        end local 2 // org.jruby.runtime.Binding binding
        end local 1 // org.jruby.runtime.Binding oldBinding
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/jruby/runtime/Block;
            1   14     1  oldBinding  Lorg/jruby/runtime/Binding;
           10   14     2     binding  Lorg/jruby/runtime/Binding;
           11   14     3    newBlock  Lorg/jruby/runtime/Block;

  public org.jruby.runtime.Block cloneBlockForEval(org.jruby.runtime.builtin.IRubyObject, org.jruby.EvalType);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/EvalType;)Lorg/jruby/runtime/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.jruby.runtime.Block this
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
        start local 2 // org.jruby.EvalType evalType
         0: .line 227
            aload 0 /* this */
            invokevirtual org.jruby.runtime.Block.cloneBlock:()Lorg/jruby/runtime/Block;
            astore 3 /* block */
        start local 3 // org.jruby.runtime.Block block
         1: .line 229
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.getBinding:()Lorg/jruby/runtime/Binding;
            aload 1 /* self */
            invokevirtual org.jruby.runtime.Binding.setSelf:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 230
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.getBinding:()Lorg/jruby/runtime/Binding;
            invokevirtual org.jruby.runtime.Binding.getFrame:()Lorg/jruby/runtime/Frame;
            aload 1 /* self */
            invokevirtual org.jruby.runtime.Frame.setSelf:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         3: .line 231
            aload 3 /* block */
            aload 2 /* evalType */
            invokevirtual org.jruby.runtime.Block.setEvalType:(Lorg/jruby/EvalType;)V
         4: .line 233
            aload 3 /* block */
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.EvalType evalType
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/runtime/Block;
            0    5     1      self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     2  evalType  Lorg/jruby/EvalType;
            1    5     3     block  Lorg/jruby/runtime/Block;
    MethodParameters:
          Name  Flags
      self      
      evalType  

  public org.jruby.runtime.Block deepCloneBlockForEval(org.jruby.runtime.builtin.IRubyObject, org.jruby.EvalType);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/EvalType;)Lorg/jruby/runtime/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.jruby.runtime.Block this
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
        start local 2 // org.jruby.EvalType evalType
         0: .line 237
            aload 0 /* this */
            invokevirtual org.jruby.runtime.Block.cloneBlockAndBinding:()Lorg/jruby/runtime/Block;
            astore 3 /* block */
        start local 3 // org.jruby.runtime.Block block
         1: .line 239
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.getBinding:()Lorg/jruby/runtime/Binding;
            aload 1 /* self */
            invokevirtual org.jruby.runtime.Binding.setSelf:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 240
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.getBinding:()Lorg/jruby/runtime/Binding;
            invokevirtual org.jruby.runtime.Binding.getFrame:()Lorg/jruby/runtime/Frame;
            aload 1 /* self */
            invokevirtual org.jruby.runtime.Frame.setSelf:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         3: .line 241
            aload 3 /* block */
            aload 2 /* evalType */
            invokevirtual org.jruby.runtime.Block.setEvalType:(Lorg/jruby/EvalType;)V
         4: .line 243
            aload 3 /* block */
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.EvalType evalType
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/runtime/Block;
            0    5     1      self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     2  evalType  Lorg/jruby/EvalType;
            1    5     3     block  Lorg/jruby/runtime/Block;
    MethodParameters:
          Name  Flags
      self      
      evalType  

  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.Block this
         0: .line 253
            aload 0 /* this */
            invokevirtual org.jruby.runtime.Block.getSignature:()Lorg/jruby/runtime/Signature;
            invokevirtual org.jruby.runtime.Signature.arity:()Lorg/jruby/runtime/Arity;
            areturn
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  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.Block this
         0: .line 257
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            invokevirtual org.jruby.runtime.BlockBody.getSignature:()Lorg/jruby/runtime/Signature;
            areturn
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/Block;

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

  public void setProcObject(org.jruby.RubyProc);
    descriptor: (Lorg/jruby/RubyProc;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.Block this
        start local 1 // org.jruby.RubyProc procObject
         0: .line 275
            aload 0 /* this */
            aload 1 /* procObject */
            putfield org.jruby.runtime.Block.proc:Lorg/jruby/RubyProc;
         1: .line 276
            return
        end local 1 // org.jruby.RubyProc procObject
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jruby/runtime/Block;
            0    2     1  procObject  Lorg/jruby/RubyProc;
    MethodParameters:
            Name  Flags
      procObject  

  public final boolean isGiven();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.Block this
         0: .line 284
            aload 0 /* this */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/Block;

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

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

  public org.jruby.runtime.Frame getFrame();
    descriptor: ()Lorg/jruby/runtime/Frame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.Block this
         0: .line 301
            aload 0 /* this */
            getfield org.jruby.runtime.Block.binding:Lorg/jruby/runtime/Binding;
            invokevirtual org.jruby.runtime.Binding.getFrame:()Lorg/jruby/runtime/Frame;
            areturn
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/Block;

  public boolean isEscaped();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.Block this
         0: .line 305
            aload 0 /* this */
            getfield org.jruby.runtime.Block.escapeBlock:Lorg/jruby/runtime/Block;
            getfield org.jruby.runtime.Block.escaped:Z
            ireturn
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/Block;

  public void escape();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.Block this
         0: .line 309
            aload 0 /* this */
            getfield org.jruby.runtime.Block.escapeBlock:Lorg/jruby/runtime/Block;
            iconst_1
            putfield org.jruby.runtime.Block.escaped:Z
         1: .line 310
            return
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/Block;

  public org.jruby.runtime.Visibility getVisibility();
    descriptor: ()Lorg/jruby/runtime/Visibility;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.Block this
         0: .line 313
            aload 0 /* this */
            getfield org.jruby.runtime.Block.binding:Lorg/jruby/runtime/Binding;
            invokevirtual org.jruby.runtime.Binding.getFrame:()Lorg/jruby/runtime/Frame;
            invokevirtual org.jruby.runtime.Frame.getVisibility:()Lorg/jruby/runtime/Visibility;
            areturn
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/Block;

  public void setVisibility(org.jruby.runtime.Visibility);
    descriptor: (Lorg/jruby/runtime/Visibility;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.Block this
        start local 1 // org.jruby.runtime.Visibility vis
         0: .line 317
            aload 0 /* this */
            getfield org.jruby.runtime.Block.binding:Lorg/jruby/runtime/Binding;
            invokevirtual org.jruby.runtime.Binding.getFrame:()Lorg/jruby/runtime/Frame;
            aload 1 /* vis */
            invokevirtual org.jruby.runtime.Frame.setVisibility:(Lorg/jruby/runtime/Visibility;)V
         1: .line 318
            return
        end local 1 // org.jruby.runtime.Visibility vis
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/Block;
            0    2     1   vis  Lorg/jruby/runtime/Visibility;
    MethodParameters:
      Name  Flags
      vis   

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.runtime.Block this
        start local 1 // java.lang.Object other
         0: .line 322
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 323
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.jruby.runtime.Block
            ifne 2
            iconst_0
            ireturn
         2: .line 325
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast org.jruby.runtime.Block
            astore 2 /* that */
        start local 2 // org.jruby.runtime.Block that
         3: .line 327
            aload 0 /* this */
            getfield org.jruby.runtime.Block.binding:Lorg/jruby/runtime/Binding;
            aload 2 /* that */
            getfield org.jruby.runtime.Block.binding:Lorg/jruby/runtime/Binding;
            invokevirtual org.jruby.runtime.Binding.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            aload 2 /* that */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            if_acmpne 4
            iconst_1
            ireturn
      StackMap locals: org.jruby.runtime.Block
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // org.jruby.runtime.Block that
        end local 1 // java.lang.Object other
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/jruby/runtime/Block;
            0    5     1  other  Ljava/lang/Object;
            3    5     2   that  Lorg/jruby/runtime/Block;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.runtime.Block this
         0: .line 332
            bipush 11
            istore 1 /* hash */
        start local 1 // int hash
         1: .line 333
            bipush 13
            iload 1 /* hash */
            imul
            aload 0 /* this */
            getfield org.jruby.runtime.Block.binding:Lorg/jruby/runtime/Binding;
            invokestatic java.util.Objects.hashCode:(Ljava/lang/Object;)I
            iadd
            istore 1 /* hash */
         2: .line 334
            bipush 17
            iload 1 /* hash */
            imul
            aload 0 /* this */
            getfield org.jruby.runtime.Block.body:Lorg/jruby/runtime/BlockBody;
            invokestatic java.util.Objects.hashCode:(Ljava/lang/Object;)I
            iadd
            istore 1 /* hash */
         3: .line 335
            iload 1 /* hash */
            ireturn
        end local 1 // int hash
        end local 0 // org.jruby.runtime.Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/runtime/Block;
            1    4     1  hash  I
}
SourceFile: "Block.java"
NestMembers:
  org.jruby.runtime.Block$Type
InnerClasses:
  public final Type = org.jruby.runtime.Block$Type of org.jruby.runtime.Block