public abstract class org.jruby.java.codegen.RealClassGenerator
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.jruby.java.codegen.RealClassGenerator
  super_class: java.lang.Object
{
  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 80
            ldc Lorg/jruby/java/codegen/RealClassGenerator;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.jruby.java.codegen.RealClassGenerator.$assertionsDisabled:Z
         3: .line 84
            getstatic org.jruby.RubyInstanceConfig.JAVA_VERSION:I
            putstatic org.jruby.java.codegen.RealClassGenerator.V_BC:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.java.codegen.RealClassGenerator this
         0: .line 80
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.java.codegen.RealClassGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/java/codegen/RealClassGenerator;

  static java.util.Map<java.lang.String, java.util.List<java.lang.reflect.Method>> buildSimpleToAllMap(java.lang.Class[], java.lang.String[], org.jruby.RubyClass);
    descriptor: ([Ljava/lang/Class;[Ljava/lang/String;Lorg/jruby/RubyClass;)Ljava/util/Map;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // java.lang.Class[] interfaces
        start local 1 // java.lang.String[] superTypeNames
        start local 2 // org.jruby.RubyClass implClass
         0: .line 93
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 3 /* simpleToAll */
        start local 3 // java.util.LinkedHashMap simpleToAll
         1: .line 97
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 24
         3: .line 98
      StackMap locals: java.util.LinkedHashMap int
      StackMap stack:
            aload 1 /* superTypeNames */
            iload 4 /* i */
            aload 0 /* interfaces */
            iload 4 /* i */
            aaload
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            aastore
         4: .line 99
            aload 0 /* interfaces */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 22
      StackMap locals: java.lang.Class[] java.lang.String[] org.jruby.RubyClass java.util.LinkedHashMap int top int int java.lang.reflect.Method[]
      StackMap stack:
         5: aload 8
            iload 6
            aaload
            astore 5 /* method */
        start local 5 // java.lang.reflect.Method method
         6: .line 100
            aload 5 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            astore 9 /* name */
        start local 9 // java.lang.String name
         7: .line 101
            aload 5 /* method */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 8
            goto 21
         8: .line 102
      StackMap locals: java.lang.Class[] java.lang.String[] org.jruby.RubyClass java.util.LinkedHashMap int java.lang.reflect.Method int int java.lang.reflect.Method[] java.lang.String
      StackMap stack:
            aload 2 /* implClass */
            ifnull 11
         9: .line 103
            aload 5 /* method */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
            ifne 11
            aload 2 /* implClass */
            invokevirtual org.jruby.RubyClass.getMethods:()Ljava/util/Map;
            aload 9 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 104
            goto 21
        11: .line 107
      StackMap locals:
      StackMap stack:
            aload 3 /* simpleToAll */
            aload 9 /* name */
            invokevirtual java.util.LinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 10 /* methods */
        start local 10 // java.util.List methods
        12: .line 108
            aload 10 /* methods */
            ifnonnull 20
        13: .line 109
            aload 3 /* simpleToAll */
            aload 9 /* name */
            new java.util.ArrayList
            dup
            bipush 6
            invokespecial java.util.ArrayList.<init>:(I)V
            dup
            astore 10 /* methods */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 111
            aload 9 /* name */
            ldc "is"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 20
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmple 20
        15: .line 112
            new java.lang.StringBuilder
            dup
            ldc "get"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* name */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* getName */
        start local 11 // java.lang.String getName
        16: .line 113
            aload 3 /* simpleToAll */
            aload 11 /* getName */
            invokevirtual java.util.LinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 12 /* getMethods */
        start local 12 // java.util.List getMethods
        17: .line 114
            aload 12 /* getMethods */
            ifnull 20
        18: .line 115
            aload 3 /* simpleToAll */
            aload 11 /* getName */
            invokevirtual java.util.LinkedHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 116
            aload 3 /* simpleToAll */
            aload 11 /* getName */
            aload 12 /* getMethods */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 12 // java.util.List getMethods
        end local 11 // java.lang.String getName
        20: .line 120
      StackMap locals: java.util.List
      StackMap stack:
            aload 10 /* methods */
            aload 5 /* method */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.util.List methods
        end local 9 // java.lang.String name
        end local 5 // java.lang.reflect.Method method
        21: .line 99
      StackMap locals: java.lang.Class[] java.lang.String[] org.jruby.RubyClass java.util.LinkedHashMap int top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        22: iload 6
            iload 7
            if_icmplt 5
        23: .line 97
            iinc 4 /* i */ 1
      StackMap locals: java.lang.Class[] java.lang.String[] org.jruby.RubyClass java.util.LinkedHashMap int
      StackMap stack:
        24: iload 4 /* i */
            aload 0 /* interfaces */
            arraylength
            if_icmplt 3
        end local 4 // int i
        25: .line 123
            aload 3 /* simpleToAll */
            areturn
        end local 3 // java.util.LinkedHashMap simpleToAll
        end local 2 // org.jruby.RubyClass implClass
        end local 1 // java.lang.String[] superTypeNames
        end local 0 // java.lang.Class[] interfaces
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   26     0      interfaces  [Ljava/lang/Class;
            0   26     1  superTypeNames  [Ljava/lang/String;
            0   26     2       implClass  Lorg/jruby/RubyClass;
            1   26     3     simpleToAll  Ljava/util/LinkedHashMap<Ljava/lang/String;Ljava/util/List<Ljava/lang/reflect/Method;>;>;
            2   25     4               i  I
            6   21     5          method  Ljava/lang/reflect/Method;
            7   21     9            name  Ljava/lang/String;
           12   21    10         methods  Ljava/util/List<Ljava/lang/reflect/Method;>;
           16   20    11         getName  Ljava/lang/String;
           17   20    12      getMethods  Ljava/util/List<Ljava/lang/reflect/Method;>;
    Exceptions:
      throws java.lang.SecurityException
    Signature: ([Ljava/lang/Class;[Ljava/lang/String;Lorg/jruby/RubyClass;)Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/reflect/Method;>;>;
    MethodParameters:
                Name  Flags
      interfaces      
      superTypeNames  
      implClass       

  public static java.lang.Class createOldStyleImplClass(java.lang.Class[], org.jruby.RubyClass, org.jruby.Ruby, java.lang.String, org.jruby.util.ClassDefiningClassLoader);
    descriptor: ([Ljava/lang/Class;Lorg/jruby/RubyClass;Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/util/ClassDefiningClassLoader;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // java.lang.Class[] superTypes
        start local 1 // org.jruby.RubyClass rubyClass
        start local 2 // org.jruby.Ruby ruby
        start local 3 // java.lang.String name
        start local 4 // org.jruby.util.ClassDefiningClassLoader classLoader
         0: .line 128
            aload 0 /* superTypes */
            arraylength
            anewarray java.lang.String
            astore 5 /* superTypeNames */
        start local 5 // java.lang.String[] superTypeNames
         1: .line 132
            aload 0 /* superTypes */
            aload 5 /* superTypeNames */
            aload 1 /* rubyClass */
            invokestatic org.jruby.java.codegen.RealClassGenerator.buildSimpleToAllMap:([Ljava/lang/Class;[Ljava/lang/String;Lorg/jruby/RubyClass;)Ljava/util/Map;
            astore 6 /* simpleToAll */
        start local 6 // java.util.Map simpleToAll
         2: .line 134
            aload 2 /* ruby */
            aload 3 /* name */
            aload 5 /* superTypeNames */
            aload 6 /* simpleToAll */
            aload 4 /* classLoader */
            invokestatic org.jruby.java.codegen.RealClassGenerator.defineOldStyleImplClass:(Lorg/jruby/Ruby;Ljava/lang/String;[Ljava/lang/String;Ljava/util/Map;Lorg/jruby/util/ClassDefiningClassLoader;)Ljava/lang/Class;
            astore 7 /* newClass */
        start local 7 // java.lang.Class newClass
         3: .line 136
            aload 7 /* newClass */
            areturn
        end local 7 // java.lang.Class newClass
        end local 6 // java.util.Map simpleToAll
        end local 5 // java.lang.String[] superTypeNames
        end local 4 // org.jruby.util.ClassDefiningClassLoader classLoader
        end local 3 // java.lang.String name
        end local 2 // org.jruby.Ruby ruby
        end local 1 // org.jruby.RubyClass rubyClass
        end local 0 // java.lang.Class[] superTypes
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0      superTypes  [Ljava/lang/Class;
            0    4     1       rubyClass  Lorg/jruby/RubyClass;
            0    4     2            ruby  Lorg/jruby/Ruby;
            0    4     3            name  Ljava/lang/String;
            0    4     4     classLoader  Lorg/jruby/util/ClassDefiningClassLoader;
            1    4     5  superTypeNames  [Ljava/lang/String;
            2    4     6     simpleToAll  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/reflect/Method;>;>;
            3    4     7        newClass  Ljava/lang/Class;
    MethodParameters:
             Name  Flags
      superTypes   
      rubyClass    
      ruby         
      name         
      classLoader  

  public static java.lang.Class createRealImplClass(java.lang.Class, java.lang.Class[], org.jruby.RubyClass, org.jruby.Ruby, java.lang.String);
    descriptor: (Ljava/lang/Class;[Ljava/lang/Class;Lorg/jruby/RubyClass;Lorg/jruby/Ruby;Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // java.lang.Class superClass
        start local 1 // java.lang.Class[] interfaces
        start local 2 // org.jruby.RubyClass rubyClass
        start local 3 // org.jruby.Ruby ruby
        start local 4 // java.lang.String name
         0: .line 141
            aload 1 /* interfaces */
            arraylength
            anewarray java.lang.String
            astore 5 /* superTypeNames */
        start local 5 // java.lang.String[] superTypeNames
         1: .line 145
            aload 1 /* interfaces */
            aload 5 /* superTypeNames */
            aload 2 /* rubyClass */
            invokestatic org.jruby.java.codegen.RealClassGenerator.buildSimpleToAllMap:([Ljava/lang/Class;[Ljava/lang/String;Lorg/jruby/RubyClass;)Ljava/util/Map;
            astore 6 /* simpleToAll */
        start local 6 // java.util.Map simpleToAll
         2: .line 147
            aload 3 /* ruby */
            aload 4 /* name */
            aload 0 /* superClass */
            aload 5 /* superTypeNames */
            aload 6 /* simpleToAll */
            invokestatic org.jruby.java.codegen.RealClassGenerator.defineRealImplClass:(Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/String;Ljava/util/Map;)Ljava/lang/Class;
            astore 7 /* newClass */
        start local 7 // java.lang.Class newClass
         3: .line 150
            aload 1 /* interfaces */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 7
      StackMap locals: java.lang.Class java.lang.Class[] org.jruby.RubyClass org.jruby.Ruby java.lang.String java.lang.String[] java.util.Map java.lang.Class top int int java.lang.Class[]
      StackMap stack:
         4: aload 11
            iload 9
            aaload
            astore 8 /* ifc */
        start local 8 // java.lang.Class ifc
         5: .line 151
            getstatic org.jruby.java.codegen.RealClassGenerator.$assertionsDisabled:Z
            ifne 6
            aload 8 /* ifc */
            aload 7 /* newClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 8 // java.lang.Class ifc
         6: .line 150
      StackMap locals:
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
         7: iload 9
            iload 10
            if_icmplt 4
         8: .line 154
            aload 7 /* newClass */
            areturn
        end local 7 // java.lang.Class newClass
        end local 6 // java.util.Map simpleToAll
        end local 5 // java.lang.String[] superTypeNames
        end local 4 // java.lang.String name
        end local 3 // org.jruby.Ruby ruby
        end local 2 // org.jruby.RubyClass rubyClass
        end local 1 // java.lang.Class[] interfaces
        end local 0 // java.lang.Class superClass
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0      superClass  Ljava/lang/Class;
            0    9     1      interfaces  [Ljava/lang/Class;
            0    9     2       rubyClass  Lorg/jruby/RubyClass;
            0    9     3            ruby  Lorg/jruby/Ruby;
            0    9     4            name  Ljava/lang/String;
            1    9     5  superTypeNames  [Ljava/lang/String;
            2    9     6     simpleToAll  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/reflect/Method;>;>;
            3    9     7        newClass  Ljava/lang/Class;
            5    6     8             ifc  Ljava/lang/Class;
    MethodParameters:
            Name  Flags
      superClass  
      interfaces  
      rubyClass   
      ruby        
      name        

  public static java.lang.Class defineOldStyleImplClass(org.jruby.Ruby, java.lang.String, java.lang.String[], java.util.Map<java.lang.String, java.util.List<java.lang.reflect.Method>>, org.jruby.util.ClassDefiningClassLoader);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;[Ljava/lang/String;Ljava/util/Map;Lorg/jruby/util/ClassDefiningClassLoader;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=5
         0: .line 178
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tClassWriter cannot be resolved to a type\n\tThe method newClassWriter(ClassLoader) from the type ASM refers to the missing type ClassWriter\n\tACC_PUBLIC cannot be resolved to a variable\n\tACC_SUPER cannot be resolved to a variable\n\tACC_STATIC cannot be resolved to a variable\n\tACC_FINAL cannot be resolved to a variable\n\tACC_PRIVATE cannot be resolved to a variable\n\tACC_PRIVATE cannot be resolved to a variable\n\tACC_FINAL cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n\tACC_STATIC cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: (Lorg/jruby/Ruby;Ljava/lang/String;[Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/reflect/Method;>;>;Lorg/jruby/util/ClassDefiningClassLoader;)Ljava/lang/Class;
    MethodParameters:
                Name  Flags
      ruby            final
      name            final
      superTypeNames  final
      simpleToAll     final
      loader          final

  private static void defineOldStyleBody(org.jruby.compiler.impl.SkinnyMethodAdapter, java.lang.String, java.lang.String, java.lang.Class[], java.lang.Class, int, int, java.util.Set<java.lang.String>);
    descriptor: (Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=12, args_size=8
        start local 0 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        start local 1 // java.lang.String pathName
        start local 2 // java.lang.String simpleName
        start local 3 // java.lang.Class[] paramTypes
        start local 4 // java.lang.Class returnType
        start local 5 // int baseIndex
        start local 6 // int cacheIndex
        start local 7 // java.util.Set nameSet
         0: .line 293
            iload 5 /* baseIndex */
            istore 8 /* selfIndex */
        start local 8 // int selfIndex
         1: .line 294
            iload 8 /* selfIndex */
            iconst_1
            iadd
            istore 9 /* rubyIndex */
        start local 9 // int rubyIndex
         2: .line 296
            aload 0 /* mv */
            iconst_5
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.line:(I)V
         3: .line 299
            aload 0 /* mv */
            iconst_0
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
         4: .line 300
            aload 0 /* mv */
            aload 1 /* pathName */
            ldc "$self"
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.CodegenUtils.ci:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.getfield:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 301
            aload 0 /* mv */
            iload 8 /* selfIndex */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.astore:(I)V
         6: .line 302
            aload 0 /* mv */
            iload 8 /* selfIndex */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
         7: .line 303
            aload 0 /* mv */
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "getRuntime"
            ldc Lorg/jruby/Ruby;
            iconst_0
            anewarray java.lang.Class
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokeinterface:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         8: .line 304
            aload 0 /* mv */
            iload 9 /* rubyIndex */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.astore:(I)V
         9: .line 307
            aload 0 /* mv */
            aload 1 /* pathName */
            ldc "$runtimeCache"
            ldc Lorg/jruby/ast/executable/RuntimeCache;
            invokestatic org.jruby.util.CodegenUtils.ci:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.getstatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        10: .line 308
            aload 0 /* mv */
            iload 8 /* selfIndex */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
        11: .line 309
            aload 0 /* mv */
            iload 6 /* cacheIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
        12: .line 310
            aload 7 /* nameSet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 11
            goto 15
      StackMap locals: org.jruby.compiler.impl.SkinnyMethodAdapter java.lang.String java.lang.String java.lang.Class[] java.lang.Class int int java.util.Set int int top java.util.Iterator
      StackMap stack:
        13: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* eachName */
        start local 10 // java.lang.String eachName
        14: .line 311
            aload 0 /* mv */
            aload 10 /* eachName */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
        end local 10 // java.lang.String eachName
        15: .line 310
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        16: .line 313
            aload 0 /* mv */
            ldc Lorg/jruby/ast/executable/RuntimeCache;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "searchWithCache"
        17: .line 314
            ldc Lorg/jruby/internal/runtime/methods/DynamicMethod;
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/String;
            aload 7 /* nameSet */
            invokeinterface java.util.Set.size:()I
            invokestatic org.jruby.util.CodegenUtils.params:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;I)[Ljava/lang/Class;
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
        18: .line 313
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        19: .line 317
            aload 0 /* mv */
            iload 9 /* rubyIndex */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
        20: .line 318
            aload 0 /* mv */
            ldc Lorg/jruby/Ruby;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "getCurrentContext"
            ldc Lorg/jruby/runtime/ThreadContext;
            iconst_0
            anewarray java.lang.Class
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        21: .line 321
            aload 0 /* mv */
            iconst_2
            newarray 10
            dup
            iconst_0
            iload 8 /* selfIndex */
            iastore
            dup
            iconst_1
            iload 8 /* selfIndex */
            iastore
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aloadMany:([I)V
        22: .line 322
            aload 0 /* mv */
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "getMetaClass"
            ldc Lorg/jruby/RubyClass;
            iconst_0
            anewarray java.lang.Class
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokeinterface:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        23: .line 323
            aload 0 /* mv */
            aload 2 /* simpleName */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
        24: .line 326
            aload 0 /* mv */
            aload 3 /* paramTypes */
            iload 9 /* rubyIndex */
            invokestatic org.jruby.java.codegen.RealClassGenerator.coerceArgumentsToRuby:(Lorg/jruby/compiler/impl/SkinnyMethodAdapter;[Ljava/lang/Class;I)V
        25: .line 329
            aload 0 /* mv */
            ldc Lorg/jruby/runtime/Block;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "NULL_BLOCK"
            ldc Lorg/jruby/runtime/Block;
            invokestatic org.jruby.util.CodegenUtils.ci:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.getstatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        26: .line 332
            aload 0 /* mv */
            bipush 13
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.line:(I)V
        27: .line 333
            aload 0 /* mv */
            ldc Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "call"
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            bipush 6
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/runtime/ThreadContext;
            aastore
            dup
            iconst_1
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            dup
            iconst_2
            ldc Lorg/jruby/RubyModule;
            aastore
            dup
            iconst_3
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_4
            ldc [Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            dup
            iconst_5
            ldc Lorg/jruby/runtime/Block;
            aastore
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        28: .line 335
            aload 0 /* mv */
            aload 4 /* returnType */
            invokestatic org.jruby.java.codegen.RealClassGenerator.coerceResultAndReturn:(Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/Class;)V
        29: .line 336
            return
        end local 9 // int rubyIndex
        end local 8 // int selfIndex
        end local 7 // java.util.Set nameSet
        end local 6 // int cacheIndex
        end local 5 // int baseIndex
        end local 4 // java.lang.Class returnType
        end local 3 // java.lang.Class[] paramTypes
        end local 2 // java.lang.String simpleName
        end local 1 // java.lang.String pathName
        end local 0 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   30     0          mv  Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            0   30     1    pathName  Ljava/lang/String;
            0   30     2  simpleName  Ljava/lang/String;
            0   30     3  paramTypes  [Ljava/lang/Class;
            0   30     4  returnType  Ljava/lang/Class;
            0   30     5   baseIndex  I
            0   30     6  cacheIndex  I
            0   30     7     nameSet  Ljava/util/Set<Ljava/lang/String;>;
            1   30     8   selfIndex  I
            2   30     9   rubyIndex  I
           14   15    10    eachName  Ljava/lang/String;
    Signature: (Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      mv          
      pathName    final
      simpleName  final
      paramTypes  final
      returnType  final
      baseIndex   final
      cacheIndex  final
      nameSet     final

  public static java.lang.Class defineRealImplClass(org.jruby.Ruby, java.lang.String, java.lang.Class, java.lang.String[], java.util.Map<java.lang.String, java.util.List<java.lang.reflect.Method>>);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/String;Ljava/util/Map;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=5
         0: .line 352
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tClassWriter cannot be resolved to a type\n\tClassWriter cannot be resolved to a type\n\tClassWriter cannot be resolved to a variable\n\tClassWriter cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n\tACC_SUPER cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n\tACC_SUPER cannot be resolved to a variable\n\tACC_STATIC cannot be resolved to a variable\n\tACC_FINAL cannot be resolved to a variable\n\tACC_PRIVATE cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n\tACC_STATIC cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n\tACC_FINAL cannot be resolved to a variable\n\tACC_PRIVATE cannot be resolved to a variable\n\tACC_FINAL cannot be resolved to a variable\n\tACC_PRIVATE cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n\tACC_PUBLIC cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: (Lorg/jruby/Ruby;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/reflect/Method;>;>;)Ljava/lang/Class;
    MethodParameters:
                Name  Flags
      runtime         final
      name            final
      superClass      final
      superTypeNames  final
      simpleToAll     final

  private static void defineRealBody(org.jruby.compiler.impl.SkinnyMethodAdapter, java.lang.String, java.lang.String, java.lang.Class[], java.lang.Class, int, int, java.util.Set<java.lang.String>);
    descriptor: (Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=11, args_size=8
        start local 0 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        start local 1 // java.lang.String pathName
        start local 2 // java.lang.String simpleName
        start local 3 // java.lang.Class[] paramTypes
        start local 4 // java.lang.Class returnType
        start local 5 // int baseIndex
        start local 6 // int cacheIndex
        start local 7 // java.util.Set nameSet
         0: .line 549
            iload 5 /* baseIndex */
            iconst_1
            iadd
            istore 8 /* rubyIndex */
        start local 8 // int rubyIndex
         1: .line 551
            aload 0 /* mv */
            iconst_5
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.line:(I)V
         2: .line 554
            aload 0 /* mv */
            iconst_0
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
         3: .line 555
            aload 0 /* mv */
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "getRuntime"
            ldc Lorg/jruby/Ruby;
            iconst_0
            anewarray java.lang.Class
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokeinterface:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         4: .line 556
            aload 0 /* mv */
            iload 8 /* rubyIndex */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.astore:(I)V
         5: .line 559
            aload 0 /* mv */
            aload 1 /* pathName */
            ldc "$runtimeCache"
            ldc Lorg/jruby/ast/executable/RuntimeCache;
            invokestatic org.jruby.util.CodegenUtils.ci:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.getstatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         6: .line 560
            aload 0 /* mv */
            iconst_0
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
         7: .line 561
            aload 0 /* mv */
            iload 6 /* cacheIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
         8: .line 562
            aload 7 /* nameSet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 11
      StackMap locals: org.jruby.compiler.impl.SkinnyMethodAdapter java.lang.String java.lang.String java.lang.Class[] java.lang.Class int int java.util.Set int top java.util.Iterator
      StackMap stack:
         9: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* eachName */
        start local 9 // java.lang.String eachName
        10: .line 563
            aload 0 /* mv */
            aload 9 /* eachName */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
        end local 9 // java.lang.String eachName
        11: .line 562
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 565
            aload 0 /* mv */
            ldc Lorg/jruby/ast/executable/RuntimeCache;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "searchWithCache"
        13: .line 566
            ldc Lorg/jruby/internal/runtime/methods/DynamicMethod;
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/String;
            aload 7 /* nameSet */
            invokeinterface java.util.Set.size:()I
            invokestatic org.jruby.util.CodegenUtils.params:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;I)[Ljava/lang/Class;
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
        14: .line 565
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        15: .line 569
            aload 0 /* mv */
            iload 8 /* rubyIndex */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
        16: .line 570
            aload 0 /* mv */
            ldc Lorg/jruby/Ruby;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "getCurrentContext"
            ldc Lorg/jruby/runtime/ThreadContext;
            iconst_0
            anewarray java.lang.Class
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        17: .line 573
            aload 0 /* mv */
            iconst_2
            newarray 10
            dup
            iconst_0
            iconst_0
            iastore
            dup
            iconst_1
            iconst_0
            iastore
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aloadMany:([I)V
        18: .line 574
            aload 0 /* mv */
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "getMetaClass"
            ldc Lorg/jruby/RubyClass;
            iconst_0
            anewarray java.lang.Class
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokeinterface:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        19: .line 575
            aload 0 /* mv */
            aload 2 /* simpleName */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
        20: .line 578
            aload 0 /* mv */
            aload 3 /* paramTypes */
            iload 8 /* rubyIndex */
            invokestatic org.jruby.java.codegen.RealClassGenerator.coerceArgumentsToRuby:(Lorg/jruby/compiler/impl/SkinnyMethodAdapter;[Ljava/lang/Class;I)V
        21: .line 581
            aload 0 /* mv */
            ldc Lorg/jruby/runtime/Block;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "NULL_BLOCK"
            ldc Lorg/jruby/runtime/Block;
            invokestatic org.jruby.util.CodegenUtils.ci:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.getstatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        22: .line 584
            aload 0 /* mv */
            bipush 13
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.line:(I)V
        23: .line 585
            aload 0 /* mv */
            ldc Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "call"
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            bipush 6
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/runtime/ThreadContext;
            aastore
            dup
            iconst_1
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            dup
            iconst_2
            ldc Lorg/jruby/RubyModule;
            aastore
            dup
            iconst_3
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_4
            ldc [Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            dup
            iconst_5
            ldc Lorg/jruby/runtime/Block;
            aastore
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        24: .line 587
            aload 0 /* mv */
            aload 4 /* returnType */
            invokestatic org.jruby.java.codegen.RealClassGenerator.coerceResultAndReturn:(Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/Class;)V
        25: .line 588
            return
        end local 8 // int rubyIndex
        end local 7 // java.util.Set nameSet
        end local 6 // int cacheIndex
        end local 5 // int baseIndex
        end local 4 // java.lang.Class returnType
        end local 3 // java.lang.Class[] paramTypes
        end local 2 // java.lang.String simpleName
        end local 1 // java.lang.String pathName
        end local 0 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0          mv  Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            0   26     1    pathName  Ljava/lang/String;
            0   26     2  simpleName  Ljava/lang/String;
            0   26     3  paramTypes  [Ljava/lang/Class;
            0   26     4  returnType  Ljava/lang/Class;
            0   26     5   baseIndex  I
            0   26     6  cacheIndex  I
            0   26     7     nameSet  Ljava/util/Set<Ljava/lang/String;>;
            1   26     8   rubyIndex  I
           10   11     9    eachName  Ljava/lang/String;
    Signature: (Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      mv          
      pathName    final
      simpleName  final
      paramTypes  final
      returnType  final
      baseIndex   final
      cacheIndex  final
      nameSet     final

  private static void defineRealBodyWithFallback(org.jruby.compiler.impl.SkinnyMethodAdapter, java.lang.String, java.lang.String, java.lang.Class[], java.lang.Class, int, int, java.util.Set<java.lang.String>);
    descriptor: (Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=8
         0: .line 615
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tLabel cannot be resolved to a type\n\tLabel cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: (Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      mv          
      pathName    final
      simpleName  final
      paramTypes  final
      returnType  final
      baseIndex   final
      cacheIndex  final
      nameSet     final

  private static void defineRealEqualsWithFallback(org.jruby.compiler.impl.SkinnyMethodAdapter, java.lang.String, java.lang.String, java.lang.Class[], java.lang.Class, int, int, java.util.Set<java.lang.String>);
    descriptor: (Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=8
        start local 0 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        start local 1 // java.lang.String pathName
        start local 2 // java.lang.String simpleName
        start local 3 // java.lang.Class[] paramTypes
        start local 4 // java.lang.Class returnType
        start local 5 // int baseIndex
        start local 6 // int cacheIndex
        start local 7 // java.util.Set nameSet
         0: .line 655
            aload 0 /* mv */
            aload 1 /* pathName */
            aload 2 /* simpleName */
            aload 3 /* paramTypes */
            aload 4 /* returnType */
            iload 5 /* baseIndex */
            iload 6 /* cacheIndex */
            aload 7 /* nameSet */
            invokestatic org.jruby.java.codegen.RealClassGenerator.defineRealBodyWithFallback:(Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set;)V
         1: .line 656
            return
        end local 7 // java.util.Set nameSet
        end local 6 // int cacheIndex
        end local 5 // int baseIndex
        end local 4 // java.lang.Class returnType
        end local 3 // java.lang.Class[] paramTypes
        end local 2 // java.lang.String simpleName
        end local 1 // java.lang.String pathName
        end local 0 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0          mv  Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            0    2     1    pathName  Ljava/lang/String;
            0    2     2  simpleName  Ljava/lang/String;
            0    2     3  paramTypes  [Ljava/lang/Class;
            0    2     4  returnType  Ljava/lang/Class;
            0    2     5   baseIndex  I
            0    2     6  cacheIndex  I
            0    2     7     nameSet  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      mv          
      pathName    final
      simpleName  final
      paramTypes  final
      returnType  final
      baseIndex   final
      cacheIndex  final
      nameSet     final

  private static void defineRealHashCodeWithFallback(org.jruby.compiler.impl.SkinnyMethodAdapter, java.lang.String, java.lang.String, java.lang.Class[], java.lang.Class, int, int, java.util.Set<java.lang.String>);
    descriptor: (Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=8
        start local 0 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        start local 1 // java.lang.String pathName
        start local 2 // java.lang.String simpleName
        start local 3 // java.lang.Class[] paramTypes
        start local 4 // java.lang.Class returnType
        start local 5 // int baseIndex
        start local 6 // int cacheIndex
        start local 7 // java.util.Set nameSet
         0: .line 661
            aload 0 /* mv */
            aload 1 /* pathName */
            aload 2 /* simpleName */
            aload 3 /* paramTypes */
            aload 4 /* returnType */
            iload 5 /* baseIndex */
            iload 6 /* cacheIndex */
            aload 7 /* nameSet */
            invokestatic org.jruby.java.codegen.RealClassGenerator.defineRealBodyWithFallback:(Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set;)V
         1: .line 662
            return
        end local 7 // java.util.Set nameSet
        end local 6 // int cacheIndex
        end local 5 // int baseIndex
        end local 4 // java.lang.Class returnType
        end local 3 // java.lang.Class[] paramTypes
        end local 2 // java.lang.String simpleName
        end local 1 // java.lang.String pathName
        end local 0 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0          mv  Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            0    2     1    pathName  Ljava/lang/String;
            0    2     2  simpleName  Ljava/lang/String;
            0    2     3  paramTypes  [Ljava/lang/Class;
            0    2     4  returnType  Ljava/lang/Class;
            0    2     5   baseIndex  I
            0    2     6  cacheIndex  I
            0    2     7     nameSet  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      mv          
      pathName    final
      simpleName  final
      paramTypes  final
      returnType  final
      baseIndex   final
      cacheIndex  final
      nameSet     final

  private static void defineRealToStringWithFallback(org.jruby.compiler.impl.SkinnyMethodAdapter, java.lang.String, java.lang.String, java.lang.Class[], java.lang.Class, int, int, java.util.Set<java.lang.String>);
    descriptor: (Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=8
        start local 0 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        start local 1 // java.lang.String pathName
        start local 2 // java.lang.String simpleName
        start local 3 // java.lang.Class[] paramTypes
        start local 4 // java.lang.Class returnType
        start local 5 // int baseIndex
        start local 6 // int cacheIndex
        start local 7 // java.util.Set nameSet
         0: .line 667
            aload 0 /* mv */
            aload 1 /* pathName */
            aload 2 /* simpleName */
            aload 3 /* paramTypes */
            aload 4 /* returnType */
            iload 5 /* baseIndex */
            iload 6 /* cacheIndex */
            aload 7 /* nameSet */
            invokestatic org.jruby.java.codegen.RealClassGenerator.defineRealBodyWithFallback:(Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set;)V
         1: .line 668
            return
        end local 7 // java.util.Set nameSet
        end local 6 // int cacheIndex
        end local 5 // int baseIndex
        end local 4 // java.lang.Class returnType
        end local 3 // java.lang.Class[] paramTypes
        end local 2 // java.lang.String simpleName
        end local 1 // java.lang.String pathName
        end local 0 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0          mv  Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            0    2     1    pathName  Ljava/lang/String;
            0    2     2  simpleName  Ljava/lang/String;
            0    2     3  paramTypes  [Ljava/lang/Class;
            0    2     4  returnType  Ljava/lang/Class;
            0    2     5   baseIndex  I
            0    2     6  cacheIndex  I
            0    2     7     nameSet  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;IILjava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      mv          
      pathName    final
      simpleName  final
      paramTypes  final
      returnType  final
      baseIndex   final
      cacheIndex  final
      nameSet     final

  private static boolean defineDefaultEquals(int, org.jruby.compiler.impl.SkinnyMethodAdapter, java.lang.Class[], java.lang.Class);
    descriptor: (ILorg/jruby/compiler/impl/SkinnyMethodAdapter;[Ljava/lang/Class;Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // int line
        start local 1 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        start local 2 // java.lang.Class[] paramTypes
        start local 3 // java.lang.Class returnType
         0: .line 673
            aload 2 /* paramTypes */
            arraylength
            iconst_1
            if_icmpne 3
            aload 2 /* paramTypes */
            iconst_0
            aaload
            ldc Ljava/lang/Object;
            if_acmpne 3
            aload 3 /* returnType */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 3
         1: .line 674
            iload 0 /* line */
            aload 1 /* mv */
            invokestatic org.jruby.java.codegen.RealClassGenerator.objectEquals:(ILorg/jruby/compiler/impl/SkinnyMethodAdapter;)V
         2: .line 675
            iconst_1
            ireturn
         3: .line 677
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.Class returnType
        end local 2 // java.lang.Class[] paramTypes
        end local 1 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        end local 0 // int line
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        line  I
            0    4     1          mv  Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            0    4     2  paramTypes  [Ljava/lang/Class;
            0    4     3  returnType  Ljava/lang/Class;
    MethodParameters:
            Name  Flags
      line        final
      mv          
      paramTypes  final
      returnType  final

  private static void objectEquals(int, org.jruby.compiler.impl.SkinnyMethodAdapter);
    descriptor: (ILorg/jruby/compiler/impl/SkinnyMethodAdapter;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // int line
        start local 1 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
         0: .line 681
            iload 0 /* line */
            ifle 1
            aload 1 /* mv */
            iload 0 /* line */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.line:(I)V
         1: .line 682
      StackMap locals:
      StackMap stack:
            aload 1 /* mv */
            iconst_0
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
         2: .line 683
            aload 1 /* mv */
            iconst_1
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
         3: .line 684
            aload 1 /* mv */
            ldc Ljava/lang/Object;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "equals"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokestatic org.jruby.util.CodegenUtils.params:([Ljava/lang/Class;)[Ljava/lang/Class;
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokespecial:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         4: .line 685
            aload 1 /* mv */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ireturn:()V
         5: .line 686
            return
        end local 1 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        end local 0 // int line
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  line  I
            0    6     1    mv  Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
    MethodParameters:
      Name  Flags
      line  final
      mv    

  private static boolean defineDefaultHashCode(int, org.jruby.compiler.impl.SkinnyMethodAdapter, java.lang.Class[], java.lang.Class);
    descriptor: (ILorg/jruby/compiler/impl/SkinnyMethodAdapter;[Ljava/lang/Class;Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // int line
        start local 1 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        start local 2 // java.lang.Class[] paramTypes
        start local 3 // java.lang.Class returnType
         0: .line 691
            aload 2 /* paramTypes */
            arraylength
            ifne 3
            aload 3 /* returnType */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 3
         1: .line 692
            iload 0 /* line */
            aload 1 /* mv */
            invokestatic org.jruby.java.codegen.RealClassGenerator.objectHashCode:(ILorg/jruby/compiler/impl/SkinnyMethodAdapter;)V
         2: .line 693
            iconst_1
            ireturn
         3: .line 695
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.Class returnType
        end local 2 // java.lang.Class[] paramTypes
        end local 1 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        end local 0 // int line
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        line  I
            0    4     1          mv  Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            0    4     2  paramTypes  [Ljava/lang/Class;
            0    4     3  returnType  Ljava/lang/Class;
    MethodParameters:
            Name  Flags
      line        final
      mv          
      paramTypes  final
      returnType  final

  private static void objectHashCode(int, org.jruby.compiler.impl.SkinnyMethodAdapter);
    descriptor: (ILorg/jruby/compiler/impl/SkinnyMethodAdapter;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int line
        start local 1 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
         0: .line 699
            iload 0 /* line */
            ifle 1
            aload 1 /* mv */
            iload 0 /* line */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.line:(I)V
         1: .line 700
      StackMap locals:
      StackMap stack:
            aload 1 /* mv */
            iconst_0
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
         2: .line 701
            aload 1 /* mv */
            ldc Ljava/lang/Object;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "hashCode"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            iconst_0
            anewarray java.lang.Class
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokespecial:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         3: .line 702
            aload 1 /* mv */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ireturn:()V
         4: .line 703
            return
        end local 1 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        end local 0 // int line
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  line  I
            0    5     1    mv  Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
    MethodParameters:
      Name  Flags
      line  final
      mv    

  private static boolean defineDefaultToString(int, org.jruby.compiler.impl.SkinnyMethodAdapter, java.lang.Class[], java.lang.Class);
    descriptor: (ILorg/jruby/compiler/impl/SkinnyMethodAdapter;[Ljava/lang/Class;Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // int line
        start local 1 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        start local 2 // java.lang.Class[] paramTypes
        start local 3 // java.lang.Class returnType
         0: .line 708
            aload 2 /* paramTypes */
            arraylength
            ifne 3
            aload 3 /* returnType */
            ldc Ljava/lang/String;
            if_acmpne 3
         1: .line 709
            iload 0 /* line */
            aload 1 /* mv */
            invokestatic org.jruby.java.codegen.RealClassGenerator.objectToString:(ILorg/jruby/compiler/impl/SkinnyMethodAdapter;)V
         2: .line 710
            iconst_1
            ireturn
         3: .line 712
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.Class returnType
        end local 2 // java.lang.Class[] paramTypes
        end local 1 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        end local 0 // int line
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        line  I
            0    4     1          mv  Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            0    4     2  paramTypes  [Ljava/lang/Class;
            0    4     3  returnType  Ljava/lang/Class;
    MethodParameters:
            Name  Flags
      line        final
      mv          
      paramTypes  final
      returnType  final

  private static void objectToString(int, org.jruby.compiler.impl.SkinnyMethodAdapter);
    descriptor: (ILorg/jruby/compiler/impl/SkinnyMethodAdapter;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int line
        start local 1 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
         0: .line 716
            iload 0 /* line */
            ifle 1
            aload 1 /* mv */
            iload 0 /* line */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.line:(I)V
         1: .line 717
      StackMap locals:
      StackMap stack:
            aload 1 /* mv */
            iconst_0
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
         2: .line 718
            aload 1 /* mv */
            ldc Ljava/lang/Object;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "toString"
            ldc Ljava/lang/String;
            iconst_0
            anewarray java.lang.Class
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokespecial:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         3: .line 719
            aload 1 /* mv */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.areturn:()V
         4: .line 720
            return
        end local 1 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        end local 0 // int line
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  line  I
            0    5     1    mv  Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
    MethodParameters:
      Name  Flags
      line  final
      mv    

  private static void writeClassFile(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // java.lang.String name
        start local 1 // byte[] bytecode
         0: .line 723
            aconst_null
            astore 2 /* fos */
        start local 2 // java.io.FileOutputStream fos
         1: .line 725
            new java.io.FileOutputStream
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            astore 2 /* fos */
         2: .line 726
            aload 2 /* fos */
            aload 1 /* bytecode */
            invokevirtual java.io.FileOutputStream.write:([B)V
         3: .line 727
            goto 14
         4: .line 728
      StackMap locals: java.lang.String byte[] java.io.FileOutputStream
      StackMap stack: java.io.IOException
            astore 3 /* ex */
        start local 3 // java.io.IOException ex
         5: aload 3 /* ex */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 3 // java.io.IOException ex
         6: .line 730
            aload 2 /* fos */
            ifnull 17
            aload 2 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
         7: goto 17
      StackMap locals:
      StackMap stack: java.lang.Exception
         8: pop
            goto 17
         9: .line 729
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        10: .line 730
            aload 2 /* fos */
            ifnull 13
            aload 2 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        11: goto 13
      StackMap locals: java.lang.String byte[] java.io.FileOutputStream top java.lang.Throwable
      StackMap stack: java.lang.Exception
        12: pop
        13: .line 731
      StackMap locals:
      StackMap stack:
            aload 4
            athrow
        14: .line 730
      StackMap locals: java.lang.String byte[] java.io.FileOutputStream
      StackMap stack:
            aload 2 /* fos */
            ifnull 17
            aload 2 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.Exception
        16: pop
        17: .line 732
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.FileOutputStream fos
        end local 1 // byte[] bytecode
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      name  Ljava/lang/String;
            0   18     1  bytecode  [B
            1   18     2       fos  Ljava/io/FileOutputStream;
            5    6     3        ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     3       4  Class java.io.IOException
           6     7       8  Class java.lang.Exception
           1     6       9  any
          10    11      12  Class java.lang.Exception
          14    15      16  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      name      final
      bytecode  final

  public static void coerceArgumentsToRuby(org.jruby.compiler.impl.SkinnyMethodAdapter, java.lang.Class[], int);
    descriptor: (Lorg/jruby/compiler/impl/SkinnyMethodAdapter;[Ljava/lang/Class;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
        start local 1 // java.lang.Class[] paramTypes
        start local 2 // int rubyIndex
         0: .line 736
            aload 1 /* paramTypes */
            arraylength
            ifeq 43
         1: .line 737
            aload 0 /* mv */
            aload 1 /* paramTypes */
            arraylength
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.pushInt:(I)V
         2: .line 738
            aload 0 /* mv */
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.anewarray:(Ljava/lang/String;)V
         3: .line 741
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: iconst_1
            istore 4 /* argIndex */
        start local 4 // int argIndex
         5: goto 41
         6: .line 742
      StackMap locals: int int
      StackMap stack:
            aload 1 /* paramTypes */
            iload 3 /* i */
            aaload
            astore 5 /* paramType */
        start local 5 // java.lang.Class paramType
         7: .line 743
            aload 0 /* mv */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.dup:()V
         8: .line 744
            aload 0 /* mv */
            iload 3 /* i */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.pushInt:(I)V
         9: .line 746
            aload 1 /* paramTypes */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 33
        10: .line 747
            aload 0 /* mv */
            iload 2 /* rubyIndex */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
        11: .line 748
            aload 5 /* paramType */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpeq 12
            aload 5 /* paramType */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpeq 12
            aload 5 /* paramType */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpeq 12
            aload 5 /* paramType */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 15
        12: .line 749
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* mv */
            iload 4 /* argIndex */
            iinc 4 /* argIndex */ 1
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.iload:(I)V
        13: .line 750
            aload 0 /* mv */
            ldc Lorg/jruby/javasupport/JavaUtil;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "convertJavaToRuby"
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/Ruby;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        14: .line 751
            goto 39
      StackMap locals:
      StackMap stack:
        15: aload 5 /* paramType */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 20
        16: .line 752
            aload 0 /* mv */
            iload 4 /* argIndex */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.lload:(I)V
        17: .line 753
            iinc 4 /* argIndex */ 2
        18: .line 754
            aload 0 /* mv */
            ldc Lorg/jruby/javasupport/JavaUtil;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "convertJavaToRuby"
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/Ruby;
            aastore
            dup
            iconst_1
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        19: .line 755
            goto 39
      StackMap locals:
      StackMap stack:
        20: aload 5 /* paramType */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 24
        21: .line 756
            aload 0 /* mv */
            iload 4 /* argIndex */
            iinc 4 /* argIndex */ 1
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.fload:(I)V
        22: .line 757
            aload 0 /* mv */
            ldc Lorg/jruby/javasupport/JavaUtil;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "convertJavaToRuby"
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/Ruby;
            aastore
            dup
            iconst_1
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            aastore
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        23: .line 758
            goto 39
      StackMap locals:
      StackMap stack:
        24: aload 5 /* paramType */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 29
        25: .line 759
            aload 0 /* mv */
            iload 4 /* argIndex */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.dload:(I)V
        26: .line 760
            iinc 4 /* argIndex */ 2
        27: .line 761
            aload 0 /* mv */
            ldc Lorg/jruby/javasupport/JavaUtil;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "convertJavaToRuby"
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/Ruby;
            aastore
            dup
            iconst_1
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        28: .line 762
            goto 39
      StackMap locals:
      StackMap stack:
        29: aload 5 /* paramType */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 39
        30: .line 763
            aload 0 /* mv */
            iload 4 /* argIndex */
            iinc 4 /* argIndex */ 1
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.iload:(I)V
        31: .line 764
            aload 0 /* mv */
            ldc Lorg/jruby/javasupport/JavaUtil;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "convertJavaToRuby"
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/Ruby;
            aastore
            dup
            iconst_1
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            aastore
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        32: .line 766
            goto 39
      StackMap locals:
      StackMap stack:
        33: ldc Lorg/jruby/runtime/builtin/IRubyObject;
            aload 5 /* paramType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 38
        34: .line 767
            aload 0 /* mv */
            iload 2 /* rubyIndex */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
        35: .line 768
            aload 0 /* mv */
            iload 4 /* argIndex */
            iinc 4 /* argIndex */ 1
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
        36: .line 769
            aload 0 /* mv */
            ldc Lorg/jruby/javasupport/JavaUtil;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "convertJavaToUsableRubyObject"
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/jruby/Ruby;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            invokestatic org.jruby.util.CodegenUtils.sig:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        37: .line 770
            goto 39
        38: .line 771
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            iload 4 /* argIndex */
            iinc 4 /* argIndex */ 1
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
        39: .line 773
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aastore:()V
        end local 5 // java.lang.Class paramType
        40: .line 741
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        41: iload 3 /* i */
            aload 1 /* paramTypes */
            arraylength
            if_icmplt 6
        end local 4 // int argIndex
        end local 3 // int i
        42: .line 775
            goto 44
        43: .line 776
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            ldc Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            ldc "NULL_ARRAY"
            ldc [Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.CodegenUtils.ci:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.getstatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        44: .line 778
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int rubyIndex
        end local 1 // java.lang.Class[] paramTypes
        end local 0 // org.jruby.compiler.impl.SkinnyMethodAdapter mv
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   45     0          mv  Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            0   45     1  paramTypes  [Ljava/lang/Class;
            0   45     2   rubyIndex  I
            4   42     3           i  I
            5   42     4    argIndex  I
            7   40     5   paramType  Ljava/lang/Class;
    MethodParameters:
            Name  Flags
      mv          
      paramTypes  
      rubyIndex   

  public static void coerceResultAndReturn(org.jruby.compiler.impl.SkinnyMethodAdapter, java.lang.Class);
    descriptor: (Lorg/jruby/compiler/impl/SkinnyMethodAdapter;Ljava/lang/Class;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 827
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tType cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
            Name  Flags
      mv          
      returnType  

  public static int calcBaseIndex(java.lang.Class[], int);
    descriptor: ([Ljava/lang/Class;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.lang.Class[] params
        start local 1 // int baseIndex
         0: .line 840
            aload 0 /* params */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: java.lang.Class[] int top int int java.lang.Class[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* paramType */
        start local 2 // java.lang.Class paramType
         2: .line 841
            aload 2 /* paramType */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpeq 3
            aload 2 /* paramType */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 5
         3: .line 842
      StackMap locals: java.lang.Class[] int java.lang.Class int int java.lang.Class[]
      StackMap stack:
            iinc 1 /* baseIndex */ 2
         4: .line 843
            goto 6
         5: .line 844
      StackMap locals:
      StackMap stack:
            iinc 1 /* baseIndex */ 1
        end local 2 // java.lang.Class paramType
         6: .line 840
      StackMap locals: java.lang.Class[] int top int int java.lang.Class[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 1
         8: .line 847
            iload 1 /* baseIndex */
            ireturn
        end local 1 // int baseIndex
        end local 0 // java.lang.Class[] params
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0     params  [Ljava/lang/Class;
            0    9     1  baseIndex  I
            2    6     2  paramType  Ljava/lang/Class;
    MethodParameters:
           Name  Flags
      params     final
      baseIndex  
}
SourceFile: "RealClassGenerator.java"