public class org.jruby.util.RubyStringBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.util.RubyStringBuilder
  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.RubyStringBuilder this
         0: .line 19
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.util.RubyStringBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/RubyStringBuilder;

  public static org.jruby.RubyString types(org.jruby.Ruby, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyModule type
         0: .line 21
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            astore 2 /* context */
        start local 2 // org.jruby.runtime.ThreadContext context
         1: .line 23
            aload 0 /* runtime */
            aload 1 /* type */
            aload 2 /* context */
            invokevirtual org.jruby.RubyModule.toRubyString:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokestatic org.jruby.util.RubyStringBuilder.inspectIdentifierByteList:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.runtime.ThreadContext context
        end local 1 // org.jruby.RubyModule type
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  runtime  Lorg/jruby/Ruby;
            0    2     1     type  Lorg/jruby/RubyModule;
            1    2     2  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      runtime  
      type     

  public static org.jruby.RubyString types(org.jruby.Ruby, org.jruby.RubyModule, org.jruby.RubyModule);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyModule;Lorg/jruby/RubyModule;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyModule type1
        start local 2 // org.jruby.RubyModule type2
         0: .line 27
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            astore 3 /* context */
        start local 3 // org.jruby.runtime.ThreadContext context
         1: .line 28
            aload 1 /* type1 */
            aload 3 /* context */
            invokevirtual org.jruby.RubyModule.toRubyString:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            ldc "::"
            invokevirtual org.jruby.RubyString.catString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            aload 2 /* type2 */
            aload 3 /* context */
            invokevirtual org.jruby.RubyModule.toRubyString:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            astore 4 /* fullTypeName */
        start local 4 // org.jruby.RubyString fullTypeName
         2: .line 30
            aload 0 /* runtime */
            aload 4 /* fullTypeName */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokestatic org.jruby.util.RubyStringBuilder.inspectIdentifierByteList:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 4 // org.jruby.RubyString fullTypeName
        end local 3 // org.jruby.runtime.ThreadContext context
        end local 2 // org.jruby.RubyModule type2
        end local 1 // org.jruby.RubyModule type1
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0       runtime  Lorg/jruby/Ruby;
            0    3     1         type1  Lorg/jruby/RubyModule;
            0    3     2         type2  Lorg/jruby/RubyModule;
            1    3     3       context  Lorg/jruby/runtime/ThreadContext;
            2    3     4  fullTypeName  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      runtime  
      type1    
      type2    

  public static org.jruby.RubyString ids(org.jruby.Ruby, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String id
         0: .line 35
            aload 0 /* runtime */
            aload 1 /* id */
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
            astore 2 /* identifier */
        start local 2 // org.jruby.util.ByteList identifier
         1: .line 37
            aload 0 /* runtime */
            aload 2 /* identifier */
            invokestatic org.jruby.util.RubyStringBuilder.inspectIdentifierByteList:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.util.ByteList identifier
        end local 1 // java.lang.String id
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0     runtime  Lorg/jruby/Ruby;
            0    2     1          id  Ljava/lang/String;
            1    2     2  identifier  Lorg/jruby/util/ByteList;
    MethodParameters:
         Name  Flags
      runtime  
      id       

  public static org.jruby.RubyString ids(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject object
         0: .line 50
            aload 1 /* object */
            instanceof org.jruby.RubyString
            ifeq 3
         1: .line 51
            aload 1 /* object */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 2 /* identifier */
        start local 2 // org.jruby.util.ByteList identifier
         2: .line 52
            goto 7
        end local 2 // org.jruby.util.ByteList identifier
      StackMap locals:
      StackMap stack:
         3: aload 1 /* object */
            instanceof org.jruby.RubySymbol
            ifeq 6
         4: .line 53
            aload 1 /* object */
            checkcast org.jruby.RubySymbol
            invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
            astore 2 /* identifier */
        start local 2 // org.jruby.util.ByteList identifier
         5: .line 54
            goto 7
        end local 2 // org.jruby.util.ByteList identifier
         6: .line 55
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 2 /* identifier */
        start local 2 // org.jruby.util.ByteList identifier
         7: .line 58
      StackMap locals: org.jruby.util.ByteList
      StackMap stack:
            aload 0 /* runtime */
            aload 2 /* identifier */
            invokestatic org.jruby.util.RubyStringBuilder.inspectIdentifierByteList:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.util.ByteList identifier
        end local 1 // org.jruby.runtime.builtin.IRubyObject object
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0     runtime  Lorg/jruby/Ruby;
            0    8     1      object  Lorg/jruby/runtime/builtin/IRubyObject;
            2    3     2  identifier  Lorg/jruby/util/ByteList;
            5    6     2  identifier  Lorg/jruby/util/ByteList;
            7    8     2  identifier  Lorg/jruby/util/ByteList;
    MethodParameters:
         Name  Flags
      runtime  
      object   

  public static org.jruby.RubyString inspectIdentifierByteList(org.jruby.Ruby, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=17, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList byteList
         0: .line 62
            aload 1 /* byteList */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 2 /* enc */
        start local 2 // org.jcodings.Encoding enc
         1: .line 63
            aload 1 /* byteList */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         2: .line 64
            aload 1 /* byteList */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 4 /* p */
        start local 4 // int p
         3: .line 65
            iload 4 /* p */
            aload 1 /* byteList */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 5 /* end */
        start local 5 // int end
         4: .line 66
            aload 0 /* runtime */
            new org.jruby.util.ByteList
            dup
            iload 5 /* end */
            iload 4 /* p */
            isub
            iconst_2
            iadd
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 6 /* result */
        start local 6 // org.jruby.RubyString result
         5: .line 67
            aload 6 /* result */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            iconst_1
            invokevirtual org.jruby.util.ByteList.setBegin:(I)V
         6: .line 69
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getDefaultInternalEncoding:()Lorg/jcodings/Encoding;
            astore 7 /* resultEnc */
        start local 7 // org.jcodings.Encoding resultEnc
         7: .line 70
            aload 2 /* enc */
            invokevirtual org.jcodings.Encoding.isUnicode:()Z
            istore 8 /* isUnicode */
        start local 8 // boolean isUnicode
         8: .line 71
            aload 2 /* enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            istore 9 /* asciiCompat */
        start local 9 // boolean asciiCompat
         9: .line 72
            iconst_0
            istore 10 /* needsQuotes */
        start local 10 // boolean needsQuotes
        10: .line 74
            aload 7 /* resultEnc */
            ifnonnull 11
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getDefaultExternalEncoding:()Lorg/jcodings/Encoding;
            astore 7 /* resultEnc */
        11: .line 75
      StackMap locals: org.jruby.Ruby org.jruby.util.ByteList org.jcodings.Encoding byte[] int int org.jruby.RubyString org.jcodings.Encoding int int int
      StackMap stack:
            aload 7 /* resultEnc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifne 12
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            astore 7 /* resultEnc */
        12: .line 76
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            aload 7 /* resultEnc */
            invokevirtual org.jruby.RubyString.associateEncoding:(Lorg/jcodings/Encoding;)V
        13: .line 78
            iload 4 /* p */
            istore 11 /* prev */
        start local 11 // int prev
        14: .line 79
            aload 2 /* enc */
            aload 1 /* byteList */
            invokestatic org.jruby.util.io.EncodingUtils.getActualEncoding:(Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
            astore 12 /* actEnc */
        start local 12 // org.jcodings.Encoding actEnc
        15: .line 80
            aload 12 /* actEnc */
            aload 2 /* enc */
            if_acmpeq 70
        16: .line 81
            aload 12 /* actEnc */
            astore 2 /* enc */
        17: .line 82
            iload 8 /* isUnicode */
            ifeq 70
            aload 2 /* enc */
            instanceof org.jcodings.unicode.UnicodeEncoding
            istore 8 /* isUnicode */
        18: .line 85
            goto 70
        19: .line 86
      StackMap locals: int org.jcodings.Encoding
      StackMap stack:
            aload 2 /* enc */
            aload 3 /* bytes */
            iload 4 /* p */
            iload 5 /* end */
            invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
            istore 13 /* n */
        start local 13 // int n
        20: .line 87
            iload 13 /* n */
            invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
            ifne 30
        21: .line 88
            iload 4 /* p */
            iload 11 /* prev */
            if_icmple 22
            aload 6 /* result */
            aload 3 /* bytes */
            iload 11 /* prev */
            iload 4 /* p */
            iload 11 /* prev */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        22: .line 89
      StackMap locals: int
      StackMap stack:
            aload 2 /* enc */
            invokevirtual org.jcodings.Encoding.minLength:()I
            istore 13 /* n */
        23: .line 90
            iload 5 /* end */
            iload 4 /* p */
            iload 13 /* n */
            iadd
            if_icmpge 28
            iload 5 /* end */
            iload 4 /* p */
            isub
            istore 13 /* n */
        24: .line 91
            goto 28
        25: .line 92
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            aload 6 /* result */
            invokevirtual org.jruby.RubyString.size:()I
            iconst_4
            iadd
            invokevirtual org.jruby.RubyString.modifyExpand:(I)V
        26: .line 93
            aload 0 /* runtime */
            aload 6 /* result */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            ldc "\\x%02X"
            aload 3 /* bytes */
            iload 4 /* p */
            baload
            sipush 255
            iand
            invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;I)Z
            pop
        27: .line 94
            iinc 4 /* p */ 1
            iload 4 /* p */
            istore 11 /* prev */
        28: .line 91
      StackMap locals:
      StackMap stack:
            iload 13 /* n */
            iinc 13 /* n */ -1
            ifgt 25
        29: .line 96
            goto 70
        30: .line 98
      StackMap locals:
      StackMap stack:
            iload 13 /* n */
            invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_LEN:(I)I
            istore 13 /* n */
        31: .line 99
            aload 2 /* enc */
            aload 3 /* bytes */
            iload 4 /* p */
            iload 5 /* end */
            invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
            istore 14 /* c */
        start local 14 // int c
        32: iconst_0
            istore 15 /* cc */
        start local 15 // int cc
        33: .line 101
            iload 4 /* p */
            iload 13 /* n */
            iadd
            istore 4 /* p */
        34: .line 102
            iload 9 /* asciiCompat */
            ifne 35
            iload 8 /* isUnicode */
            ifeq 46
        35: .line 103
      StackMap locals: int int
      StackMap stack:
            iload 14 /* c */
            bipush 34
            if_icmpeq 41
            iload 14 /* c */
            bipush 92
            if_icmpeq 41
        36: .line 104
            iload 14 /* c */
            bipush 35
            if_icmpne 46
        37: .line 105
            iload 4 /* p */
            iload 5 /* end */
            if_icmpge 46
        38: .line 106
            aload 2 /* enc */
            aload 3 /* bytes */
            iload 4 /* p */
            iload 5 /* end */
            invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
            invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
            ifeq 46
        39: .line 107
            aload 0 /* runtime */
            aload 2 /* enc */
            aload 3 /* bytes */
            iload 4 /* p */
            iload 5 /* end */
            invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;[BII)I
            dup
            istore 15 /* cc */
            bipush 36
            if_icmpeq 41
        40: .line 108
            iload 15 /* cc */
            bipush 64
            if_icmpeq 41
            iload 15 /* cc */
            bipush 123
            if_icmpne 46
        41: .line 111
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 13 /* n */
            isub
            iload 11 /* prev */
            if_icmple 42
            aload 6 /* result */
            aload 3 /* bytes */
            iload 11 /* prev */
            iload 4 /* p */
            iload 13 /* n */
            isub
            iload 11 /* prev */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        42: .line 112
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            bipush 92
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            pop
        43: .line 113
            iload 9 /* asciiCompat */
            ifne 44
            aload 2 /* enc */
            aload 7 /* resultEnc */
            if_acmpne 46
        44: .line 114
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 13 /* n */
            isub
            istore 11 /* prev */
        45: .line 115
            goto 70
        46: .line 119
      StackMap locals:
      StackMap stack:
            iload 14 /* c */
            lookupswitch { // 8
                    7: 53
                    8: 52
                    9: 49
                   10: 47
                   11: 51
                   12: 50
                   13: 48
                   27: 54
              default: 55
          }
        47: .line 120
      StackMap locals:
      StackMap stack:
            bipush 110
            istore 15 /* cc */
            goto 56
        48: .line 121
      StackMap locals:
      StackMap stack:
            bipush 114
            istore 15 /* cc */
            goto 56
        49: .line 122
      StackMap locals:
      StackMap stack:
            bipush 116
            istore 15 /* cc */
            goto 56
        50: .line 123
      StackMap locals:
      StackMap stack:
            bipush 102
            istore 15 /* cc */
            goto 56
        51: .line 124
      StackMap locals:
      StackMap stack:
            bipush 118
            istore 15 /* cc */
            goto 56
        52: .line 125
      StackMap locals:
      StackMap stack:
            bipush 98
            istore 15 /* cc */
            goto 56
        53: .line 126
      StackMap locals:
      StackMap stack:
            bipush 97
            istore 15 /* cc */
            goto 56
        54: .line 127
      StackMap locals:
      StackMap stack:
            bipush 101
            istore 15 /* cc */
            goto 56
        55: .line 128
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* cc */
        56: .line 131
      StackMap locals:
      StackMap stack:
            iload 15 /* cc */
            ifeq 62
        57: .line 132
            iload 4 /* p */
            iload 13 /* n */
            isub
            iload 11 /* prev */
            if_icmple 58
            aload 6 /* result */
            aload 3 /* bytes */
            iload 11 /* prev */
            iload 4 /* p */
            iload 13 /* n */
            isub
            iload 11 /* prev */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        58: .line 133
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            bipush 92
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            pop
        59: .line 134
            aload 6 /* result */
            iload 15 /* cc */
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            pop
        60: .line 135
            iload 4 /* p */
            istore 11 /* prev */
        61: .line 136
            goto 70
        62: .line 140
      StackMap locals:
      StackMap stack:
            aload 2 /* enc */
            aload 7 /* resultEnc */
            if_acmpne 63
            aload 2 /* enc */
            iload 14 /* c */
            invokevirtual org.jcodings.Encoding.isPrint:(I)Z
            ifne 70
      StackMap locals:
      StackMap stack:
        63: iload 9 /* asciiCompat */
            ifeq 65
            iload 14 /* c */
            sipush 128
            if_icmpge 65
            iload 14 /* c */
            ifle 65
            aload 2 /* enc */
            iload 14 /* c */
            invokevirtual org.jcodings.Encoding.isPrint:(I)Z
            ifeq 65
        64: .line 141
            goto 70
        65: .line 144
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 13 /* n */
            isub
            iload 11 /* prev */
            if_icmple 66
            aload 6 /* result */
            aload 3 /* bytes */
            iload 11 /* prev */
            iload 4 /* p */
            iload 13 /* n */
            isub
            iload 11 /* prev */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        66: .line 145
      StackMap locals:
      StackMap stack:
            iload 14 /* c */
            iload 8 /* isUnicode */
            invokestatic org.jruby.util.StringSupport.escapedCharFormat:(IZ)Ljava/lang/String;
            astore 16 /* format */
        start local 16 // java.lang.String format
        67: .line 146
            aload 16 /* format */
            ldc "%c"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 68
            iconst_1
            istore 10 /* needsQuotes */
        68: .line 147
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* runtime */
            aload 6 /* result */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            aload 16 /* format */
            iload 14 /* c */
            i2l
            ldc 4294967295
            land
            invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;J)Z
            pop
        69: .line 148
            iload 4 /* p */
            istore 11 /* prev */
        end local 16 // java.lang.String format
        end local 15 // int cc
        end local 14 // int c
        end local 13 // int n
        70: .line 85
      StackMap locals: org.jruby.Ruby org.jruby.util.ByteList org.jcodings.Encoding byte[] int int org.jruby.RubyString org.jcodings.Encoding int int int int org.jcodings.Encoding
      StackMap stack:
            iload 4 /* p */
            iload 5 /* end */
            if_icmplt 19
        71: .line 153
            iload 4 /* p */
            iload 11 /* prev */
            if_icmple 72
            aload 6 /* result */
            aload 3 /* bytes */
            iload 11 /* prev */
            iload 4 /* p */
            iload 11 /* prev */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        72: .line 155
      StackMap locals:
      StackMap stack:
            iload 10 /* needsQuotes */
            ifeq 75
        73: .line 156
            aload 6 /* result */
            bipush 34
            invokevirtual org.jruby.RubyString.prepend:(I)Lorg/jruby/RubyString;
            pop
        74: .line 157
            aload 6 /* result */
            bipush 34
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            pop
        75: .line 159
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            areturn
        end local 12 // org.jcodings.Encoding actEnc
        end local 11 // int prev
        end local 10 // boolean needsQuotes
        end local 9 // boolean asciiCompat
        end local 8 // boolean isUnicode
        end local 7 // org.jcodings.Encoding resultEnc
        end local 6 // org.jruby.RubyString result
        end local 5 // int end
        end local 4 // int p
        end local 3 // byte[] bytes
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.util.ByteList byteList
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   76     0      runtime  Lorg/jruby/Ruby;
            0   76     1     byteList  Lorg/jruby/util/ByteList;
            1   76     2          enc  Lorg/jcodings/Encoding;
            2   76     3        bytes  [B
            3   76     4            p  I
            4   76     5          end  I
            5   76     6       result  Lorg/jruby/RubyString;
            7   76     7    resultEnc  Lorg/jcodings/Encoding;
            8   76     8    isUnicode  Z
            9   76     9  asciiCompat  Z
           10   76    10  needsQuotes  Z
           14   76    11         prev  I
           15   76    12       actEnc  Lorg/jcodings/Encoding;
           20   70    13            n  I
           32   70    14            c  I
           33   70    15           cc  I
           67   70    16       format  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      runtime   final
      byteList  

  public static java.lang.String str(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject value
        start local 2 // java.lang.String message
         0: .line 163
            aload 1 /* value */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            astore 3 /* buf */
        start local 3 // org.jruby.RubyString buf
         1: .line 165
            aload 0 /* runtime */
            aload 3 /* buf */
            aload 2 /* message */
            invokestatic org.jruby.util.RubyStringBuilder.catUTF8:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/String;)V
         2: .line 167
            aload 3 /* buf */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            areturn
        end local 3 // org.jruby.RubyString buf
        end local 2 // java.lang.String message
        end local 1 // org.jruby.runtime.builtin.IRubyObject value
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1    value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2  message  Ljava/lang/String;
            1    3     3      buf  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      runtime  
      value    
      message  

  public static java.lang.String str(org.jruby.Ruby, java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String message
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 171
            aload 0 /* runtime */
            aload 1 /* message */
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            astore 3 /* buf */
        start local 3 // org.jruby.RubyString buf
         1: .line 173
            aload 3 /* buf */
            aload 2 /* value */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         2: .line 175
            aload 3 /* buf */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            areturn
        end local 3 // org.jruby.RubyString buf
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String message
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1  message  Ljava/lang/String;
            0    3     2    value  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3      buf  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      runtime  
      message  
      value    

  public static java.lang.String str(org.jruby.Ruby, java.lang.String, org.jruby.runtime.builtin.IRubyObject, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String messageBegin
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // java.lang.String messageEnd
         0: .line 179
            aload 0 /* runtime */
            aload 1 /* messageBegin */
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            astore 4 /* buf */
        start local 4 // org.jruby.RubyString buf
         1: .line 181
            aload 4 /* buf */
            aload 2 /* value */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         2: .line 182
            aload 0 /* runtime */
            aload 4 /* buf */
            aload 3 /* messageEnd */
            invokestatic org.jruby.util.RubyStringBuilder.catUTF8:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/String;)V
         3: .line 184
            aload 4 /* buf */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            areturn
        end local 4 // org.jruby.RubyString buf
        end local 3 // java.lang.String messageEnd
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String messageBegin
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0       runtime  Lorg/jruby/Ruby;
            0    4     1  messageBegin  Ljava/lang/String;
            0    4     2         value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     3    messageEnd  Ljava/lang/String;
            1    4     4           buf  Lorg/jruby/RubyString;
    MethodParameters:
              Name  Flags
      runtime       
      messageBegin  
      value         
      messageEnd    

  public static java.lang.String str(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject value
        start local 2 // java.lang.String message
        start local 3 // org.jruby.runtime.builtin.IRubyObject value2
         0: .line 188
            aload 1 /* value */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            astore 4 /* buf */
        start local 4 // org.jruby.RubyString buf
         1: .line 190
            aload 0 /* runtime */
            aload 4 /* buf */
            aload 2 /* message */
            invokestatic org.jruby.util.RubyStringBuilder.catUTF8:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/String;)V
         2: .line 191
            aload 4 /* buf */
            aload 3 /* value2 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         3: .line 193
            aload 4 /* buf */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            areturn
        end local 4 // org.jruby.RubyString buf
        end local 3 // org.jruby.runtime.builtin.IRubyObject value2
        end local 2 // java.lang.String message
        end local 1 // org.jruby.runtime.builtin.IRubyObject value
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  runtime  Lorg/jruby/Ruby;
            0    4     1    value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     2  message  Ljava/lang/String;
            0    4     3   value2  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     4      buf  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      runtime  
      value    
      message  
      value2   

  public static java.lang.String str(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.builtin.IRubyObject, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject value
        start local 2 // java.lang.String message
        start local 3 // org.jruby.runtime.builtin.IRubyObject value2
        start local 4 // java.lang.String message2
         0: .line 197
            aload 1 /* value */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            astore 5 /* buf */
        start local 5 // org.jruby.RubyString buf
         1: .line 199
            aload 0 /* runtime */
            aload 5 /* buf */
            aload 2 /* message */
            invokestatic org.jruby.util.RubyStringBuilder.catUTF8:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/String;)V
         2: .line 200
            aload 5 /* buf */
            aload 3 /* value2 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         3: .line 201
            aload 0 /* runtime */
            aload 5 /* buf */
            aload 4 /* message2 */
            invokestatic org.jruby.util.RubyStringBuilder.catUTF8:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/String;)V
         4: .line 203
            aload 5 /* buf */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            areturn
        end local 5 // org.jruby.RubyString buf
        end local 4 // java.lang.String message2
        end local 3 // org.jruby.runtime.builtin.IRubyObject value2
        end local 2 // java.lang.String message
        end local 1 // org.jruby.runtime.builtin.IRubyObject value
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0   runtime  Lorg/jruby/Ruby;
            0    5     1     value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     2   message  Ljava/lang/String;
            0    5     3    value2  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     4  message2  Ljava/lang/String;
            1    5     5       buf  Lorg/jruby/RubyString;
    MethodParameters:
          Name  Flags
      runtime   
      value     
      message   
      value2    
      message2  

  public static java.lang.String str(org.jruby.Ruby, java.lang.String, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String messageBegin
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // java.lang.String messageMiddle
        start local 4 // org.jruby.runtime.builtin.IRubyObject value2
         0: .line 207
            aload 0 /* runtime */
            aload 1 /* messageBegin */
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            astore 5 /* buf */
        start local 5 // org.jruby.RubyString buf
         1: .line 209
            aload 5 /* buf */
            aload 2 /* value */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         2: .line 210
            aload 0 /* runtime */
            aload 5 /* buf */
            aload 3 /* messageMiddle */
            invokestatic org.jruby.util.RubyStringBuilder.catUTF8:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/String;)V
         3: .line 211
            aload 5 /* buf */
            aload 4 /* value2 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         4: .line 213
            aload 5 /* buf */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            areturn
        end local 5 // org.jruby.RubyString buf
        end local 4 // org.jruby.runtime.builtin.IRubyObject value2
        end local 3 // java.lang.String messageMiddle
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String messageBegin
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0        runtime  Lorg/jruby/Ruby;
            0    5     1   messageBegin  Ljava/lang/String;
            0    5     2          value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     3  messageMiddle  Ljava/lang/String;
            0    5     4         value2  Lorg/jruby/runtime/builtin/IRubyObject;
            1    5     5            buf  Lorg/jruby/RubyString;
    MethodParameters:
               Name  Flags
      runtime        
      messageBegin   
      value          
      messageMiddle  
      value2         

  public static java.lang.String str(org.jruby.Ruby, java.lang.String, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.runtime.builtin.IRubyObject, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=6
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String messageBegin
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // java.lang.String messageMiddle
        start local 4 // org.jruby.runtime.builtin.IRubyObject value2
        start local 5 // java.lang.String messageEnd
         0: .line 217
            aload 0 /* runtime */
            aload 1 /* messageBegin */
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            astore 6 /* buf */
        start local 6 // org.jruby.RubyString buf
         1: .line 219
            aload 6 /* buf */
            aload 2 /* value */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         2: .line 220
            aload 0 /* runtime */
            aload 6 /* buf */
            aload 3 /* messageMiddle */
            invokestatic org.jruby.util.RubyStringBuilder.catUTF8:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/String;)V
         3: .line 221
            aload 6 /* buf */
            aload 4 /* value2 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         4: .line 222
            aload 0 /* runtime */
            aload 6 /* buf */
            aload 5 /* messageEnd */
            invokestatic org.jruby.util.RubyStringBuilder.catUTF8:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/String;)V
         5: .line 224
            aload 6 /* buf */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            areturn
        end local 6 // org.jruby.RubyString buf
        end local 5 // java.lang.String messageEnd
        end local 4 // org.jruby.runtime.builtin.IRubyObject value2
        end local 3 // java.lang.String messageMiddle
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String messageBegin
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0        runtime  Lorg/jruby/Ruby;
            0    6     1   messageBegin  Ljava/lang/String;
            0    6     2          value  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3  messageMiddle  Ljava/lang/String;
            0    6     4         value2  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     5     messageEnd  Ljava/lang/String;
            1    6     6            buf  Lorg/jruby/RubyString;
    MethodParameters:
               Name  Flags
      runtime        
      messageBegin   
      value          
      messageMiddle  
      value2         
      messageEnd     

  public static java.lang.String str(org.jruby.Ruby, java.lang.String, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.RubyString, java.lang.String, org.jruby.runtime.builtin.IRubyObject, java.lang.String, org.jruby.RubyString, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyString;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyString;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=11, args_size=10
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String messageBegin
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
        start local 3 // java.lang.String messageMiddle
        start local 4 // org.jruby.RubyString value2
        start local 5 // java.lang.String messageMiddle2
        start local 6 // org.jruby.runtime.builtin.IRubyObject value3
        start local 7 // java.lang.String messageMiddle3
        start local 8 // org.jruby.RubyString value4
        start local 9 // java.lang.String messageEnd
         0: .line 230
            aload 0 /* runtime */
            aload 1 /* messageBegin */
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            astore 10 /* buf */
        start local 10 // org.jruby.RubyString buf
         1: .line 232
            aload 10 /* buf */
            aload 2 /* value */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         2: .line 233
            aload 0 /* runtime */
            aload 10 /* buf */
            aload 3 /* messageMiddle */
            invokestatic org.jruby.util.RubyStringBuilder.catUTF8:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/String;)V
         3: .line 234
            aload 10 /* buf */
            aload 4 /* value2 */
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         4: .line 235
            aload 0 /* runtime */
            aload 10 /* buf */
            aload 5 /* messageMiddle2 */
            invokestatic org.jruby.util.RubyStringBuilder.catUTF8:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/String;)V
         5: .line 236
            aload 10 /* buf */
            aload 6 /* value3 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         6: .line 237
            aload 0 /* runtime */
            aload 10 /* buf */
            aload 7 /* messageMiddle3 */
            invokestatic org.jruby.util.RubyStringBuilder.catUTF8:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/String;)V
         7: .line 238
            aload 10 /* buf */
            aload 8 /* value4 */
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         8: .line 239
            aload 0 /* runtime */
            aload 10 /* buf */
            aload 9 /* messageEnd */
            invokestatic org.jruby.util.RubyStringBuilder.catUTF8:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/String;)V
         9: .line 241
            aload 10 /* buf */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            areturn
        end local 10 // org.jruby.RubyString buf
        end local 9 // java.lang.String messageEnd
        end local 8 // org.jruby.RubyString value4
        end local 7 // java.lang.String messageMiddle3
        end local 6 // org.jruby.runtime.builtin.IRubyObject value3
        end local 5 // java.lang.String messageMiddle2
        end local 4 // org.jruby.RubyString value2
        end local 3 // java.lang.String messageMiddle
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // java.lang.String messageBegin
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0         runtime  Lorg/jruby/Ruby;
            0   10     1    messageBegin  Ljava/lang/String;
            0   10     2           value  Lorg/jruby/runtime/builtin/IRubyObject;
            0   10     3   messageMiddle  Ljava/lang/String;
            0   10     4          value2  Lorg/jruby/RubyString;
            0   10     5  messageMiddle2  Ljava/lang/String;
            0   10     6          value3  Lorg/jruby/runtime/builtin/IRubyObject;
            0   10     7  messageMiddle3  Ljava/lang/String;
            0   10     8          value4  Lorg/jruby/RubyString;
            0   10     9      messageEnd  Ljava/lang/String;
            1   10    10             buf  Lorg/jruby/RubyString;
    MethodParameters:
                Name  Flags
      runtime         
      messageBegin    
      value           
      messageMiddle   
      value2          
      messageMiddle2  
      value3          
      messageMiddle3  
      value4          
      messageEnd      

  private static void catUTF8(org.jruby.Ruby, org.jruby.RubyString, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyString str
        start local 2 // java.lang.String value
         0: .line 245
            aload 0 /* runtime */
            aload 1 /* str */
            aload 2 /* value */
            invokestatic org.jruby.util.io.EncodingUtils.encStrBufCat:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Ljava/lang/CharSequence;)V
         1: .line 246
            return
        end local 2 // java.lang.String value
        end local 1 // org.jruby.RubyString str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  runtime  Lorg/jruby/Ruby;
            0    2     1      str  Lorg/jruby/RubyString;
            0    2     2    value  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      runtime  final
      str      final
      value    final
}
SourceFile: "RubyStringBuilder.java"