public class org.jruby.javasupport.ext.JavaLangReflect$Method
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.javasupport.ext.JavaLangReflect$Method
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.javasupport.ext.JavaLangReflect$Method this
         0: .line 119
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.javasupport.ext.JavaLangReflect$Method this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/javasupport/ext/JavaLangReflect$Method;

  static org.jruby.RubyClass define(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyClass;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyClass proxy
         0: .line 122
            aload 1 /* proxy */
            ldc Lorg/jruby/javasupport/ext/JavaLangReflect$Method;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         1: .line 123
            aload 1 /* proxy */
            areturn
        end local 1 // org.jruby.RubyClass proxy
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  runtime  Lorg/jruby/Ruby;
            0    2     1    proxy  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  final
      proxy    final

  public static org.jruby.runtime.builtin.IRubyObject return_type(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 128
            aload 1 /* self */
            invokestatic org.jruby.javasupport.JavaUtil.unwrapJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 2 /* thiz */
        start local 2 // java.lang.reflect.Method thiz
         1: .line 129
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* thiz */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // java.lang.reflect.Method thiz
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
            0    2     1     self  Lorg/jruby/runtime/builtin/IRubyObject;
            1    2     2     thiz  Ljava/lang/reflect/Method;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  final
      self     final

  public static org.jruby.runtime.builtin.IRubyObject argument_types(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 134
            aload 1 /* self */
            invokestatic org.jruby.javasupport.JavaUtil.unwrapJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 2 /* thiz */
        start local 2 // java.lang.reflect.Method thiz
         1: .line 135
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* thiz */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // java.lang.reflect.Method thiz
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
            0    2     1     self  Lorg/jruby/runtime/builtin/IRubyObject;
            1    2     2     thiz  Ljava/lang/reflect/Method;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  final
      self     final

  public static org.jruby.runtime.builtin.IRubyObject invoke_static(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 140
            aload 1 /* self */
            invokestatic org.jruby.javasupport.JavaUtil.unwrapJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 3 /* thiz */
        start local 3 // java.lang.reflect.Method thiz
         1: .line 141
            aload 2 /* args */
            aload 3 /* thiz */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            invokestatic org.jruby.javasupport.JavaUtil.convertArguments:([Lorg/jruby/runtime/builtin/IRubyObject;[Ljava/lang/Class;)[Ljava/lang/Object;
            astore 4 /* javaArgs */
        start local 4 // java.lang.Object[] javaArgs
         2: .line 143
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* thiz */
            aconst_null
            aload 4 /* javaArgs */
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
         3: areturn
         4: .line 145
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] java.lang.reflect.Method java.lang.Object[]
      StackMap stack: java.lang.ReflectiveOperationException
            astore 5 /* e */
        start local 5 // java.lang.ReflectiveOperationException e
         5: .line 146
            aload 5 /* e */
            invokestatic org.jruby.runtime.Helpers.throwException:(Ljava/lang/Throwable;)V
            aconst_null
            areturn
        end local 5 // java.lang.ReflectiveOperationException e
        end local 4 // java.lang.Object[] javaArgs
        end local 3 // java.lang.reflect.Method thiz
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0   context  Lorg/jruby/runtime/ThreadContext;
            0    6     1      self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     2      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     3      thiz  Ljava/lang/reflect/Method;
            2    6     4  javaArgs  [Ljava/lang/Object;
            5    6     5         e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.IllegalAccessException
           2     3       4  Class java.lang.reflect.InvocationTargetException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(rest = true)
    MethodParameters:
         Name  Flags
      context  final
      self     final
      args     final

  public static org.jruby.runtime.builtin.IRubyObject inspect(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 154
            aload 1 /* self */
            invokestatic org.jruby.javasupport.JavaUtil.unwrapJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            checkcast java.lang.reflect.AccessibleObject
            astore 2 /* thiz */
        start local 2 // java.lang.reflect.AccessibleObject thiz
         1: .line 155
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* thiz */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
            areturn
        end local 2 // java.lang.reflect.AccessibleObject thiz
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/jruby/runtime/ThreadContext;
            0    2     1     self  Lorg/jruby/runtime/builtin/IRubyObject;
            1    2     2     thiz  Ljava/lang/reflect/AccessibleObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  final
      self     final

  public static org.jruby.runtime.builtin.IRubyObject abstract_p(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 160
            aload 0 /* self */
            invokestatic org.jruby.javasupport.JavaUtil.unwrapJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            checkcast java.lang.reflect.Field
            astore 1 /* thiz */
        start local 1 // java.lang.reflect.Field thiz
         1: .line 161
            aload 0 /* self */
            aload 1 /* thiz */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic org.jruby.javasupport.ext.JavaLangReflect.isAbstract:(Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // java.lang.reflect.Field thiz
        end local 0 // org.jruby.runtime.builtin.IRubyObject self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  self  Lorg/jruby/runtime/builtin/IRubyObject;
            1    2     1  thiz  Ljava/lang/reflect/Field;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"abstract?"})
    MethodParameters:
      Name  Flags
      self  final

  public static org.jruby.runtime.builtin.IRubyObject public_p(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 168
            aload 0 /* self */
            invokestatic org.jruby.javasupport.JavaUtil.unwrapJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 1 /* thiz */
        start local 1 // java.lang.reflect.Method thiz
         1: .line 169
            aload 0 /* self */
            aload 1 /* thiz */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            invokestatic org.jruby.javasupport.ext.JavaLangReflect.isPublic:(Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // java.lang.reflect.Method thiz
        end local 0 // org.jruby.runtime.builtin.IRubyObject self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  self  Lorg/jruby/runtime/builtin/IRubyObject;
            1    2     1  thiz  Ljava/lang/reflect/Method;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"public?"})
    MethodParameters:
      Name  Flags
      self  final

  public static org.jruby.runtime.builtin.IRubyObject protected_p(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 174
            aload 0 /* self */
            invokestatic org.jruby.javasupport.JavaUtil.unwrapJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 1 /* thiz */
        start local 1 // java.lang.reflect.Method thiz
         1: .line 175
            aload 0 /* self */
            aload 1 /* thiz */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            invokestatic org.jruby.javasupport.ext.JavaLangReflect.isProtected:(Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // java.lang.reflect.Method thiz
        end local 0 // org.jruby.runtime.builtin.IRubyObject self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  self  Lorg/jruby/runtime/builtin/IRubyObject;
            1    2     1  thiz  Ljava/lang/reflect/Method;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"protected?"})
    MethodParameters:
      Name  Flags
      self  final

  public static org.jruby.runtime.builtin.IRubyObject private_p(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 180
            aload 0 /* self */
            invokestatic org.jruby.javasupport.JavaUtil.unwrapJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 1 /* thiz */
        start local 1 // java.lang.reflect.Method thiz
         1: .line 181
            aload 0 /* self */
            aload 1 /* thiz */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            invokestatic org.jruby.javasupport.ext.JavaLangReflect.isPrivate:(Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // java.lang.reflect.Method thiz
        end local 0 // org.jruby.runtime.builtin.IRubyObject self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  self  Lorg/jruby/runtime/builtin/IRubyObject;
            1    2     1  thiz  Ljava/lang/reflect/Method;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"private?"})
    MethodParameters:
      Name  Flags
      self  final

  public static org.jruby.runtime.builtin.IRubyObject final_p(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 186
            aload 0 /* self */
            invokestatic org.jruby.javasupport.JavaUtil.unwrapJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 1 /* thiz */
        start local 1 // java.lang.reflect.Method thiz
         1: .line 187
            aload 0 /* self */
            aload 1 /* thiz */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            invokestatic org.jruby.javasupport.ext.JavaLangReflect.isFinal:(Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // java.lang.reflect.Method thiz
        end local 0 // org.jruby.runtime.builtin.IRubyObject self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  self  Lorg/jruby/runtime/builtin/IRubyObject;
            1    2     1  thiz  Ljava/lang/reflect/Method;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"final?"})
    MethodParameters:
      Name  Flags
      self  final

  public static org.jruby.runtime.builtin.IRubyObject static_p(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject self
         0: .line 192
            aload 0 /* self */
            invokestatic org.jruby.javasupport.JavaUtil.unwrapJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 1 /* thiz */
        start local 1 // java.lang.reflect.Method thiz
         1: .line 193
            aload 0 /* self */
            aload 1 /* thiz */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            invokestatic org.jruby.javasupport.ext.JavaLangReflect.isStatic:(Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // java.lang.reflect.Method thiz
        end local 0 // org.jruby.runtime.builtin.IRubyObject self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  self  Lorg/jruby/runtime/builtin/IRubyObject;
            1    2     1  thiz  Ljava/lang/reflect/Method;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"static?"})
    MethodParameters:
      Name  Flags
      self  final
}
SourceFile: "JavaLangReflect.java"
NestHost: org.jruby.javasupport.ext.JavaLangReflect
InnerClasses:
  public Method = org.jruby.javasupport.ext.JavaLangReflect$Method of org.jruby.javasupport.ext.JavaLangReflect
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyClass(name = {"Java::JavaLangReflect::Method"})