public abstract class org.jruby.internal.runtime.methods.DynamicMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.jruby.internal.runtime.methods.DynamicMethod
  super_class: java.lang.Object
{
  protected org.jruby.RubyModule implementationClass;
    descriptor: Lorg/jruby/RubyModule;
    flags: (0x0004) ACC_PROTECTED

  protected org.jruby.RubyModule protectedClass;
    descriptor: Lorg/jruby/RubyModule;
    flags: (0x0004) ACC_PROTECTED

  protected org.jruby.RubyModule definedClass;
    descriptor: Lorg/jruby/RubyModule;
    flags: (0x0004) ACC_PROTECTED

  private byte visibility;
    descriptor: B
    flags: (0x0002) ACC_PRIVATE

  protected long serialNumber;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  protected byte flags;
    descriptor: B
    flags: (0x0004) ACC_PROTECTED

  protected final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected java.lang.Object handle;
    descriptor: Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED

  private static final int BUILTIN_FLAG;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int NOTIMPL_FLAG;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int REFINED_FLAG;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

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

  private static volatile int[] $SWITCH_TABLE$org$jruby$runtime$Visibility;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 55
            ldc Lorg/jruby/internal/runtime/methods/DynamicMethod;
            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.internal.runtime.methods.DynamicMethod.$assertionsDisabled:Z
         3: .line 75
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.jruby.RubyModule, org.jruby.runtime.Visibility, java.lang.String);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.RubyModule implementationClass
        start local 2 // org.jruby.runtime.Visibility visibility
        start local 3 // java.lang.String name
         0: .line 90
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 91
            getstatic org.jruby.internal.runtime.methods.DynamicMethod.$assertionsDisabled:Z
            ifne 2
            aload 1 /* implementationClass */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 92
      StackMap locals: org.jruby.internal.runtime.methods.DynamicMethod org.jruby.RubyModule org.jruby.runtime.Visibility java.lang.String
      StackMap stack:
            aload 3 /* name */
            ifnonnull 4
         3: .line 93
            ldc "null"
            astore 3 /* name */
         4: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* name */
            putfield org.jruby.internal.runtime.methods.DynamicMethod.name:Ljava/lang/String;
         5: .line 96
            aload 0 /* this */
            aload 1 /* implementationClass */
            aload 2 /* visibility */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.init:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;)V
         6: .line 97
            return
        end local 3 // java.lang.String name
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // org.jruby.RubyModule implementationClass
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                 this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    7     1  implementationClass  Lorg/jruby/RubyModule;
            0    7     2           visibility  Lorg/jruby/runtime/Visibility;
            0    7     3                 name  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      implementationClass  
      visibility           
      name                 

  protected void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // java.lang.String name
         0: .line 103
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 104
            aload 0 /* this */
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.runtime.Visibility.ordinal:()I
            i2b
            putfield org.jruby.internal.runtime.methods.DynamicMethod.visibility:B
         2: .line 105
            aload 1 /* name */
            ifnonnull 4
         3: .line 106
            ldc "null"
            astore 1 /* name */
         4: .line 108
      StackMap locals: org.jruby.internal.runtime.methods.DynamicMethod java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            putfield org.jruby.internal.runtime.methods.DynamicMethod.name:Ljava/lang/String;
         5: .line 109
            return
        end local 1 // java.lang.String name
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    6     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected void init(org.jruby.RubyModule, org.jruby.runtime.Visibility);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.RubyModule implementationClass
        start local 2 // org.jruby.runtime.Visibility visibility
         0: .line 112
            aload 0 /* this */
            aload 2 /* visibility */
            invokevirtual org.jruby.runtime.Visibility.ordinal:()I
            i2b
            putfield org.jruby.internal.runtime.methods.DynamicMethod.visibility:B
         1: .line 113
            aload 0 /* this */
            aload 1 /* implementationClass */
            putfield org.jruby.internal.runtime.methods.DynamicMethod.implementationClass:Lorg/jruby/RubyModule;
         2: .line 116
            aload 0 /* this */
            aload 1 /* implementationClass */
            invokestatic org.jruby.internal.runtime.methods.DynamicMethod.calculateProtectedClass:(Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
            putfield org.jruby.internal.runtime.methods.DynamicMethod.protectedClass:Lorg/jruby/RubyModule;
         3: .line 117
            aload 0 /* this */
            aload 1 /* implementationClass */
            invokevirtual org.jruby.RubyModule.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNextDynamicMethodSerial:()J
            putfield org.jruby.internal.runtime.methods.DynamicMethod.serialNumber:J
         4: .line 118
            return
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // org.jruby.RubyModule implementationClass
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    5     0                 this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    5     1  implementationClass  Lorg/jruby/RubyModule;
            0    5     2           visibility  Lorg/jruby/runtime/Visibility;
    MethodParameters:
                     Name  Flags
      implementationClass  
      visibility           

  public long getSerialNumber();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 126
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.DynamicMethod.serialNumber:J
            lreturn
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;

  public boolean isBuiltin();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 130
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.DynamicMethod.flags:B
            iconst_1
            iand
            iconst_1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;

  public void setIsBuiltin(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // boolean isBuiltin
         0: .line 134
            iload 1 /* isBuiltin */
            ifeq 3
         1: .line 135
            aload 0 /* this */
            dup
            getfield org.jruby.internal.runtime.methods.DynamicMethod.flags:B
            iconst_1
            ior
            i2b
            putfield org.jruby.internal.runtime.methods.DynamicMethod.flags:B
         2: .line 136
            goto 4
         3: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.jruby.internal.runtime.methods.DynamicMethod.flags:B
            bipush -2
            iand
            i2b
            putfield org.jruby.internal.runtime.methods.DynamicMethod.flags:B
         4: .line 139
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean isBuiltin
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    5     1  isBuiltin  Z
    MethodParameters:
           Name  Flags
      isBuiltin  

  public abstract org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      context  
      self     
      clazz    
      name     
      args     
      block    

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule clazz
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 174
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* self */
            aload 3 /* clazz */
            aload 4 /* name */
            aload 5 /* args */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule clazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    clazz  Lorg/jruby/RubyModule;
            0    1     4     name  Ljava/lang/String;
            0    1     5     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      self     
      clazz    
      name     
      args     

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule klazz
        start local 4 // java.lang.String name
         0: .line 192
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* self */
            aload 3 /* klazz */
            aload 4 /* name */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule klazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    klazz  Lorg/jruby/RubyModule;
            0    1     4     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      self     
      klazz    
      name     

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;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.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule klazz
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.Block block
         0: .line 196
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* self */
            aload 3 /* klazz */
            aload 4 /* name */
            getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 5 /* block */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jruby.runtime.Block block
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule klazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    klazz  Lorg/jruby/RubyModule;
            0    1     4     name  Ljava/lang/String;
            0    1     5    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      self     
      klazz    
      name     
      block    

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule klazz
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 200
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* self */
            aload 3 /* klazz */
            aload 4 /* name */
            aload 5 /* arg0 */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule klazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    klazz  Lorg/jruby/RubyModule;
            0    1     4     name  Ljava/lang/String;
            0    1     5     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      self     
      klazz    
      name     
      arg0     

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=7
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule klazz
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 6 // org.jruby.runtime.Block block
         0: .line 204
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* self */
            aload 3 /* klazz */
            aload 4 /* name */
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 5 /* arg0 */
            aastore
            aload 6 /* block */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // org.jruby.runtime.Block block
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule klazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    klazz  Lorg/jruby/RubyModule;
            0    1     4     name  Ljava/lang/String;
            0    1     5     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     6    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      self     
      klazz    
      name     
      arg0     
      block    

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule klazz
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 6 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 208
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* self */
            aload 3 /* klazz */
            aload 4 /* name */
            aload 5 /* arg0 */
            aload 6 /* arg1 */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule klazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    klazz  Lorg/jruby/RubyModule;
            0    1     4     name  Ljava/lang/String;
            0    1     5     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     6     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      self     
      klazz    
      name     
      arg0     
      arg1     

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, 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/RubyModule;Ljava/lang/String;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=9, locals=8, args_size=8
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule klazz
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 7 // org.jruby.runtime.Block block
         0: .line 212
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* self */
            aload 3 /* klazz */
            aload 4 /* name */
            iconst_2
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 5 /* arg0 */
            aastore
            dup
            iconst_1
            aload 6 /* arg1 */
            aastore
            aload 7 /* block */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // org.jruby.runtime.Block block
        end local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule klazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    klazz  Lorg/jruby/RubyModule;
            0    1     4     name  Ljava/lang/String;
            0    1     5     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     6     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     7    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      self     
      klazz    
      name     
      arg0     
      arg1     
      block    

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, 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/RubyModule;Ljava/lang/String;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=9, locals=8, args_size=8
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule klazz
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 7 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 216
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* self */
            aload 3 /* klazz */
            aload 4 /* name */
            aload 5 /* arg0 */
            aload 6 /* arg1 */
            aload 7 /* arg2 */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;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 7 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule klazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    klazz  Lorg/jruby/RubyModule;
            0    1     4     name  Ljava/lang/String;
            0    1     5     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     6     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     7     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      self     
      klazz    
      name     
      arg0     
      arg1     
      arg2     

  public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, 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/RubyModule;Ljava/lang/String;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=9, locals=9, args_size=9
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule klazz
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 7 // org.jruby.runtime.builtin.IRubyObject arg2
        start local 8 // org.jruby.runtime.Block block
         0: .line 220
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* self */
            aload 3 /* klazz */
            aload 4 /* name */
            iconst_3
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 5 /* arg0 */
            aastore
            dup
            iconst_1
            aload 6 /* arg1 */
            aastore
            dup
            iconst_2
            aload 7 /* arg2 */
            aastore
            aload 8 /* block */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 8 // org.jruby.runtime.Block block
        end local 7 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 6 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule klazz
        end local 2 // org.jruby.runtime.builtin.IRubyObject self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    klazz  Lorg/jruby/RubyModule;
            0    1     4     name  Ljava/lang/String;
            0    1     5     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     6     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     7     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     8    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      self     
      klazz    
      name     
      arg0     
      arg1     
      arg2     
      block    

  public abstract org.jruby.internal.runtime.methods.DynamicMethod dup();
    descriptor: ()Lorg/jruby/internal/runtime/methods/DynamicMethod;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public boolean isCallableFrom(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.CallType);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/CallType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.runtime.builtin.IRubyObject caller
        start local 2 // org.jruby.runtime.CallType callType
         0: .line 245
            invokestatic org.jruby.internal.runtime.methods.DynamicMethod.$SWITCH_TABLE$org$jruby$runtime$Visibility:()[I
            invokestatic org.jruby.runtime.Visibility.getValues:()[Lorg/jruby/runtime/Visibility;
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.DynamicMethod.visibility:B
            aaload
            invokevirtual org.jruby.runtime.Visibility.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 1
                    2: 4
                    3: 2
              default: 5
          }
         1: .line 247
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 249
      StackMap locals:
      StackMap stack:
            aload 2 /* callType */
            getstatic org.jruby.runtime.CallType.NORMAL:Lorg/jruby/runtime/CallType;
            if_acmpeq 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
         4: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* caller */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.protectedAccessOk:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ireturn
         5: .line 254
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.jruby.runtime.CallType callType
        end local 1 // org.jruby.runtime.builtin.IRubyObject caller
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    6     1    caller  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     2  callType  Lorg/jruby/runtime/CallType;
    MethodParameters:
          Name  Flags
      caller    
      callType  

  private boolean protectedAccessOk(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.runtime.builtin.IRubyObject caller
         0: .line 266
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.getProtectedClass:()Lorg/jruby/RubyModule;
            aload 1 /* caller */
            invokevirtual org.jruby.RubyModule.isInstance:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ireturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject caller
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    1     1  caller  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
        Name  Flags
      caller  

  protected static org.jruby.RubyModule calculateProtectedClass(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyModule cls
         0: .line 278
            aload 0 /* cls */
            invokevirtual org.jruby.RubyModule.isSingleton:()Z
            ifeq 3
            aload 0 /* cls */
            invokevirtual org.jruby.RubyModule.getSuperClass:()Lorg/jruby/RubyClass;
            astore 0 /* cls */
         1: .line 280
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* cls */
            invokevirtual org.jruby.RubyModule.getMetaClass:()Lorg/jruby/RubyClass;
            astore 0 /* cls */
      StackMap locals:
      StackMap stack:
         3: aload 0 /* cls */
            invokevirtual org.jruby.RubyModule.isIncluded:()Z
            ifne 2
         4: .line 283
            aload 0 /* cls */
            instanceof org.jruby.MetaClass
            ifeq 5
            aload 0 /* cls */
            checkcast org.jruby.MetaClass
            invokevirtual org.jruby.MetaClass.getRealClass:()Lorg/jruby/RubyClass;
            astore 0 /* cls */
         5: .line 285
      StackMap locals:
      StackMap stack:
            aload 0 /* cls */
            instanceof org.jruby.PrependedModule
            ifeq 6
            aload 0 /* cls */
            checkcast org.jruby.PrependedModule
            invokevirtual org.jruby.PrependedModule.getNonIncludedClass:()Lorg/jruby/RubyModule;
            astore 0 /* cls */
         6: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* cls */
            areturn
        end local 0 // org.jruby.RubyModule cls
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   cls  Lorg/jruby/RubyModule;
    MethodParameters:
      Name  Flags
      cls   

  protected org.jruby.RubyModule getProtectedClass();
    descriptor: ()Lorg/jruby/RubyModule;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 296
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.DynamicMethod.protectedClass:Lorg/jruby/RubyModule;
            areturn
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;

  public org.jruby.RubyModule getImplementationClass();
    descriptor: ()Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 306
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.DynamicMethod.implementationClass:Lorg/jruby/RubyModule;
            areturn
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;

  public boolean isImplementedBy(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.RubyModule other
         0: .line 310
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.DynamicMethod.implementationClass:Lorg/jruby/RubyModule;
            aload 1 /* other */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.jruby.RubyModule other
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    2     1  other  Lorg/jruby/RubyModule;
    MethodParameters:
       Name  Flags
      other  

  public void setImplementationClass(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.RubyModule implClass
         0: .line 320
            aload 0 /* this */
            aload 1 /* implClass */
            putfield org.jruby.internal.runtime.methods.DynamicMethod.implementationClass:Lorg/jruby/RubyModule;
         1: .line 321
            aload 0 /* this */
            aload 1 /* implClass */
            invokestatic org.jruby.internal.runtime.methods.DynamicMethod.calculateProtectedClass:(Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
            putfield org.jruby.internal.runtime.methods.DynamicMethod.protectedClass:Lorg/jruby/RubyModule;
         2: .line 322
            return
        end local 1 // org.jruby.RubyModule implClass
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    3     1  implClass  Lorg/jruby/RubyModule;
    MethodParameters:
           Name  Flags
      implClass  

  public org.jruby.RubyModule getDefinedClass();
    descriptor: ()Lorg/jruby/RubyModule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 328
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.DynamicMethod.definedClass:Lorg/jruby/RubyModule;
            astore 1 /* definedClass */
        start local 1 // org.jruby.RubyModule definedClass
         1: .line 330
            aload 1 /* definedClass */
            ifnull 2
            aload 1 /* definedClass */
            areturn
         2: .line 332
      StackMap locals: org.jruby.RubyModule
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.DynamicMethod.implementationClass:Lorg/jruby/RubyModule;
            areturn
        end local 1 // org.jruby.RubyModule definedClass
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            1    3     1  definedClass  Lorg/jruby/RubyModule;

  public void setDefinedClass(org.jruby.RubyModule);
    descriptor: (Lorg/jruby/RubyModule;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.RubyModule definedClass
         0: .line 339
            aload 0 /* this */
            aload 1 /* definedClass */
            putfield org.jruby.internal.runtime.methods.DynamicMethod.definedClass:Lorg/jruby/RubyModule;
         1: .line 340
            return
        end local 1 // org.jruby.RubyModule definedClass
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    2     1  definedClass  Lorg/jruby/RubyModule;
    MethodParameters:
              Name  Flags
      definedClass  

  public org.jruby.runtime.Visibility getVisibility();
    descriptor: ()Lorg/jruby/runtime/Visibility;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 348
            invokestatic org.jruby.runtime.Visibility.getValues:()[Lorg/jruby/runtime/Visibility;
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.DynamicMethod.visibility:B
            aaload
            areturn
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;

  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.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.runtime.Visibility visibility
         0: .line 357
            aload 0 /* this */
            aload 1 /* visibility */
            invokevirtual org.jruby.runtime.Visibility.ordinal:()I
            i2b
            putfield org.jruby.internal.runtime.methods.DynamicMethod.visibility:B
         1: .line 358
            return
        end local 1 // org.jruby.runtime.Visibility visibility
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    2     1  visibility  Lorg/jruby/runtime/Visibility;
    MethodParameters:
            Name  Flags
      visibility  

  public final boolean isUndefined();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 368
            aload 0 /* this */
            getstatic org.jruby.internal.runtime.methods.UndefinedMethod.INSTANCE:Lorg/jruby/internal/runtime/methods/UndefinedMethod;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;

  public final boolean isNull();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 379
            aload 0 /* this */
            getstatic org.jruby.internal.runtime.methods.NullMethod.INSTANCE:Lorg/jruby/internal/runtime/methods/NullMethod;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;

  public org.jruby.runtime.Arity getArity();
    descriptor: ()Lorg/jruby/runtime/Arity;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 390
            invokestatic org.jruby.runtime.Arity.optional:()Lorg/jruby/runtime/Arity;
            areturn
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;

  public org.jruby.internal.runtime.methods.DynamicMethod getRealMethod();
    descriptor: ()Lorg/jruby/internal/runtime/methods/DynamicMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 401
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;

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

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 494
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.DynamicMethod.name:Ljava/lang/String;
            areturn
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;

  public java.lang.Object getHandle();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 503
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.DynamicMethod.handle:Ljava/lang/Object;
            areturn
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;

  public void setHandle(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // java.lang.Object handle
         0: .line 512
            aload 0 /* this */
            aload 1 /* handle */
            putfield org.jruby.internal.runtime.methods.DynamicMethod.handle:Ljava/lang/Object;
         1: .line 513
            return
        end local 1 // java.lang.Object handle
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    2     1  handle  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      handle  

  public boolean isNotImplemented();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 521
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.DynamicMethod.flags:B
            iconst_2
            iand
            iconst_2
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;

  public org.jruby.runtime.ivars.MethodData getMethodData();
    descriptor: ()Lorg/jruby/runtime/ivars/MethodData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 528
            getstatic org.jruby.runtime.ivars.MethodData.NULL:Lorg/jruby/runtime/ivars/MethodData;
            areturn
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;

  public void setNotImplemented(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // boolean setNotImplemented
         0: .line 535
            iload 1 /* setNotImplemented */
            ifeq 3
         1: .line 536
            aload 0 /* this */
            dup
            getfield org.jruby.internal.runtime.methods.DynamicMethod.flags:B
            iconst_2
            ior
            i2b
            putfield org.jruby.internal.runtime.methods.DynamicMethod.flags:B
         2: .line 537
            goto 4
         3: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.jruby.internal.runtime.methods.DynamicMethod.flags:B
            bipush -3
            iand
            i2b
            putfield org.jruby.internal.runtime.methods.DynamicMethod.flags:B
         4: .line 540
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean setNotImplemented
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    5     1  setNotImplemented  Z
    MethodParameters:
                   Name  Flags
      setNotImplemented  

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

  protected void <init>(org.jruby.RubyModule, org.jruby.runtime.Visibility, org.jruby.internal.runtime.methods.CallConfiguration);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Lorg/jruby/internal/runtime/methods/CallConfiguration;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.RubyModule implementationClass
        start local 2 // org.jruby.runtime.Visibility visibility
        start local 3 // org.jruby.internal.runtime.methods.CallConfiguration callConfig
         0: .line 548
            aload 0 /* this */
            aload 1 /* implementationClass */
            aload 2 /* visibility */
            invokespecial org.jruby.internal.runtime.methods.DynamicMethod.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;)V
         1: .line 549
            return
        end local 3 // org.jruby.internal.runtime.methods.CallConfiguration callConfig
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // org.jruby.RubyModule implementationClass
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    2     1  implementationClass  Lorg/jruby/RubyModule;
            0    2     2           visibility  Lorg/jruby/runtime/Visibility;
            0    2     3           callConfig  Lorg/jruby/internal/runtime/methods/CallConfiguration;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                     Name  Flags
      implementationClass  
      visibility           
      callConfig           

  protected void <init>(org.jruby.RubyModule, org.jruby.runtime.Visibility, org.jruby.internal.runtime.methods.CallConfiguration, java.lang.String);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Lorg/jruby/internal/runtime/methods/CallConfiguration;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.RubyModule implementationClass
        start local 2 // org.jruby.runtime.Visibility visibility
        start local 3 // org.jruby.internal.runtime.methods.CallConfiguration callConfig
        start local 4 // java.lang.String name
         0: .line 553
            aload 0 /* this */
            aload 1 /* implementationClass */
            aload 2 /* visibility */
            aload 4 /* name */
            invokespecial org.jruby.internal.runtime.methods.DynamicMethod.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
         1: .line 554
            return
        end local 4 // java.lang.String name
        end local 3 // org.jruby.internal.runtime.methods.CallConfiguration callConfig
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // org.jruby.RubyModule implementationClass
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    2     1  implementationClass  Lorg/jruby/RubyModule;
            0    2     2           visibility  Lorg/jruby/runtime/Visibility;
            0    2     3           callConfig  Lorg/jruby/internal/runtime/methods/CallConfiguration;
            0    2     4                 name  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                     Name  Flags
      implementationClass  
      visibility           
      callConfig           
      name                 

  protected void init(org.jruby.RubyModule, org.jruby.runtime.Visibility, org.jruby.internal.runtime.methods.CallConfiguration);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Lorg/jruby/internal/runtime/methods/CallConfiguration;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.RubyModule implementationClass
        start local 2 // org.jruby.runtime.Visibility visibility
        start local 3 // org.jruby.internal.runtime.methods.CallConfiguration callConfig
         0: .line 558
            aload 0 /* this */
            aload 1 /* implementationClass */
            aload 2 /* visibility */
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.init:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;)V
         1: .line 559
            return
        end local 3 // org.jruby.internal.runtime.methods.CallConfiguration callConfig
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // org.jruby.RubyModule implementationClass
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    2     1  implementationClass  Lorg/jruby/RubyModule;
            0    2     2           visibility  Lorg/jruby/runtime/Visibility;
            0    2     3           callConfig  Lorg/jruby/internal/runtime/methods/CallConfiguration;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                     Name  Flags
      implementationClass  
      visibility           
      callConfig           

  public org.jruby.internal.runtime.methods.CallConfiguration getCallConfig();
    descriptor: ()Lorg/jruby/internal/runtime/methods/CallConfiguration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
         0: .line 563
            getstatic org.jruby.internal.runtime.methods.CallConfiguration.FrameNoneScopeNone:Lorg/jruby/internal/runtime/methods/CallConfiguration;
            areturn
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void setCallConfig(org.jruby.internal.runtime.methods.CallConfiguration);
    descriptor: (Lorg/jruby/internal/runtime/methods/CallConfiguration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.internal.runtime.methods.CallConfiguration callConfig
         0: .line 568
            return
        end local 1 // org.jruby.internal.runtime.methods.CallConfiguration callConfig
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    1     1  callConfig  Lorg/jruby/internal/runtime/methods/CallConfiguration;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      callConfig  

  protected void <init>(org.jruby.RubyModule, org.jruby.runtime.Visibility);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
        start local 1 // org.jruby.RubyModule implementationClass
        start local 2 // org.jruby.runtime.Visibility visibility
         0: .line 575
            aload 0 /* this */
            aload 1 /* implementationClass */
            aload 2 /* visibility */
            ldc "(anonymous)"
            invokespecial org.jruby.internal.runtime.methods.DynamicMethod.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
         1: .line 576
            return
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // org.jruby.RubyModule implementationClass
        end local 0 // org.jruby.internal.runtime.methods.DynamicMethod this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/jruby/internal/runtime/methods/DynamicMethod;
            0    2     1  implementationClass  Lorg/jruby/RubyModule;
            0    2     2           visibility  Lorg/jruby/runtime/Visibility;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                     Name  Flags
      implementationClass  
      visibility           

  static int[] $SWITCH_TABLE$org$jruby$runtime$Visibility();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 55
            getstatic org.jruby.internal.runtime.methods.DynamicMethod.$SWITCH_TABLE$org$jruby$runtime$Visibility:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.jruby.runtime.Visibility.values:()[Lorg/jruby/runtime/Visibility;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.jruby.runtime.Visibility.MODULE_FUNCTION:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.runtime.Visibility.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.runtime.Visibility.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.jruby.runtime.Visibility.PROTECTED:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.runtime.Visibility.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.jruby.runtime.Visibility.PUBLIC:Lorg/jruby/runtime/Visibility;
            invokevirtual org.jruby.runtime.Visibility.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic org.jruby.internal.runtime.methods.DynamicMethod.$SWITCH_TABLE$org$jruby$runtime$Visibility:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
SourceFile: "DynamicMethod.java"
NestMembers:
  org.jruby.internal.runtime.methods.DynamicMethod$NativeCall  org.jruby.internal.runtime.methods.DynamicMethod$Version
InnerClasses:
  public NativeCall = org.jruby.internal.runtime.methods.DynamicMethod$NativeCall of org.jruby.internal.runtime.methods.DynamicMethod
  public abstract Version = org.jruby.internal.runtime.methods.DynamicMethod$Version of org.jruby.internal.runtime.methods.DynamicMethod