public class org.jruby.java.proxies.InterfaceJavaProxy extends org.jruby.java.proxies.JavaProxy
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.java.proxies.InterfaceJavaProxy
  super_class: org.jruby.java.proxies.JavaProxy
{
  private static final org.jruby.runtime.ObjectAllocator ALLOCATOR;
    descriptor: Lorg/jruby/runtime/ObjectAllocator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 29
            new org.jruby.java.proxies.InterfaceJavaProxy$1
            dup
            invokespecial org.jruby.java.proxies.InterfaceJavaProxy$1.<init>:()V
            putstatic org.jruby.java.proxies.InterfaceJavaProxy.ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
         1: .line 33
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.java.proxies.InterfaceJavaProxy this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass klazz
         0: .line 26
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* klazz */
            invokespecial org.jruby.java.proxies.JavaProxy.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 27
            return
        end local 2 // org.jruby.RubyClass klazz
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.java.proxies.InterfaceJavaProxy this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/java/proxies/InterfaceJavaProxy;
            0    2     1  runtime  Lorg/jruby/Ruby;
            0    2     2    klazz  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  
      klazz    

  public static org.jruby.RubyClass createInterfaceJavaProxy(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 36
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 1 /* runtime */
        start local 1 // org.jruby.Ruby runtime
         1: .line 37
            aload 1 /* runtime */
         2: .line 38
            ldc "InterfaceJavaProxy"
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getJavaSupport:()Lorg/jruby/javasupport/JavaSupport;
            invokevirtual org.jruby.javasupport.JavaSupport.getJavaProxyClass:()Lorg/jruby/RubyClass;
            getstatic org.jruby.java.proxies.InterfaceJavaProxy.ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
         3: .line 37
            invokevirtual org.jruby.Ruby.defineClass:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            astore 2 /* InterfaceJavaProxy */
        start local 2 // org.jruby.RubyClass InterfaceJavaProxy
         4: .line 41
            aload 1 /* runtime */
         5: .line 42
            ldc "JavaInterfaceExtender"
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getAllocator:()Lorg/jruby/runtime/ObjectAllocator;
         6: .line 41
            invokevirtual org.jruby.Ruby.defineClass:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            astore 3 /* JavaInterfaceExtended */
        start local 3 // org.jruby.RubyClass JavaInterfaceExtended
         7: .line 44
            aload 3 /* JavaInterfaceExtended */
            ldc Lorg/jruby/java/proxies/InterfaceJavaProxy$JavaInterfaceExtender;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         8: .line 46
            aload 2 /* InterfaceJavaProxy */
            areturn
        end local 3 // org.jruby.RubyClass JavaInterfaceExtended
        end local 2 // org.jruby.RubyClass InterfaceJavaProxy
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0                context  Lorg/jruby/runtime/ThreadContext;
            1    9     1                runtime  Lorg/jruby/Ruby;
            4    9     2     InterfaceJavaProxy  Lorg/jruby/RubyClass;
            7    9     3  JavaInterfaceExtended  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      context  
}
SourceFile: "InterfaceJavaProxy.java"
NestMembers:
  org.jruby.java.proxies.InterfaceJavaProxy$1  org.jruby.java.proxies.InterfaceJavaProxy$JavaInterfaceExtender
InnerClasses:
  org.jruby.java.proxies.InterfaceJavaProxy$1
  public JavaInterfaceExtender = org.jruby.java.proxies.InterfaceJavaProxy$JavaInterfaceExtender of org.jruby.java.proxies.InterfaceJavaProxy