public class org.jruby.anno.IndyBinder extends javax.annotation.processing.AbstractProcessor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.anno.IndyBinder
  super_class: javax.annotation.processing.AbstractProcessor
{
  public static final java.lang.String POPULATOR_SUFFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "$POPULATOR"

  public static final java.lang.String SRC_GEN_DIR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "target/classes/org/jruby/gen/"

  public static final int CLASS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int BASEMETHOD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int MODULEMETHOD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int RUNTIME;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int SINGLETONCLASS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int RUBYMODULE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private final java.util.List<java.lang.CharSequence> classNames;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/CharSequence;>;

  private org.jruby.compiler.impl.SkinnyMethodAdapter mv;
    descriptor: Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
    flags: (0x0002) ACC_PRIVATE

  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

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

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

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

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

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

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

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

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.anno.IndyBinder this
         0: .line 76
            aload 0 /* this */
            invokespecial javax.annotation.processing.AbstractProcessor.<init>:()V
         1: .line 86
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.jruby.anno.IndyBinder.classNames:Ljava/util/List;
         2: .line 76
            return
        end local 0 // org.jruby.anno.IndyBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/anno/IndyBinder;

  public boolean process(java.util.Set<? extends javax.lang.model.element.TypeElement>, javax.annotation.processing.RoundEnvironment);
    descriptor: (Ljava/util/Set;Ljavax/annotation/processing/RoundEnvironment;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.jruby.anno.IndyBinder this
        start local 1 // java.util.Set typeElements
        start local 2 // javax.annotation.processing.RoundEnvironment roundEnvironment
         0: .line 92
            aload 2 /* roundEnvironment */
            invokeinterface javax.annotation.processing.RoundEnvironment.getRootElements:()Ljava/util/Set;
            invokestatic javax.lang.model.util.ElementFilter.typesIn:(Ljava/util/Set;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 3
      StackMap locals: org.jruby.anno.IndyBinder java.util.Set javax.annotation.processing.RoundEnvironment top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.TypeElement
            astore 3 /* element */
        start local 3 // javax.lang.model.element.TypeElement element
         2: .line 93
            aload 0 /* this */
            aload 3 /* element */
            invokevirtual org.jruby.anno.IndyBinder.processType:(Ljavax/lang/model/element/TypeElement;)V
        end local 3 // javax.lang.model.element.TypeElement element
         3: .line 92
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 97
            new java.io.FileWriter
            dup
            ldc "target/generated-sources/annotated_classes.txt"
            invokespecial java.io.FileWriter.<init>:(Ljava/lang/String;)V
            astore 3 /* fw */
        start local 3 // java.io.FileWriter fw
         5: .line 98
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.classNames:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.jruby.anno.IndyBinder java.util.Set javax.annotation.processing.RoundEnvironment java.io.FileWriter top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.CharSequence
            astore 4 /* name */
        start local 4 // java.lang.CharSequence name
         7: .line 99
            aload 3 /* fw */
            aload 4 /* name */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
         8: .line 100
            aload 3 /* fw */
            bipush 10
            invokevirtual java.io.FileWriter.write:(I)V
        end local 4 // java.lang.CharSequence name
         9: .line 98
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 102
            aload 3 /* fw */
            invokevirtual java.io.FileWriter.close:()V
        end local 3 // java.io.FileWriter fw
        11: .line 103
            goto 14
      StackMap locals: org.jruby.anno.IndyBinder java.util.Set javax.annotation.processing.RoundEnvironment
      StackMap stack: java.lang.Exception
        12: astore 3 /* e */
        start local 3 // java.lang.Exception e
        13: .line 104
            new java.lang.RuntimeException
            dup
            aload 3 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        14: .line 107
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // javax.annotation.processing.RoundEnvironment roundEnvironment
        end local 1 // java.util.Set typeElements
        end local 0 // org.jruby.anno.IndyBinder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Lorg/jruby/anno/IndyBinder;
            0   15     1      typeElements  Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;
            0   15     2  roundEnvironment  Ljavax/annotation/processing/RoundEnvironment;
            2    3     3           element  Ljavax/lang/model/element/TypeElement;
            5   11     3                fw  Ljava/io/FileWriter;
            7    9     4              name  Ljava/lang/CharSequence;
           13   14     3                 e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4    11      12  Class java.lang.Exception
    Signature: (Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;Ljavax/annotation/processing/RoundEnvironment;)Z
    MethodParameters:
                  Name  Flags
      typeElements      
      roundEnvironment  

  public javax.lang.model.SourceVersion getSupportedSourceVersion();
    descriptor: ()Ljavax/lang/model/SourceVersion;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.anno.IndyBinder this
         0: .line 112
            invokestatic javax.lang.model.SourceVersion.latest:()Ljavax/lang/model/SourceVersion;
            areturn
        end local 0 // org.jruby.anno.IndyBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/anno/IndyBinder;

  public void processType(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.anno.IndyBinder this
         0: .line 130
            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\tOpcodes 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\tACC_STATIC cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.anno.IndyBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/anno/IndyBinder;
    MethodParameters:
      Name  Flags
      cd    

  public void emitIndexCode(java.lang.Integer, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.anno.IndyBinder this
        start local 1 // java.lang.Integer bits
        start local 2 // java.lang.String names
        start local 3 // java.lang.String methodName
         0: .line 302
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            aload 1 /* bits */
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.pushInt:(I)V
         1: .line 303
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            aload 2 /* names */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
         2: .line 304
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            ldc "org/jruby/runtime/MethodIndex"
            aload 3 /* methodName */
            ldc "(ILjava/lang/String;)V"
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         3: .line 305
            return
        end local 3 // java.lang.String methodName
        end local 2 // java.lang.String names
        end local 1 // java.lang.Integer bits
        end local 0 // org.jruby.anno.IndyBinder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/jruby/anno/IndyBinder;
            0    4     1        bits  Ljava/lang/Integer;
            0    4     2       names  Ljava/lang/String;
            0    4     3  methodName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      bits        
      names       
      methodName  

  public void processMethodDeclarations(java.util.Map<java.lang.CharSequence, java.util.List<javax.lang.model.element.ExecutableElement>>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.jruby.anno.IndyBinder this
        start local 1 // java.util.Map declarations
         0: .line 308
            aload 1 /* declarations */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: org.jruby.anno.IndyBinder java.util.Map top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         2: .line 309
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* list */
        start local 4 // java.util.List list
         3: .line 311
            aload 4 /* list */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 6
         4: .line 313
            aload 0 /* this */
            aload 4 /* list */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            invokevirtual org.jruby.anno.IndyBinder.processMethodDeclaration:(Ljavax/lang/model/element/ExecutableElement;)V
         5: .line 314
            goto 7
         6: .line 316
      StackMap locals: org.jruby.anno.IndyBinder java.util.Map java.util.Map$Entry java.util.Iterator java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 4 /* list */
            invokevirtual org.jruby.anno.IndyBinder.processMethodDeclarationMulti:(Ljava/util/List;)V
        end local 4 // java.util.List list
        end local 2 // java.util.Map$Entry entry
         7: .line 308
      StackMap locals: org.jruby.anno.IndyBinder java.util.Map top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 319
            return
        end local 1 // java.util.Map declarations
        end local 0 // org.jruby.anno.IndyBinder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/jruby/anno/IndyBinder;
            0    9     1  declarations  Ljava/util/Map<Ljava/lang/CharSequence;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;>;
            2    7     2         entry  Ljava/util/Map$Entry<Ljava/lang/CharSequence;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;>;
            3    7     4          list  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
    Signature: (Ljava/util/Map<Ljava/lang/CharSequence;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;>;)V
    MethodParameters:
              Name  Flags
      declarations  

  public void processMethodDeclaration(javax.lang.model.element.ExecutableElement);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.anno.IndyBinder this
        start local 1 // javax.lang.model.element.ExecutableElement method
         0: .line 322
            aload 0 /* this */
            iconst_1
            anewarray javax.lang.model.element.ExecutableElement
            dup
            iconst_0
            aload 1 /* method */
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual org.jruby.anno.IndyBinder.processMethodDeclarationMulti:(Ljava/util/List;)V
         1: .line 323
            return
        end local 1 // javax.lang.model.element.ExecutableElement method
        end local 0 // org.jruby.anno.IndyBinder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jruby/anno/IndyBinder;
            0    2     1  method  Ljavax/lang/model/element/ExecutableElement;
    MethodParameters:
        Name  Flags
      method  

  public static long getEncodedSignature(org.jruby.anno.JRubyMethod);
    descriptor: (Lorg/jruby/anno/JRubyMethod;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.jruby.anno.JRubyMethod anno
         0: .line 326
            aload 0 /* anno */
            invokeinterface org.jruby.anno.JRubyMethod.required:()I
            aload 0 /* anno */
            invokeinterface org.jruby.anno.JRubyMethod.optional:()I
            iconst_0
            iconst_0
            iconst_0
            aload 0 /* anno */
            invokeinterface org.jruby.anno.JRubyMethod.rest:()Z
            iconst_0
            invokestatic org.jruby.anno.IndyBinder.encodeSignature:(IIIIIZZ)J
            lreturn
        end local 0 // org.jruby.anno.JRubyMethod anno
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  anno  Lorg/jruby/anno/JRubyMethod;
    MethodParameters:
      Name  Flags
      anno  

  public void processMethodDeclarationMulti(java.util.List<javax.lang.model.element.ExecutableElement>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.anno.IndyBinder this
         0: .line 330
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tHandle cannot be resolved to a type\n\tHandle cannot be resolved to a type\n\tHandle cannot be resolved to a type\n\tHandle cannot be resolved to a type\n\tHandle cannot be resolved to a type\n\tH_INVOKESTATIC cannot be resolved to a variable\n\tH_INVOKEVIRTUAL cannot be resolved to a variable\n\tMethod cannot be resolved\n\tMethod cannot be resolved to a type\n\tMethod cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.anno.IndyBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/anno/IndyBinder;
    Signature: (Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;)V
    MethodParameters:
         Name  Flags
      methods  

  public void adaptHandle(org.jruby.anno.ExecutableElementDescriptor, int);
    descriptor: (Lorg/jruby/anno/ExecutableElementDescriptor;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.anno.IndyBinder this
         0: .line 435
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tType cannot be resolved\n\tMethod cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.jruby.anno.IndyBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/anno/IndyBinder;
    MethodParameters:
                             Name  Flags
      executableElementDescriptor  
      implClass                    

  private void addCoreMethodMapping(javax.lang.model.element.TypeElement, java.util.Map<java.lang.CharSequence, java.util.List<javax.lang.model.element.ExecutableElement>>);
    descriptor: (Ljavax/lang/model/element/TypeElement;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.jruby.anno.IndyBinder this
        start local 1 // javax.lang.model.element.TypeElement cls
        start local 2 // java.util.Map complexNames
         0: .line 445
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* encoded */
        start local 3 // java.lang.StringBuilder encoded
         1: .line 447
            aload 2 /* complexNames */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.Map java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         3: .line 449
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6 /* iterator */
        start local 6 // java.util.Iterator iterator
         4: goto 11
         5: .line 450
      StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.Map java.lang.StringBuilder java.util.Map$Entry java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 3 /* encoded */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 6
            aload 3 /* encoded */
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 452
      StackMap locals:
      StackMap stack:
            aload 6 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            astore 7 /* elt */
        start local 7 // javax.lang.model.element.ExecutableElement elt
         7: .line 453
            aload 3 /* encoded */
         8: .line 454
            aload 7 /* elt */
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
         9: .line 455
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 456
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.CharSequence
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
        end local 7 // javax.lang.model.element.ExecutableElement elt
        11: .line 449
      StackMap locals:
      StackMap stack:
            aload 6 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 6 // java.util.Iterator iterator
        end local 4 // java.util.Map$Entry entry
        12: .line 447
      StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.Map java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        13: .line 460
            aload 3 /* encoded */
            invokevirtual java.lang.StringBuilder.length:()I
            ifne 14
            return
        14: .line 462
      StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.Map java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            iconst_5
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
        15: .line 463
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            aload 1 /* cls */
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
        16: .line 464
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            aload 3 /* encoded */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
        17: .line 465
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            ldc "org/jruby/Ruby"
            ldc "addBoundMethodsPacked"
            ldc "(Ljava/lang/String;Ljava/lang/String;)V"
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        18: .line 466
            return
        end local 3 // java.lang.StringBuilder encoded
        end local 2 // java.util.Map complexNames
        end local 1 // javax.lang.model.element.TypeElement cls
        end local 0 // org.jruby.anno.IndyBinder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lorg/jruby/anno/IndyBinder;
            0   19     1           cls  Ljavax/lang/model/element/TypeElement;
            0   19     2  complexNames  Ljava/util/Map<Ljava/lang/CharSequence;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;>;
            1   19     3       encoded  Ljava/lang/StringBuilder;
            3   12     4         entry  Ljava/util/Map$Entry<Ljava/lang/CharSequence;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;>;
            4   12     6      iterator  Ljava/util/Iterator<Ljavax/lang/model/element/ExecutableElement;>;
            7   11     7           elt  Ljavax/lang/model/element/ExecutableElement;
    Signature: (Ljavax/lang/model/element/TypeElement;Ljava/util/Map<Ljava/lang/CharSequence;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;>;)V
    MethodParameters:
              Name  Flags
      cls           
      complexNames  

  private void addSimpleMethodMappings(javax.lang.model.element.TypeElement, java.util.List<javax.lang.model.element.ExecutableElement>);
    descriptor: (Ljavax/lang/model/element/TypeElement;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.anno.IndyBinder this
        start local 1 // javax.lang.model.element.TypeElement cls
        start local 2 // java.util.List simpleNames
         0: .line 469
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* encoded */
        start local 3 // java.lang.StringBuilder encoded
         1: .line 470
            aload 2 /* simpleNames */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.List java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            astore 4 /* elt */
        start local 4 // javax.lang.model.element.ExecutableElement elt
         3: .line 471
            aload 3 /* encoded */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 4
            aload 3 /* encoded */
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 472
      StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.List java.lang.StringBuilder javax.lang.model.element.ExecutableElement java.util.Iterator
      StackMap stack:
            aload 3 /* encoded */
            aload 4 /* elt */
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
        end local 4 // javax.lang.model.element.ExecutableElement elt
         5: .line 470
      StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.List java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 475
            aload 3 /* encoded */
            invokevirtual java.lang.StringBuilder.length:()I
            ifne 7
            return
         7: .line 477
      StackMap locals: org.jruby.anno.IndyBinder javax.lang.model.element.TypeElement java.util.List java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            iconst_5
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
         8: .line 478
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            aload 1 /* cls */
            invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
         9: .line 479
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            aload 3 /* encoded */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
        10: .line 480
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            ldc "org/jruby/Ruby"
            ldc "addSimpleBoundMethodsPacked"
            ldc "(Ljava/lang/String;Ljava/lang/String;)V"
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        11: .line 481
            return
        end local 3 // java.lang.StringBuilder encoded
        end local 2 // java.util.List simpleNames
        end local 1 // javax.lang.model.element.TypeElement cls
        end local 0 // org.jruby.anno.IndyBinder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/jruby/anno/IndyBinder;
            0   12     1          cls  Ljavax/lang/model/element/TypeElement;
            0   12     2  simpleNames  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
            1   12     3      encoded  Ljava/lang/StringBuilder;
            3    5     4          elt  Ljavax/lang/model/element/ExecutableElement;
    Signature: (Ljavax/lang/model/element/TypeElement;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;)V
    MethodParameters:
             Name  Flags
      cls          
      simpleNames  

  private static java.lang.CharSequence getActualQualifiedName(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/lang/CharSequence;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.lang.model.element.TypeElement td
         0: .line 484
            aload 0 /* td */
            invokeinterface javax.lang.model.element.TypeElement.getNestingKind:()Ljavax/lang/model/element/NestingKind;
            getstatic javax.lang.model.element.NestingKind.MEMBER:Ljavax/lang/model/element/NestingKind;
            if_acmpne 2
         1: .line 485
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* td */
            invokeinterface javax.lang.model.element.TypeElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            invokestatic org.jruby.anno.IndyBinder.getActualQualifiedName:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "$"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* td */
            invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 487
      StackMap locals:
      StackMap stack:
            aload 0 /* td */
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            areturn
        end local 0 // javax.lang.model.element.TypeElement td
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    td  Ljavax/lang/model/element/TypeElement;
    MethodParameters:
      Name  Flags
      td    

  public static long encodeSignature(int, int, int, int, int, boolean, boolean);
    descriptor: (IIIIIZZ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // int pre
        start local 1 // int opt
        start local 2 // int post
        start local 3 // int kwargs
        start local 4 // int requiredKwargs
        start local 5 // boolean rest
        start local 6 // boolean restKwargs
         0: .line 504
            iload 0 /* pre */
            i2l
            bipush 41
            lshl
         1: .line 505
            iload 1 /* opt */
            i2l
            bipush 33
            lshl
         2: .line 504
            lor
         3: .line 506
            iload 2 /* post */
            i2l
            bipush 25
            lshl
         4: .line 504
            lor
         5: .line 507
            iload 3 /* kwargs */
            i2l
            bipush 17
            lshl
         6: .line 504
            lor
         7: .line 508
            iload 4 /* requiredKwargs */
            i2l
            bipush 9
            lshl
         8: .line 504
            lor
         9: .line 509
            iload 5 /* rest */
            ifeq 10
            iconst_1
            goto 11
      StackMap locals:
      StackMap stack: long
        10: iconst_0
      StackMap locals: int int int int int int int
      StackMap stack: long int
        11: iconst_1
            ishl
            i2l
        12: .line 504
            lor
        13: .line 510
            iload 6 /* restKwargs */
            ifeq 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack: long
        14: iconst_0
      StackMap locals: int int int int int int int
      StackMap stack: long int
        15: iconst_0
            ishl
            i2l
        16: .line 504
            lor
        17: .line 503
            lreturn
        end local 6 // boolean restKwargs
        end local 5 // boolean rest
        end local 4 // int requiredKwargs
        end local 3 // int kwargs
        end local 2 // int post
        end local 1 // int opt
        end local 0 // int pre
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0             pre  I
            0   18     1             opt  I
            0   18     2            post  I
            0   18     3          kwargs  I
            0   18     4  requiredKwargs  I
            0   18     5            rest  Z
            0   18     6      restKwargs  Z
    MethodParameters:
                Name  Flags
      pre             
      opt             
      post            
      kwargs          
      requiredKwargs  
      rest            
      restKwargs      

  private static int calculateActualRequired(javax.lang.model.element.ExecutableElement, int, int, boolean, boolean, boolean, boolean);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;IIZZZZ)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=7
        start local 0 // javax.lang.model.element.ExecutableElement md
        start local 1 // int paramsLength
        start local 2 // int optional
        start local 3 // boolean rest
        start local 4 // boolean isStatic
        start local 5 // boolean hasContext
        start local 6 // boolean hasBlock
         0: .line 515
            iload 2 /* optional */
            ifne 13
            iload 3 /* rest */
            ifne 13
         1: .line 516
            iload 1 /* paramsLength */
            istore 8 /* args */
        start local 8 // int args
         2: .line 517
            iload 8 /* args */
            ifne 5
         3: .line 518
            iconst_0
            istore 7 /* actualRequired */
        start local 7 // int actualRequired
         4: .line 519
            goto 29
        end local 7 // int actualRequired
         5: .line 520
      StackMap locals: javax.lang.model.element.ExecutableElement int int int int int int top int
      StackMap stack:
            iload 4 /* isStatic */
            ifeq 7
         6: .line 521
            iinc 8 /* args */ -1
         7: .line 523
      StackMap locals:
      StackMap stack:
            iload 5 /* hasContext */
            ifeq 9
         8: .line 524
            iinc 8 /* args */ -1
         9: .line 526
      StackMap locals:
      StackMap stack:
            iload 6 /* hasBlock */
            ifeq 11
        10: .line 527
            iinc 8 /* args */ -1
        11: .line 529
      StackMap locals:
      StackMap stack:
            iload 8 /* args */
            istore 7 /* actualRequired */
        end local 8 // int args
        start local 7 // int actualRequired
        12: .line 531
            goto 29
        end local 7 // int actualRequired
        13: .line 534
      StackMap locals: javax.lang.model.element.ExecutableElement int int int int int int
      StackMap stack:
            iload 1 /* paramsLength */
            istore 8 /* args */
        start local 8 // int args
        14: .line 535
            iload 8 /* args */
            ifne 17
        15: .line 536
            iconst_0
            istore 7 /* actualRequired */
        start local 7 // int actualRequired
        16: .line 537
            goto 25
        end local 7 // int actualRequired
        17: .line 538
      StackMap locals: javax.lang.model.element.ExecutableElement int int int int int int top int
      StackMap stack:
            iload 4 /* isStatic */
            ifeq 19
        18: .line 539
            iinc 8 /* args */ -1
        19: .line 541
      StackMap locals:
      StackMap stack:
            iload 5 /* hasContext */
            ifeq 21
        20: .line 542
            iinc 8 /* args */ -1
        21: .line 544
      StackMap locals:
      StackMap stack:
            iload 6 /* hasBlock */
            ifeq 23
        22: .line 545
            iinc 8 /* args */ -1
        23: .line 547
      StackMap locals:
      StackMap stack:
            iinc 8 /* args */ -1
        24: .line 550
            iload 8 /* args */
            istore 7 /* actualRequired */
        start local 7 // int actualRequired
        25: .line 553
      StackMap locals: javax.lang.model.element.ExecutableElement int int int int int int int int
      StackMap stack:
            iload 7 /* actualRequired */
            ifeq 29
        26: .line 554
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Combining specific args with IRubyObject[] is not yet supported: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        27: .line 555
            aload 0 /* md */
            invokeinterface javax.lang.model.element.ExecutableElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* md */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 554
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // int args
        29: .line 559
      StackMap locals:
      StackMap stack:
            iload 7 /* actualRequired */
            ireturn
        end local 7 // int actualRequired
        end local 6 // boolean hasBlock
        end local 5 // boolean hasContext
        end local 4 // boolean isStatic
        end local 3 // boolean rest
        end local 2 // int optional
        end local 1 // int paramsLength
        end local 0 // javax.lang.model.element.ExecutableElement md
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   30     0              md  Ljavax/lang/model/element/ExecutableElement;
            0   30     1    paramsLength  I
            0   30     2        optional  I
            0   30     3            rest  Z
            0   30     4        isStatic  Z
            0   30     5      hasContext  Z
            0   30     6        hasBlock  Z
            4    5     7  actualRequired  I
           12   13     7  actualRequired  I
           16   17     7  actualRequired  I
           25   30     7  actualRequired  I
            2   12     8            args  I
           14   29     8            args  I
    MethodParameters:
              Name  Flags
      md            
      paramsLength  
      optional      
      rest          
      isStatic      
      hasContext    
      hasBlock      

  private static int calculateHandleOffset(int, int, int, boolean, boolean, boolean, boolean);
    descriptor: (IIIZZZZ)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=7
        start local 0 // int paramsLength
        start local 1 // int required
        start local 2 // int optional
        start local 3 // boolean rest
        start local 4 // boolean isStatic
        start local 5 // boolean hasContext
        start local 6 // boolean hasBlock
         0: .line 563
            iload 1 /* required */
            iconst_4
            if_icmpge 11
            iload 2 /* optional */
            ifne 11
            iload 3 /* rest */
            ifne 11
         1: .line 564
            iload 0 /* paramsLength */
            istore 7 /* args */
        start local 7 // int args
         2: .line 565
            iload 7 /* args */
            ifne 4
         3: .line 566
            iconst_0
            ireturn
         4: .line 568
      StackMap locals: int
      StackMap stack:
            iload 4 /* isStatic */
            ifeq 6
         5: .line 569
            iinc 7 /* args */ -1
         6: .line 571
      StackMap locals:
      StackMap stack:
            iload 5 /* hasContext */
            ifeq 8
         7: .line 572
            iinc 7 /* args */ -1
         8: .line 574
      StackMap locals:
      StackMap stack:
            iload 6 /* hasBlock */
            ifeq 10
         9: .line 575
            iinc 7 /* args */ -1
        10: .line 577
      StackMap locals:
      StackMap stack:
            iload 7 /* args */
            ireturn
        end local 7 // int args
        11: .line 580
      StackMap locals:
      StackMap stack:
            iconst_4
            ireturn
        end local 6 // boolean hasBlock
        end local 5 // boolean hasContext
        end local 4 // boolean isStatic
        end local 3 // boolean rest
        end local 2 // int optional
        end local 1 // int required
        end local 0 // int paramsLength
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0  paramsLength  I
            0   12     1      required  I
            0   12     2      optional  I
            0   12     3          rest  Z
            0   12     4      isStatic  Z
            0   12     5    hasContext  Z
            0   12     6      hasBlock  Z
            2   11     7          args  I
    MethodParameters:
              Name  Flags
      paramsLength  
      required      
      optional      
      rest          
      isStatic      
      hasContext    
      hasBlock      

  public void generateMethodAddCalls(javax.lang.model.element.ExecutableElement, org.jruby.anno.JRubyMethod);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;Lorg/jruby/anno/JRubyMethod;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.jruby.anno.IndyBinder this
        start local 1 // javax.lang.model.element.ExecutableElement md
        start local 2 // org.jruby.anno.JRubyMethod jrubyMethod
         0: .line 585
            aload 2 /* jrubyMethod */
            invokeinterface org.jruby.anno.JRubyMethod.name:()[Ljava/lang/String;
            astore 3 /* names */
        start local 3 // java.lang.String[] names
         1: .line 586
            aload 2 /* jrubyMethod */
            invokeinterface org.jruby.anno.JRubyMethod.alias:()[Ljava/lang/String;
            astore 4 /* aliases */
        start local 4 // java.lang.String[] aliases
         2: .line 587
            aload 2 /* jrubyMethod */
            invokeinterface org.jruby.anno.JRubyMethod.meta:()Z
            ifeq 5
         3: .line 588
            aload 0 /* this */
            iconst_3
            bipush 6
            aload 3 /* names */
            aload 4 /* aliases */
            aload 1 /* md */
            invokevirtual org.jruby.anno.IndyBinder.defineMethodOnClass:(II[Ljava/lang/String;[Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;)V
         4: .line 589
            goto 12
         5: .line 590
      StackMap locals: java.lang.String[] java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            iconst_3
            iconst_1
            aload 3 /* names */
            aload 4 /* aliases */
            aload 1 /* md */
            invokevirtual org.jruby.anno.IndyBinder.defineMethodOnClass:(II[Ljava/lang/String;[Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;)V
         6: .line 591
            aload 2 /* jrubyMethod */
            invokeinterface org.jruby.anno.JRubyMethod.module:()Z
            ifeq 12
         7: .line 592
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            iconst_1
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
         8: .line 593
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            iconst_3
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
         9: .line 594
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            ldc "org/jruby/anno/TypePopulator"
            ldc "populateModuleMethod"
            ldc "(Lorg/jruby/RubyModule;Lorg/jruby/internal/runtime/methods/DynamicMethod;)Lorg/jruby/internal/runtime/methods/DynamicMethod;"
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        10: .line 595
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            iconst_4
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.astore:(I)V
        11: .line 596
            aload 0 /* this */
            iconst_4
            bipush 6
            aload 3 /* names */
            aload 4 /* aliases */
            aload 1 /* md */
            invokevirtual org.jruby.anno.IndyBinder.defineMethodOnClass:(II[Ljava/lang/String;[Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;)V
        12: .line 599
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String[] aliases
        end local 3 // java.lang.String[] names
        end local 2 // org.jruby.anno.JRubyMethod jrubyMethod
        end local 1 // javax.lang.model.element.ExecutableElement md
        end local 0 // org.jruby.anno.IndyBinder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lorg/jruby/anno/IndyBinder;
            0   13     1           md  Ljavax/lang/model/element/ExecutableElement;
            0   13     2  jrubyMethod  Lorg/jruby/anno/JRubyMethod;
            1   13     3        names  [Ljava/lang/String;
            2   13     4      aliases  [Ljava/lang/String;
    MethodParameters:
             Name  Flags
      md           
      jrubyMethod  

  private void defineMethodOnClass(int, int, java.lang.String[], java.lang.String[], javax.lang.model.element.ExecutableElement);
    descriptor: (II[Ljava/lang/String;[Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=6
        start local 0 // org.jruby.anno.IndyBinder this
        start local 1 // int methodVar
        start local 2 // int classVar
        start local 3 // java.lang.String[] names
        start local 4 // java.lang.String[] aliases
        start local 5 // javax.lang.model.element.ExecutableElement md
         0: .line 603
            aload 3 /* names */
            arraylength
            ifne 7
         1: .line 604
            aload 5 /* md */
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            astore 6 /* baseName */
        start local 6 // java.lang.String baseName
         2: .line 605
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            iload 2 /* classVar */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
         3: .line 606
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            aload 6 /* baseName */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
         4: .line 607
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            iload 1 /* methodVar */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
         5: .line 608
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            ldc "org/jruby/RubyModule"
            ldc "addMethodAtBootTimeOnly"
            ldc "(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V"
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         6: .line 609
            goto 16
        end local 6 // java.lang.String baseName
         7: .line 610
      StackMap locals:
      StackMap stack:
            aload 3 /* names */
            iconst_0
            aaload
            astore 6 /* baseName */
        start local 6 // java.lang.String baseName
         8: .line 611
            aload 3 /* names */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 15
      StackMap locals: org.jruby.anno.IndyBinder int int java.lang.String[] java.lang.String[] javax.lang.model.element.ExecutableElement java.lang.String top int int java.lang.String[]
      StackMap stack:
         9: aload 10
            iload 8
            aaload
            astore 7 /* name */
        start local 7 // java.lang.String name
        10: .line 612
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            iload 2 /* classVar */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
        11: .line 613
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            aload 7 /* name */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
        12: .line 614
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            iload 1 /* methodVar */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
        13: .line 615
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            ldc "org/jruby/RubyModule"
            ldc "addMethodAtBootTimeOnly"
            ldc "(Ljava/lang/String;Lorg/jruby/internal/runtime/methods/DynamicMethod;)V"
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 7 // java.lang.String name
        14: .line 611
            iinc 8 1
      StackMap locals:
      StackMap stack:
        15: iload 8
            iload 9
            if_icmplt 9
        16: .line 619
      StackMap locals: org.jruby.anno.IndyBinder int int java.lang.String[] java.lang.String[] javax.lang.model.element.ExecutableElement java.lang.String
      StackMap stack:
            aload 4 /* aliases */
            arraylength
            ifle 25
        17: .line 620
            aload 4 /* aliases */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 24
      StackMap locals: org.jruby.anno.IndyBinder int int java.lang.String[] java.lang.String[] javax.lang.model.element.ExecutableElement java.lang.String top int int java.lang.String[]
      StackMap stack:
        18: aload 10
            iload 8
            aaload
            astore 7 /* alias */
        start local 7 // java.lang.String alias
        19: .line 621
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            iload 2 /* classVar */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.aload:(I)V
        20: .line 622
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            aload 7 /* alias */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
        21: .line 623
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            aload 6 /* baseName */
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.ldc:(Ljava/lang/Object;)V
        22: .line 624
            aload 0 /* this */
            getfield org.jruby.anno.IndyBinder.mv:Lorg/jruby/compiler/impl/SkinnyMethodAdapter;
            ldc "org/jruby/RubyModule"
            ldc "defineAlias"
            ldc "(Ljava/lang/String;Ljava/lang/String;)V"
            invokevirtual org.jruby.compiler.impl.SkinnyMethodAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 7 // java.lang.String alias
        23: .line 620
            iinc 8 1
      StackMap locals:
      StackMap stack:
        24: iload 8
            iload 9
            if_icmplt 18
        25: .line 627
      StackMap locals: org.jruby.anno.IndyBinder int int java.lang.String[] java.lang.String[] javax.lang.model.element.ExecutableElement java.lang.String
      StackMap stack:
            return
        end local 6 // java.lang.String baseName
        end local 5 // javax.lang.model.element.ExecutableElement md
        end local 4 // java.lang.String[] aliases
        end local 3 // java.lang.String[] names
        end local 2 // int classVar
        end local 1 // int methodVar
        end local 0 // org.jruby.anno.IndyBinder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   26     0       this  Lorg/jruby/anno/IndyBinder;
            0   26     1  methodVar  I
            0   26     2   classVar  I
            0   26     3      names  [Ljava/lang/String;
            0   26     4    aliases  [Ljava/lang/String;
            0   26     5         md  Ljavax/lang/model/element/ExecutableElement;
            2    7     6   baseName  Ljava/lang/String;
            8   26     6   baseName  Ljava/lang/String;
           10   14     7       name  Ljava/lang/String;
           19   23     7      alias  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      methodVar  
      classVar   
      names      final
      aliases    final
      md         
}
SourceFile: "IndyBinder.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
    RuntimeVisibleAnnotations: 
      javax.annotation.processing.SupportedAnnotationTypes(value = {"org.jruby.anno.JRubyMethod"})