public abstract class org.jruby.internal.runtime.methods.JavaMethod extends org.jruby.internal.runtime.methods.DynamicMethod implements java.lang.Cloneable, org.jruby.internal.runtime.methods.MethodArgs2, org.jruby.internal.runtime.methods.NativeCallMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.jruby.internal.runtime.methods.JavaMethod
  super_class: org.jruby.internal.runtime.methods.DynamicMethod
{
  protected org.jruby.runtime.Arity arity;
    descriptor: Lorg/jruby/runtime/Arity;
    flags: (0x0004) ACC_PROTECTED

  private java.lang.String javaName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  protected org.jruby.parser.StaticScope staticScope;
    descriptor: Lorg/jruby/parser/StaticScope;
    flags: (0x0004) ACC_PROTECTED

  private java.lang.String parameterDesc;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] parameterList;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  protected org.jruby.internal.runtime.methods.DynamicMethod$NativeCall nativeCall;
    descriptor: Lorg/jruby/internal/runtime/methods/DynamicMethod$NativeCall;
    flags: (0x0004) ACC_PROTECTED

  private static final java.lang.String[] ONE_REQ;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] TWO_REQ;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] THREE_REQ;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String[] REST;
    descriptor: [Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  public static final java.lang.Class[][] METHODS;
    descriptor: [[Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Class[][] REST_METHODS;
    descriptor: [[Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Class[][] BLOCK_METHODS;
    descriptor: [[Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Class[][] BLOCK_REST_METHODS;
    descriptor: [[Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.ThreadLocal<java.lang.String> NAME_PASSER;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 54
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "q"
            aastore
            putstatic org.jruby.internal.runtime.methods.JavaMethod.ONE_REQ:[Ljava/lang/String;
         1: .line 55
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "q"
            aastore
            dup
            iconst_1
            ldc "q"
            aastore
            putstatic org.jruby.internal.runtime.methods.JavaMethod.TWO_REQ:[Ljava/lang/String;
         2: .line 56
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "q"
            aastore
            dup
            iconst_1
            ldc "q"
            aastore
            dup
            iconst_2
            ldc "q"
            aastore
            putstatic org.jruby.internal.runtime.methods.JavaMethod.THREE_REQ:[Ljava/lang/String;
         3: .line 57
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "r"
            aastore
            putstatic org.jruby.internal.runtime.methods.JavaMethod.REST:[Ljava/lang/String;
         4: .line 59
            iconst_4
            anewarray java.lang.Class[]
            dup
            iconst_0
         5: .line 60
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZero;
            aastore
            dup
            iconst_1
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroOrOne;
            aastore
            dup
            iconst_2
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroOrOneOrTwo;
            aastore
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroOrOneOrTwoOrThree;
            aastore
            aastore
            dup
            iconst_1
         6: .line 61
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_1
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodOne;
            aastore
            dup
            iconst_2
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodOneOrTwo;
            aastore
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodOneOrTwoOrThree;
            aastore
            aastore
            dup
            iconst_2
         7: .line 62
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_2
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodTwo;
            aastore
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodTwoOrThree;
            aastore
            aastore
            dup
            iconst_3
         8: .line 63
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodThree;
            aastore
            aastore
         9: .line 59
            putstatic org.jruby.internal.runtime.methods.JavaMethod.METHODS:[[Ljava/lang/Class;
        10: .line 66
            iconst_4
            anewarray java.lang.Class[]
            dup
            iconst_0
        11: .line 67
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroOrN;
            aastore
            dup
            iconst_1
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroOrOneOrN;
            aastore
            dup
            iconst_2
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroOrOneOrTwoOrN;
            aastore
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroOrOneOrTwoOrThreeOrN;
            aastore
            aastore
            dup
            iconst_1
        12: .line 68
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_1
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodOneOrN;
            aastore
            dup
            iconst_2
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodOneOrTwoOrN;
            aastore
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodOneOrTwoOrThreeOrN;
            aastore
            aastore
            dup
            iconst_2
        13: .line 69
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_2
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodTwoOrN;
            aastore
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodTwoOrThreeOrN;
            aastore
            aastore
            dup
            iconst_3
        14: .line 70
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodThreeOrN;
            aastore
            aastore
        15: .line 66
            putstatic org.jruby.internal.runtime.methods.JavaMethod.REST_METHODS:[[Ljava/lang/Class;
        16: .line 73
            iconst_4
            anewarray java.lang.Class[]
            dup
            iconst_0
        17: .line 74
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroBlock;
            aastore
            dup
            iconst_1
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroOrOneBlock;
            aastore
            dup
            iconst_2
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroOrOneOrTwoBlock;
            aastore
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroOrOneOrTwoOrThreeBlock;
            aastore
            aastore
            dup
            iconst_1
        18: .line 75
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_1
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodOneBlock;
            aastore
            dup
            iconst_2
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodOneOrTwoBlock;
            aastore
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodOneOrTwoOrThreeBlock;
            aastore
            aastore
            dup
            iconst_2
        19: .line 76
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_2
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodTwoBlock;
            aastore
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodTwoOrThreeBlock;
            aastore
            aastore
            dup
            iconst_3
        20: .line 77
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodThreeBlock;
            aastore
            aastore
        21: .line 73
            putstatic org.jruby.internal.runtime.methods.JavaMethod.BLOCK_METHODS:[[Ljava/lang/Class;
        22: .line 80
            iconst_4
            anewarray java.lang.Class[]
            dup
            iconst_0
        23: .line 81
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroOrNBlock;
            aastore
            dup
            iconst_1
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroOrOneOrNBlock;
            aastore
            dup
            iconst_2
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroOrOneOrTwoOrNBlock;
            aastore
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodZeroOrOneOrTwoOrThreeOrNBlock;
            aastore
            aastore
            dup
            iconst_1
        24: .line 82
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_1
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodOneOrNBlock;
            aastore
            dup
            iconst_2
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodOneOrTwoOrNBlock;
            aastore
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodOneOrTwoOrThreeOrNBlock;
            aastore
            aastore
            dup
            iconst_2
        25: .line 83
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_2
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodTwoOrNBlock;
            aastore
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodTwoOrThreeOrNBlock;
            aastore
            aastore
            dup
            iconst_3
        26: .line 84
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_3
            ldc Lorg/jruby/internal/runtime/methods/JavaMethod$JavaMethodThreeOrNBlock;
            aastore
            aastore
        27: .line 80
            putstatic org.jruby.internal.runtime.methods.JavaMethod.BLOCK_REST_METHODS:[[Ljava/lang/Class;
        28: .line 1386
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic org.jruby.internal.runtime.methods.JavaMethod.NAME_PASSER:Ljava/lang/ThreadLocal;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod 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 88
            aload 0 /* this */
            aload 1 /* implementationClass */
            aload 2 /* visibility */
            aload 3 /* name */
            invokespecial org.jruby.internal.runtime.methods.DynamicMethod.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
         1: .line 44
            aload 0 /* this */
            getstatic org.jruby.runtime.Arity.OPTIONAL:Lorg/jruby/runtime/Arity;
            putfield org.jruby.internal.runtime.methods.JavaMethod.arity:Lorg/jruby/runtime/Arity;
         2: .line 89
            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.JavaMethod this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    3     1  implementationClass  Lorg/jruby/RubyModule;
            0    3     2           visibility  Lorg/jruby/runtime/Visibility;
            0    3     3                 name  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      implementationClass  
      visibility           
      name                 

  public void init(org.jruby.RubyModule, org.jruby.runtime.Arity, org.jruby.runtime.Visibility, org.jruby.parser.StaticScope);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/runtime/Arity;Lorg/jruby/runtime/Visibility;Lorg/jruby/parser/StaticScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.RubyModule implementationClass
        start local 2 // org.jruby.runtime.Arity arity
        start local 3 // org.jruby.runtime.Visibility visibility
        start local 4 // org.jruby.parser.StaticScope staticScope
         0: .line 92
            aload 0 /* this */
            aload 4 /* staticScope */
            putfield org.jruby.internal.runtime.methods.JavaMethod.staticScope:Lorg/jruby/parser/StaticScope;
         1: .line 93
            aload 0 /* this */
            aload 2 /* arity */
            invokevirtual org.jruby.internal.runtime.methods.JavaMethod.setArity:(Lorg/jruby/runtime/Arity;)V
         2: .line 94
            aload 0 /* this */
            aload 1 /* implementationClass */
            aload 3 /* visibility */
            invokespecial org.jruby.internal.runtime.methods.DynamicMethod.init:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;)V
         3: .line 95
            return
        end local 4 // org.jruby.parser.StaticScope staticScope
        end local 3 // org.jruby.runtime.Visibility visibility
        end local 2 // org.jruby.runtime.Arity arity
        end local 1 // org.jruby.RubyModule implementationClass
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    4     1  implementationClass  Lorg/jruby/RubyModule;
            0    4     2                arity  Lorg/jruby/runtime/Arity;
            0    4     3           visibility  Lorg/jruby/runtime/Visibility;
            0    4     4          staticScope  Lorg/jruby/parser/StaticScope;
    MethodParameters:
                     Name  Flags
      implementationClass  
      arity                
      visibility           
      staticScope          

  public org.jruby.internal.runtime.methods.DynamicMethod dup();
    descriptor: ()Lorg/jruby/internal/runtime/methods/DynamicMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
         0: .line 99
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast org.jruby.internal.runtime.methods.JavaMethod
         1: areturn
         2: .line 101
      StackMap locals:
      StackMap stack: java.lang.CloneNotSupportedException
            astore 1 /* ex */
        start local 1 // java.lang.CloneNotSupportedException ex
         3: .line 102
            new java.lang.AssertionError
            dup
            aload 1 /* ex */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // java.lang.CloneNotSupportedException ex
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            3    4     1    ex  Ljava/lang/CloneNotSupportedException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.CloneNotSupportedException

  protected final void preFrameAndScope(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;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule frameClass
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.Block block
         0: .line 107
            aload 1 /* context */
            aload 3 /* frameClass */
            aload 4 /* name */
            aload 2 /* self */
            aload 5 /* block */
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.staticScope:Lorg/jruby/parser/StaticScope;
            invokevirtual org.jruby.runtime.ThreadContext.preMethodFrameAndScope:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/parser/StaticScope;)V
         1: .line 108
            return
        end local 5 // org.jruby.runtime.Block block
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule frameClass
        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.JavaMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1     context  Lorg/jruby/runtime/ThreadContext;
            0    2     2        self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3  frameClass  Lorg/jruby/RubyModule;
            0    2     4        name  Ljava/lang/String;
            0    2     5       block  Lorg/jruby/runtime/Block;
    MethodParameters:
            Name  Flags
      context     
      self        
      frameClass  
      name        
      block       

  protected final void preFrameAndDummyScope(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;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule frameClass
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.Block block
         0: .line 111
            aload 1 /* context */
            aload 3 /* frameClass */
            aload 4 /* name */
            aload 2 /* self */
            aload 5 /* block */
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.staticScope:Lorg/jruby/parser/StaticScope;
            invokevirtual org.jruby.runtime.ThreadContext.preMethodFrameAndDummyScope:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/parser/StaticScope;)V
         1: .line 112
            return
        end local 5 // org.jruby.runtime.Block block
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule frameClass
        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.JavaMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1     context  Lorg/jruby/runtime/ThreadContext;
            0    2     2        self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3  frameClass  Lorg/jruby/RubyModule;
            0    2     4        name  Ljava/lang/String;
            0    2     5       block  Lorg/jruby/runtime/Block;
    MethodParameters:
            Name  Flags
      context     
      self        
      frameClass  
      name        
      block       

  protected final void preFrameOnly(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;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // org.jruby.RubyModule frameClass
        start local 4 // java.lang.String name
        start local 5 // org.jruby.runtime.Block block
         0: .line 115
            aload 1 /* context */
            aload 3 /* frameClass */
            aload 4 /* name */
            aload 2 /* self */
            aload 5 /* block */
            invokevirtual org.jruby.runtime.ThreadContext.preMethodFrameOnly:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
         1: .line 116
            return
        end local 5 // org.jruby.runtime.Block block
        end local 4 // java.lang.String name
        end local 3 // org.jruby.RubyModule frameClass
        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.JavaMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1     context  Lorg/jruby/runtime/ThreadContext;
            0    2     2        self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3  frameClass  Lorg/jruby/RubyModule;
            0    2     4        name  Ljava/lang/String;
            0    2     5       block  Lorg/jruby/runtime/Block;
    MethodParameters:
            Name  Flags
      context     
      self        
      frameClass  
      name        
      block       

  protected final void preFrameAndScope(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // java.lang.String name
        start local 4 // org.jruby.runtime.Block block
         0: .line 121
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.JavaMethod.getImplementationClass:()Lorg/jruby/RubyModule;
            aload 3 /* name */
            aload 2 /* self */
            aload 4 /* block */
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.staticScope:Lorg/jruby/parser/StaticScope;
            invokevirtual org.jruby.runtime.ThreadContext.preMethodFrameAndScope:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/parser/StaticScope;)V
         1: .line 122
            return
        end local 4 // org.jruby.runtime.Block block
        end local 3 // java.lang.String name
        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.JavaMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3     name  Ljava/lang/String;
            0    2     4    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      self     
      name     
      block    

  protected final void preFrameAndDummyScope(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // java.lang.String name
        start local 4 // org.jruby.runtime.Block block
         0: .line 127
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.JavaMethod.getImplementationClass:()Lorg/jruby/RubyModule;
            aload 3 /* name */
            aload 2 /* self */
            aload 4 /* block */
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.staticScope:Lorg/jruby/parser/StaticScope;
            invokevirtual org.jruby.runtime.ThreadContext.preMethodFrameAndDummyScope:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/parser/StaticScope;)V
         1: .line 128
            return
        end local 4 // org.jruby.runtime.Block block
        end local 3 // java.lang.String name
        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.JavaMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3     name  Ljava/lang/String;
            0    2     4    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      self     
      name     
      block    

  protected final void preFrameOnly(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/Block;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject self
        start local 3 // java.lang.String name
        start local 4 // org.jruby.runtime.Block block
         0: .line 133
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.JavaMethod.getImplementationClass:()Lorg/jruby/RubyModule;
            aload 3 /* name */
            aload 2 /* self */
            aload 4 /* block */
            invokevirtual org.jruby.runtime.ThreadContext.preMethodFrameOnly:(Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
         1: .line 134
            return
        end local 4 // org.jruby.runtime.Block block
        end local 3 // java.lang.String name
        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.JavaMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3     name  Ljava/lang/String;
            0    2     4    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      self     
      name     
      block    

  protected final void preScopeOnly(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 137
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.staticScope:Lorg/jruby/parser/StaticScope;
            invokevirtual org.jruby.runtime.ThreadContext.preMethodScopeOnly:(Lorg/jruby/parser/StaticScope;)V
         1: .line 138
            return
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  protected final void preNoFrameDummyScope(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 141
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.staticScope:Lorg/jruby/parser/StaticScope;
            invokevirtual org.jruby.runtime.ThreadContext.preMethodNoFrameAndDummyScope:(Lorg/jruby/parser/StaticScope;)V
         1: .line 142
            return
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  protected final void preBacktraceOnly(org.jruby.runtime.ThreadContext, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.lang.String name
         0: .line 145
            aload 1 /* context */
            aload 2 /* name */
            invokevirtual org.jruby.runtime.ThreadContext.preMethodBacktraceOnly:(Ljava/lang/String;)V
         1: .line 146
            return
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      name     

  protected final void preBacktraceDummyScope(org.jruby.runtime.ThreadContext, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.lang.String name
         0: .line 149
            aload 1 /* context */
            aload 2 /* name */
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.staticScope:Lorg/jruby/parser/StaticScope;
            invokevirtual org.jruby.runtime.ThreadContext.preMethodBacktraceDummyScope:(Ljava/lang/String;Lorg/jruby/parser/StaticScope;)V
         1: .line 150
            return
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      name     

  protected final void preBacktraceAndScope(org.jruby.runtime.ThreadContext, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.lang.String name
         0: .line 153
            aload 1 /* context */
            aload 2 /* name */
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.staticScope:Lorg/jruby/parser/StaticScope;
            invokevirtual org.jruby.runtime.ThreadContext.preMethodBacktraceAndScope:(Ljava/lang/String;Lorg/jruby/parser/StaticScope;)V
         1: .line 154
            return
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      name     

  protected final void preNoop();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
         0: .line 156
            return
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/JavaMethod;

  protected static final void postFrameAndScope(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 159
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.postMethodFrameAndScope:()V
         1: .line 160
            return
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  protected static final void postFrameOnly(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 163
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.postMethodFrameOnly:()V
         1: .line 164
            return
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  protected static final void postScopeOnly(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 167
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.postMethodScopeOnly:()V
         1: .line 168
            return
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  protected static final void postNoFrameDummyScope(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 171
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.postMethodScopeOnly:()V
         1: .line 172
            return
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  protected static final void postBacktraceOnly(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 175
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.postMethodBacktraceOnly:()V
         1: .line 176
            return
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  protected static final void postBacktraceDummyScope(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 179
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.postMethodBacktraceDummyScope:()V
         1: .line 180
            return
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  protected static final void postBacktraceAndScope(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 183
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.postMethodBacktraceAndScope:()V
         1: .line 184
            return
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  protected static final void postNoop(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 186
            return
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  protected final void callTrace(org.jruby.runtime.ThreadContext, boolean, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;ZLjava/lang/String;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // boolean enabled
        start local 3 // java.lang.String name
         0: .line 189
            iload 2 /* enabled */
            ifeq 1
            aload 1 /* context */
            getstatic org.jruby.runtime.RubyEvent.C_CALL:Lorg/jruby/runtime/RubyEvent;
            aload 3 /* name */
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.JavaMethod.getImplementationClass:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.runtime.ThreadContext.trace:(Lorg/jruby/runtime/RubyEvent;Ljava/lang/String;Lorg/jruby/RubyModule;)V
         1: .line 190
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String name
        end local 2 // boolean enabled
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2  enabled  Z
            0    2     3     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      enabled  
      name     

  protected final void returnTrace(org.jruby.runtime.ThreadContext, boolean, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;ZLjava/lang/String;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // boolean enabled
        start local 3 // java.lang.String name
         0: .line 193
            iload 2 /* enabled */
            ifeq 1
            aload 1 /* context */
            getstatic org.jruby.runtime.RubyEvent.C_RETURN:Lorg/jruby/runtime/RubyEvent;
            aload 3 /* name */
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.JavaMethod.getImplementationClass:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.runtime.ThreadContext.trace:(Lorg/jruby/runtime/RubyEvent;Ljava/lang/String;Lorg/jruby/RubyModule;)V
         1: .line 194
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String name
        end local 2 // boolean enabled
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2  enabled  Z
            0    2     3     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      enabled  
      name     

  protected final void callTraceCompiled(org.jruby.runtime.ThreadContext, boolean, java.lang.String, java.lang.String, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;ZLjava/lang/String;Ljava/lang/String;I)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // boolean enabled
        start local 3 // java.lang.String name
        start local 4 // java.lang.String file
        start local 5 // int line
         0: .line 197
            iload 2 /* enabled */
            ifeq 1
            aload 1 /* context */
            getstatic org.jruby.runtime.RubyEvent.CALL:Lorg/jruby/runtime/RubyEvent;
            aload 3 /* name */
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.JavaMethod.getImplementationClass:()Lorg/jruby/RubyModule;
            aload 4 /* file */
            iload 5 /* line */
            invokevirtual org.jruby.runtime.ThreadContext.trace:(Lorg/jruby/runtime/RubyEvent;Ljava/lang/String;Lorg/jruby/RubyModule;Ljava/lang/String;I)V
         1: .line 198
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int line
        end local 4 // java.lang.String file
        end local 3 // java.lang.String name
        end local 2 // boolean enabled
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2  enabled  Z
            0    2     3     name  Ljava/lang/String;
            0    2     4     file  Ljava/lang/String;
            0    2     5     line  I
    MethodParameters:
         Name  Flags
      context  
      enabled  
      name     
      file     
      line     

  protected final void returnTraceCompiled(org.jruby.runtime.ThreadContext, boolean, java.lang.String);
    descriptor: (Lorg/jruby/runtime/ThreadContext;ZLjava/lang/String;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // boolean enabled
        start local 3 // java.lang.String name
         0: .line 201
            iload 2 /* enabled */
            ifeq 1
            aload 1 /* context */
            getstatic org.jruby.runtime.RubyEvent.RETURN:Lorg/jruby/runtime/RubyEvent;
            aload 3 /* name */
            aload 0 /* this */
            invokevirtual org.jruby.internal.runtime.methods.JavaMethod.getImplementationClass:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.runtime.ThreadContext.trace:(Lorg/jruby/runtime/RubyEvent;Ljava/lang/String;Lorg/jruby/RubyModule;)V
         1: .line 202
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String name
        end local 2 // boolean enabled
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2  enabled  Z
            0    2     3     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      enabled  
      name     

  public void setArity(org.jruby.runtime.Arity);
    descriptor: (Lorg/jruby/runtime/Arity;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.runtime.Arity arity
         0: .line 205
            aload 0 /* this */
            aload 1 /* arity */
            putfield org.jruby.internal.runtime.methods.JavaMethod.arity:Lorg/jruby/runtime/Arity;
         1: .line 206
            return
        end local 1 // org.jruby.runtime.Arity arity
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  arity  Lorg/jruby/runtime/Arity;
    MethodParameters:
       Name  Flags
      arity  

  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.JavaMethod this
         0: .line 210
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.arity:Lorg/jruby/runtime/Arity;
            areturn
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/JavaMethod;

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

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

  public void setSingleton(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // boolean isSingleton
         0: .line 222
            aload 0 /* this */
            iload 1 /* isSingleton */
            putfield org.jruby.internal.runtime.methods.JavaMethod.isSingleton:Z
         1: .line 223
            return
        end local 1 // boolean isSingleton
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  isSingleton  Z
    MethodParameters:
             Name  Flags
      isSingleton  

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

  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.JavaMethod this
         0: .line 231
            iconst_1
            ireturn
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/JavaMethod;

  public org.jruby.parser.StaticScope getStaticScope();
    descriptor: ()Lorg/jruby/parser/StaticScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
         0: .line 235
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.staticScope:Lorg/jruby/parser/StaticScope;
            areturn
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/JavaMethod;

  public void setParameterDesc(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // java.lang.String parameterDesc
         0: .line 239
            aload 0 /* this */
            aload 1 /* parameterDesc */
            putfield org.jruby.internal.runtime.methods.JavaMethod.parameterDesc:Ljava/lang/String;
         1: .line 240
            aload 0 /* this */
            aconst_null
            putfield org.jruby.internal.runtime.methods.JavaMethod.parameterList:[Ljava/lang/String;
         2: .line 241
            return
        end local 1 // java.lang.String parameterDesc
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    3     1  parameterDesc  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      parameterDesc  

  public void setParameterList(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // java.lang.String[] parameterList
         0: .line 244
            aload 0 /* this */
            aconst_null
            putfield org.jruby.internal.runtime.methods.JavaMethod.parameterDesc:Ljava/lang/String;
         1: .line 245
            aload 0 /* this */
            aload 1 /* parameterList */
            putfield org.jruby.internal.runtime.methods.JavaMethod.parameterList:[Ljava/lang/String;
         2: .line 246
            return
        end local 1 // java.lang.String[] parameterList
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    3     1  parameterList  [Ljava/lang/String;
    MethodParameters:
               Name  Flags
      parameterList  

  public java.lang.String[] getParameterList();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
         0: .line 249
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.parameterList:[Ljava/lang/String;
            ifnonnull 5
         1: .line 250
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.parameterDesc:Ljava/lang/String;
            ifnull 4
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.parameterDesc:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 4
         2: .line 251
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.parameterDesc:Ljava/lang/String;
            bipush 59
            invokestatic org.jruby.util.StringSupport.split:(Ljava/lang/String;C)Ljava/util/List;
            getstatic org.jruby.util.StringSupport.EMPTY_STRING_ARRAY:[Ljava/lang/String;
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            putfield org.jruby.internal.runtime.methods.JavaMethod.parameterList:[Ljava/lang/String;
         3: .line 252
            goto 5
         4: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.jruby.util.StringSupport.EMPTY_STRING_ARRAY:[Ljava/lang/String;
            putfield org.jruby.internal.runtime.methods.JavaMethod.parameterList:[Ljava/lang/String;
         5: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.internal.runtime.methods.JavaMethod.parameterList:[Ljava/lang/String;
            areturn
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jruby/internal/runtime/methods/JavaMethod;

  public void setNativeCall(java.lang.Class, java.lang.String, java.lang.Class, java.lang.Class[], boolean, boolean);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=7
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // java.lang.Class nativeTarget
        start local 2 // java.lang.String nativeName
        start local 3 // java.lang.Class nativeReturn
        start local 4 // java.lang.Class[] nativeSignature
        start local 5 // boolean statik
        start local 6 // boolean java
         0: .line 264
            aload 0 /* this */
            new org.jruby.internal.runtime.methods.DynamicMethod$NativeCall
            dup
            aload 1 /* nativeTarget */
            aload 2 /* nativeName */
            aload 3 /* nativeReturn */
            aload 4 /* nativeSignature */
            iload 5 /* statik */
            iload 6 /* java */
            invokespecial org.jruby.internal.runtime.methods.DynamicMethod$NativeCall.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;ZZ)V
            putfield org.jruby.internal.runtime.methods.JavaMethod.nativeCall:Lorg/jruby/internal/runtime/methods/DynamicMethod$NativeCall;
         1: .line 265
            return
        end local 6 // boolean java
        end local 5 // boolean statik
        end local 4 // java.lang.Class[] nativeSignature
        end local 3 // java.lang.Class nativeReturn
        end local 2 // java.lang.String nativeName
        end local 1 // java.lang.Class nativeTarget
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1     nativeTarget  Ljava/lang/Class;
            0    2     2       nativeName  Ljava/lang/String;
            0    2     3     nativeReturn  Ljava/lang/Class;
            0    2     4  nativeSignature  [Ljava/lang/Class;
            0    2     5           statik  Z
            0    2     6             java  Z
    MethodParameters:
                 Name  Flags
      nativeTarget     
      nativeName       
      nativeReturn     
      nativeSignature  
      statik           
      java             

  public void setNativeCall(java.lang.Class, java.lang.String, java.lang.Class, java.lang.Class[], boolean);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // java.lang.Class nativeTarget
        start local 2 // java.lang.String nativeName
        start local 3 // java.lang.Class nativeReturn
        start local 4 // java.lang.Class[] nativeSignature
        start local 5 // boolean statik
         0: .line 272
            aload 0 /* this */
            aload 1 /* nativeTarget */
            aload 2 /* nativeName */
            aload 3 /* nativeReturn */
            aload 4 /* nativeSignature */
            iload 5 /* statik */
            iconst_0
            invokevirtual org.jruby.internal.runtime.methods.JavaMethod.setNativeCall:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;ZZ)V
         1: .line 273
            return
        end local 5 // boolean statik
        end local 4 // java.lang.Class[] nativeSignature
        end local 3 // java.lang.Class nativeReturn
        end local 2 // java.lang.String nativeName
        end local 1 // java.lang.Class nativeTarget
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1     nativeTarget  Ljava/lang/Class;
            0    2     2       nativeName  Ljava/lang/String;
            0    2     3     nativeReturn  Ljava/lang/Class;
            0    2     4  nativeSignature  [Ljava/lang/Class;
            0    2     5           statik  Z
    MethodParameters:
                 Name  Flags
      nativeTarget     
      nativeName       
      nativeReturn     
      nativeSignature  
      statik           

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

  protected static org.jruby.runtime.builtin.IRubyObject raiseArgumentError(org.jruby.internal.runtime.methods.JavaMethod, org.jruby.runtime.ThreadContext, java.lang.String, int, int, int);
    descriptor: (Lorg/jruby/internal/runtime/methods/JavaMethod;Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;III)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod method
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.lang.String name
        start local 3 // int given
        start local 4 // int min
        start local 5 // int max
         0: .line 283
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* name */
            iload 3 /* given */
            iload 4 /* min */
            iload 5 /* max */
            invokestatic org.jruby.runtime.Arity.raiseArgumentError:(Lorg/jruby/Ruby;Ljava/lang/String;III)V
         1: .line 284
            new java.lang.AssertionError
            dup
            ldc "expected to throw ArgumentError"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 5 // int max
        end local 4 // int min
        end local 3 // int given
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod method
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0   method  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     name  Ljava/lang/String;
            0    2     3    given  I
            0    2     4      min  I
            0    2     5      max  I
    MethodParameters:
         Name  Flags
      method   
      context  
      name     
      given    
      min      
      max      

  protected static void checkArgumentCount(org.jruby.internal.runtime.methods.JavaMethod, org.jruby.runtime.ThreadContext, java.lang.String, org.jruby.runtime.builtin.IRubyObject[], int);
    descriptor: (Lorg/jruby/internal/runtime/methods/JavaMethod;Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;I)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod method
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.lang.String name
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 4 // int num
         0: .line 288
            aload 3 /* args */
            arraylength
            iload 4 /* num */
            if_icmpeq 1
            aload 0 /* method */
            aload 1 /* context */
            aload 2 /* name */
            aload 3 /* args */
            arraylength
            iload 4 /* num */
            iload 4 /* num */
            invokestatic org.jruby.internal.runtime.methods.JavaMethod.raiseArgumentError:(Lorg/jruby/internal/runtime/methods/JavaMethod;Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;III)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         1: .line 289
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int num
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod method
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0   method  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     name  Ljava/lang/String;
            0    2     3     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     4      num  I
    MethodParameters:
         Name  Flags
      method   
      context  
      name     
      args     
      num      

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod 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 1360
            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 44
            aload 0 /* this */
            getstatic org.jruby.runtime.Arity.OPTIONAL:Lorg/jruby/runtime/Arity;
            putfield org.jruby.internal.runtime.methods.JavaMethod.arity:Lorg/jruby/runtime/Arity;
         2: .line 1361
            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.JavaMethod this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    3     1  implementationClass  Lorg/jruby/RubyModule;
            0    3     2           visibility  Lorg/jruby/runtime/Visibility;
            0    3     3           callConfig  Lorg/jruby/internal/runtime/methods/CallConfiguration;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                     Name  Flags
      implementationClass  
      visibility           
      callConfig           

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod 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 1365
            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 44
            aload 0 /* this */
            getstatic org.jruby.runtime.Arity.OPTIONAL:Lorg/jruby/runtime/Arity;
            putfield org.jruby.internal.runtime.methods.JavaMethod.arity:Lorg/jruby/runtime/Arity;
         2: .line 1366
            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.JavaMethod this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    3     1  implementationClass  Lorg/jruby/RubyModule;
            0    3     2           visibility  Lorg/jruby/runtime/Visibility;
            0    3     3           callConfig  Lorg/jruby/internal/runtime/methods/CallConfiguration;
            0    3     4                 name  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                     Name  Flags
      implementationClass  
      visibility           
      callConfig           
      name                 

  public void init(org.jruby.RubyModule, org.jruby.runtime.Arity, org.jruby.runtime.Visibility, org.jruby.parser.StaticScope, org.jruby.internal.runtime.methods.CallConfiguration);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/runtime/Arity;Lorg/jruby/runtime/Visibility;Lorg/jruby/parser/StaticScope;Lorg/jruby/internal/runtime/methods/CallConfiguration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.RubyModule implementationClass
        start local 2 // org.jruby.runtime.Arity arity
        start local 3 // org.jruby.runtime.Visibility visibility
        start local 4 // org.jruby.parser.StaticScope staticScope
        start local 5 // org.jruby.internal.runtime.methods.CallConfiguration callConfig
         0: .line 1370
            aload 0 /* this */
            aload 1 /* implementationClass */
            aload 2 /* arity */
            aload 3 /* visibility */
            aload 4 /* staticScope */
            invokevirtual org.jruby.internal.runtime.methods.JavaMethod.init:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Arity;Lorg/jruby/runtime/Visibility;Lorg/jruby/parser/StaticScope;)V
         1: .line 1371
            return
        end local 5 // org.jruby.internal.runtime.methods.CallConfiguration callConfig
        end local 4 // org.jruby.parser.StaticScope staticScope
        end local 3 // org.jruby.runtime.Visibility visibility
        end local 2 // org.jruby.runtime.Arity arity
        end local 1 // org.jruby.RubyModule implementationClass
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  implementationClass  Lorg/jruby/RubyModule;
            0    2     2                arity  Lorg/jruby/runtime/Arity;
            0    2     3           visibility  Lorg/jruby/runtime/Visibility;
            0    2     4          staticScope  Lorg/jruby/parser/StaticScope;
            0    2     5           callConfig  Lorg/jruby/internal/runtime/methods/CallConfiguration;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                     Name  Flags
      implementationClass  
      arity                
      visibility           
      staticScope          
      callConfig           

  public org.jruby.internal.runtime.methods.CallConfiguration getCallerRequirement();
    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.JavaMethod this
         0: .line 1375
            getstatic org.jruby.internal.runtime.methods.CallConfiguration.FrameNoneScopeNone:Lorg/jruby/internal/runtime/methods/CallConfiguration;
            areturn
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/internal/runtime/methods/JavaMethod;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void setCallerRequirement(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.JavaMethod this
        start local 1 // org.jruby.internal.runtime.methods.CallConfiguration callerRequirement
         0: .line 1380
            return
        end local 1 // org.jruby.internal.runtime.methods.CallConfiguration callerRequirement
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    1     1  callerRequirement  Lorg/jruby/internal/runtime/methods/CallConfiguration;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                   Name  Flags
      callerRequirement  

  public void <init>(org.jruby.RubyModule, org.jruby.runtime.Visibility);
    descriptor: (Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.internal.runtime.methods.JavaMethod this
        start local 1 // org.jruby.RubyModule implementationClass
        start local 2 // org.jruby.runtime.Visibility visibility
         0: .line 1390
            aload 0 /* this */
            aload 1 /* implementationClass */
            aload 2 /* visibility */
            getstatic org.jruby.internal.runtime.methods.JavaMethod.NAME_PASSER:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial org.jruby.internal.runtime.methods.JavaMethod.<init>:(Lorg/jruby/RubyModule;Lorg/jruby/runtime/Visibility;Ljava/lang/String;)V
         1: .line 1391
            return
        end local 2 // org.jruby.runtime.Visibility visibility
        end local 1 // org.jruby.RubyModule implementationClass
        end local 0 // org.jruby.internal.runtime.methods.JavaMethod this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/jruby/internal/runtime/methods/JavaMethod;
            0    2     1  implementationClass  Lorg/jruby/RubyModule;
            0    2     2           visibility  Lorg/jruby/runtime/Visibility;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                     Name  Flags
      implementationClass  
      visibility           
}
SourceFile: "JavaMethod.java"
NestMembers:
  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodNBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOne  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrN  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwo  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoOrN  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoOrNBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoOrThree  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoOrThreeBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoOrThreeOrN  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoOrThreeOrNBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodThree  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodThreeBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodThreeOrN  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodThreeOrNBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwo  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoOrN  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoOrNBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoOrThree  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoOrThreeBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoOrThreeOrN  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoOrThreeOrNBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZero  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrN  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrNBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOne  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrN  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrNBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwo  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrN  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrNBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrThree  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrThreeBlock  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrThreeOrN  org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrThreeOrNBlock
InnerClasses:
  public NativeCall = org.jruby.internal.runtime.methods.DynamicMethod$NativeCall of org.jruby.internal.runtime.methods.DynamicMethod
  public abstract JavaMethodN = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodNBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodNBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodOne = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOne of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodOneBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodOneOrN = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrN of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodOneOrNBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodOneOrTwo = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwo of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodOneOrTwoBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodOneOrTwoOrN = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoOrN of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodOneOrTwoOrNBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoOrNBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodOneOrTwoOrThree = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoOrThree of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodOneOrTwoOrThreeBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoOrThreeBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodOneOrTwoOrThreeOrN = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoOrThreeOrN of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodOneOrTwoOrThreeOrNBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoOrThreeOrNBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodThree = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodThree of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodThreeBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodThreeBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodThreeOrN = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodThreeOrN of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodThreeOrNBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodThreeOrNBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodTwo = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwo of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodTwoBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodTwoOrN = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoOrN of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodTwoOrNBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoOrNBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodTwoOrThree = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoOrThree of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodTwoOrThreeBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoOrThreeBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodTwoOrThreeOrN = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoOrThreeOrN of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodTwoOrThreeOrNBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodTwoOrThreeOrNBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZero = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZero of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroOrN = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrN of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroOrNBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrNBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroOrOne = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOne of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroOrOneBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroOrOneOrN = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrN of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroOrOneOrNBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrNBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroOrOneOrTwo = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwo of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroOrOneOrTwoBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroOrOneOrTwoOrN = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrN of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroOrOneOrTwoOrNBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrNBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroOrOneOrTwoOrThree = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrThree of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroOrOneOrTwoOrThreeBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrThreeBlock of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroOrOneOrTwoOrThreeOrN = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrThreeOrN of org.jruby.internal.runtime.methods.JavaMethod
  public abstract JavaMethodZeroOrOneOrTwoOrThreeOrNBlock = org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrThreeOrNBlock of org.jruby.internal.runtime.methods.JavaMethod