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

  public static java.lang.String c(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String p
         0: .line 29
            aload 0 /* p */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     p  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      p     

  public static java.lang.String p(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class n
         0: .line 36
            aload 0 /* n */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Class n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  Ljava/lang/Class;
    MethodParameters:
      Name  Flags
      n     

  public static java.lang.String ci(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Class n
         0: .line 43
            aload 0 /* n */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 21
         1: .line 44
            aload 0 /* n */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 0 /* n */
         2: .line 45
            aload 0 /* n */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 20
         3: .line 46
            aload 0 /* n */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 5
         4: .line 47
            ldc "[B"
            areturn
         5: .line 48
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 7
         6: .line 49
            ldc "[Z"
            areturn
         7: .line 50
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 9
         8: .line 51
            ldc "[S"
            areturn
         9: .line 52
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 11
        10: .line 53
            ldc "[C"
            areturn
        11: .line 54
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 13
        12: .line 55
            ldc "[I"
            areturn
        13: .line 56
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 15
        14: .line 57
            ldc "[F"
            areturn
        15: .line 58
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 17
        16: .line 59
            ldc "[D"
            areturn
        17: .line 60
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 19
        18: .line 61
            ldc "[J"
            areturn
        19: .line 63
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized type in compiler: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* n */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 66
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 91
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* n */
            invokestatic org.jruby.util.CodegenUtils.ci:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        21: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 41
        22: .line 70
            aload 0 /* n */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 24
        23: .line 71
            ldc "B"
            areturn
        24: .line 72
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 26
        25: .line 73
            ldc "Z"
            areturn
        26: .line 74
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 28
        27: .line 75
            ldc "S"
            areturn
        28: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 30
        29: .line 77
            ldc "C"
            areturn
        30: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 32
        31: .line 79
            ldc "I"
            areturn
        32: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 34
        33: .line 81
            ldc "F"
            areturn
        34: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 36
        35: .line 83
            ldc "D"
            areturn
        36: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 38
        37: .line 85
            ldc "J"
            areturn
        38: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* n */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 40
        39: .line 87
            ldc "V"
            areturn
        40: .line 89
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized type in compiler: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* n */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 92
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 76
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* n */
            invokestatic org.jruby.util.CodegenUtils.p:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 59
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Class n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   42     0     n  Ljava/lang/Class;
    MethodParameters:
      Name  Flags
      n     

  public static java.lang.String human(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class n
         0: .line 101
            aload 0 /* n */
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Class n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  Ljava/lang/Class;
    MethodParameters:
      Name  Flags
      n     

  public static java.lang.String humanShort(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class n
         0: .line 105
            aload 0 /* n */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Class n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  Ljava/lang/Class;
    MethodParameters:
      Name  Flags
      n     

  public static java.lang.String sig(java.lang.Class, java.lang.Class[]);
    descriptor: (Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Class retval
        start local 1 // java.lang.Class[] params
         0: .line 112
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aconst_null
            aload 1 /* params */
            invokestatic org.jruby.util.CodegenUtils.sigParams:(Ljava/lang/StringBuilder;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/StringBuilder;
            aload 0 /* retval */
            invokestatic org.jruby.util.CodegenUtils.ci:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.Class[] params
        end local 0 // java.lang.Class retval
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  retval  Ljava/lang/Class;
            0    1     1  params  [Ljava/lang/Class;
    MethodParameters:
        Name  Flags
      retval  
      params  

  public static java.lang.String sig(java.lang.Class[]);
    descriptor: ([Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class[] retvalParams
         0: .line 116
            aload 0 /* retvalParams */
            arraylength
            iconst_1
            isub
            anewarray java.lang.Class
            astore 1 /* justParams */
        start local 1 // java.lang.Class[] justParams
         1: .line 117
            aload 0 /* retvalParams */
            iconst_1
            aload 1 /* justParams */
            iconst_0
            aload 1 /* justParams */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 118
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aconst_null
            aload 1 /* justParams */
            invokestatic org.jruby.util.CodegenUtils.sigParams:(Ljava/lang/StringBuilder;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/StringBuilder;
            aload 0 /* retvalParams */
            iconst_0
            aaload
            invokestatic org.jruby.util.CodegenUtils.ci:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.Class[] justParams
        end local 0 // java.lang.Class[] retvalParams
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0  retvalParams  [Ljava/lang/Class;
            1    3     1    justParams  [Ljava/lang/Class;
    MethodParameters:
              Name  Flags
      retvalParams  

  public static java.lang.String sig(java.lang.Class, java.lang.String, java.lang.Class[]);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.Class retval
        start local 1 // java.lang.String descriptor
        start local 2 // java.lang.Class[] params
         0: .line 122
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* descriptor */
            aload 2 /* params */
            invokestatic org.jruby.util.CodegenUtils.sigParams:(Ljava/lang/StringBuilder;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/StringBuilder;
            aload 0 /* retval */
            invokestatic org.jruby.util.CodegenUtils.ci:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.Class[] params
        end local 1 // java.lang.String descriptor
        end local 0 // java.lang.Class retval
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0      retval  Ljava/lang/Class;
            0    1     1  descriptor  Ljava/lang/String;
            0    1     2      params  [Ljava/lang/Class;
    MethodParameters:
            Name  Flags
      retval      
      descriptor  
      params      

  public static java.lang.String sigParams(java.lang.Class[]);
    descriptor: ([Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class[] params
         0: .line 127
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aconst_null
            aload 0 /* params */
            invokestatic org.jruby.util.CodegenUtils.sigParams:(Ljava/lang/StringBuilder;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Class[] params
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  params  [Ljava/lang/Class;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      params  

  public static java.lang.String sigParams(java.lang.String, java.lang.Class[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String descriptor
        start local 1 // java.lang.Class[] params
         0: .line 132
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* descriptor */
            aload 1 /* params */
            invokestatic org.jruby.util.CodegenUtils.sigParams:(Ljava/lang/StringBuilder;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.Class[] params
        end local 0 // java.lang.String descriptor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  descriptor  Ljava/lang/String;
            0    1     1      params  [Ljava/lang/Class;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      descriptor  
      params      

  private static java.lang.StringBuilder sigParams(java.lang.StringBuilder, java.lang.String, java.lang.Class[]);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/StringBuilder;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.StringBuilder str
        start local 1 // java.lang.String descriptor
        start local 2 // java.lang.Class[] params
         0: .line 137
            aload 0 /* str */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         1: .line 138
            aload 1 /* descriptor */
            ifnull 2
            aload 0 /* str */
            aload 1 /* descriptor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 140
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 141
      StackMap locals: int
      StackMap stack:
            aload 0 /* str */
            aload 2 /* params */
            iload 3 /* i */
            aaload
            invokestatic org.jruby.util.CodegenUtils.ci:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 140
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* params */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 144
            aload 0 /* str */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            areturn
        end local 2 // java.lang.Class[] params
        end local 1 // java.lang.String descriptor
        end local 0 // java.lang.StringBuilder str
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0         str  Ljava/lang/StringBuilder;
            0    8     1  descriptor  Ljava/lang/String;
            0    8     2      params  [Ljava/lang/Class;
            3    7     3           i  I
    MethodParameters:
            Name  Flags
      str         final
      descriptor  final
      params      final

  public static java.lang.String pretty(java.lang.Class, java.lang.Class[]);
    descriptor: (Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class retval
        start local 1 // java.lang.Class[] params
         0: .line 148
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* params */
            invokestatic org.jruby.util.CodegenUtils.prettyParams:([Ljava/lang/Class;)Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            aload 0 /* retval */
            invokestatic org.jruby.util.CodegenUtils.human:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.Class[] params
        end local 0 // java.lang.Class retval
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  retval  Ljava/lang/Class;
            0    1     1  params  [Ljava/lang/Class;
    MethodParameters:
        Name  Flags
      retval  
      params  

  public static java.lang.CharSequence prettyParams(java.lang.Class[]);
    descriptor: ([Ljava/lang/Class;)Ljava/lang/CharSequence;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class[] types
         0: .line 152
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* types */
            invokestatic org.jruby.util.CodegenUtils.prettyParams:(Ljava/lang/StringBuilder;[Ljava/lang/Class;)Ljava/lang/StringBuilder;
            areturn
        end local 0 // java.lang.Class[] types
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  types  [Ljava/lang/Class;
    MethodParameters:
       Name  Flags
      types  final

  public static java.lang.StringBuilder prettyParams(java.lang.StringBuilder, java.lang.Class[]);
    descriptor: (Ljava/lang/StringBuilder;[Ljava/lang/Class;)Ljava/lang/StringBuilder;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.StringBuilder str
        start local 1 // java.lang.Class[] types
         0: .line 156
            aload 1 /* types */
            arraylength
            iconst_1
            isub
            istore 2 /* len1 */
        start local 2 // int len1
         1: .line 157
            aload 0 /* str */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 159
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 7
         4: .line 160
      StackMap locals: int int
      StackMap stack:
            aload 0 /* str */
            aload 1 /* types */
            iload 3 /* i */
            aaload
            invokestatic org.jruby.util.CodegenUtils.human:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 161
            iload 3 /* i */
            iload 2 /* len1 */
            if_icmpge 6
            aload 0 /* str */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 159
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 2 /* len1 */
            if_icmple 4
        end local 3 // int i
         8: .line 164
            aload 0 /* str */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            areturn
        end local 2 // int len1
        end local 1 // java.lang.Class[] types
        end local 0 // java.lang.StringBuilder str
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0    str  Ljava/lang/StringBuilder;
            0    9     1  types  [Ljava/lang/Class;
            1    9     2   len1  I
            3    8     3      i  I
    MethodParameters:
       Name  Flags
      str    final
      types  final

  public static java.lang.String prettyShortParams(java.lang.Class[]);
    descriptor: ([Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.Class[] types
         0: .line 168
            aload 0 /* types */
            arraylength
            iconst_1
            isub
            istore 1 /* len1 */
        start local 1 // int len1
         1: .line 170
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* signature */
        start local 2 // java.lang.StringBuilder signature
         2: .line 171
            aload 2 /* signature */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 173
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 174
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* signature */
            aload 0 /* types */
            iload 3 /* i */
            aaload
            invokestatic org.jruby.util.CodegenUtils.humanShort:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 175
            iload 3 /* i */
            iload 1 /* len1 */
            if_icmpge 7
            aload 2 /* signature */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 173
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* len1 */
            if_icmple 5
        end local 3 // int i
         9: .line 178
            aload 2 /* signature */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 179
            aload 2 /* signature */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder signature
        end local 1 // int len1
        end local 0 // java.lang.Class[] types
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0      types  [Ljava/lang/Class;
            1   11     1       len1  I
            2   11     2  signature  Ljava/lang/StringBuilder;
            4    9     3          i  I
    MethodParameters:
       Name  Flags
      types  final

  public static java.lang.Class[] params(java.lang.Class[]);
    descriptor: ([Ljava/lang/Class;)[Ljava/lang/Class;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class[] classes
         0: .line 183
            aload 0 /* classes */
            areturn
        end local 0 // java.lang.Class[] classes
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  classes  [Ljava/lang/Class;
    MethodParameters:
         Name  Flags
      classes  

  public static java.lang.Class[] params(java.lang.Class, int);
    descriptor: (Ljava/lang/Class;I)[Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Class cls
        start local 1 // int times
         0: .line 187
            iload 1 /* times */
            anewarray java.lang.Class
            astore 2 /* classes */
        start local 2 // java.lang.Class[] classes
         1: .line 188
            aload 2 /* classes */
            aload 0 /* cls */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 189
            aload 2 /* classes */
            areturn
        end local 2 // java.lang.Class[] classes
        end local 1 // int times
        end local 0 // java.lang.Class cls
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0      cls  Ljava/lang/Class;
            0    3     1    times  I
            1    3     2  classes  [Ljava/lang/Class;
    MethodParameters:
       Name  Flags
      cls    
      times  

  public static java.lang.Class[] params(java.lang.Class, java.lang.Class, int);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;I)[Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.lang.Class cls1
        start local 1 // java.lang.Class clsFill
        start local 2 // int times
         0: .line 193
            iload 2 /* times */
            iconst_1
            iadd
            anewarray java.lang.Class
            astore 3 /* classes */
        start local 3 // java.lang.Class[] classes
         1: .line 194
            aload 3 /* classes */
            iconst_1
            iconst_1
            iload 2 /* times */
            iadd
            aload 1 /* clsFill */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;IILjava/lang/Object;)V
         2: .line 195
            aload 3 /* classes */
            iconst_0
            aload 0 /* cls1 */
            aastore
         3: .line 196
            aload 3 /* classes */
            areturn
        end local 3 // java.lang.Class[] classes
        end local 2 // int times
        end local 1 // java.lang.Class clsFill
        end local 0 // java.lang.Class cls1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     cls1  Ljava/lang/Class;
            0    4     1  clsFill  Ljava/lang/Class;
            0    4     2    times  I
            1    4     3  classes  [Ljava/lang/Class;
    MethodParameters:
         Name  Flags
      cls1     
      clsFill  
      times    

  public static java.lang.Class[] params(java.lang.Class, java.lang.Class, java.lang.Class, int);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;I)[Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.lang.Class cls1
        start local 1 // java.lang.Class cls2
        start local 2 // java.lang.Class clsFill
        start local 3 // int times
         0: .line 200
            iload 3 /* times */
            iconst_2
            iadd
            anewarray java.lang.Class
            astore 4 /* classes */
        start local 4 // java.lang.Class[] classes
         1: .line 201
            aload 4 /* classes */
            iconst_2
            iconst_2
            iload 3 /* times */
            iadd
            aload 2 /* clsFill */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;IILjava/lang/Object;)V
         2: .line 202
            aload 4 /* classes */
            iconst_0
            aload 0 /* cls1 */
            aastore
         3: .line 203
            aload 4 /* classes */
            iconst_1
            aload 1 /* cls2 */
            aastore
         4: .line 204
            aload 4 /* classes */
            areturn
        end local 4 // java.lang.Class[] classes
        end local 3 // int times
        end local 2 // java.lang.Class clsFill
        end local 1 // java.lang.Class cls2
        end local 0 // java.lang.Class cls1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     cls1  Ljava/lang/Class;
            0    5     1     cls2  Ljava/lang/Class;
            0    5     2  clsFill  Ljava/lang/Class;
            0    5     3    times  I
            1    5     4  classes  [Ljava/lang/Class;
    MethodParameters:
         Name  Flags
      cls1     
      cls2     
      clsFill  
      times    

  public static java.lang.Class[] params(java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, int);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;I)[Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // java.lang.Class cls1
        start local 1 // java.lang.Class cls2
        start local 2 // java.lang.Class cls3
        start local 3 // java.lang.Class clsFill
        start local 4 // int times
         0: .line 208
            iload 4 /* times */
            iconst_3
            iadd
            anewarray java.lang.Class
            astore 5 /* classes */
        start local 5 // java.lang.Class[] classes
         1: .line 209
            aload 5 /* classes */
            iconst_3
            iconst_3
            iload 4 /* times */
            iadd
            aload 3 /* clsFill */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;IILjava/lang/Object;)V
         2: .line 210
            aload 5 /* classes */
            iconst_0
            aload 0 /* cls1 */
            aastore
         3: .line 211
            aload 5 /* classes */
            iconst_1
            aload 1 /* cls2 */
            aastore
         4: .line 212
            aload 5 /* classes */
            iconst_2
            aload 2 /* cls3 */
            aastore
         5: .line 213
            aload 5 /* classes */
            areturn
        end local 5 // java.lang.Class[] classes
        end local 4 // int times
        end local 3 // java.lang.Class clsFill
        end local 2 // java.lang.Class cls3
        end local 1 // java.lang.Class cls2
        end local 0 // java.lang.Class cls1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     cls1  Ljava/lang/Class;
            0    6     1     cls2  Ljava/lang/Class;
            0    6     2     cls3  Ljava/lang/Class;
            0    6     3  clsFill  Ljava/lang/Class;
            0    6     4    times  I
            1    6     5  classes  [Ljava/lang/Class;
    MethodParameters:
         Name  Flags
      cls1     
      cls2     
      cls3     
      clsFill  
      times    

  public static java.lang.Class[] params(java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, int);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;I)[Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // java.lang.Class cls1
        start local 1 // java.lang.Class cls2
        start local 2 // java.lang.Class cls3
        start local 3 // java.lang.Class cls4
        start local 4 // java.lang.Class clsFill
        start local 5 // int times
         0: .line 217
            iload 5 /* times */
            iconst_4
            iadd
            anewarray java.lang.Class
            astore 6 /* classes */
        start local 6 // java.lang.Class[] classes
         1: .line 218
            aload 6 /* classes */
            iconst_4
            iconst_4
            iload 5 /* times */
            iadd
            aload 4 /* clsFill */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;IILjava/lang/Object;)V
         2: .line 219
            aload 6 /* classes */
            iconst_0
            aload 0 /* cls1 */
            aastore
         3: .line 220
            aload 6 /* classes */
            iconst_1
            aload 1 /* cls2 */
            aastore
         4: .line 221
            aload 6 /* classes */
            iconst_2
            aload 2 /* cls3 */
            aastore
         5: .line 222
            aload 6 /* classes */
            iconst_3
            aload 3 /* cls4 */
            aastore
         6: .line 223
            aload 6 /* classes */
            areturn
        end local 6 // java.lang.Class[] classes
        end local 5 // int times
        end local 4 // java.lang.Class clsFill
        end local 3 // java.lang.Class cls4
        end local 2 // java.lang.Class cls3
        end local 1 // java.lang.Class cls2
        end local 0 // java.lang.Class cls1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     cls1  Ljava/lang/Class;
            0    7     1     cls2  Ljava/lang/Class;
            0    7     2     cls3  Ljava/lang/Class;
            0    7     3     cls4  Ljava/lang/Class;
            0    7     4  clsFill  Ljava/lang/Class;
            0    7     5    times  I
            1    7     6  classes  [Ljava/lang/Class;
    MethodParameters:
         Name  Flags
      cls1     
      cls2     
      cls3     
      cls4     
      clsFill  
      times    

  public static java.lang.Class[] params(java.lang.Class, java.lang.Class, int, java.lang.Class);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Class;)[Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.lang.Class cls1
        start local 1 // java.lang.Class clsFill
        start local 2 // int times
        start local 3 // java.lang.Class clsTail
         0: .line 227
            iload 2 /* times */
            iconst_2
            iadd
            anewarray java.lang.Class
            astore 4 /* classes */
        start local 4 // java.lang.Class[] classes
         1: .line 228
            aload 4 /* classes */
            iconst_1
            iconst_1
            iload 2 /* times */
            iadd
            aload 1 /* clsFill */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;IILjava/lang/Object;)V
         2: .line 229
            aload 4 /* classes */
            iconst_0
            aload 0 /* cls1 */
            aastore
         3: .line 230
            aload 4 /* classes */
            iload 2 /* times */
            iconst_1
            iadd
            aload 3 /* clsTail */
            aastore
         4: .line 231
            aload 4 /* classes */
            areturn
        end local 4 // java.lang.Class[] classes
        end local 3 // java.lang.Class clsTail
        end local 2 // int times
        end local 1 // java.lang.Class clsFill
        end local 0 // java.lang.Class cls1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     cls1  Ljava/lang/Class;
            0    5     1  clsFill  Ljava/lang/Class;
            0    5     2    times  I
            0    5     3  clsTail  Ljava/lang/Class;
            1    5     4  classes  [Ljava/lang/Class;
    MethodParameters:
         Name  Flags
      cls1     
      clsFill  
      times    
      clsTail  

  public static java.lang.Class[] params(java.lang.Class, java.lang.Class, java.lang.Class, int, java.lang.Class);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Class;)[Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // java.lang.Class cls1
        start local 1 // java.lang.Class cls2
        start local 2 // java.lang.Class clsFill
        start local 3 // int times
        start local 4 // java.lang.Class clsTail
         0: .line 235
            iload 3 /* times */
            iconst_3
            iadd
            anewarray java.lang.Class
            astore 5 /* classes */
        start local 5 // java.lang.Class[] classes
         1: .line 236
            aload 5 /* classes */
            iconst_2
            iconst_2
            iload 3 /* times */
            iadd
            aload 2 /* clsFill */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;IILjava/lang/Object;)V
         2: .line 237
            aload 5 /* classes */
            iconst_0
            aload 0 /* cls1 */
            aastore
         3: .line 238
            aload 5 /* classes */
            iconst_1
            aload 1 /* cls2 */
            aastore
         4: .line 239
            aload 5 /* classes */
            iload 3 /* times */
            iconst_2
            iadd
            aload 4 /* clsTail */
            aastore
         5: .line 240
            aload 5 /* classes */
            areturn
        end local 5 // java.lang.Class[] classes
        end local 4 // java.lang.Class clsTail
        end local 3 // int times
        end local 2 // java.lang.Class clsFill
        end local 1 // java.lang.Class cls2
        end local 0 // java.lang.Class cls1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     cls1  Ljava/lang/Class;
            0    6     1     cls2  Ljava/lang/Class;
            0    6     2  clsFill  Ljava/lang/Class;
            0    6     3    times  I
            0    6     4  clsTail  Ljava/lang/Class;
            1    6     5  classes  [Ljava/lang/Class;
    MethodParameters:
         Name  Flags
      cls1     
      cls2     
      clsFill  
      times    
      clsTail  

  public static java.lang.Class[] params(java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, int, java.lang.Class);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Class;)[Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // java.lang.Class cls1
        start local 1 // java.lang.Class cls2
        start local 2 // java.lang.Class cls3
        start local 3 // java.lang.Class clsFill
        start local 4 // int times
        start local 5 // java.lang.Class clsTail
         0: .line 244
            iload 4 /* times */
            iconst_4
            iadd
            anewarray java.lang.Class
            astore 6 /* classes */
        start local 6 // java.lang.Class[] classes
         1: .line 245
            aload 6 /* classes */
            iconst_3
            iconst_3
            iload 4 /* times */
            iadd
            aload 3 /* clsFill */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;IILjava/lang/Object;)V
         2: .line 246
            aload 6 /* classes */
            iconst_0
            aload 0 /* cls1 */
            aastore
         3: .line 247
            aload 6 /* classes */
            iconst_1
            aload 1 /* cls2 */
            aastore
         4: .line 248
            aload 6 /* classes */
            iconst_2
            aload 2 /* cls3 */
            aastore
         5: .line 249
            aload 6 /* classes */
            iload 4 /* times */
            iconst_3
            iadd
            aload 5 /* clsTail */
            aastore
         6: .line 250
            aload 6 /* classes */
            areturn
        end local 6 // java.lang.Class[] classes
        end local 5 // java.lang.Class clsTail
        end local 4 // int times
        end local 3 // java.lang.Class clsFill
        end local 2 // java.lang.Class cls3
        end local 1 // java.lang.Class cls2
        end local 0 // java.lang.Class cls1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     cls1  Ljava/lang/Class;
            0    7     1     cls2  Ljava/lang/Class;
            0    7     2     cls3  Ljava/lang/Class;
            0    7     3  clsFill  Ljava/lang/Class;
            0    7     4    times  I
            0    7     5  clsTail  Ljava/lang/Class;
            1    7     6  classes  [Ljava/lang/Class;
    MethodParameters:
         Name  Flags
      cls1     
      cls2     
      cls3     
      clsFill  
      times    
      clsTail  

  public static java.lang.Class[] params(java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, int, java.lang.Class);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Class;)[Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=7
        start local 0 // java.lang.Class cls1
        start local 1 // java.lang.Class cls2
        start local 2 // java.lang.Class cls3
        start local 3 // java.lang.Class cls4
        start local 4 // java.lang.Class clsFill
        start local 5 // int times
        start local 6 // java.lang.Class clsTail
         0: .line 254
            iload 5 /* times */
            iconst_5
            iadd
            anewarray java.lang.Class
            astore 7 /* classes */
        start local 7 // java.lang.Class[] classes
         1: .line 255
            aload 7 /* classes */
            iconst_4
            iconst_4
            iload 5 /* times */
            iadd
            aload 4 /* clsFill */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;IILjava/lang/Object;)V
         2: .line 256
            aload 7 /* classes */
            iconst_0
            aload 0 /* cls1 */
            aastore
         3: .line 257
            aload 7 /* classes */
            iconst_1
            aload 1 /* cls2 */
            aastore
         4: .line 258
            aload 7 /* classes */
            iconst_2
            aload 2 /* cls3 */
            aastore
         5: .line 259
            aload 7 /* classes */
            iconst_3
            aload 3 /* cls4 */
            aastore
         6: .line 260
            aload 7 /* classes */
            iload 5 /* times */
            iconst_4
            iadd
            aload 6 /* clsTail */
            aastore
         7: .line 261
            aload 7 /* classes */
            areturn
        end local 7 // java.lang.Class[] classes
        end local 6 // java.lang.Class clsTail
        end local 5 // int times
        end local 4 // java.lang.Class clsFill
        end local 3 // java.lang.Class cls4
        end local 2 // java.lang.Class cls3
        end local 1 // java.lang.Class cls2
        end local 0 // java.lang.Class cls1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     cls1  Ljava/lang/Class;
            0    8     1     cls2  Ljava/lang/Class;
            0    8     2     cls3  Ljava/lang/Class;
            0    8     3     cls4  Ljava/lang/Class;
            0    8     4  clsFill  Ljava/lang/Class;
            0    8     5    times  I
            0    8     6  clsTail  Ljava/lang/Class;
            1    8     7  classes  [Ljava/lang/Class;
    MethodParameters:
         Name  Flags
      cls1     
      cls2     
      cls3     
      cls4     
      clsFill  
      times    
      clsTail  

  public static java.lang.Class[] params(java.lang.Class, java.lang.Class[], int);
    descriptor: (Ljava/lang/Class;[Ljava/lang/Class;I)[Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // java.lang.Class cls1
        start local 1 // java.lang.Class[] clsFills
        start local 2 // int times
         0: .line 265
            aload 1 /* clsFills */
            arraylength
            iload 2 /* times */
            imul
            iconst_1
            iadd
            anewarray java.lang.Class
            astore 3 /* classes */
        start local 3 // java.lang.Class[] classes
         1: .line 266
            aload 3 /* classes */
            iconst_0
            aload 0 /* cls1 */
            aastore
         2: .line 267
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 11
         4: .line 268
      StackMap locals: java.lang.Class[] int
      StackMap stack:
            iload 4 /* i */
            aload 1 /* clsFills */
            arraylength
            imul
            iconst_1
            iadd
            istore 5 /* base */
        start local 5 // int base
         5: .line 269
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         6: goto 9
         7: .line 270
      StackMap locals: int int
      StackMap stack:
            aload 3 /* classes */
            iload 5 /* base */
            iload 6 /* j */
            iadd
            aload 1 /* clsFills */
            iload 6 /* j */
            aaload
            aastore
         8: .line 269
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* j */
            aload 1 /* clsFills */
            arraylength
            if_icmplt 7
        end local 6 // int j
        end local 5 // int base
        10: .line 267
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 2 /* times */
            if_icmplt 4
        end local 4 // int i
        12: .line 273
            aload 3 /* classes */
            areturn
        end local 3 // java.lang.Class[] classes
        end local 2 // int times
        end local 1 // java.lang.Class[] clsFills
        end local 0 // java.lang.Class cls1
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      cls1  Ljava/lang/Class;
            0   13     1  clsFills  [Ljava/lang/Class;
            0   13     2     times  I
            1   13     3   classes  [Ljava/lang/Class;
            3   12     4         i  I
            5   10     5      base  I
            6   10     6         j  I
    MethodParameters:
          Name  Flags
      cls1      
      clsFills  
      times     

  public static java.lang.String getAnnotatedBindingClassName(javax.lang.model.element.Name, java.lang.CharSequence, boolean, int, int, boolean, boolean);
    descriptor: (Ljavax/lang/model/element/Name;Ljava/lang/CharSequence;ZIIZZ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // javax.lang.model.element.Name javaMethodName
        start local 1 // java.lang.CharSequence typeName
        start local 2 // boolean isStatic
        start local 3 // int required
        start local 4 // int optional
        start local 5 // boolean multi
        start local 6 // boolean framed
         0: .line 277
            aload 0 /* javaMethodName */
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            aload 1 /* typeName */
            iload 2 /* isStatic */
            iload 3 /* required */
            iload 4 /* optional */
            iload 5 /* multi */
            iload 6 /* framed */
            invokestatic org.jruby.util.CodegenUtils.getAnnotatedBindingClassName:(Ljava/lang/String;Ljava/lang/CharSequence;ZIIZZ)Ljava/lang/String;
            areturn
        end local 6 // boolean framed
        end local 5 // boolean multi
        end local 4 // int optional
        end local 3 // int required
        end local 2 // boolean isStatic
        end local 1 // java.lang.CharSequence typeName
        end local 0 // javax.lang.model.element.Name javaMethodName
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  javaMethodName  Ljavax/lang/model/element/Name;
            0    1     1        typeName  Ljava/lang/CharSequence;
            0    1     2        isStatic  Z
            0    1     3        required  I
            0    1     4        optional  I
            0    1     5           multi  Z
            0    1     6          framed  Z
    MethodParameters:
                Name  Flags
      javaMethodName  
      typeName        
      isStatic        
      required        
      optional        
      multi           
      framed          

  public static java.lang.String getAnnotatedBindingClassName(java.lang.String, java.lang.CharSequence, boolean, int, int, boolean, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/CharSequence;ZIIZZ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=7
        start local 0 // java.lang.String javaMethodName
        start local 1 // java.lang.CharSequence typeName
        start local 2 // boolean isStatic
        start local 3 // int required
        start local 4 // int optional
        start local 5 // boolean multi
        start local 6 // boolean framed
         0: .line 281
            iload 5 /* multi */
            ifeq 9
         1: .line 282
            new java.lang.StringBuilder
            dup
            aload 1 /* typeName */
            invokeinterface java.lang.CharSequence.length:()I
            bipush 8
            iadd
            iconst_3
            iadd
            aload 0 /* javaMethodName */
            invokevirtual java.lang.String.length:()I
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
         2: .line 283
            aload 1 /* typeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
         3: .line 284
            ldc "$INVOKER"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* isStatic */
            ifeq 4
            ldc "$s$"
            goto 5
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         4: ldc "$i$"
      StackMap locals: java.lang.String java.lang.CharSequence int int int int int
      StackMap stack: java.lang.StringBuilder java.lang.String
         5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 285
            aload 0 /* javaMethodName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 286
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 282
            areturn
         9: .line 288
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* typeName */
            invokeinterface java.lang.CharSequence.length:()I
            bipush 8
            iadd
            iconst_3
            iadd
            iconst_4
            iadd
            aload 0 /* javaMethodName */
            invokevirtual java.lang.String.length:()I
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
        10: .line 289
            aload 1 /* typeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
        11: .line 290
            ldc "$INVOKER"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* isStatic */
            ifeq 12
            ldc "$s$"
            goto 13
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        12: ldc "$i$"
      StackMap locals: java.lang.String java.lang.CharSequence int int int int int
      StackMap stack: java.lang.StringBuilder java.lang.String
        13: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 291
            iload 3 /* required */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 36
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 4 /* optional */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 36
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        15: .line 292
            aload 0 /* javaMethodName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 293
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 288
            areturn
        end local 6 // boolean framed
        end local 5 // boolean multi
        end local 4 // int optional
        end local 3 // int required
        end local 2 // boolean isStatic
        end local 1 // java.lang.CharSequence typeName
        end local 0 // java.lang.String javaMethodName
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0  javaMethodName  Ljava/lang/String;
            0   18     1        typeName  Ljava/lang/CharSequence;
            0   18     2        isStatic  Z
            0   18     3        required  I
            0   18     4        optional  I
            0   18     5           multi  Z
            0   18     6          framed  Z
    MethodParameters:
                Name  Flags
      javaMethodName  
      typeName        
      isStatic        
      required        
      optional        
      multi           
      framed          

  public static void visitAnnotationFields(AnnotationVisitor, java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (LAnnotationVisitor;Ljava/util/Map;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 296
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tAnnotationVisitor cannot be resolved to a type\n\tAnnotationVisitor cannot be resolved to a type\n\tType cannot be resolved\n\tAnnotationVisitor cannot be resolved to a type\n\tType cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: (LAnnotationVisitor;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
    MethodParameters:
         Name  Flags
      visitor  
      fields   

  public static java.lang.Class getBoxType(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Class type
         0: .line 340
            aload 0 /* type */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 2
         1: .line 341
            ldc Ljava/lang/Integer;
            areturn
         2: .line 342
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 4
         3: .line 343
            ldc Ljava/lang/Byte;
            areturn
         4: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 6
         5: .line 345
            ldc Ljava/lang/Short;
            areturn
         6: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 8
         7: .line 347
            ldc Ljava/lang/Character;
            areturn
         8: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 10
         9: .line 349
            ldc Ljava/lang/Long;
            areturn
        10: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 12
        11: .line 351
            ldc Ljava/lang/Float;
            areturn
        12: .line 352
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 14
        13: .line 353
            ldc Ljava/lang/Double;
            areturn
        14: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 16
        15: .line 355
            ldc Ljava/lang/Boolean;
            areturn
        16: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 18
        17: .line 357
            ldc Ljava/lang/Void;
            areturn
        18: .line 359
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not a native type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  type  Ljava/lang/Class;
    MethodParameters:
      Name  Flags
      type  
}
SourceFile: "CodegenUtils.java"
NestMembers:
  org.jruby.util.CodegenUtils$InvalidAnnotationDescriptorException
InnerClasses:
  public InvalidAnnotationDescriptorException = org.jruby.util.CodegenUtils$InvalidAnnotationDescriptorException of org.jruby.util.CodegenUtils