public class org.jruby.RubyString extends org.jruby.RubyObject implements java.lang.CharSequence, org.jruby.runtime.encoding.EncodingCapable, org.jruby.runtime.encoding.MarshalEncoding, org.jruby.util.CodeRangeable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.RubyString
  super_class: org.jruby.RubyObject
{
  public static final java.lang.String DEBUG_INFO_FIELD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "@debug_created_info"

  static final org.jcodings.specific.ASCIIEncoding ASCII;
    descriptor: Lorg/jcodings/specific/ASCIIEncoding;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.jcodings.specific.UTF8Encoding UTF8;
    descriptor: Lorg/jcodings/specific/UTF8Encoding;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

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

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

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

  private static final byte[] SCRUB_REPL_UTF8;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] SCRUB_REPL_ASCII;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] SCRUB_REPL_UTF16BE;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] SCRUB_REPL_UTF16LE;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] SCRUB_REPL_UTF32BE;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] SCRUB_REPL_UTF32LE;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] FORCE_ENCODING_BYTES;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private volatile int shareLevel;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private org.jruby.util.ByteList value;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x0002) ACC_PRIVATE

  private static org.jruby.runtime.ObjectAllocator STRING_ALLOCATOR;
    descriptor: Lorg/jruby/runtime/ObjectAllocator;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final org.jruby.util.ByteList EMPTY_ASCII8BIT_BYTELIST;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.util.ByteList EMPTY_USASCII_BYTELIST;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static org.jruby.RubyString$EmptyByteListHolder[] EMPTY_BYTELISTS;
    descriptor: [Lorg/jruby/RubyString$EmptyByteListHolder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final byte[] hexdigit;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.util.ByteList SPACE_BYTELIST;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.util.ByteList GRAPHEME_CLUSTER_PATTERN;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.util.ByteList UNDERSCORE;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 120
            ldc Lorg/jruby/RubyString;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.jruby.RubyString.$assertionsDisabled:Z
         3: .line 123
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            putstatic org.jruby.RubyString.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
         4: .line 124
            getstatic org.jcodings.specific.UTF8Encoding.INSTANCE:Lorg/jcodings/specific/UTF8Encoding;
            putstatic org.jruby.RubyString.UTF8:Lorg/jcodings/specific/UTF8Encoding;
         5: .line 133
            iconst_3
            newarray 8
            dup
            iconst_0
            bipush -17
            bastore
            dup
            iconst_1
            bipush -65
            bastore
            dup
            iconst_2
            bipush -67
            bastore
            putstatic org.jruby.RubyString.SCRUB_REPL_UTF8:[B
         6: .line 134
            iconst_1
            newarray 8
            dup
            iconst_0
            bipush 63
            bastore
            putstatic org.jruby.RubyString.SCRUB_REPL_ASCII:[B
         7: .line 135
            iconst_2
            newarray 8
            dup
            iconst_0
            iconst_m1
            bastore
            dup
            iconst_1
            bipush -3
            bastore
            putstatic org.jruby.RubyString.SCRUB_REPL_UTF16BE:[B
         8: .line 136
            iconst_2
            newarray 8
            dup
            iconst_0
            bipush -3
            bastore
            dup
            iconst_1
            iconst_m1
            bastore
            putstatic org.jruby.RubyString.SCRUB_REPL_UTF16LE:[B
         9: .line 137
            iconst_4
            newarray 8
            dup
            iconst_2
            iconst_m1
            bastore
            dup
            iconst_3
            bipush -3
            bastore
            putstatic org.jruby.RubyString.SCRUB_REPL_UTF32BE:[B
        10: .line 138
            iconst_4
            newarray 8
            dup
            iconst_0
            bipush -3
            bastore
            dup
            iconst_1
            iconst_m1
            bastore
            putstatic org.jruby.RubyString.SCRUB_REPL_UTF32LE:[B
        11: .line 139
            ldc ".force_encoding(\""
            invokevirtual java.lang.String.getBytes:()[B
            putstatic org.jruby.RubyString.FORCE_ENCODING_BYTES:[B
        12: .line 158
            new org.jruby.RubyString$1
            dup
            invokespecial org.jruby.RubyString$1.<init>:()V
            putstatic org.jruby.RubyString.STRING_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
        13: .line 643
            new org.jruby.util.ByteList
            dup
            getstatic org.jruby.util.ByteList.NULL_ARRAY:[B
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;)V
            putstatic org.jruby.RubyString.EMPTY_ASCII8BIT_BYTELIST:Lorg/jruby/util/ByteList;
        14: .line 644
            new org.jruby.util.ByteList
            dup
            getstatic org.jruby.util.ByteList.NULL_ARRAY:[B
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;)V
            putstatic org.jruby.RubyString.EMPTY_USASCII_BYTELIST:Lorg/jruby/util/ByteList;
        15: .line 720
            iconst_4
            anewarray org.jruby.RubyString$EmptyByteListHolder
            putstatic org.jruby.RubyString.EMPTY_BYTELISTS:[Lorg/jruby/RubyString$EmptyByteListHolder;
        16: .line 2280
            ldc "0123456789abcdef0123456789ABCDEF"
            invokevirtual java.lang.String.getBytes:()[B
            putstatic org.jruby.RubyString.hexdigit:[B
        17: .line 4644
            bipush 32
            invokestatic org.jruby.RubyInteger.singleCharByteList:(B)Lorg/jruby/util/ByteList;
            putstatic org.jruby.RubyString.SPACE_BYTELIST:Lorg/jruby/util/ByteList;
        18: .line 5828
            new org.jruby.util.ByteList
            dup
            iconst_2
            newarray 8
            dup
            iconst_0
            bipush 92
            bastore
            dup
            iconst_1
            bipush 88
            bastore
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BZ)V
            putstatic org.jruby.RubyString.GRAPHEME_CLUSTER_PATTERN:Lorg/jruby/util/ByteList;
        19: .line 5995
            new org.jruby.util.ByteList
            dup
            iconst_1
            newarray 8
            dup
            iconst_0
            bipush 95
            bastore
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BZ)V
            putstatic org.jruby.RubyString.UNDERSCORE:Lorg/jruby/util/ByteList;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.jruby.RubyClass createStringClass(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 146
            aload 0 /* runtime */
            ldc "String"
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            getstatic org.jruby.RubyString.STRING_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
            invokevirtual org.jruby.Ruby.defineClass:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            astore 1 /* stringClass */
        start local 1 // org.jruby.RubyClass stringClass
         1: .line 147
            aload 0 /* runtime */
            aload 1 /* stringClass */
            invokevirtual org.jruby.Ruby.setString:(Lorg/jruby/RubyClass;)V
         2: .line 148
            aload 1 /* stringClass */
            getstatic org.jruby.runtime.ClassIndex.STRING:Lorg/jruby/runtime/ClassIndex;
            invokevirtual org.jruby.RubyClass.setClassIndex:(Lorg/jruby/runtime/ClassIndex;)V
         3: .line 149
            aload 1 /* stringClass */
            ldc Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyClass.setReifiedClass:(Ljava/lang/Class;)V
         4: .line 150
            aload 1 /* stringClass */
            new org.jruby.RubyModule$JavaClassKindOf
            dup
            ldc Lorg/jruby/RubyString;
            invokespecial org.jruby.RubyModule$JavaClassKindOf.<init>:(Ljava/lang/Class;)V
            putfield org.jruby.RubyClass.kindOf:Lorg/jruby/RubyModule$KindOf;
         5: .line 152
            aload 1 /* stringClass */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getComparable:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyClass.includeModule:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         6: .line 153
            aload 1 /* stringClass */
            ldc Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         7: .line 155
            aload 1 /* stringClass */
            areturn
        end local 1 // org.jruby.RubyClass stringClass
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0      runtime  Lorg/jruby/Ruby;
            1    8     1  stringClass  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  

  public org.jcodings.Encoding getEncoding();
    descriptor: ()Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 167
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public void setEncoding(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jcodings.Encoding encoding
         0: .line 172
            aload 1 /* encoding */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            if_acmpeq 4
         1: .line 173
            aload 0 /* this */
            getfield org.jruby.RubyString.shareLevel:I
            iconst_2
            if_icmpne 2
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modify:()V
            goto 3
         2: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         3: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 1 /* encoding */
            invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
         4: .line 177
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jcodings.Encoding encoding
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/RubyString;
            0    5     1  encoding  Lorg/jcodings/Encoding;
    MethodParameters:
          Name  Flags
      encoding  

  public boolean shouldMarshalEncoding();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 181
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;

  public org.jcodings.Encoding getMarshalEncoding();
    descriptor: ()Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 186
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public void associateEncoding(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jcodings.Encoding enc
         0: .line 190
            aload 0 /* this */
            aload 1 /* enc */
            invokestatic org.jruby.util.StringSupport.associateEncoding:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)V
         1: .line 191
            return
        end local 1 // org.jcodings.Encoding enc
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;
            0    2     1   enc  Lorg/jcodings/Encoding;
    MethodParameters:
      Name  Flags
      enc   

  public final void setEncodingAndCodeRange(org.jcodings.Encoding, int);
    descriptor: (Lorg/jcodings/Encoding;I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jcodings.Encoding enc
        start local 2 // int cr
         0: .line 194
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 1 /* enc */
            invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
         1: .line 195
            aload 0 /* this */
            iload 2 /* cr */
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
         2: .line 196
            return
        end local 2 // int cr
        end local 1 // org.jcodings.Encoding enc
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyString;
            0    3     1   enc  Lorg/jcodings/Encoding;
            0    3     2    cr  I
    MethodParameters:
      Name  Flags
      enc   
      cr    

  public final org.jcodings.Encoding toEncoding(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jcodings/Encoding;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
         0: .line 199
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
            aload 0 /* this */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncoding:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
            areturn
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  

  public final int getCodeRange();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 204
            aload 0 /* this */
            getfield org.jruby.RubyString.flags:I
            bipush 48
            iand
            ireturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public final void setCodeRange(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int codeRange
         0: .line 209
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.clearCodeRange:()V
         1: .line 210
            aload 0 /* this */
            dup
            getfield org.jruby.RubyString.flags:I
            iload 1 /* codeRange */
            bipush 48
            iand
            ior
            putfield org.jruby.RubyString.flags:I
         2: .line 211
            return
        end local 1 // int codeRange
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/RubyString;
            0    3     1  codeRange  I
    MethodParameters:
           Name  Flags
      codeRange  

  public final void clearCodeRange();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 215
            aload 0 /* this */
            dup
            getfield org.jruby.RubyString.flags:I
            bipush -49
            iand
            putfield org.jruby.RubyString.flags:I
         1: .line 216
            return
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;

  public final void keepCodeRange();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 220
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            bipush 48
            if_icmpne 1
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.clearCodeRange:()V
         1: .line 221
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;

  public final boolean isCodeRangeAsciiOnly();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 225
            aload 0 /* this */
            invokestatic org.jruby.util.CodeRangeSupport.isCodeRangeAsciiOnly:(Lorg/jruby/util/CodeRangeable;)Z
            ireturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public final boolean isAsciiOnly();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 230
            aload 0 /* this */
            invokestatic org.jruby.util.StringSupport.isAsciiOnly:(Lorg/jruby/util/CodeRangeable;)Z
            ireturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public final boolean isCodeRangeValid();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 235
            aload 0 /* this */
            getfield org.jruby.RubyString.flags:I
            bipush 48
            iand
            bipush 32
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;

  public final boolean isCodeRangeBroken();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 239
            aload 0 /* this */
            getfield org.jruby.RubyString.flags:I
            bipush 48
            iand
            bipush 48
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;

  public final boolean isBrokenString();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 244
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.scanForCodeRange:()I
            bipush 48
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;

  private void copyCodeRangeForSubstr(org.jruby.RubyString, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/RubyString;Lorg/jcodings/Encoding;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.RubyString from
        start local 2 // org.jcodings.Encoding enc
         0: .line 249
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 5
         1: .line 250
            aload 0 /* this */
            aload 2 /* enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifne 2
            bipush 32
            goto 3
      StackMap locals:
      StackMap stack: org.jruby.RubyString
         2: bipush 16
      StackMap locals: org.jruby.RubyString org.jruby.RubyString org.jcodings.Encoding
      StackMap stack: org.jruby.RubyString int
         3: invokevirtual org.jruby.RubyString.setCodeRange:(I)V
         4: .line 251
            goto 10
         5: .line 252
      StackMap locals:
      StackMap stack:
            aload 1 /* from */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            istore 3 /* fromCr */
        start local 3 // int fromCr
         6: .line 253
            iload 3 /* fromCr */
            bipush 16
            if_icmpne 9
         7: .line 254
            aload 0 /* this */
            iload 3 /* fromCr */
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
         8: .line 255
            goto 10
         9: .line 256
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
        end local 3 // int fromCr
        10: .line 259
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.RubyString from
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/jruby/RubyString;
            0   11     1    from  Lorg/jruby/RubyString;
            0   11     2     enc  Lorg/jcodings/Encoding;
            6   10     3  fromCr  I
    MethodParameters:
      Name  Flags
      from  
      enc   

  public final int scanForCodeRange();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 264
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            istore 1 /* cr */
        start local 1 // int cr
         1: .line 265
            iload 1 /* cr */
            ifne 4
         2: .line 266
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.scanForCodeRange:(Lorg/jruby/util/ByteList;)I
            istore 1 /* cr */
         3: .line 267
            aload 0 /* this */
            iload 1 /* cr */
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
         4: .line 269
      StackMap locals: int
      StackMap stack:
            iload 1 /* cr */
            ireturn
        end local 1 // int cr
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyString;
            1    5     1    cr  I

  public static int scanForCodeRange(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.util.ByteList bytes
         0: .line 273
            aload 0 /* bytes */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 1 /* enc */
        start local 1 // org.jcodings.Encoding enc
         1: .line 274
            aload 1 /* enc */
            invokevirtual org.jcodings.Encoding.minLength:()I
            iconst_1
            if_icmple 3
            aload 1 /* enc */
            invokevirtual org.jcodings.Encoding.isDummy:()Z
            ifeq 3
         2: .line 275
            bipush 48
            ireturn
         3: .line 277
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            aload 1 /* enc */
            aload 0 /* bytes */
            invokestatic org.jruby.util.io.EncodingUtils.getActualEncoding:(Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
            aload 0 /* bytes */
            invokestatic org.jruby.util.StringSupport.codeRangeScan:(Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;)I
            ireturn
        end local 1 // org.jcodings.Encoding enc
        end local 0 // org.jruby.util.ByteList bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  bytes  Lorg/jruby/util/ByteList;
            1    4     1    enc  Lorg/jcodings/Encoding;
    MethodParameters:
       Name  Flags
      bytes  final

  final boolean singleByteOptimizable();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 281
            aload 0 /* this */
            aload 0 /* this */
            invokestatic org.jruby.util.io.EncodingUtils.STR_ENC_GET:(Lorg/jruby/util/ByteListHolder;)Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.StringSupport.isSingleByteOptimizable:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)Z
            ireturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  final boolean singleByteOptimizable(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jcodings.Encoding enc
         0: .line 285
            aload 0 /* this */
            aload 1 /* enc */
            invokestatic org.jruby.util.StringSupport.isSingleByteOptimizable:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)Z
            ireturn
        end local 1 // org.jcodings.Encoding enc
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1   enc  Lorg/jcodings/Encoding;
    MethodParameters:
      Name  Flags
      enc   

  final org.jcodings.Encoding isCompatibleWith(org.jruby.runtime.encoding.EncodingCapable);
    descriptor: (Lorg/jruby/runtime/encoding/EncodingCapable;)Lorg/jcodings/Encoding;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.encoding.EncodingCapable other
         0: .line 289
            aload 1 /* other */
            instanceof org.jruby.RubyString
            ifeq 1
            aload 0 /* this */
            aload 1 /* other */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            areturn
         1: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 2 /* enc1 */
        start local 2 // org.jcodings.Encoding enc1
         2: .line 291
            aload 1 /* other */
            invokeinterface org.jruby.runtime.encoding.EncodingCapable.getEncoding:()Lorg/jcodings/Encoding;
            astore 3 /* enc2 */
        start local 3 // org.jcodings.Encoding enc2
         3: .line 293
            aload 2 /* enc1 */
            aload 3 /* enc2 */
            if_acmpne 4
            aload 2 /* enc1 */
            areturn
         4: .line 294
      StackMap locals: org.jcodings.Encoding org.jcodings.Encoding
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 5
            aload 3 /* enc2 */
            areturn
         5: .line 295
      StackMap locals:
      StackMap stack:
            aload 2 /* enc1 */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifeq 6
            aload 3 /* enc2 */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifne 7
      StackMap locals:
      StackMap stack:
         6: aconst_null
            areturn
         7: .line 296
      StackMap locals:
      StackMap stack:
            aload 3 /* enc2 */
            instanceof org.jcodings.specific.USASCIIEncoding
            ifeq 8
            aload 2 /* enc1 */
            areturn
         8: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.scanForCodeRange:()I
            bipush 16
            if_icmpne 9
            aload 3 /* enc2 */
            areturn
         9: .line 298
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.jcodings.Encoding enc2
        end local 2 // org.jcodings.Encoding enc1
        end local 1 // org.jruby.runtime.encoding.EncodingCapable other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/jruby/RubyString;
            0   10     1  other  Lorg/jruby/runtime/encoding/EncodingCapable;
            2   10     2   enc1  Lorg/jcodings/Encoding;
            3   10     3   enc2  Lorg/jcodings/Encoding;
    MethodParameters:
       Name  Flags
      other  

  public final org.jcodings.Encoding checkEncoding(org.jruby.RubyString);
    descriptor: (Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.RubyString other
         0: .line 303
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/util/CodeRangeable;)Lorg/jcodings/Encoding;
            areturn
        end local 1 // org.jruby.RubyString other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyString;
            0    1     1  other  Lorg/jruby/RubyString;
    MethodParameters:
       Name  Flags
      other  

  final org.jcodings.Encoding checkEncoding(org.jruby.runtime.encoding.EncodingCapable);
    descriptor: (Lorg/jruby/runtime/encoding/EncodingCapable;)Lorg/jcodings/Encoding;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.encoding.EncodingCapable other
         0: .line 307
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual org.jruby.RubyString.isCompatibleWith:(Lorg/jruby/runtime/encoding/EncodingCapable;)Lorg/jcodings/Encoding;
            astore 2 /* enc */
        start local 2 // org.jcodings.Encoding enc
         1: .line 308
            aload 2 /* enc */
            ifnonnull 4
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "incompatible character encodings: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 309
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* other */
            invokeinterface org.jruby.runtime.encoding.EncodingCapable.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 308
            invokevirtual org.jruby.Ruby.newEncodingCompatibilityError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 310
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            aload 2 /* enc */
            areturn
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.runtime.encoding.EncodingCapable other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/jruby/RubyString;
            0    5     1  other  Lorg/jruby/runtime/encoding/EncodingCapable;
            1    5     2    enc  Lorg/jcodings/Encoding;
    MethodParameters:
       Name  Flags
      other  

  public final org.jcodings.Encoding checkEncoding(org.jruby.util.CodeRangeable);
    descriptor: (Lorg/jruby/util/CodeRangeable;)Lorg/jcodings/Encoding;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.util.CodeRangeable other
         0: .line 315
            aload 0 /* this */
            aload 1 /* other */
            invokestatic org.jruby.util.StringSupport.areCompatible:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;)Lorg/jcodings/Encoding;
            astore 2 /* enc */
        start local 2 // org.jcodings.Encoding enc
         1: .line 316
            aload 2 /* enc */
            ifnonnull 4
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "incompatible character encodings: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 317
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* other */
            invokeinterface org.jruby.util.CodeRangeable.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 316
            invokevirtual org.jruby.Ruby.newEncodingCompatibilityError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 318
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            aload 2 /* enc */
            areturn
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.util.CodeRangeable other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/jruby/RubyString;
            0    5     1  other  Lorg/jruby/util/CodeRangeable;
            1    5     2    enc  Lorg/jcodings/Encoding;
    MethodParameters:
       Name  Flags
      other  

  public static org.jcodings.Encoding checkEncoding(org.jruby.Ruby, org.jruby.util.ByteList, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList str1
        start local 2 // org.jruby.util.ByteList str2
         0: .line 322
            aload 1 /* str1 */
            aload 2 /* str2 */
            invokestatic org.jruby.util.StringSupport.areCompatible:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
            astore 3 /* enc */
        start local 3 // org.jcodings.Encoding enc
         1: .line 323
            aload 3 /* enc */
            ifnonnull 5
         2: .line 324
            aload 0 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "incompatible character encodings: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 325
            aload 1 /* str1 */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* str2 */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 324
            invokevirtual org.jruby.Ruby.newEncodingCompatibilityError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 327
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            aload 3 /* enc */
            areturn
        end local 3 // org.jcodings.Encoding enc
        end local 2 // org.jruby.util.ByteList str2
        end local 1 // org.jruby.util.ByteList str1
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  runtime  Lorg/jruby/Ruby;
            0    6     1     str1  Lorg/jruby/util/ByteList;
            0    6     2     str2  Lorg/jruby/util/ByteList;
            1    6     3      enc  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      runtime  final
      str1     
      str2     

  private org.jcodings.Encoding checkDummyEncoding();
    descriptor: ()Lorg/jcodings/Encoding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 331
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 1 /* enc */
        start local 1 // org.jcodings.Encoding enc
         1: .line 332
            aload 1 /* enc */
            invokevirtual org.jcodings.Encoding.isDummy:()Z
            ifeq 4
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
         2: .line 333
            new java.lang.StringBuilder
            dup
            ldc "incompatible encoding with this operation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* enc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 332
            invokevirtual org.jruby.Ruby.newEncodingCompatibilityError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 334
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            aload 1 /* enc */
            areturn
        end local 1 // org.jcodings.Encoding enc
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyString;
            1    5     1   enc  Lorg/jcodings/Encoding;

  public final int strLength();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 338
            aload 0 /* this */
            invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;)I
            ireturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  final int strLength(org.jruby.util.ByteList, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.util.ByteList bytes
        start local 2 // org.jcodings.Encoding enc
         0: .line 342
            aload 0 /* this */
            aload 1 /* bytes */
            aload 2 /* enc */
            invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)I
            ireturn
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyString;
            0    1     1  bytes  Lorg/jruby/util/ByteList;
            0    1     2    enc  Lorg/jcodings/Encoding;
    MethodParameters:
       Name  Flags
      bytes  final
      enc    final

  final int subLength(int);
    descriptor: (I)I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int pos
         0: .line 347
            iload 1 /* pos */
            iflt 1
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* pos */
            ireturn
         2: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            iload 1 /* pos */
            iadd
            invokestatic org.jruby.util.StringSupport.strLength:(Lorg/jcodings/Encoding;[BII)I
            ireturn
        end local 1 // int pos
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyString;
            0    3     1   pos  I
    MethodParameters:
      Name  Flags
      pos   

  public final boolean eql(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 356
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            astore 2 /* meta */
        start local 2 // org.jruby.RubyClass meta
         1: .line 357
            aload 2 /* meta */
            aload 2 /* meta */
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            if_acmpne 2
            aload 2 /* meta */
            aload 1 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            if_acmpeq 3
      StackMap locals: org.jruby.RubyClass
      StackMap stack:
         2: aload 0 /* this */
            aload 1 /* other */
            invokespecial org.jruby.RubyObject.eql:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ireturn
         3: .line 358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual org.jruby.RubyString.eql19:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ireturn
        end local 2 // org.jruby.RubyClass meta
        end local 1 // org.jruby.runtime.builtin.IRubyObject other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/RubyString;
            0    4     1  other  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     2   meta  Lorg/jruby/RubyClass;
    MethodParameters:
       Name  Flags
      other  

  private boolean eql19(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 363
            aload 1 /* other */
            checkcast org.jruby.RubyString
            astore 2 /* otherString */
        start local 2 // org.jruby.RubyString otherString
         1: .line 364
            aload 0 /* this */
            aload 2 /* otherString */
            invokestatic org.jruby.util.StringSupport.areComparable:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;)Z
            ifeq 2
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 2 /* otherString */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.equal:(Lorg/jruby/util/ByteList;)Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: org.jruby.RubyString
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // org.jruby.RubyString otherString
        end local 1 // org.jruby.runtime.builtin.IRubyObject other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/jruby/RubyString;
            0    3     1        other  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     2  otherString  Lorg/jruby/RubyString;
    MethodParameters:
       Name  Flags
      other  

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass rubyClass
         0: .line 368
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* rubyClass */
            getstatic org.jruby.util.ByteList.NULL_ARRAY:[B
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;[B)V
         1: .line 369
            return
        end local 2 // org.jruby.RubyClass rubyClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/RubyString;
            0    2     1    runtime  Lorg/jruby/Ruby;
            0    2     2  rubyClass  Lorg/jruby/RubyClass;
    MethodParameters:
           Name  Flags
      runtime    
      rubyClass  

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass, java.lang.CharSequence);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/CharSequence;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass rubyClass
        start local 3 // java.lang.CharSequence value
         0: .line 372
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* rubyClass */
            aload 3 /* value */
            getstatic org.jruby.RubyString.UTF8:Lorg/jcodings/specific/UTF8Encoding;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/CharSequence;Lorg/jcodings/Encoding;)V
         1: .line 373
            return
        end local 3 // java.lang.CharSequence value
        end local 2 // org.jruby.RubyClass rubyClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/RubyString;
            0    2     1    runtime  Lorg/jruby/Ruby;
            0    2     2  rubyClass  Lorg/jruby/RubyClass;
            0    2     3      value  Ljava/lang/CharSequence;
    MethodParameters:
           Name  Flags
      runtime    
      rubyClass  
      value      

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass, java.lang.CharSequence, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/CharSequence;Lorg/jcodings/Encoding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass rubyClass
        start local 3 // java.lang.CharSequence value
        start local 4 // org.jcodings.Encoding enc
         0: .line 376
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* rubyClass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 141
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyString.shareLevel:I
         2: .line 377
            getstatic org.jruby.RubyString.$assertionsDisabled:Z
            ifne 3
            aload 3 /* value */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 378
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.RubyClass java.lang.CharSequence org.jcodings.Encoding
      StackMap stack:
            getstatic org.jruby.RubyString.$assertionsDisabled:Z
            ifne 4
            aload 4 /* enc */
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* value */
            aload 4 /* enc */
            invokestatic org.jruby.RubyString.encodeBytelist:(Ljava/lang/CharSequence;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         5: .line 381
            return
        end local 4 // org.jcodings.Encoding enc
        end local 3 // java.lang.CharSequence value
        end local 2 // org.jruby.RubyClass rubyClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/jruby/RubyString;
            0    6     1    runtime  Lorg/jruby/Ruby;
            0    6     2  rubyClass  Lorg/jruby/RubyClass;
            0    6     3      value  Ljava/lang/CharSequence;
            0    6     4        enc  Lorg/jcodings/Encoding;
    MethodParameters:
           Name  Flags
      runtime    
      rubyClass  
      value      
      enc        

  private void <init>(org.jruby.Ruby, org.jruby.RubyClass, java.lang.String, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/String;Lorg/jcodings/Encoding;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass rubyClass
        start local 3 // java.lang.String value
        start local 4 // org.jcodings.Encoding enc
         0: .line 384
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* rubyClass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 141
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyString.shareLevel:I
         2: .line 385
            getstatic org.jruby.RubyString.$assertionsDisabled:Z
            ifne 3
            aload 3 /* value */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 386
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.RubyClass java.lang.String org.jcodings.Encoding
      StackMap stack:
            getstatic org.jruby.RubyString.$assertionsDisabled:Z
            ifne 4
            aload 4 /* enc */
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* value */
            aload 4 /* enc */
            invokestatic org.jruby.RubyString.encodeBytelist:(Ljava/lang/String;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         5: .line 389
            return
        end local 4 // org.jcodings.Encoding enc
        end local 3 // java.lang.String value
        end local 2 // org.jruby.RubyClass rubyClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/jruby/RubyString;
            0    6     1    runtime  Lorg/jruby/Ruby;
            0    6     2  rubyClass  Lorg/jruby/RubyClass;
            0    6     3      value  Ljava/lang/String;
            0    6     4        enc  Lorg/jcodings/Encoding;
    MethodParameters:
           Name  Flags
      runtime    
      rubyClass  
      value      
      enc        

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass, byte[]);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass rubyClass
        start local 3 // byte[] value
         0: .line 392
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* rubyClass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 141
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyString.shareLevel:I
         2: .line 393
            getstatic org.jruby.RubyString.$assertionsDisabled:Z
            ifne 3
            aload 3 /* value */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 394
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.RubyClass byte[]
      StackMap stack:
            aload 0 /* this */
            new org.jruby.util.ByteList
            dup
            aload 3 /* value */
            invokespecial org.jruby.util.ByteList.<init>:([B)V
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         4: .line 395
            return
        end local 3 // byte[] value
        end local 2 // org.jruby.RubyClass rubyClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/jruby/RubyString;
            0    5     1    runtime  Lorg/jruby/Ruby;
            0    5     2  rubyClass  Lorg/jruby/RubyClass;
            0    5     3      value  [B
    MethodParameters:
           Name  Flags
      runtime    
      rubyClass  
      value      

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass rubyClass
        start local 3 // org.jruby.util.ByteList value
         0: .line 398
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* rubyClass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 141
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyString.shareLevel:I
         2: .line 399
            getstatic org.jruby.RubyString.$assertionsDisabled:Z
            ifne 3
            aload 3 /* value */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 400
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.RubyClass org.jruby.util.ByteList
      StackMap stack:
            aload 0 /* this */
            aload 3 /* value */
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         4: .line 401
            return
        end local 3 // org.jruby.util.ByteList value
        end local 2 // org.jruby.RubyClass rubyClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/jruby/RubyString;
            0    5     1    runtime  Lorg/jruby/Ruby;
            0    5     2  rubyClass  Lorg/jruby/RubyClass;
            0    5     3      value  Lorg/jruby/util/ByteList;
    MethodParameters:
           Name  Flags
      runtime    
      rubyClass  
      value      

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.util.ByteList, boolean);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass rubyClass
        start local 3 // org.jruby.util.ByteList value
        start local 4 // boolean objectSpace
         0: .line 404
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* rubyClass */
            iload 4 /* objectSpace */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Z)V
         1: .line 141
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyString.shareLevel:I
         2: .line 405
            getstatic org.jruby.RubyString.$assertionsDisabled:Z
            ifne 3
            aload 3 /* value */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 406
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.RubyClass org.jruby.util.ByteList int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* value */
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         4: .line 407
            return
        end local 4 // boolean objectSpace
        end local 3 // org.jruby.util.ByteList value
        end local 2 // org.jruby.RubyClass rubyClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/jruby/RubyString;
            0    5     1      runtime  Lorg/jruby/Ruby;
            0    5     2    rubyClass  Lorg/jruby/RubyClass;
            0    5     3        value  Lorg/jruby/util/ByteList;
            0    5     4  objectSpace  Z
    MethodParameters:
             Name  Flags
      runtime      
      rubyClass    
      value        
      objectSpace  

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.util.ByteList, org.jcodings.Encoding, boolean);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass rubyClass
        start local 3 // org.jruby.util.ByteList value
        start local 4 // org.jcodings.Encoding encoding
        start local 5 // boolean objectSpace
         0: .line 410
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* rubyClass */
            aload 3 /* value */
            iload 5 /* objectSpace */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Z)V
         1: .line 411
            aload 3 /* value */
            aload 4 /* encoding */
            invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
         2: .line 412
            return
        end local 5 // boolean objectSpace
        end local 4 // org.jcodings.Encoding encoding
        end local 3 // org.jruby.util.ByteList value
        end local 2 // org.jruby.RubyClass rubyClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/jruby/RubyString;
            0    3     1      runtime  Lorg/jruby/Ruby;
            0    3     2    rubyClass  Lorg/jruby/RubyClass;
            0    3     3        value  Lorg/jruby/util/ByteList;
            0    3     4     encoding  Lorg/jcodings/Encoding;
            0    3     5  objectSpace  Z
    MethodParameters:
             Name  Flags
      runtime      
      rubyClass    
      value        
      encoding     
      objectSpace  

  protected void <init>(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.util.ByteList, org.jcodings.Encoding, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass rubyClass
        start local 3 // org.jruby.util.ByteList value
        start local 4 // org.jcodings.Encoding enc
        start local 5 // int cr
         0: .line 415
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* rubyClass */
            aload 3 /* value */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
         1: .line 416
            aload 0 /* this */
            dup
            getfield org.jruby.RubyString.flags:I
            iload 5 /* cr */
            ior
            putfield org.jruby.RubyString.flags:I
         2: .line 417
            aload 3 /* value */
            aload 4 /* enc */
            invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
         3: .line 418
            return
        end local 5 // int cr
        end local 4 // org.jcodings.Encoding enc
        end local 3 // org.jruby.util.ByteList value
        end local 2 // org.jruby.RubyClass rubyClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/jruby/RubyString;
            0    4     1    runtime  Lorg/jruby/Ruby;
            0    4     2  rubyClass  Lorg/jruby/RubyClass;
            0    4     3      value  Lorg/jruby/util/ByteList;
            0    4     4        enc  Lorg/jcodings/Encoding;
            0    4     5         cr  I
    MethodParameters:
           Name  Flags
      runtime    
      rubyClass  
      value      
      enc        
      cr         

  protected void <init>(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.util.ByteList, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass rubyClass
        start local 3 // org.jruby.util.ByteList value
        start local 4 // org.jcodings.Encoding enc
         0: .line 421
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* rubyClass */
            aload 3 /* value */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
         1: .line 422
            aload 3 /* value */
            aload 4 /* enc */
            invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
         2: .line 423
            return
        end local 4 // org.jcodings.Encoding enc
        end local 3 // org.jruby.util.ByteList value
        end local 2 // org.jruby.RubyClass rubyClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/RubyString;
            0    3     1    runtime  Lorg/jruby/Ruby;
            0    3     2  rubyClass  Lorg/jruby/RubyClass;
            0    3     3      value  Lorg/jruby/util/ByteList;
            0    3     4        enc  Lorg/jcodings/Encoding;
    MethodParameters:
           Name  Flags
      runtime    
      rubyClass  
      value      
      enc        

  protected void <init>(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass rubyClass
        start local 3 // org.jruby.util.ByteList value
        start local 4 // int cr
         0: .line 426
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* rubyClass */
            aload 3 /* value */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
         1: .line 427
            aload 0 /* this */
            dup
            getfield org.jruby.RubyString.flags:I
            iload 4 /* cr */
            ior
            putfield org.jruby.RubyString.flags:I
         2: .line 428
            return
        end local 4 // int cr
        end local 3 // org.jruby.util.ByteList value
        end local 2 // org.jruby.RubyClass rubyClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/RubyString;
            0    3     1    runtime  Lorg/jruby/Ruby;
            0    3     2  rubyClass  Lorg/jruby/RubyClass;
            0    3     3      value  Lorg/jruby/util/ByteList;
            0    3     4         cr  I
    MethodParameters:
           Name  Flags
      runtime    
      rubyClass  
      value      
      cr         

  public org.jruby.RubyString newString(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // java.lang.CharSequence s
         0: .line 439
            new org.jruby.RubyString
            dup
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getType:()Lorg/jruby/RubyClass;
            aload 1 /* s */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/CharSequence;)V
            areturn
        end local 1 // java.lang.CharSequence s
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1     s  Ljava/lang/CharSequence;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      s     

  public org.jruby.RubyString newString(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.util.ByteList s
         0: .line 450
            new org.jruby.RubyString
            dup
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getMetaClass:()Lorg/jruby/RubyClass;
            aload 1 /* s */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            areturn
        end local 1 // org.jruby.util.ByteList s
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1     s  Lorg/jruby/util/ByteList;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      s     

  public static org.jruby.RubyString newString(org.jruby.Ruby, org.jruby.RubyClass, java.lang.CharSequence);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/CharSequence;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // java.lang.CharSequence str
         0: .line 455
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 1 /* clazz */
            aload 2 /* str */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/CharSequence;)V
            areturn
        end local 2 // java.lang.CharSequence str
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    clazz  Lorg/jruby/RubyClass;
            0    1     2      str  Ljava/lang/CharSequence;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      runtime  
      clazz    
      str      

  public static org.jruby.RubyString newStringLight(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=6, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList bytes
         0: .line 459
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* bytes */
            iconst_0
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Z)V
            areturn
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    bytes  Lorg/jruby/util/ByteList;
    MethodParameters:
         Name  Flags
      runtime  
      bytes    

  public static org.jruby.RubyString newStringLight(org.jruby.Ruby, int);
    descriptor: (Lorg/jruby/Ruby;I)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // int size
         0: .line 463
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            new org.jruby.util.ByteList
            dup
            iload 1 /* size */
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            iconst_0
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Z)V
            areturn
        end local 1 // int size
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1     size  I
    MethodParameters:
         Name  Flags
      runtime  
      size     

  public static org.jruby.RubyString newStringLight(org.jruby.Ruby, int, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;ILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // int size
        start local 2 // org.jcodings.Encoding encoding
         0: .line 467
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            new org.jruby.util.ByteList
            dup
            iload 1 /* size */
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            aload 2 /* encoding */
            iconst_0
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;Z)V
            areturn
        end local 2 // org.jcodings.Encoding encoding
        end local 1 // int size
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   runtime  Lorg/jruby/Ruby;
            0    1     1      size  I
            0    1     2  encoding  Lorg/jcodings/Encoding;
    MethodParameters:
          Name  Flags
      runtime   
      size      
      encoding  

  public static org.jruby.RubyString newString(org.jruby.Ruby, java.lang.CharSequence);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/CharSequence;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.CharSequence str
         0: .line 471
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* str */
            getstatic org.jruby.RubyString.UTF8:Lorg/jcodings/specific/UTF8Encoding;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/CharSequence;Lorg/jcodings/Encoding;)V
            areturn
        end local 1 // java.lang.CharSequence str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1      str  Ljava/lang/CharSequence;
    MethodParameters:
         Name  Flags
      runtime  
      str      

  public static org.jruby.RubyString newString(org.jruby.Ruby, java.lang.CharSequence, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/CharSequence;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.CharSequence str
        start local 2 // org.jcodings.Encoding encoding
         0: .line 475
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* str */
            aload 2 /* encoding */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/CharSequence;Lorg/jcodings/Encoding;)V
            areturn
        end local 2 // org.jcodings.Encoding encoding
        end local 1 // java.lang.CharSequence str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   runtime  Lorg/jruby/Ruby;
            0    1     1       str  Ljava/lang/CharSequence;
            0    1     2  encoding  Lorg/jcodings/Encoding;
    MethodParameters:
          Name  Flags
      runtime   
      str       
      encoding  

  public static org.jruby.RubyString newString(org.jruby.Ruby, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String str
         0: .line 479
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* str */
            getstatic org.jruby.RubyString.UTF8:Lorg/jcodings/specific/UTF8Encoding;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/String;Lorg/jcodings/Encoding;)V
            areturn
        end local 1 // java.lang.String str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1      str  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      runtime  
      str      

  public static org.jruby.RubyString newString(org.jruby.Ruby, java.lang.String, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String str
        start local 2 // org.jcodings.Encoding encoding
         0: .line 483
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* str */
            aload 2 /* encoding */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/String;Lorg/jcodings/Encoding;)V
            areturn
        end local 2 // org.jcodings.Encoding encoding
        end local 1 // java.lang.String str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   runtime  Lorg/jruby/Ruby;
            0    1     1       str  Ljava/lang/String;
            0    1     2  encoding  Lorg/jcodings/Encoding;
    MethodParameters:
          Name  Flags
      runtime   
      str       
      encoding  

  public static org.jruby.RubyString newUSASCIIString(org.jruby.Ruby, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String str
         0: .line 487
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* str */
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Ljava/lang/String;Lorg/jcodings/Encoding;)V
            areturn
        end local 1 // java.lang.String str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1      str  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      runtime  
      str      

  public static org.jruby.RubyString newString(org.jruby.Ruby, byte[]);
    descriptor: (Lorg/jruby/Ruby;[B)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte[] bytes
         0: .line 491
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* bytes */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;[B)V
            areturn
        end local 1 // byte[] bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    bytes  [B
    MethodParameters:
         Name  Flags
      runtime  
      bytes    

  public static org.jruby.RubyString newString(org.jruby.Ruby, byte[], int, int);
    descriptor: (Lorg/jruby/Ruby;[BII)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte[] bytes
        start local 2 // int start
        start local 3 // int length
         0: .line 495
            aload 0 /* runtime */
            aload 1 /* bytes */
            iload 2 /* start */
            iload 3 /* length */
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;[BIILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            areturn
        end local 3 // int length
        end local 2 // int start
        end local 1 // byte[] bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    bytes  [B
            0    1     2    start  I
            0    1     3   length  I
    MethodParameters:
         Name  Flags
      runtime  
      bytes    
      start    
      length   

  public static org.jruby.RubyString newString(org.jruby.Ruby, byte[], int, int, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;[BIILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=6, args_size=5
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte[] bytes
        start local 2 // int start
        start local 3 // int length
        start local 4 // org.jcodings.Encoding encoding
         0: .line 500
            iload 3 /* length */
            newarray 8
            astore 5 /* copy */
        start local 5 // byte[] copy
         1: .line 501
            aload 1 /* bytes */
            iload 2 /* start */
            aload 5 /* copy */
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 502
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            new org.jruby.util.ByteList
            dup
            aload 5 /* copy */
            aload 4 /* encoding */
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            areturn
        end local 5 // byte[] copy
        end local 4 // org.jcodings.Encoding encoding
        end local 3 // int length
        end local 2 // int start
        end local 1 // byte[] bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   runtime  Lorg/jruby/Ruby;
            0    3     1     bytes  [B
            0    3     2     start  I
            0    3     3    length  I
            0    3     4  encoding  Lorg/jcodings/Encoding;
            1    3     5      copy  [B
    MethodParameters:
          Name  Flags
      runtime   
      bytes     
      start     
      length    
      encoding  

  public static org.jruby.RubyString newString(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=5, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList bytes
         0: .line 506
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* bytes */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            areturn
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    bytes  Lorg/jruby/util/ByteList;
    MethodParameters:
         Name  Flags
      runtime  
      bytes    

  public static org.jruby.RubyString newString(org.jruby.Ruby, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;I)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList bytes
        start local 2 // int coderange
         0: .line 510
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* bytes */
            iload 2 /* coderange */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;I)V
            areturn
        end local 2 // int coderange
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0    runtime  Lorg/jruby/Ruby;
            0    1     1      bytes  Lorg/jruby/util/ByteList;
            0    1     2  coderange  I
    MethodParameters:
           Name  Flags
      runtime    
      bytes      
      coderange  

  public static org.jruby.RubyString newString(org.jruby.Ruby, org.jruby.util.ByteList, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList bytes
        start local 2 // org.jcodings.Encoding encoding
         0: .line 514
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* bytes */
            aload 2 /* encoding */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)V
            areturn
        end local 2 // org.jcodings.Encoding encoding
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   runtime  Lorg/jruby/Ruby;
            0    1     1     bytes  Lorg/jruby/util/ByteList;
            0    1     2  encoding  Lorg/jcodings/Encoding;
    MethodParameters:
          Name  Flags
      runtime   
      bytes     
      encoding  

  static org.jruby.RubyString newString(org.jruby.Ruby, byte);
    descriptor: (Lorg/jruby/Ruby;B)Lorg/jruby/RubyString;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte b
         0: .line 518
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            iload 1 /* b */
            invokestatic org.jruby.RubyInteger.singleCharByteList:(B)Lorg/jruby/util/ByteList;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            areturn
        end local 1 // byte b
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1        b  B
    MethodParameters:
         Name  Flags
      runtime  
      b        

  public static org.jruby.RubyString newUnicodeString(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 str
         0: .line 522
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getDefaultInternalEncoding:()Lorg/jcodings/Encoding;
            astore 2 /* defaultInternal */
        start local 2 // org.jcodings.Encoding defaultInternal
         1: .line 523
            aload 2 /* defaultInternal */
            getstatic org.jcodings.specific.UTF16BEEncoding.INSTANCE:Lorg/jcodings/specific/UTF16BEEncoding;
            if_acmpne 3
         2: .line 524
            aload 0 /* runtime */
            aload 1 /* str */
            invokestatic org.jruby.RubyString.newUTF16String:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
            areturn
         3: .line 526
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            aload 0 /* runtime */
            aload 1 /* str */
            invokestatic org.jruby.RubyString.newUTF8String:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jcodings.Encoding defaultInternal
        end local 1 // java.lang.String str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0          runtime  Lorg/jruby/Ruby;
            0    4     1              str  Ljava/lang/String;
            1    4     2  defaultInternal  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      runtime  
      str      

  public static org.jruby.RubyString newUTF8String(org.jruby.Ruby, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String str
         0: .line 531
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* str */
            invokestatic org.jruby.RubyEncoding.doEncodeUTF8:(Ljava/lang/String;)Lorg/jruby/util/ByteList;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            areturn
        end local 1 // java.lang.String str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1      str  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      runtime  
      str      

  public static org.jruby.RubyString newUTF16String(org.jruby.Ruby, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String str
         0: .line 535
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* str */
            invokestatic org.jruby.RubyEncoding.doEncodeUTF16:(Ljava/lang/String;)Lorg/jruby/util/ByteList;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            areturn
        end local 1 // java.lang.String str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1      str  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      runtime  
      str      

  public static org.jruby.RubyString newUnicodeString(org.jruby.Ruby, java.lang.CharSequence);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/CharSequence;)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.CharSequence str
         0: .line 539
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getDefaultInternalEncoding:()Lorg/jcodings/Encoding;
            astore 2 /* defaultInternal */
        start local 2 // org.jcodings.Encoding defaultInternal
         1: .line 540
            aload 2 /* defaultInternal */
            getstatic org.jcodings.specific.UTF16BEEncoding.INSTANCE:Lorg/jcodings/specific/UTF16BEEncoding;
            if_acmpne 3
         2: .line 541
            aload 0 /* runtime */
            aload 1 /* str */
            invokestatic org.jruby.RubyString.newUTF16String:(Lorg/jruby/Ruby;Ljava/lang/CharSequence;)Lorg/jruby/RubyString;
            areturn
         3: .line 543
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            aload 0 /* runtime */
            aload 1 /* str */
            invokestatic org.jruby.RubyString.newUTF8String:(Lorg/jruby/Ruby;Ljava/lang/CharSequence;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jcodings.Encoding defaultInternal
        end local 1 // java.lang.CharSequence str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0          runtime  Lorg/jruby/Ruby;
            0    4     1              str  Ljava/lang/CharSequence;
            1    4     2  defaultInternal  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      runtime  
      str      

  public static org.jruby.RubyString newUTF8String(org.jruby.Ruby, java.lang.CharSequence);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/CharSequence;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.CharSequence str
         0: .line 548
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* str */
            invokestatic org.jruby.RubyEncoding.doEncodeUTF8:(Ljava/lang/CharSequence;)Lorg/jruby/util/ByteList;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            areturn
        end local 1 // java.lang.CharSequence str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1      str  Ljava/lang/CharSequence;
    MethodParameters:
         Name  Flags
      runtime  
      str      

  public static org.jruby.RubyString newUTF16String(org.jruby.Ruby, java.lang.CharSequence);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/CharSequence;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.CharSequence str
         0: .line 552
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* str */
            invokestatic org.jruby.RubyEncoding.doEncodeUTF16:(Ljava/lang/CharSequence;)Lorg/jruby/util/ByteList;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            areturn
        end local 1 // java.lang.CharSequence str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1      str  Ljava/lang/CharSequence;
    MethodParameters:
         Name  Flags
      runtime  
      str      

  public static org.jruby.RubyString newInternalFromJavaExternal(org.jruby.Ruby, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.String str
         0: .line 567
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getDefaultInternalEncoding:()Lorg/jcodings/Encoding;
            astore 2 /* internal */
        start local 2 // org.jcodings.Encoding internal
         1: .line 568
            aconst_null
            astore 3 /* rubyInt */
        start local 3 // java.nio.charset.Charset rubyInt
         2: .line 569
            aload 2 /* internal */
            ifnull 3
            aload 2 /* internal */
            invokestatic org.jruby.util.io.EncodingUtils.charsetForEncoding:(Lorg/jcodings/Encoding;)Ljava/nio/charset/Charset;
            astore 3 /* rubyInt */
         3: .line 571
      StackMap locals: org.jcodings.Encoding java.nio.charset.Charset
      StackMap stack:
            aload 3 /* rubyInt */
            ifnonnull 6
         4: .line 572
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
            invokevirtual org.jruby.runtime.encoding.EncodingService.getJavaDefault:()Lorg/jcodings/Encoding;
            astore 4 /* javaExtEncoding */
        start local 4 // org.jcodings.Encoding javaExtEncoding
         5: .line 573
            aload 0 /* runtime */
            new org.jruby.util.ByteList
            dup
            aload 1 /* str */
            invokevirtual java.lang.String.getBytes:()[B
            aload 4 /* javaExtEncoding */
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;)V
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 4 // org.jcodings.Encoding javaExtEncoding
         6: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            new org.jruby.util.ByteList
            dup
            aload 1 /* str */
            aload 3 /* rubyInt */
            invokestatic org.jruby.RubyEncoding.encode:(Ljava/lang/String;Ljava/nio/charset/Charset;)[B
            aload 2 /* internal */
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;)V
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 3 // java.nio.charset.Charset rubyInt
        end local 2 // org.jcodings.Encoding internal
        end local 1 // java.lang.String str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0          runtime  Lorg/jruby/Ruby;
            0    7     1              str  Ljava/lang/String;
            1    7     2         internal  Lorg/jcodings/Encoding;
            2    7     3          rubyInt  Ljava/nio/charset/Charset;
            5    6     4  javaExtEncoding  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      runtime  
      str      

  public static org.jruby.RubyString newStringShared(org.jruby.Ruby, org.jruby.RubyString);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyString orig
         0: .line 580
            aload 1 /* orig */
            iconst_2
            putfield org.jruby.RubyString.shareLevel:I
         1: .line 581
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* orig */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         2: .line 582
            aload 2 /* str */
            iconst_2
            putfield org.jruby.RubyString.shareLevel:I
         3: .line 583
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.RubyString orig
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  runtime  Lorg/jruby/Ruby;
            0    4     1     orig  Lorg/jruby/RubyString;
            2    4     2      str  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      runtime  
      orig     

  public static org.jruby.RubyString newStringShared(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=3, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList bytes
         0: .line 587
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* bytes */
            invokestatic org.jruby.RubyString.newStringShared:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    bytes  Lorg/jruby/util/ByteList;
    MethodParameters:
         Name  Flags
      runtime  
      bytes    

  public static org.jruby.RubyString newStringShared(org.jruby.Ruby, org.jruby.util.ByteList, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList bytes
        start local 2 // org.jcodings.Encoding encoding
         0: .line 591
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* bytes */
            aload 2 /* encoding */
            invokestatic org.jruby.RubyString.newStringShared:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jcodings.Encoding encoding
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   runtime  Lorg/jruby/Ruby;
            0    1     1     bytes  Lorg/jruby/util/ByteList;
            0    1     2  encoding  Lorg/jcodings/Encoding;
    MethodParameters:
          Name  Flags
      runtime   
      bytes     
      encoding  

  public static org.jruby.RubyString newStringShared(org.jruby.Ruby, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;I)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList bytes
        start local 2 // int codeRange
         0: .line 596
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* bytes */
            iload 2 /* codeRange */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;I)V
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         1: .line 597
            aload 3 /* str */
            iconst_2
            putfield org.jruby.RubyString.shareLevel:I
         2: .line 598
            aload 3 /* str */
            areturn
        end local 3 // org.jruby.RubyString str
        end local 2 // int codeRange
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0    runtime  Lorg/jruby/Ruby;
            0    3     1      bytes  Lorg/jruby/util/ByteList;
            0    3     2  codeRange  I
            1    3     3        str  Lorg/jruby/RubyString;
    MethodParameters:
           Name  Flags
      runtime    
      bytes      
      codeRange  

  public static org.jruby.RubyString newStringShared(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.util.ByteList bytes
         0: .line 602
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 1 /* clazz */
            aload 2 /* bytes */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         1: .line 603
            aload 3 /* str */
            iconst_2
            putfield org.jruby.RubyString.shareLevel:I
         2: .line 604
            aload 3 /* str */
            areturn
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.util.ByteList bytes
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1    clazz  Lorg/jruby/RubyClass;
            0    3     2    bytes  Lorg/jruby/util/ByteList;
            1    3     3      str  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      runtime  
      clazz    
      bytes    

  public static org.jruby.RubyString newStringShared(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.util.ByteList, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.util.ByteList bytes
        start local 3 // org.jcodings.Encoding encoding
         0: .line 608
            aload 2 /* bytes */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            aload 3 /* encoding */
            if_acmpne 1
            aload 0 /* runtime */
            aload 1 /* clazz */
            aload 2 /* bytes */
            invokestatic org.jruby.RubyString.newStringShared:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
         1: .line 609
      StackMap locals:
      StackMap stack:
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 1 /* clazz */
            aload 2 /* bytes */
            aload 2 /* bytes */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 2 /* bytes */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            invokevirtual org.jruby.util.ByteList.makeShared:(II)Lorg/jruby/util/ByteList;
            aload 3 /* encoding */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)V
            astore 4 /* str */
        start local 4 // org.jruby.RubyString str
         2: .line 610
            aload 4 /* str */
            iconst_1
            putfield org.jruby.RubyString.shareLevel:I
         3: .line 611
            aload 4 /* str */
            areturn
        end local 4 // org.jruby.RubyString str
        end local 3 // org.jcodings.Encoding encoding
        end local 2 // org.jruby.util.ByteList bytes
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0   runtime  Lorg/jruby/Ruby;
            0    4     1     clazz  Lorg/jruby/RubyClass;
            0    4     2     bytes  Lorg/jruby/util/ByteList;
            0    4     3  encoding  Lorg/jcodings/Encoding;
            2    4     4       str  Lorg/jruby/RubyString;
    MethodParameters:
          Name  Flags
      runtime   
      clazz     
      bytes     
      encoding  

  private static org.jruby.RubyString newStringShared(org.jruby.Ruby, org.jruby.util.ByteList, org.jcodings.Encoding, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)Lorg/jruby/RubyString;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList bytes
        start local 2 // org.jcodings.Encoding encoding
        start local 3 // int cr
         0: .line 615
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* bytes */
            aload 2 /* encoding */
            invokestatic org.jruby.RubyString.newStringShared:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            astore 4 /* str */
        start local 4 // org.jruby.RubyString str
         1: .line 616
            aload 4 /* str */
            dup
            getfield org.jruby.RubyString.flags:I
            iload 3 /* cr */
            ior
            putfield org.jruby.RubyString.flags:I
         2: .line 617
            aload 4 /* str */
            areturn
        end local 4 // org.jruby.RubyString str
        end local 3 // int cr
        end local 2 // org.jcodings.Encoding encoding
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   runtime  Lorg/jruby/Ruby;
            0    3     1     bytes  Lorg/jruby/util/ByteList;
            0    3     2  encoding  Lorg/jcodings/Encoding;
            0    3     3        cr  I
            1    3     4       str  Lorg/jruby/RubyString;
    MethodParameters:
          Name  Flags
      runtime   
      bytes     
      encoding  
      cr        

  public static org.jruby.RubyString newStringShared(org.jruby.Ruby, byte[]);
    descriptor: (Lorg/jruby/Ruby;[B)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte[] bytes
         0: .line 621
            aload 0 /* runtime */
            aload 1 /* bytes */
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            invokestatic org.jruby.RubyString.newStringShared:(Lorg/jruby/Ruby;[BLorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            areturn
        end local 1 // byte[] bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    bytes  [B
    MethodParameters:
         Name  Flags
      runtime  
      bytes    

  public static org.jruby.RubyString newStringShared(org.jruby.Ruby, byte[], org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;[BLorg/jcodings/Encoding;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte[] bytes
        start local 2 // org.jcodings.Encoding encoding
         0: .line 625
            aload 0 /* runtime */
            aload 1 /* bytes */
            iconst_0
            aload 1 /* bytes */
            arraylength
            aload 2 /* encoding */
            invokestatic org.jruby.RubyString.newStringShared:(Lorg/jruby/Ruby;[BIILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jcodings.Encoding encoding
        end local 1 // byte[] bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   runtime  Lorg/jruby/Ruby;
            0    1     1     bytes  [B
            0    1     2  encoding  Lorg/jcodings/Encoding;
    MethodParameters:
          Name  Flags
      runtime   
      bytes     
      encoding  

  public static org.jruby.RubyString newStringShared(org.jruby.Ruby, byte[], int, int);
    descriptor: (Lorg/jruby/Ruby;[BII)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte[] bytes
        start local 2 // int start
        start local 3 // int length
         0: .line 629
            aload 0 /* runtime */
            aload 1 /* bytes */
            iload 2 /* start */
            iload 3 /* length */
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            invokestatic org.jruby.RubyString.newStringShared:(Lorg/jruby/Ruby;[BIILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            areturn
        end local 3 // int length
        end local 2 // int start
        end local 1 // byte[] bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    bytes  [B
            0    1     2    start  I
            0    1     3   length  I
    MethodParameters:
         Name  Flags
      runtime  
      bytes    
      start    
      length   

  public static org.jruby.RubyString newStringShared(org.jruby.Ruby, byte[], int, int, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;[BIILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte[] bytes
        start local 2 // int start
        start local 3 // int length
        start local 4 // org.jcodings.Encoding encoding
         0: .line 633
            new org.jruby.util.ByteList
            dup
            aload 1 /* bytes */
            iload 2 /* start */
            iload 3 /* length */
            aload 4 /* encoding */
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
            astore 5 /* byteList */
        start local 5 // org.jruby.util.ByteList byteList
         1: .line 634
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 5 /* byteList */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            astore 6 /* str */
        start local 6 // org.jruby.RubyString str
         2: .line 635
            aload 6 /* str */
            iconst_1
            putfield org.jruby.RubyString.shareLevel:I
         3: .line 636
            aload 6 /* str */
            areturn
        end local 6 // org.jruby.RubyString str
        end local 5 // org.jruby.util.ByteList byteList
        end local 4 // org.jcodings.Encoding encoding
        end local 3 // int length
        end local 2 // int start
        end local 1 // byte[] bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0   runtime  Lorg/jruby/Ruby;
            0    4     1     bytes  [B
            0    4     2     start  I
            0    4     3    length  I
            0    4     4  encoding  Lorg/jcodings/Encoding;
            1    4     5  byteList  Lorg/jruby/util/ByteList;
            2    4     6       str  Lorg/jruby/RubyString;
    MethodParameters:
          Name  Flags
      runtime   
      bytes     
      start     
      length    
      encoding  

  public static org.jruby.RubyString newEmptyString(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 640
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyString;
            areturn
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  

  public static org.jruby.RubyString newAllocatedString(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyClass metaClass
         0: .line 647
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 1 /* metaClass */
            getstatic org.jruby.RubyString.EMPTY_ASCII8BIT_BYTELIST:Lorg/jruby/util/ByteList;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            astore 2 /* empty */
        start local 2 // org.jruby.RubyString empty
         1: .line 648
            aload 2 /* empty */
            iconst_2
            putfield org.jruby.RubyString.shareLevel:I
         2: .line 649
            aload 2 /* empty */
            areturn
        end local 2 // org.jruby.RubyString empty
        end local 1 // org.jruby.RubyClass metaClass
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0    runtime  Lorg/jruby/Ruby;
            0    3     1  metaClass  Lorg/jruby/RubyClass;
            1    3     2      empty  Lorg/jruby/RubyString;
    MethodParameters:
           Name  Flags
      runtime    
      metaClass  

  public static org.jruby.RubyString newEmptyString(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyClass metaClass
         0: .line 653
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 1 /* metaClass */
            getstatic org.jruby.RubyString.EMPTY_USASCII_BYTELIST:Lorg/jruby/util/ByteList;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            astore 2 /* empty */
        start local 2 // org.jruby.RubyString empty
         1: .line 654
            aload 2 /* empty */
            iconst_2
            putfield org.jruby.RubyString.shareLevel:I
         2: .line 655
            aload 2 /* empty */
            areturn
        end local 2 // org.jruby.RubyString empty
        end local 1 // org.jruby.RubyClass metaClass
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0    runtime  Lorg/jruby/Ruby;
            0    3     1  metaClass  Lorg/jruby/RubyClass;
            1    3     2      empty  Lorg/jruby/RubyString;
    MethodParameters:
           Name  Flags
      runtime    
      metaClass  

  public static org.jruby.RubyString newStringNoCopy(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=3, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList bytes
         0: .line 660
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* bytes */
            invokestatic org.jruby.RubyString.newStringNoCopy:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    bytes  Lorg/jruby/util/ByteList;
    MethodParameters:
         Name  Flags
      runtime  
      bytes    

  public static org.jruby.RubyString newStringNoCopy(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.util.ByteList bytes
         0: .line 664
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 1 /* clazz */
            aload 2 /* bytes */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            areturn
        end local 2 // org.jruby.util.ByteList bytes
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    clazz  Lorg/jruby/RubyClass;
            0    1     2    bytes  Lorg/jruby/util/ByteList;
    MethodParameters:
         Name  Flags
      runtime  
      clazz    
      bytes    

  public static org.jruby.RubyString newStringNoCopy(org.jruby.Ruby, byte[], int, int);
    descriptor: (Lorg/jruby/Ruby;[BII)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte[] bytes
        start local 2 // int start
        start local 3 // int length
         0: .line 668
            aload 0 /* runtime */
            new org.jruby.util.ByteList
            dup
            aload 1 /* bytes */
            iload 2 /* start */
            iload 3 /* length */
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BIIZ)V
            invokestatic org.jruby.RubyString.newStringNoCopy:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 3 // int length
        end local 2 // int start
        end local 1 // byte[] bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    bytes  [B
            0    1     2    start  I
            0    1     3   length  I
    MethodParameters:
         Name  Flags
      runtime  
      bytes    
      start    
      length   

  public static org.jruby.RubyString newStringNoCopy(org.jruby.Ruby, byte[]);
    descriptor: (Lorg/jruby/Ruby;[B)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte[] bytes
         0: .line 672
            aload 0 /* runtime */
            new org.jruby.util.ByteList
            dup
            aload 1 /* bytes */
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BZ)V
            invokestatic org.jruby.RubyString.newStringNoCopy:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 1 // byte[] bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    bytes  [B
    MethodParameters:
         Name  Flags
      runtime  
      bytes    

  public final boolean independent();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 677
            aload 0 /* this */
            getfield org.jruby.RubyString.shareLevel:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;

  public final org.jruby.RubyString makeIndependent();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 682
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            astore 1 /* klass */
        start local 1 // org.jruby.RubyClass klass
         1: .line 683
            aload 0 /* this */
            aload 1 /* klass */
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* klass */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         2: .line 684
            aload 2 /* str */
            invokevirtual org.jruby.RubyString.modify:()V
         3: .line 685
            aload 2 /* str */
            iconst_1
            invokevirtual org.jruby.RubyString.setFrozen:(Z)V
         4: .line 686
            aload 2 /* str */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
         5: .line 687
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.RubyClass klass
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jruby/RubyString;
            1    6     1  klass  Lorg/jruby/RubyClass;
            2    6     2    str  Lorg/jruby/RubyString;

  public final org.jruby.RubyString makeIndependent(int);
    descriptor: (I)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int length
         0: .line 692
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            astore 2 /* klass */
        start local 2 // org.jruby.RubyClass klass
         1: .line 693
            aload 0 /* this */
            aload 2 /* klass */
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 2 /* klass */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyString;
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         2: .line 694
            aload 3 /* str */
            iload 1 /* length */
            invokevirtual org.jruby.RubyString.modify:(I)V
         3: .line 695
            aload 3 /* str */
            iconst_1
            invokevirtual org.jruby.RubyString.setFrozen:(Z)V
         4: .line 696
            aload 3 /* str */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
         5: .line 697
            aload 3 /* str */
            areturn
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.RubyClass klass
        end local 1 // int length
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/jruby/RubyString;
            0    6     1  length  I
            1    6     2   klass  Lorg/jruby/RubyClass;
            2    6     3     str  Lorg/jruby/RubyString;
    MethodParameters:
        Name  Flags
      length  final

  public org.jruby.RubyString export(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 702
            getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
            ifeq 2
         1: .line 703
            aload 1 /* context */
            aload 0 /* this */
            aconst_null
            getstatic org.jcodings.specific.UTF8Encoding.INSTANCE:Lorg/jcodings/specific/UTF8Encoding;
            iconst_0
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.util.io.EncodingUtils.strConvEncOpts:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jcodings/Encoding;Lorg/jcodings/Encoding;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
         2: .line 705
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  static org.jruby.RubyString$EmptyByteListHolder getEmptyByteList(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)Lorg/jruby/RubyString$EmptyByteListHolder;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.jcodings.Encoding enc
         0: .line 723
            aload 0 /* enc */
            ifnonnull 1
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            astore 0 /* enc */
         1: .line 724
      StackMap locals:
      StackMap stack:
            aload 0 /* enc */
            invokevirtual org.jcodings.Encoding.getIndex:()I
            istore 1 /* index */
        start local 1 // int index
         2: .line 726
            iload 1 /* index */
            getstatic org.jruby.RubyString.EMPTY_BYTELISTS:[Lorg/jruby/RubyString$EmptyByteListHolder;
            arraylength
            if_icmpge 5
            getstatic org.jruby.RubyString.EMPTY_BYTELISTS:[Lorg/jruby/RubyString$EmptyByteListHolder;
            iload 1 /* index */
            aaload
            dup
            astore 2 /* bytes */
        start local 2 // org.jruby.RubyString$EmptyByteListHolder bytes
         3: ifnull 5
         4: .line 727
            aload 2 /* bytes */
            areturn
        end local 2 // org.jruby.RubyString$EmptyByteListHolder bytes
         5: .line 729
      StackMap locals: int
      StackMap stack:
            aload 0 /* enc */
            invokestatic org.jruby.RubyString.prepareEmptyByteList:(Lorg/jcodings/Encoding;)Lorg/jruby/RubyString$EmptyByteListHolder;
            areturn
        end local 1 // int index
        end local 0 // org.jcodings.Encoding enc
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0    enc  Lorg/jcodings/Encoding;
            2    6     1  index  I
            3    5     2  bytes  Lorg/jruby/RubyString$EmptyByteListHolder;
    MethodParameters:
      Name  Flags
      enc   

  private static org.jruby.RubyString$EmptyByteListHolder prepareEmptyByteList(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)Lorg/jruby/RubyString$EmptyByteListHolder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.jcodings.Encoding enc
         0: .line 733
            aload 0 /* enc */
            ifnonnull 1
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            astore 0 /* enc */
         1: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* enc */
            invokevirtual org.jcodings.Encoding.getIndex:()I
            istore 1 /* index */
        start local 1 // int index
         2: .line 735
            iload 1 /* index */
            getstatic org.jruby.RubyString.EMPTY_BYTELISTS:[Lorg/jruby/RubyString$EmptyByteListHolder;
            arraylength
            if_icmplt 6
         3: .line 736
            iload 1 /* index */
            iconst_4
            iadd
            anewarray org.jruby.RubyString$EmptyByteListHolder
            astore 2 /* tmp */
        start local 2 // org.jruby.RubyString$EmptyByteListHolder[] tmp
         4: .line 737
            getstatic org.jruby.RubyString.EMPTY_BYTELISTS:[Lorg/jruby/RubyString$EmptyByteListHolder;
            iconst_0
            aload 2 /* tmp */
            iconst_0
            getstatic org.jruby.RubyString.EMPTY_BYTELISTS:[Lorg/jruby/RubyString$EmptyByteListHolder;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 738
            aload 2 /* tmp */
            putstatic org.jruby.RubyString.EMPTY_BYTELISTS:[Lorg/jruby/RubyString$EmptyByteListHolder;
        end local 2 // org.jruby.RubyString$EmptyByteListHolder[] tmp
         6: .line 740
      StackMap locals: int
      StackMap stack:
            getstatic org.jruby.RubyString.EMPTY_BYTELISTS:[Lorg/jruby/RubyString$EmptyByteListHolder;
            iload 1 /* index */
            new org.jruby.RubyString$EmptyByteListHolder
            dup
            aload 0 /* enc */
            invokespecial org.jruby.RubyString$EmptyByteListHolder.<init>:(Lorg/jcodings/Encoding;)V
            dup_x2
            aastore
            areturn
        end local 1 // int index
        end local 0 // org.jcodings.Encoding enc
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0    enc  Lorg/jcodings/Encoding;
            2    7     1  index  I
            4    6     2    tmp  [Lorg/jruby/RubyString$EmptyByteListHolder;
    MethodParameters:
      Name  Flags
      enc   

  public static org.jruby.RubyString newEmptyString(org.jruby.Ruby, org.jruby.RubyClass, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyClass metaClass
        start local 2 // org.jcodings.Encoding enc
         0: .line 744
            aload 2 /* enc */
            invokestatic org.jruby.RubyString.getEmptyByteList:(Lorg/jcodings/Encoding;)Lorg/jruby/RubyString$EmptyByteListHolder;
            astore 3 /* holder */
        start local 3 // org.jruby.RubyString$EmptyByteListHolder holder
         1: .line 745
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 1 /* metaClass */
            aload 3 /* holder */
            getfield org.jruby.RubyString$EmptyByteListHolder.bytes:Lorg/jruby/util/ByteList;
            aload 3 /* holder */
            getfield org.jruby.RubyString$EmptyByteListHolder.cr:I
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;I)V
            astore 4 /* empty */
        start local 4 // org.jruby.RubyString empty
         2: .line 746
            aload 4 /* empty */
            iconst_2
            putfield org.jruby.RubyString.shareLevel:I
         3: .line 747
            aload 4 /* empty */
            areturn
        end local 4 // org.jruby.RubyString empty
        end local 3 // org.jruby.RubyString$EmptyByteListHolder holder
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.RubyClass metaClass
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0    runtime  Lorg/jruby/Ruby;
            0    4     1  metaClass  Lorg/jruby/RubyClass;
            0    4     2        enc  Lorg/jcodings/Encoding;
            1    4     3     holder  Lorg/jruby/RubyString$EmptyByteListHolder;
            2    4     4      empty  Lorg/jruby/RubyString;
    MethodParameters:
           Name  Flags
      runtime    
      metaClass  
      enc        

  public static org.jruby.RubyString newEmptyString(org.jruby.Ruby, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jcodings.Encoding enc
         0: .line 751
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* enc */
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jcodings.Encoding enc
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1      enc  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      runtime  
      enc      

  public static org.jruby.RubyString newStringNoCopy(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.util.ByteList, org.jcodings.Encoding, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyClass clazz
        start local 2 // org.jruby.util.ByteList bytes
        start local 3 // org.jcodings.Encoding enc
        start local 4 // int cr
         0: .line 755
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 1 /* clazz */
            aload 2 /* bytes */
            aload 3 /* enc */
            iload 4 /* cr */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)V
            areturn
        end local 4 // int cr
        end local 3 // org.jcodings.Encoding enc
        end local 2 // org.jruby.util.ByteList bytes
        end local 1 // org.jruby.RubyClass clazz
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    clazz  Lorg/jruby/RubyClass;
            0    1     2    bytes  Lorg/jruby/util/ByteList;
            0    1     3      enc  Lorg/jcodings/Encoding;
            0    1     4       cr  I
    MethodParameters:
         Name  Flags
      runtime  
      clazz    
      bytes    
      enc      
      cr       

  public static org.jruby.RubyString newStringNoCopy(org.jruby.Ruby, org.jruby.util.ByteList, org.jcodings.Encoding, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList bytes
        start local 2 // org.jcodings.Encoding enc
        start local 3 // int cr
         0: .line 759
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 1 /* bytes */
            aload 2 /* enc */
            iload 3 /* cr */
            invokestatic org.jruby.RubyString.newStringNoCopy:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)Lorg/jruby/RubyString;
            areturn
        end local 3 // int cr
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    bytes  Lorg/jruby/util/ByteList;
            0    1     2      enc  Lorg/jcodings/Encoding;
            0    1     3       cr  I
    MethodParameters:
         Name  Flags
      runtime  
      bytes    
      enc      
      cr       

  public static org.jruby.RubyString newUsAsciiStringNoCopy(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=4, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList bytes
         0: .line 763
            aload 0 /* runtime */
            aload 1 /* bytes */
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            bipush 16
            invokestatic org.jruby.RubyString.newStringNoCopy:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    bytes  Lorg/jruby/util/ByteList;
    MethodParameters:
         Name  Flags
      runtime  
      bytes    

  public static org.jruby.RubyString newUsAsciiStringShared(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=2, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList bytes
         0: .line 767
            aload 0 /* runtime */
            aload 1 /* bytes */
            invokestatic org.jruby.RubyString.newUsAsciiStringNoCopy:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         1: .line 768
            aload 2 /* str */
            iconst_2
            putfield org.jruby.RubyString.shareLevel:I
         2: .line 769
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1    bytes  Lorg/jruby/util/ByteList;
            1    3     2      str  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      runtime  
      bytes    

  public static org.jruby.RubyString newUsAsciiStringShared(org.jruby.Ruby, byte[], int, int);
    descriptor: (Lorg/jruby/Ruby;[BII)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte[] bytes
        start local 2 // int start
        start local 3 // int length
         0: .line 773
            aload 0 /* runtime */
            new org.jruby.util.ByteList
            dup
            aload 1 /* bytes */
            iload 2 /* start */
            iload 3 /* length */
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BIIZ)V
            invokestatic org.jruby.RubyString.newUsAsciiStringNoCopy:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 4 /* str */
        start local 4 // org.jruby.RubyString str
         1: .line 774
            aload 4 /* str */
            iconst_1
            putfield org.jruby.RubyString.shareLevel:I
         2: .line 775
            aload 4 /* str */
            areturn
        end local 4 // org.jruby.RubyString str
        end local 3 // int length
        end local 2 // int start
        end local 1 // byte[] bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1    bytes  [B
            0    3     2    start  I
            0    3     3   length  I
            1    3     4      str  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      runtime  
      bytes    
      start    
      length   

  public org.jruby.runtime.ClassIndex getNativeClassIndex();
    descriptor: ()Lorg/jruby/runtime/ClassIndex;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 780
            getstatic org.jruby.runtime.ClassIndex.STRING:Lorg/jruby/runtime/ClassIndex;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public java.lang.Class getJavaClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 785
            ldc Ljava/lang/String;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public org.jruby.RubyString convertToString();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 790
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 795
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.decodeString:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public java.lang.String decodeString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 804
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.runtime.Helpers.decodeByteList:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Ljava/lang/String;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public org.jruby.runtime.builtin.IRubyObject dup();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 814
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
            astore 1 /* mc */
        start local 1 // org.jruby.RubyClass mc
         1: .line 815
            aload 1 /* mc */
            invokevirtual org.jruby.RubyClass.getClassIndex:()Lorg/jruby/runtime/ClassIndex;
            getstatic org.jruby.runtime.ClassIndex.STRING:Lorg/jruby/runtime/ClassIndex;
            if_acmpeq 2
            aload 0 /* this */
            invokespecial org.jruby.RubyObject.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 817
      StackMap locals: org.jruby.RubyClass
      StackMap stack:
            aload 0 /* this */
            aload 1 /* mc */
            invokevirtual org.jruby.RubyClass.getClassRuntime:()Lorg/jruby/Ruby;
            aload 1 /* mc */
            invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.RubyClass mc
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyString;
            1    3     1    mc  Lorg/jruby/RubyClass;

  public org.jruby.runtime.builtin.IRubyObject dupFrozen();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 822
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            astore 1 /* dup */
        start local 1 // org.jruby.RubyString dup
         1: .line 823
            aload 1 /* dup */
            iconst_1
            invokevirtual org.jruby.RubyString.setFrozen:(Z)V
         2: .line 824
            aload 1 /* dup */
            areturn
        end local 1 // org.jruby.RubyString dup
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyString;
            1    3     1   dup  Lorg/jruby/RubyString;

  public final org.jruby.RubyString strDup(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
         0: .line 829
            aload 0 /* this */
            aload 1 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  

  final org.jruby.RubyString strDup(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyString;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass clazz
         0: .line 833
            aload 0 /* this */
            iconst_2
            putfield org.jruby.RubyString.shareLevel:I
         1: .line 834
            new org.jruby.RubyString
            dup
            aload 1 /* runtime */
            aload 2 /* clazz */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            astore 3 /* dup */
        start local 3 // org.jruby.RubyString dup
         2: .line 835
            aload 3 /* dup */
            iconst_2
            putfield org.jruby.RubyString.shareLevel:I
         3: .line 836
            aload 3 /* dup */
            dup
            getfield org.jruby.RubyString.flags:I
            aload 0 /* this */
            getfield org.jruby.RubyString.flags:I
            bipush 48
            getstatic org.jruby.RubyString.TAINTED_F:I
            ior
            iand
            ior
            putfield org.jruby.RubyString.flags:I
         4: .line 838
            aload 3 /* dup */
            areturn
        end local 3 // org.jruby.RubyString dup
        end local 2 // org.jruby.RubyClass clazz
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyString;
            0    5     1  runtime  Lorg/jruby/Ruby;
            0    5     2    clazz  Lorg/jruby/RubyClass;
            2    5     3      dup  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      runtime  
      clazz    

  public final org.jruby.RubyString makeSharedString(org.jruby.Ruby, int, int);
    descriptor: (Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int index
        start local 3 // int len
         0: .line 843
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 2 /* index */
            iload 3 /* len */
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;II)Lorg/jruby/RubyString;
            areturn
        end local 3 // int len
        end local 2 // int index
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  runtime  Lorg/jruby/Ruby;
            0    1     2    index  I
            0    1     3      len  I
    MethodParameters:
         Name  Flags
      runtime  
      index    
      len      

  public final org.jruby.RubyString makeSharedString19(org.jruby.Ruby, int, int);
    descriptor: (Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int index
        start local 3 // int len
         0: .line 848
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 2 /* index */
            iload 3 /* len */
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;II)Lorg/jruby/RubyString;
            areturn
        end local 3 // int len
        end local 2 // int index
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  runtime  Lorg/jruby/Ruby;
            0    1     2    index  I
            0    1     3      len  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      runtime  
      index    
      len      

  public final org.jruby.RubyString makeShared(org.jruby.Ruby, int, int);
    descriptor: (Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int index
        start local 3 // int len
         0: .line 852
            aload 0 /* this */
            aload 1 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getType:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 2 /* index */
            iload 3 /* len */
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;II)Lorg/jruby/RubyString;
            areturn
        end local 3 // int len
        end local 2 // int index
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  runtime  Lorg/jruby/Ruby;
            0    1     2    index  I
            0    1     3      len  I
    MethodParameters:
         Name  Flags
      runtime  
      index    
      len      

  public final org.jruby.RubyString makeShared(org.jruby.Ruby, org.jruby.RubyClass, int, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;II)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass meta
        start local 3 // int index
        start local 4 // int len
         0: .line 857
            iload 4 /* len */
            ifne 3
         1: .line 858
            aload 1 /* runtime */
            aload 2 /* meta */
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyString;
            astore 5 /* shared */
        start local 5 // org.jruby.RubyString shared
         2: .line 859
            goto 9
        end local 5 // org.jruby.RubyString shared
      StackMap locals:
      StackMap stack:
         3: iload 4 /* len */
            iconst_1
            if_icmpne 6
         4: .line 860
            aload 1 /* runtime */
            aload 2 /* meta */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            iload 3 /* index */
            iadd
            baload
            invokestatic org.jruby.RubyInteger.singleCharByteList:(B)Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.newStringShared:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 5 /* shared */
        start local 5 // org.jruby.RubyString shared
         5: .line 861
            goto 9
        end local 5 // org.jruby.RubyString shared
         6: .line 862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.shareLevel:I
            ifne 7
            aload 0 /* this */
            iconst_1
            putfield org.jruby.RubyString.shareLevel:I
         7: .line 863
      StackMap locals:
      StackMap stack:
            new org.jruby.RubyString
            dup
            aload 1 /* runtime */
            aload 2 /* meta */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 3 /* index */
            iload 4 /* len */
            invokevirtual org.jruby.util.ByteList.makeShared:(II)Lorg/jruby/util/ByteList;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            astore 5 /* shared */
        start local 5 // org.jruby.RubyString shared
         8: .line 864
            aload 5 /* shared */
            iconst_1
            putfield org.jruby.RubyString.shareLevel:I
         9: .line 867
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            aload 5 /* shared */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        10: .line 868
            aload 5 /* shared */
            areturn
        end local 5 // org.jruby.RubyString shared
        end local 4 // int len
        end local 3 // int index
        end local 2 // org.jruby.RubyClass meta
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyString;
            0   11     1  runtime  Lorg/jruby/Ruby;
            0   11     2     meta  Lorg/jruby/RubyClass;
            0   11     3    index  I
            0   11     4      len  I
            2    3     5   shared  Lorg/jruby/RubyString;
            5    6     5   shared  Lorg/jruby/RubyString;
            8   11     5   shared  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      runtime  
      meta     
      index    
      len      

  public final org.jruby.RubyString makeShared19(org.jruby.Ruby, int, int);
    descriptor: (Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int index
        start local 3 // int len
         0: .line 873
            aload 0 /* this */
            aload 1 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 2 /* index */
            iload 3 /* len */
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;II)Lorg/jruby/RubyString;
            areturn
        end local 3 // int len
        end local 2 // int index
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  runtime  Lorg/jruby/Ruby;
            0    1     2    index  I
            0    1     3      len  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      runtime  
      index    
      len      

  public final org.jruby.RubyString makeShared19(org.jruby.Ruby, org.jruby.RubyClass, int, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;II)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass meta
        start local 3 // int index
        start local 4 // int len
         0: .line 878
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* meta */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 3 /* index */
            iload 4 /* len */
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;II)Lorg/jruby/RubyString;
            areturn
        end local 4 // int len
        end local 3 // int index
        end local 2 // org.jruby.RubyClass meta
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  runtime  Lorg/jruby/Ruby;
            0    1     2     meta  Lorg/jruby/RubyClass;
            0    1     3    index  I
            0    1     4      len  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      runtime  
      meta     
      index    
      len      

  private org.jruby.RubyString makeShared(org.jruby.Ruby, org.jruby.util.ByteList, int, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;II)Lorg/jruby/RubyString;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.ByteList value
        start local 3 // int index
        start local 4 // int len
         0: .line 882
            aload 0 /* this */
            aload 1 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getType:()Lorg/jruby/RubyClass;
            aload 2 /* value */
            iload 3 /* index */
            iload 4 /* len */
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;II)Lorg/jruby/RubyString;
            areturn
        end local 4 // int len
        end local 3 // int index
        end local 2 // org.jruby.util.ByteList value
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  runtime  Lorg/jruby/Ruby;
            0    1     2    value  Lorg/jruby/util/ByteList;
            0    1     3    index  I
            0    1     4      len  I
    MethodParameters:
         Name  Flags
      runtime  
      value    
      index    
      len      

  private org.jruby.RubyString makeShared(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.util.ByteList, int, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;II)Lorg/jruby/RubyString;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=6
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass meta
        start local 3 // org.jruby.util.ByteList value
        start local 4 // int index
        start local 5 // int len
         0: .line 887
            aload 3 /* value */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 7 /* enc */
        start local 7 // org.jcodings.Encoding enc
         1: .line 889
            iload 5 /* len */
            ifne 4
         2: .line 890
            aload 1 /* runtime */
            aload 2 /* meta */
            aload 7 /* enc */
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            astore 6 /* shared */
        start local 6 // org.jruby.RubyString shared
         3: .line 891
            goto 11
        end local 6 // org.jruby.RubyString shared
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.RubyClass org.jruby.util.ByteList int int top org.jcodings.Encoding
      StackMap stack:
         4: iload 5 /* len */
            iconst_1
            if_icmpne 8
         5: .line 896
            new org.jruby.util.ByteList
            dup
            iconst_1
            newarray 8
            dup
            iconst_0
            aload 3 /* value */
            iload 4 /* index */
            invokevirtual org.jruby.util.ByteList.get:(I)I
            i2b
            bastore
            aload 7 /* enc */
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;)V
            astore 8 /* bytes */
        start local 8 // org.jruby.util.ByteList bytes
         6: .line 897
            new org.jruby.RubyString
            dup
            aload 1 /* runtime */
            aload 2 /* meta */
            aload 8 /* bytes */
            aload 7 /* enc */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)V
            astore 6 /* shared */
        end local 8 // org.jruby.util.ByteList bytes
        start local 6 // org.jruby.RubyString shared
         7: .line 898
            goto 11
        end local 6 // org.jruby.RubyString shared
         8: .line 899
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.shareLevel:I
            ifne 9
            aload 0 /* this */
            iconst_1
            putfield org.jruby.RubyString.shareLevel:I
         9: .line 900
      StackMap locals:
      StackMap stack:
            new org.jruby.RubyString
            dup
            aload 1 /* runtime */
            aload 2 /* meta */
            aload 3 /* value */
            iload 4 /* index */
            iload 5 /* len */
            invokevirtual org.jruby.util.ByteList.makeShared:(II)Lorg/jruby/util/ByteList;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            astore 6 /* shared */
        start local 6 // org.jruby.RubyString shared
        10: .line 901
            aload 6 /* shared */
            iconst_1
            putfield org.jruby.RubyString.shareLevel:I
        11: .line 903
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.RubyClass org.jruby.util.ByteList int int org.jruby.RubyString org.jcodings.Encoding
      StackMap stack:
            aload 6 /* shared */
            aload 0 /* this */
            aload 7 /* enc */
            invokevirtual org.jruby.RubyString.copyCodeRangeForSubstr:(Lorg/jruby/RubyString;Lorg/jcodings/Encoding;)V
        12: .line 904
            aload 6 /* shared */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        13: .line 905
            aload 6 /* shared */
            areturn
        end local 7 // org.jcodings.Encoding enc
        end local 6 // org.jruby.RubyString shared
        end local 5 // int len
        end local 4 // int index
        end local 3 // org.jruby.util.ByteList value
        end local 2 // org.jruby.RubyClass meta
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/jruby/RubyString;
            0   14     1  runtime  Lorg/jruby/Ruby;
            0   14     2     meta  Lorg/jruby/RubyClass;
            0   14     3    value  Lorg/jruby/util/ByteList;
            0   14     4    index  I
            0   14     5      len  I
            3    4     6   shared  Lorg/jruby/RubyString;
            7    8     6   shared  Lorg/jruby/RubyString;
           10   14     6   shared  Lorg/jruby/RubyString;
            1   14     7      enc  Lorg/jcodings/Encoding;
            6    7     8    bytes  Lorg/jruby/util/ByteList;
    MethodParameters:
         Name  Flags
      runtime  
      meta     
      value    
      index    
      len      

  public final void setByteListShared();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 909
            aload 0 /* this */
            getfield org.jruby.RubyString.shareLevel:I
            iconst_2
            if_icmpeq 1
            aload 0 /* this */
            iconst_2
            putfield org.jruby.RubyString.shareLevel:I
         1: .line 910
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;

  final void setBufferShared();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 913
            aload 0 /* this */
            getfield org.jruby.RubyString.shareLevel:I
            ifne 1
            aload 0 /* this */
            iconst_1
            putfield org.jruby.RubyString.shareLevel:I
         1: .line 914
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;

  public final void modifyCheck();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 923
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.frozenCheck:()V
         1: .line 924
            return
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;

  public void modifyCheck(byte[], int);
    descriptor: ([BI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // byte[] b
        start local 2 // int len
         0: .line 927
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 1 /* b */
            if_acmpne 1
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 2 /* len */
            if_icmpeq 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            ldc "string modified"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 928
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int len
        end local 1 // byte[] b
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyString;
            0    3     1     b  [B
            0    3     2   len  I
    MethodParameters:
      Name  Flags
      b     
      len   

  private void modifyCheck(byte[], int, org.jcodings.Encoding);
    descriptor: ([BILorg/jcodings/Encoding;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // byte[] b
        start local 2 // int len
        start local 3 // org.jcodings.Encoding enc
         0: .line 931
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 1 /* b */
            if_acmpne 1
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 2 /* len */
            if_icmpne 1
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            aload 3 /* enc */
            if_acmpeq 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            ldc "string modified"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 932
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.jcodings.Encoding enc
        end local 2 // int len
        end local 1 // byte[] b
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyString;
            0    3     1     b  [B
            0    3     2   len  I
            0    3     3   enc  Lorg/jcodings/Encoding;
    MethodParameters:
      Name  Flags
      b     
      len   
      enc   

  private void frozenCheck();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 935
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.RubyString.frozenCheck:(Z)V
         1: .line 936
            return
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;

  private void frozenCheck(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // boolean runtimeError
         0: .line 939
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.isFrozen:()Z
            ifeq 10
         1: .line 940
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getInstanceConfig:()Lorg/jruby/RubyInstanceConfig;
            invokevirtual org.jruby.RubyInstanceConfig.isDebuggingFrozenStringLiteral:()Z
            ifeq 9
         2: .line 941
            aload 0 /* this */
            ldc "@debug_created_info"
            invokevirtual org.jruby.RubyString.getInstanceVariable:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* obj */
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         3: .line 943
            aload 2 /* obj */
            ifnull 9
            aload 2 /* obj */
            instanceof org.jruby.RubyArray
            ifeq 9
         4: .line 944
            aload 2 /* obj */
            checkcast org.jruby.RubyArray
            astore 3 /* info */
        start local 3 // org.jruby.RubyArray info
         5: .line 945
            aload 3 /* info */
            invokevirtual org.jruby.RubyArray.getLength:()I
            iconst_2
            if_icmpne 9
         6: .line 946
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFrozenError:()Lorg/jruby/RubyClass;
         7: .line 947
            new java.lang.StringBuilder
            dup
            ldc "can't modify frozen String, created at "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* info */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* info */
            iconst_1
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 946
            invokevirtual org.jruby.Ruby.newRaiseException:(Lorg/jruby/RubyClass;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 3 // org.jruby.RubyArray info
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
         9: .line 952
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            ldc "String"
            iload 1 /* runtimeError */
            invokevirtual org.jruby.Ruby.newFrozenError:(Ljava/lang/String;Z)Lorg/jruby/exceptions/RaiseException;
            athrow
        10: .line 954
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean runtimeError
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/jruby/RubyString;
            0   11     1  runtimeError  Z
            3    9     2           obj  Lorg/jruby/runtime/builtin/IRubyObject;
            5    9     3          info  Lorg/jruby/RubyArray;
    MethodParameters:
              Name  Flags
      runtimeError  

  public final void modify();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 960
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 962
            aload 0 /* this */
            getfield org.jruby.RubyString.shareLevel:I
            ifeq 7
         2: .line 963
            aload 0 /* this */
            getfield org.jruby.RubyString.shareLevel:I
            iconst_2
            if_icmpne 5
         3: .line 964
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.dup:()Lorg/jruby/util/ByteList;
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         4: .line 965
            goto 6
         5: .line 966
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unshare:()V
         6: .line 968
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyString.shareLevel:I
         7: .line 971
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         8: .line 972
            return
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/jruby/RubyString;

  public final void modify19();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 975
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modify:()V
         1: .line 976
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.clearCodeRange:()V
         2: .line 977
            return
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyString;

  public void modifyAndKeepCodeRange();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 981
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modify:()V
         1: .line 982
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.keepCodeRange:()V
         2: .line 983
            return
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyString;

  public final void modify(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int length
         0: .line 989
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 991
            aload 0 /* this */
            getfield org.jruby.RubyString.shareLevel:I
            ifeq 8
         2: .line 992
            aload 0 /* this */
            getfield org.jruby.RubyString.shareLevel:I
            iconst_2
            if_icmpne 5
         3: .line 993
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 1 /* length */
            invokevirtual org.jruby.util.ByteList.dup:(I)Lorg/jruby/util/ByteList;
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         4: .line 994
            goto 6
         5: .line 995
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 1 /* length */
            invokevirtual org.jruby.util.ByteList.unshare:(I)V
         6: .line 997
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyString.shareLevel:I
         7: .line 998
            goto 9
         8: .line 999
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 1 /* length */
            invokevirtual org.jruby.util.ByteList.ensure:(I)V
         9: .line 1002
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.invalidate:()V
        10: .line 1003
            return
        end local 1 // int length
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/jruby/RubyString;
            0   11     1  length  I
    MethodParameters:
        Name  Flags
      length  

  public final void modifyExpand(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int length
         0: .line 1009
            aload 0 /* this */
            iload 1 /* length */
            invokevirtual org.jruby.RubyString.modify:(I)V
         1: .line 1010
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.clearCodeRange:()V
         2: .line 1011
            return
        end local 1 // int length
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/RubyString;
            0    3     1  length  I
    MethodParameters:
        Name  Flags
      length  

  public void setReadLength(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int length
         0: .line 1015
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.size:()I
            iload 1 /* length */
            if_icmpeq 3
         1: .line 1016
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modify:()V
         2: .line 1017
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 1 /* length */
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
         3: .line 1019
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int length
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/jruby/RubyString;
            0    4     1  length  I
    MethodParameters:
        Name  Flags
      length  

  public org.jruby.RubyString newFrozen();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 1024
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.isFrozen:()Z
            ifeq 1
            aload 0 /* this */
            areturn
         1: .line 1026
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 1 /* str */
        start local 1 // org.jruby.RubyString str
         2: .line 1027
            aload 1 /* str */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
         3: .line 1028
            aload 1 /* str */
            iconst_1
            invokevirtual org.jruby.RubyString.setFrozen:(Z)V
         4: .line 1029
            aload 1 /* str */
            areturn
        end local 1 // org.jruby.RubyString str
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyString;
            2    5     1   str  Lorg/jruby/RubyString;

  public final void resize(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int length
         0: .line 1035
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 1 /* length */
            if_icmple 4
         1: .line 1036
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modify:()V
         2: .line 1037
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 1 /* length */
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
         3: .line 1038
            goto 7
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 1 /* length */
            if_icmpge 7
         5: .line 1039
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modify:()V
         6: .line 1040
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 1 /* length */
            invokevirtual org.jruby.util.ByteList.length:(I)V
         7: .line 1042
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int length
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/jruby/RubyString;
            0    8     1  length  I
    MethodParameters:
        Name  Flags
      length  

  public final void view(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.util.ByteList bytes
         0: .line 1045
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 1047
            aload 0 /* this */
            aload 1 /* bytes */
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         2: .line 1048
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyString.shareLevel:I
         3: .line 1049
            return
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/RubyString;
            0    4     1  bytes  Lorg/jruby/util/ByteList;
    MethodParameters:
       Name  Flags
      bytes  

  private void view(byte[], boolean);
    descriptor: ([BZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // byte[] bytes
        start local 2 // boolean copy
         0: .line 1052
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 1054
            aload 0 /* this */
            new org.jruby.util.ByteList
            dup
            aload 1 /* bytes */
            iload 2 /* copy */
            invokespecial org.jruby.util.ByteList.<init>:([BZ)V
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         2: .line 1055
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyString.shareLevel:I
         3: .line 1057
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         4: .line 1058
            return
        end local 2 // boolean copy
        end local 1 // byte[] bytes
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/jruby/RubyString;
            0    5     1  bytes  [B
            0    5     2   copy  Z
    MethodParameters:
       Name  Flags
      bytes  
      copy   

  private void view(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // int index
        start local 2 // int len
         0: .line 1061
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 1063
            aload 0 /* this */
            getfield org.jruby.RubyString.shareLevel:I
            ifeq 8
         2: .line 1064
            aload 0 /* this */
            getfield org.jruby.RubyString.shareLevel:I
            iconst_2
            if_icmpne 6
         3: .line 1066
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 1 /* index */
            iload 2 /* len */
            invokevirtual org.jruby.util.ByteList.makeShared:(II)Lorg/jruby/util/ByteList;
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         4: .line 1067
            aload 0 /* this */
            iconst_1
            putfield org.jruby.RubyString.shareLevel:I
         5: .line 1068
            goto 10
         6: .line 1069
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 1 /* index */
            iload 2 /* len */
            invokevirtual org.jruby.util.ByteList.view:(II)V
         7: .line 1071
            goto 10
         8: .line 1072
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 1 /* index */
            iload 2 /* len */
            invokevirtual org.jruby.util.ByteList.view:(II)V
         9: .line 1075
            aload 0 /* this */
            iconst_1
            putfield org.jruby.RubyString.shareLevel:I
        10: .line 1078
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.invalidate:()V
        11: .line 1079
            return
        end local 2 // int len
        end local 1 // int index
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/jruby/RubyString;
            0   12     1  index  I
            0   12     2    len  I
    MethodParameters:
       Name  Flags
      index  
      len    

  public static java.lang.String bytesToString(byte[], int, int);
    descriptor: ([BII)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // byte[] bytes
        start local 1 // int beg
        start local 2 // int len
         0: .line 1082
            new java.lang.String
            dup
            aload 0 /* bytes */
            iload 1 /* beg */
            iload 2 /* len */
            invokestatic org.jruby.util.ByteList.plain:([BII)[C
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 2 // int len
        end local 1 // int beg
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  bytes  [B
            0    1     1    beg  I
            0    1     2    len  I
    MethodParameters:
       Name  Flags
      bytes  
      beg    
      len    

  public static java.lang.String byteListToString(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList bytes
         0: .line 1086
            aload 0 /* bytes */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* bytes */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 0 /* bytes */
            invokevirtual org.jruby.util.ByteList.length:()I
            invokestatic org.jruby.RubyString.bytesToString:([BII)Ljava/lang/String;
            areturn
        end local 0 // org.jruby.util.ByteList bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  bytes  Lorg/jruby/util/ByteList;
    MethodParameters:
       Name  Flags
      bytes  

  public static java.lang.String bytesToString(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // byte[] bytes
         0: .line 1090
            aload 0 /* bytes */
            iconst_0
            aload 0 /* bytes */
            arraylength
            invokestatic org.jruby.RubyString.bytesToString:([BII)Ljava/lang/String;
            areturn
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  

  public static byte[] stringToBytes(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String string
         0: .line 1094
            aload 0 /* string */
            invokestatic org.jruby.util.ByteList.plain:(Ljava/lang/CharSequence;)[B
            areturn
        end local 0 // java.lang.String string
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  string  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      string  

  public org.jruby.RubyString asString();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 1099
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public org.jruby.runtime.builtin.IRubyObject checkStringType();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 1104
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public static org.jruby.runtime.builtin.IRubyObject try_convert(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject str
         0: .line 1109
            aload 2 /* str */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject str
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2      str  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(meta = true)
    MethodParameters:
         Name  Flags
      context  
      recv     
      str      

  public org.jruby.runtime.builtin.IRubyObject to_s();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 1115
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 1 /* runtime */
        start local 1 // org.jruby.Ruby runtime
         1: .line 1116
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            if_acmpeq 3
         2: .line 1117
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyString;
            areturn
         3: .line 1119
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyString;
            1    4     1  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_s", "to_str"})

  public final int compareTo(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1124
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* other */
            invokevirtual org.jruby.RubyString.op_cmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            l2i
            ireturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyString;
            0    1     1  other  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.runtime.builtin.IRubyObject op_cmp(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1131
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1132
            aload 2 /* other */
            instanceof org.jruby.RubyString
            ifeq 3
         2: .line 1133
            aload 3 /* runtime */
            aload 0 /* this */
            aload 2 /* other */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.op_cmp:(Lorg/jruby/RubyString;)I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
         3: .line 1135
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            getfield org.jruby.runtime.JavaSites$StringSites.to_str_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            astore 4 /* sites */
        start local 4 // org.jruby.runtime.JavaSites$CheckedSites sites
         4: .line 1136
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$CheckedSites.respond_to_X:Lorg/jruby/runtime/callsite/RespondToCallSite;
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* other */
            invokevirtual org.jruby.runtime.callsite.RespondToCallSite.respondsTo:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 7
         5: .line 1137
            aload 1 /* context */
            aload 4 /* sites */
            aload 2 /* other */
            invokestatic org.jruby.util.TypeConverter.checkStringType:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/JavaSites$CheckedSites;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* tmp */
        start local 5 // org.jruby.runtime.builtin.IRubyObject tmp
         6: .line 1138
            aload 5 /* tmp */
            instanceof org.jruby.RubyString
            ifeq 8
            aload 3 /* runtime */
            aload 0 /* this */
            aload 5 /* tmp */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.op_cmp:(Lorg/jruby/RubyString;)I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject tmp
         7: .line 1140
      StackMap locals: org.jruby.runtime.JavaSites$CheckedSites
      StackMap stack:
            aload 1 /* context */
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            getfield org.jruby.runtime.JavaSites$StringSites.recursive_cmp:Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;
            aload 0 /* this */
            aload 2 /* other */
            invokestatic org.jruby.RubyComparable.invcmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         8: .line 1142
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.JavaSites$CheckedSites sites
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyString;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
            1    9     3  runtime  Lorg/jruby/Ruby;
            4    9     4    sites  Lorg/jruby/runtime/JavaSites$CheckedSites;
            6    7     5      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"<=>"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_equal(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1151
            aload 0 /* this */
            aload 2 /* other */
            if_acmpne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
         1: .line 1152
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyString
            ifeq 6
         2: .line 1153
            aload 2 /* other */
            checkcast org.jruby.RubyString
            astore 3 /* otherString */
        start local 3 // org.jruby.RubyString otherString
         3: .line 1154
            aload 0 /* this */
            aload 3 /* otherString */
            invokestatic org.jruby.util.StringSupport.areComparable:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;)Z
            ifeq 4
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* otherString */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.equal:(Lorg/jruby/util/ByteList;)Z
            ifeq 4
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            goto 5
      StackMap locals: org.jruby.RubyString
      StackMap stack:
         4: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
      StackMap locals:
      StackMap stack: org.jruby.RubyBoolean
         5: areturn
        end local 3 // org.jruby.RubyString otherString
         6: .line 1156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyString.op_equalCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/jruby/RubyString;
            0    7     1      context  Lorg/jruby/runtime/ThreadContext;
            0    7     2        other  Lorg/jruby/runtime/builtin/IRubyObject;
            3    6     3  otherString  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"==", "==="})
    MethodParameters:
         Name  Flags
      context  
      other    

  private org.jruby.runtime.builtin.IRubyObject op_equalCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1160
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1161
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            getfield org.jruby.runtime.JavaSites$StringSites.respond_to_to_str:Lorg/jruby/runtime/callsite/RespondToCallSite;
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* other */
            invokevirtual org.jruby.runtime.callsite.RespondToCallSite.respondsTo:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifne 2
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
         2: .line 1162
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            getfield org.jruby.runtime.JavaSites$StringSites.equals:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* other */
            aload 0 /* this */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 3
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
      StackMap locals:
      StackMap stack: org.jruby.RubyBoolean
         4: areturn
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyString;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
            1    5     3  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      context  
      other    

  public final org.jruby.runtime.builtin.IRubyObject minus_at(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1167
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.isFrozen:()Z
            ifeq 1
            aload 0 /* this */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.freezeAndDedupString:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
      StackMap locals:
      StackMap stack: org.jruby.RubyString
         2: areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"-@"})
    MethodParameters:
         Name  Flags
      context  

  public final org.jruby.runtime.builtin.IRubyObject plus_at();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 1172
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.isFrozen:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"+@"})

  public org.jruby.runtime.builtin.IRubyObject op_plus(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1176
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.op_plus19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject op_plus19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1181
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         1: .line 1182
            aload 0 /* this */
            aload 3 /* str */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 4 /* enc */
        start local 4 // org.jcodings.Encoding enc
         2: .line 1183
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            i2l
            aload 3 /* str */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            i2l
            ladd
            lstore 5 /* len */
        start local 5 // long len
         3: .line 1186
            lload 5 /* len */
            ldc 2147483647
            lcmp
            ifle 4
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "argument too big"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 1187
      StackMap locals: org.jruby.RubyString org.jcodings.Encoding long
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* str */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.util.StringSupport.addByteLists:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)Lorg/jruby/util/ByteList;
         5: .line 1188
            aload 4 /* enc */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            aload 3 /* str */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            invokestatic org.jruby.util.CodeRangeSupport.codeRangeAnd:(II)I
         6: .line 1187
            invokestatic org.jruby.RubyString.newStringNoCopy:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)Lorg/jruby/RubyString;
            astore 7 /* resultStr */
        start local 7 // org.jruby.RubyString resultStr
         7: .line 1189
            aload 7 /* resultStr */
            aload 0 /* this */
            getfield org.jruby.RubyString.flags:I
            aload 3 /* str */
            getfield org.jruby.RubyString.flags:I
            ior
            invokevirtual org.jruby.RubyString.infectBy:(I)Lorg/jruby/RubyBasicObject;
            pop
         8: .line 1190
            aload 7 /* resultStr */
            areturn
        end local 7 // org.jruby.RubyString resultStr
        end local 5 // long len
        end local 4 // org.jcodings.Encoding enc
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/jruby/RubyString;
            0    9     1    context  Lorg/jruby/runtime/ThreadContext;
            0    9     2        arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    9     3        str  Lorg/jruby/RubyString;
            2    9     4        enc  Lorg/jcodings/Encoding;
            3    9     5        len  J
            7    9     7  resultStr  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"+"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject op_mul(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1194
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyString.op_mul19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_mul19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1199
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyString.multiplyByteList:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 3 /* result */
        start local 3 // org.jruby.RubyString result
         1: .line 1200
            aload 3 /* result */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
         2: .line 1201
            aload 3 /* result */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jruby.RubyString.copyCodeRangeForSubstr:(Lorg/jruby/RubyString;Lorg/jcodings/Encoding;)V
         3: .line 1202
            aload 3 /* result */
            areturn
        end local 3 // org.jruby.RubyString result
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyString;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3   result  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"*"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      other    

  private org.jruby.RubyString multiplyByteList(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1206
            aload 2 /* arg */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 3 /* len */
        start local 3 // int len
         1: .line 1207
            iload 3 /* len */
            ifge 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "negative argument"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 1210
      StackMap locals: int
      StackMap stack:
            iload 3 /* len */
            ifle 4
            ldc 2147483647
            iload 3 /* len */
            idiv
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            if_icmpge 4
         3: .line 1211
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "argument too big"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 1214
      StackMap locals:
      StackMap stack:
            new org.jruby.util.ByteList
            dup
            iload 3 /* len */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            imul
            dup
            istore 3 /* len */
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            astore 4 /* bytes */
        start local 4 // org.jruby.util.ByteList bytes
         5: .line 1215
            iload 3 /* len */
            ifle 14
         6: .line 1216
            aload 4 /* bytes */
            iload 3 /* len */
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
         7: .line 1217
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 5 /* n */
        start local 5 // int n
         8: .line 1218
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 4 /* bytes */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iconst_0
            iload 5 /* n */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 1219
            goto 12
        10: .line 1220
      StackMap locals: org.jruby.util.ByteList int
      StackMap stack:
            aload 4 /* bytes */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iconst_0
            aload 4 /* bytes */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 5 /* n */
            iload 5 /* n */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 1221
            iload 5 /* n */
            iconst_1
            ishl
            istore 5 /* n */
        12: .line 1219
      StackMap locals:
      StackMap stack:
            iload 5 /* n */
            iload 3 /* len */
            iconst_1
            ishr
            if_icmple 10
        13: .line 1223
            aload 4 /* bytes */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iconst_0
            aload 4 /* bytes */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 5 /* n */
            iload 3 /* len */
            iload 5 /* n */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 5 // int n
        14: .line 1225
      StackMap locals:
      StackMap stack:
            new org.jruby.RubyString
            dup
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            aload 4 /* bytes */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            astore 5 /* result */
        start local 5 // org.jruby.RubyString result
        15: .line 1226
            aload 5 /* result */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        16: .line 1227
            aload 5 /* result */
            areturn
        end local 5 // org.jruby.RubyString result
        end local 4 // org.jruby.util.ByteList bytes
        end local 3 // int len
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lorg/jruby/RubyString;
            0   17     1  context  Lorg/jruby/runtime/ThreadContext;
            0   17     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1   17     3      len  I
            5   17     4    bytes  Lorg/jruby/util/ByteList;
            8   14     5        n  I
           15   17     5   result  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.RubyString op_format(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1233
            aload 2 /* arg */
            instanceof org.jruby.RubyHash
            ifeq 3
         1: .line 1234
            aload 2 /* arg */
            astore 3 /* tmp */
        start local 3 // org.jruby.runtime.builtin.IRubyObject tmp
         2: .line 1235
            goto 5
        end local 3 // org.jruby.runtime.builtin.IRubyObject tmp
         3: .line 1236
      StackMap locals:
      StackMap stack:
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkArrayType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* tmp */
        start local 3 // org.jruby.runtime.builtin.IRubyObject tmp
         4: .line 1237
            aload 3 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 5
            aload 2 /* arg */
            astore 3 /* tmp */
         5: .line 1240
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            new org.jruby.util.ByteList
            dup
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            astore 4 /* out */
        start local 4 // org.jruby.util.ByteList out
         6: .line 1241
            aload 4 /* out */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
         7: .line 1247
            aload 4 /* out */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* tmp */
            invokestatic org.jruby.util.Sprintf.sprintf1_9:(Lorg/jruby/util/ByteList;Ljava/util/Locale;Ljava/lang/CharSequence;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            istore 5 /* tainted */
        start local 5 // boolean tainted
         8: .line 1249
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 4 /* out */
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 6 /* str */
        start local 6 // org.jruby.RubyString str
         9: .line 1251
            aload 6 /* str */
            iload 5 /* tainted */
            ifne 10
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.isTaint:()Z
            ifne 10
            iconst_0
            goto 11
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList int org.jruby.RubyString
      StackMap stack: org.jruby.RubyString
        10: iconst_1
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList int org.jruby.RubyString
      StackMap stack: org.jruby.RubyString int
        11: invokevirtual org.jruby.RubyString.setTaint:(Z)V
        12: .line 1252
            aload 6 /* str */
            areturn
        end local 6 // org.jruby.RubyString str
        end local 5 // boolean tainted
        end local 4 // org.jruby.util.ByteList out
        end local 3 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/jruby/RubyString;
            0   13     1  context  Lorg/jruby/runtime/ThreadContext;
            0   13     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            2    3     3      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
            4   13     3      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
            6   13     4      out  Lorg/jruby/util/ByteList;
            8   13     5  tainted  Z
            9   13     6      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"%"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.RubyFixnum hash();
    descriptor: ()Lorg/jruby/RubyFixnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 1258
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            astore 1 /* runtime */
        start local 1 // org.jruby.Ruby runtime
         1: .line 1259
            aload 1 /* runtime */
            aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual org.jruby.RubyString.strHashCode:(Lorg/jruby/Ruby;)I
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyString;
            1    2     1  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 1264
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strHashCode:(Lorg/jruby/Ruby;)I
            ireturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public int strHashCode(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
         0: .line 1274
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 2 /* value */
        start local 2 // org.jruby.util.ByteList value
         1: .line 1275
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 3 /* enc */
        start local 3 // org.jcodings.Encoding enc
         2: .line 1276
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.isSiphashEnabled:()Z
            ifeq 7
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getHashSeedK0:()J
         3: .line 1277
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getHashSeedK1:()J
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
         4: .line 1278
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
         5: .line 1276
            invokestatic org.jruby.util.SipHashInline.hash24:(JJ[BII)J
         6: .line 1278
            goto 10
      StackMap locals: org.jruby.util.ByteList org.jcodings.Encoding
      StackMap stack:
         7: aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getHashSeedK0:()J
         8: .line 1279
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
         9: .line 1278
            invokestatic org.jruby.util.PerlHash.hash:(J[BII)J
        10: .line 1276
      StackMap locals:
      StackMap stack: long
            lstore 4 /* hash */
        start local 4 // long hash
        11: .line 1280
            lload 4 /* hash */
            aload 3 /* enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifeq 12
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.scanForCodeRange:()I
            bipush 16
            if_icmpne 12
            iconst_0
            goto 13
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.util.ByteList org.jcodings.Encoding long
      StackMap stack: long
        12: aload 3 /* enc */
            invokevirtual org.jcodings.Encoding.getIndex:()I
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.util.ByteList org.jcodings.Encoding long
      StackMap stack: long int
        13: i2l
            lxor
            lstore 4 /* hash */
        14: .line 1281
            lload 4 /* hash */
            l2i
            ireturn
        end local 4 // long hash
        end local 3 // org.jcodings.Encoding enc
        end local 2 // org.jruby.util.ByteList value
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/jruby/RubyString;
            0   15     1  runtime  Lorg/jruby/Ruby;
            1   15     2    value  Lorg/jruby/util/ByteList;
            2   15     3      enc  Lorg/jcodings/Encoding;
           11   15     4     hash  J
    MethodParameters:
         Name  Flags
      runtime  

  public int unseededStrHashCode(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
         0: .line 1291
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 2 /* value */
        start local 2 // org.jruby.util.ByteList value
         1: .line 1292
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 3 /* enc */
        start local 3 // org.jcodings.Encoding enc
         2: .line 1293
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.isSiphashEnabled:()Z
            ifeq 6
            lconst_0
            lconst_0
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
         3: .line 1294
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
         4: .line 1293
            invokestatic org.jruby.util.SipHashInline.hash24:(JJ[BII)J
         5: .line 1294
            goto 9
      StackMap locals: org.jruby.util.ByteList org.jcodings.Encoding
      StackMap stack:
         6: lconst_0
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
         7: .line 1295
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
         8: .line 1294
            invokestatic org.jruby.util.PerlHash.hash:(J[BII)J
         9: .line 1293
      StackMap locals:
      StackMap stack: long
            lstore 4 /* hash */
        start local 4 // long hash
        10: .line 1296
            lload 4 /* hash */
            aload 3 /* enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifeq 11
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.scanForCodeRange:()I
            bipush 16
            if_icmpne 11
            iconst_0
            goto 12
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.util.ByteList org.jcodings.Encoding long
      StackMap stack: long
        11: aload 3 /* enc */
            invokevirtual org.jcodings.Encoding.getIndex:()I
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.util.ByteList org.jcodings.Encoding long
      StackMap stack: long int
        12: i2l
            lxor
            lstore 4 /* hash */
        13: .line 1297
            lload 4 /* hash */
            l2i
            ireturn
        end local 4 // long hash
        end local 3 // org.jcodings.Encoding enc
        end local 2 // org.jruby.util.ByteList value
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/jruby/RubyString;
            0   14     1  runtime  Lorg/jruby/Ruby;
            1   14     2    value  Lorg/jruby/util/ByteList;
            2   14     3      enc  Lorg/jcodings/Encoding;
           10   14     4     hash  J
    MethodParameters:
         Name  Flags
      runtime  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // java.lang.Object other
         0: .line 1302
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 1304
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.jruby.RubyString
            ifeq 2
            aload 0 /* this */
            aload 1 /* other */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.equals:(Lorg/jruby/RubyString;)Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/RubyString;
            0    3     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  final boolean equals(org.jruby.RubyString);
    descriptor: (Lorg/jruby/RubyString;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.RubyString other
         0: .line 1308
            aload 1 /* other */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.equal:(Lorg/jruby/util/ByteList;)Z
            ireturn
        end local 1 // org.jruby.RubyString other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyString;
            0    1     1  other  Lorg/jruby/RubyString;
    MethodParameters:
       Name  Flags
      other  

  public static org.jruby.RubyString objAsString(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 1315
            aload 1 /* obj */
            instanceof org.jruby.RubyString
            ifeq 1
            aload 1 /* obj */
            checkcast org.jruby.RubyString
            areturn
         1: .line 1316
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            getfield org.jruby.runtime.JavaSites$StringSites.to_s:Lorg/jruby/runtime/CallSite;
            aload 0 /* context */
            aload 1 /* obj */
            aload 1 /* obj */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* str */
        start local 2 // org.jruby.runtime.builtin.IRubyObject str
         2: .line 1317
            aload 2 /* str */
            instanceof org.jruby.RubyString
            ifne 3
            aload 1 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.anyToString:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            areturn
         3: .line 1320
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 1 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ifeq 4
            aload 2 /* str */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ifne 4
            aload 2 /* str */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isFrozen:()Z
            ifne 4
            aload 2 /* str */
            iconst_1
            invokeinterface org.jruby.runtime.builtin.IRubyObject.setTaint:(Z)V
         4: .line 1321
      StackMap locals:
      StackMap stack:
            aload 2 /* str */
            checkcast org.jruby.RubyString
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject str
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  context  Lorg/jruby/runtime/ThreadContext;
            0    5     1      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            2    5     2      str  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      obj      

  public final int op_cmp(org.jruby.RubyString);
    descriptor: (Lorg/jruby/RubyString;)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.RubyString other
         0: .line 1328
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 1 /* other */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.cmp:(Lorg/jruby/util/ByteList;)I
            istore 2 /* ret */
        start local 2 // int ret
         1: .line 1329
            iload 2 /* ret */
            ifne 5
            aload 0 /* this */
            aload 1 /* other */
            invokestatic org.jruby.util.StringSupport.areComparable:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;)Z
            ifne 5
         2: .line 1330
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.getIndex:()I
            aload 1 /* other */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.getIndex:()I
            if_icmple 3
            iconst_1
            goto 4
      StackMap locals: int
      StackMap stack:
         3: iconst_m1
      StackMap locals:
      StackMap stack: int
         4: ireturn
         5: .line 1332
      StackMap locals:
      StackMap stack:
            iload 2 /* ret */
            ireturn
        end local 2 // int ret
        end local 1 // org.jruby.RubyString other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jruby/RubyString;
            0    6     1  other  Lorg/jruby/RubyString;
            1    6     2    ret  I
    MethodParameters:
       Name  Flags
      other  

  public java.lang.String asJavaString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 1340
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public org.jruby.runtime.builtin.IRubyObject doClone();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 1344
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.dup:()Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public final org.jruby.RubyString cat(byte[]);
    descriptor: ([B)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // byte[] str
         0: .line 1348
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            aload 1 /* str */
            arraylength
            iadd
            invokevirtual org.jruby.RubyString.modify:(I)V
         1: .line 1349
            aload 1 /* str */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            aload 1 /* str */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 1350
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            aload 1 /* str */
            arraylength
            iadd
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
         3: .line 1351
            aload 0 /* this */
            areturn
        end local 1 // byte[] str
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/RubyString;
            0    4     1   str  [B
    MethodParameters:
      Name  Flags
      str   

  public final org.jruby.RubyString cat(byte[], int, int);
    descriptor: ([BII)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // byte[] str
        start local 2 // int beg
        start local 3 // int len
         0: .line 1355
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 3 /* len */
            iadd
            invokevirtual org.jruby.RubyString.modify:(I)V
         1: .line 1356
            iload 3 /* len */
            ifne 2
            aload 0 /* this */
            areturn
         2: .line 1357
      StackMap locals:
      StackMap stack:
            aload 1 /* str */
            iload 2 /* beg */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            iload 3 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 1358
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 3 /* len */
            iadd
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
         4: .line 1359
            aload 0 /* this */
            areturn
        end local 3 // int len
        end local 2 // int beg
        end local 1 // byte[] str
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyString;
            0    5     1   str  [B
            0    5     2   beg  I
            0    5     3   len  I
    MethodParameters:
      Name  Flags
      str   
      beg   
      len   

  public final org.jruby.RubyString cat19(org.jruby.RubyString);
    descriptor: (Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.RubyString str2
         0: .line 1364
            aload 0 /* this */
            aload 1 /* str2 */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            aload 1 /* str2 */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/util/ByteList;I)I
            istore 2 /* str2_cr */
        start local 2 // int str2_cr
         1: .line 1366
            aload 0 /* this */
            aload 1 /* str2 */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
         2: .line 1367
            aload 1 /* str2 */
            iload 2 /* str2_cr */
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
         3: .line 1369
            aload 0 /* this */
            areturn
        end local 2 // int str2_cr
        end local 1 // org.jruby.RubyString str2
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyString;
            0    4     1     str2  Lorg/jruby/RubyString;
            1    4     2  str2_cr  I
    MethodParameters:
      Name  Flags
      str2  

  public final int cat19(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.util.ByteList other
        start local 2 // int codeRange
         0: .line 1374
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 1 /* other */
            aload 1 /* other */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            iload 2 /* codeRange */
            invokestatic org.jruby.util.io.EncodingUtils.encCrStrBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)I
            ireturn
        end local 2 // int codeRange
        end local 1 // org.jruby.util.ByteList other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/jruby/RubyString;
            0    1     1      other  Lorg/jruby/util/ByteList;
            0    1     2  codeRange  I
    MethodParameters:
           Name  Flags
      other      
      codeRange  

  public final org.jruby.RubyString catString(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // java.lang.String str
         0: .line 1378
            aload 0 /* this */
            aload 1 /* str */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokestatic org.jruby.RubyString.encodeBytelist:(Ljava/lang/String;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
            iconst_0
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/util/ByteList;I)I
            pop
         1: .line 1379
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String str
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;
            0    2     1   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  public final org.jruby.RubyString cat(org.jruby.RubyString);
    descriptor: (Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.RubyString str
         0: .line 1383
            aload 0 /* this */
            aload 1 /* str */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.RubyString.cat:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.RubyString str
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1   str  Lorg/jruby/RubyString;
    MethodParameters:
      Name  Flags
      str   

  public final org.jruby.RubyString cat(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.util.ByteList str
         0: .line 1387
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            aload 1 /* str */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            invokevirtual org.jruby.RubyString.modify:(I)V
         1: .line 1388
            aload 1 /* str */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 1 /* str */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            aload 1 /* str */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 1389
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            aload 1 /* str */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
         3: .line 1390
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.util.ByteList str
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/RubyString;
            0    4     1   str  Lorg/jruby/util/ByteList;
    MethodParameters:
      Name  Flags
      str   

  public final org.jruby.RubyString cat(byte);
    descriptor: (B)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // byte ch
         0: .line 1394
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iconst_1
            iadd
            invokevirtual org.jruby.RubyString.modify:(I)V
         1: .line 1395
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            iload 1 /* ch */
            bastore
         2: .line 1396
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iconst_1
            iadd
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
         3: .line 1397
            aload 0 /* this */
            areturn
        end local 1 // byte ch
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/RubyString;
            0    4     1    ch  B
    MethodParameters:
      Name  Flags
      ch    

  public final org.jruby.RubyString cat(int);
    descriptor: (I)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int ch
         0: .line 1401
            aload 0 /* this */
            iload 1 /* ch */
            i2b
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            areturn
        end local 1 // int ch
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1    ch  I
    MethodParameters:
      Name  Flags
      ch    

  public final org.jruby.RubyString cat(int, org.jcodings.Encoding);
    descriptor: (ILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // int code
        start local 2 // org.jcodings.Encoding enc
         0: .line 1405
            aload 2 /* enc */
            iload 1 /* code */
            invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
            istore 3 /* n */
        start local 3 // int n
         1: .line 1406
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 3 /* n */
            iadd
            invokevirtual org.jruby.RubyString.modify:(I)V
         2: .line 1407
            aload 2 /* enc */
            iload 1 /* code */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            invokevirtual org.jcodings.Encoding.codeToMbc:(I[BI)I
            pop
         3: .line 1408
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 3 /* n */
            iadd
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
         4: .line 1409
            aload 0 /* this */
            areturn
        end local 3 // int n
        end local 2 // org.jcodings.Encoding enc
        end local 1 // int code
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyString;
            0    5     1  code  I
            0    5     2   enc  Lorg/jcodings/Encoding;
            1    5     3     n  I
    MethodParameters:
      Name  Flags
      code  
      enc   

  public final int cat(byte[], int, int, org.jcodings.Encoding);
    descriptor: ([BIILorg/jcodings/Encoding;)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int len
        start local 4 // org.jcodings.Encoding enc
         0: .line 1414
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            new org.jruby.util.ByteList
            dup
            aload 1 /* bytes */
            iload 2 /* p */
            iload 3 /* len */
            invokespecial org.jruby.util.ByteList.<init>:([BII)V
            aload 4 /* enc */
            iconst_0
            invokestatic org.jruby.util.io.EncodingUtils.encCrStrBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)I
            ireturn
        end local 4 // org.jcodings.Encoding enc
        end local 3 // int len
        end local 2 // int p
        end local 1 // byte[] bytes
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyString;
            0    1     1  bytes  [B
            0    1     2      p  I
            0    1     3    len  I
            0    1     4    enc  Lorg/jcodings/Encoding;
    MethodParameters:
       Name  Flags
      bytes  
      p      
      len    
      enc    

  public final org.jruby.RubyString catAscii(byte[], int, int);
    descriptor: ([BII)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // byte[] bytes
        start local 2 // int ptr
        start local 3 // int ptrLen
         0: .line 1419
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 4 /* enc */
        start local 4 // org.jcodings.Encoding enc
         1: .line 1420
            aload 4 /* enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifeq 4
         2: .line 1421
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            new org.jruby.util.ByteList
            dup
            aload 1 /* bytes */
            iload 2 /* ptr */
            iload 3 /* ptrLen */
            invokespecial org.jruby.util.ByteList.<init>:([BII)V
            aload 4 /* enc */
            bipush 16
            invokestatic org.jruby.util.io.EncodingUtils.encCrStrBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)I
            pop
         3: .line 1422
            goto 13
         4: .line 1423
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            aload 4 /* enc */
            invokevirtual org.jcodings.Encoding.maxLength:()I
            newarray 8
            astore 5 /* buf */
        start local 5 // byte[] buf
         5: .line 1424
            iload 2 /* ptr */
            iload 3 /* ptrLen */
            iadd
            istore 6 /* end */
        start local 6 // int end
         6: .line 1425
            goto 12
         7: .line 1426
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* bytes */
            iload 2 /* ptr */
            baload
            istore 7 /* c */
        start local 7 // int c
         8: .line 1427
            aload 4 /* enc */
            iload 7 /* c */
            invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
            istore 8 /* len */
        start local 8 // int len
         9: .line 1428
            iload 7 /* c */
            aload 5 /* buf */
            iconst_0
            aload 4 /* enc */
            invokestatic org.jruby.util.io.EncodingUtils.encMbcput:(I[BILorg/jcodings/Encoding;)I
            pop
        10: .line 1429
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 5 /* buf */
            iconst_0
            iload 8 /* len */
            aload 4 /* enc */
            bipush 32
            invokestatic org.jruby.util.io.EncodingUtils.encCrStrBufCat:(Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;[BIILorg/jcodings/Encoding;I)I
            pop
        11: .line 1430
            iinc 2 /* ptr */ 1
        end local 8 // int len
        end local 7 // int c
        12: .line 1425
      StackMap locals:
      StackMap stack:
            iload 2 /* ptr */
            iload 6 /* end */
            if_icmplt 7
        end local 6 // int end
        end local 5 // byte[] buf
        13: .line 1433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 4 // org.jcodings.Encoding enc
        end local 3 // int ptrLen
        end local 2 // int ptr
        end local 1 // byte[] bytes
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/jruby/RubyString;
            0   14     1   bytes  [B
            0   14     2     ptr  I
            0   14     3  ptrLen  I
            1   14     4     enc  Lorg/jcodings/Encoding;
            5   13     5     buf  [B
            6   13     6     end  I
            8   12     7       c  I
            9   12     8     len  I
    MethodParameters:
        Name  Flags
      bytes   
      ptr     
      ptrLen  

  public org.jruby.runtime.builtin.IRubyObject replace(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1440
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual org.jruby.RubyString.replace19:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyString;
            0    1     1  other  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.RubyString initialize_copy(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1446
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual org.jruby.RubyString.replace19:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyString;
            0    1     1  other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"initialize_copy"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.RubyString replace19(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1451
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 1452
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 2
            aload 0 /* this */
            areturn
         2: .line 1453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual org.jruby.RubyString.replaceCommon:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
         3: .line 1454
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/RubyString;
            0    4     1  other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"replace"}, required = 1)
    MethodParameters:
       Name  Flags
      other  

  private org.jruby.RubyString replaceCommon(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1458
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 1459
            aload 1 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 2 /* otherStr */
        start local 2 // org.jruby.RubyString otherStr
         2: .line 1460
            aload 2 /* otherStr */
            aload 0 /* this */
            iconst_2
            dup_x1
            putfield org.jruby.RubyString.shareLevel:I
            putfield org.jruby.RubyString.shareLevel:I
         3: .line 1461
            aload 0 /* this */
            aload 2 /* otherStr */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         4: .line 1462
            aload 0 /* this */
            aload 2 /* otherStr */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
         5: .line 1463
            aload 2 /* otherStr */
            areturn
        end local 2 // org.jruby.RubyString otherStr
        end local 1 // org.jruby.runtime.builtin.IRubyObject other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/jruby/RubyString;
            0    6     1     other  Lorg/jruby/runtime/builtin/IRubyObject;
            2    6     2  otherStr  Lorg/jruby/RubyString;
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.RubyString clear();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 1468
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 1469
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 1 /* enc */
        start local 1 // org.jcodings.Encoding enc
         2: .line 1471
            aload 1 /* enc */
            invokestatic org.jruby.RubyString.getEmptyByteList:(Lorg/jcodings/Encoding;)Lorg/jruby/RubyString$EmptyByteListHolder;
            astore 2 /* holder */
        start local 2 // org.jruby.RubyString$EmptyByteListHolder holder
         3: .line 1472
            aload 0 /* this */
            aload 2 /* holder */
            getfield org.jruby.RubyString$EmptyByteListHolder.bytes:Lorg/jruby/util/ByteList;
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         4: .line 1473
            aload 0 /* this */
            iconst_2
            putfield org.jruby.RubyString.shareLevel:I
         5: .line 1474
            aload 0 /* this */
            aload 2 /* holder */
            getfield org.jruby.RubyString$EmptyByteListHolder.cr:I
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
         6: .line 1475
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.RubyString$EmptyByteListHolder holder
        end local 1 // org.jcodings.Encoding enc
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/jruby/RubyString;
            2    7     1     enc  Lorg/jcodings/Encoding;
            3    7     2  holder  Lorg/jruby/RubyString$EmptyByteListHolder;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()

  public org.jruby.runtime.builtin.IRubyObject reverse(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1479
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.reverse19:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject reverse19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1484
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         1: .line 1485
            aload 2 /* str */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.reverse_bang19:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            pop
         2: .line 1486
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"reverse"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyString reverse_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1490
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.reverse_bang19:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyString reverse_bang19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1495
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 1496
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iconst_1
            if_icmple 43
         2: .line 1497
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyAndKeepCodeRange:()V
         3: .line 1498
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         4: .line 1499
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 3 /* p */
        start local 3 // int p
         5: .line 1500
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 4 /* len */
        start local 4 // int len
         6: .line 1501
            iload 3 /* p */
            iload 4 /* len */
            iadd
            istore 5 /* end */
        start local 5 // int end
         7: .line 1502
            iload 4 /* len */
            istore 6 /* op */
        start local 6 // int op
         8: .line 1503
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            istore 7 /* cr */
        start local 7 // int cr
         9: .line 1505
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 8 /* enc */
        start local 8 // org.jcodings.Encoding enc
        10: .line 1507
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
            ifeq 19
        11: .line 1508
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        12: goto 17
        13: .line 1509
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext byte[] int int int int int org.jcodings.Encoding int
      StackMap stack:
            aload 2 /* bytes */
            iload 3 /* p */
            iload 9 /* i */
            iadd
            baload
            istore 10 /* b */
        start local 10 // byte b
        14: .line 1510
            aload 2 /* bytes */
            iload 3 /* p */
            iload 9 /* i */
            iadd
            aload 2 /* bytes */
            iload 3 /* p */
            iload 4 /* len */
            iadd
            iload 9 /* i */
            isub
            iconst_1
            isub
            baload
            bastore
        15: .line 1511
            aload 2 /* bytes */
            iload 3 /* p */
            iload 4 /* len */
            iadd
            iload 9 /* i */
            isub
            iconst_1
            isub
            iload 10 /* b */
            bastore
        end local 10 // byte b
        16: .line 1508
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 9 /* i */
            iload 4 /* len */
            iconst_1
            ishr
            if_icmplt 13
        end local 9 // int i
        18: .line 1513
            goto 42
      StackMap locals:
      StackMap stack:
        19: iload 7 /* cr */
            bipush 32
            if_icmpne 29
        20: .line 1514
            iload 4 /* len */
            newarray 8
            astore 9 /* obytes */
        start local 9 // byte[] obytes
        21: .line 1515
            goto 26
        22: .line 1516
      StackMap locals: byte[]
      StackMap stack:
            aload 2 /* bytes */
            iload 3 /* p */
            iload 5 /* end */
            aload 8 /* enc */
            invokestatic org.jruby.util.StringSupport.encFastMBCLen:([BIILorg/jcodings/Encoding;)I
            istore 10 /* cl */
        start local 10 // int cl
        23: .line 1518
            iload 6 /* op */
            iload 10 /* cl */
            isub
            istore 6 /* op */
        24: .line 1519
            aload 2 /* bytes */
            iload 3 /* p */
            aload 9 /* obytes */
            iload 6 /* op */
            iload 10 /* cl */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        25: .line 1520
            iload 3 /* p */
            iload 10 /* cl */
            iadd
            istore 3 /* p */
        end local 10 // int cl
        26: .line 1515
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 5 /* end */
            if_icmplt 22
        27: .line 1522
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 9 /* obytes */
            invokevirtual org.jruby.util.ByteList.setUnsafeBytes:([B)V
        end local 9 // byte[] obytes
        28: .line 1523
            goto 42
        29: .line 1524
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            newarray 8
            astore 9 /* obytes */
        start local 9 // byte[] obytes
        30: .line 1525
            aload 8 /* enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifeq 31
            bipush 16
            goto 32
      StackMap locals: byte[]
      StackMap stack:
        31: bipush 32
      StackMap locals:
      StackMap stack: int
        32: istore 7 /* cr */
        33: .line 1526
            goto 40
        34: .line 1527
      StackMap locals:
      StackMap stack:
            aload 8 /* enc */
            aload 2 /* bytes */
            iload 3 /* p */
            iload 5 /* end */
            invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
            istore 10 /* cl */
        start local 10 // int cl
        35: .line 1529
            iload 10 /* cl */
            iconst_1
            if_icmpgt 36
            aload 2 /* bytes */
            iload 3 /* p */
            baload
            sipush 128
            iand
            ifeq 37
      StackMap locals: int
      StackMap stack:
        36: iconst_0
            istore 7 /* cr */
        37: .line 1530
      StackMap locals:
      StackMap stack:
            iload 6 /* op */
            iload 10 /* cl */
            isub
            istore 6 /* op */
        38: .line 1531
            aload 2 /* bytes */
            iload 3 /* p */
            aload 9 /* obytes */
            iload 6 /* op */
            iload 10 /* cl */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        39: .line 1532
            iload 3 /* p */
            iload 10 /* cl */
            iadd
            istore 3 /* p */
        end local 10 // int cl
        40: .line 1526
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 5 /* end */
            if_icmplt 34
        41: .line 1534
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 9 /* obytes */
            invokevirtual org.jruby.util.ByteList.setUnsafeBytes:([B)V
        end local 9 // byte[] obytes
        42: .line 1537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* cr */
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
        end local 8 // org.jcodings.Encoding enc
        end local 7 // int cr
        end local 6 // int op
        end local 5 // int end
        end local 4 // int len
        end local 3 // int p
        end local 2 // byte[] bytes
        43: .line 1539
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   44     0     this  Lorg/jruby/RubyString;
            0   44     1  context  Lorg/jruby/runtime/ThreadContext;
            4   43     2    bytes  [B
            5   43     3        p  I
            6   43     4      len  I
            7   43     5      end  I
            8   43     6       op  I
            9   43     7       cr  I
           10   43     8      enc  Lorg/jcodings/Encoding;
           12   18     9        i  I
           14   16    10        b  B
           21   28     9   obytes  [B
           23   26    10       cl  I
           30   42     9   obytes  [B
           35   40    10       cl  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"reverse!"})
    MethodParameters:
         Name  Flags
      context  

  public static org.jruby.RubyString newInstance(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // org.jruby.runtime.Block block
         0: .line 1546
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            getstatic org.jruby.util.ByteList.EMPTY_BYTELIST:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.newStringShared:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 3 /* newString */
        start local 3 // org.jruby.RubyString newString
         1: .line 1547
            aload 3 /* newString */
            aload 0 /* recv */
            checkcast org.jruby.RubyClass
            invokevirtual org.jruby.RubyString.setMetaClass:(Lorg/jruby/RubyClass;)V
         2: .line 1548
            aload 3 /* newString */
            aload 1 /* args */
            aload 2 /* block */
            invokevirtual org.jruby.RubyString.callInit:([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
         3: .line 1549
            aload 3 /* newString */
            areturn
        end local 3 // org.jruby.RubyString newString
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     1       args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     2      block  Lorg/jruby/runtime/Block;
            1    4     3  newString  Lorg/jruby/RubyString;
    MethodParameters:
       Name  Flags
      recv   
      args   
      block  

  public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1555
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"initialize"}, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 1560
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* arg0 */
            invokestatic org.jruby.ast.util.ArgsUtil.getOptionsArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* tmp */
        start local 3 // org.jruby.runtime.builtin.IRubyObject tmp
         1: .line 1561
            aload 3 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 3
         2: .line 1562
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aconst_null
            invokevirtual org.jruby.RubyString.initialize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyHash;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 1565
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            aload 3 /* tmp */
            checkcast org.jruby.RubyHash
            invokevirtual org.jruby.RubyString.initialize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyHash;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyString;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"initialize"}, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      arg0     

  public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject opts
         0: .line 1570
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 1572
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* opts */
            invokestatic org.jruby.ast.util.ArgsUtil.getOptionsArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* tmp */
        start local 5 // org.jruby.runtime.builtin.IRubyObject tmp
         2: .line 1573
            aload 5 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 4
         3: .line 1574
            aload 4 /* runtime */
            iconst_2
            iconst_1
            invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 1577
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 5 /* tmp */
            checkcast org.jruby.RubyHash
            invokevirtual org.jruby.RubyString.initialize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyHash;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.builtin.IRubyObject opts
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyString;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     3     opts  Lorg/jruby/runtime/builtin/IRubyObject;
            1    5     4  runtime  Lorg/jruby/Ruby;
            2    5     5      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"initialize"}, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      arg0     
      opts     

  private org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyHash);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyHash;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.RubyHash opts
         0: .line 1581
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 1583
            aload 2 /* arg0 */
            ifnull 3
         2: .line 1584
            aload 0 /* this */
            aload 2 /* arg0 */
            invokevirtual org.jruby.RubyString.replace19:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            pop
         3: .line 1587
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 3 /* opts */
            ifnull 11
         4: .line 1588
            aload 3 /* opts */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "encoding"
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubyHash.fastARef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* encoding */
        start local 5 // org.jruby.runtime.builtin.IRubyObject encoding
         5: .line 1589
            aload 3 /* opts */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "capacity"
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubyHash.fastARef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* capacity */
        start local 6 // org.jruby.runtime.builtin.IRubyObject capacity
         6: .line 1591
            aload 6 /* capacity */
            ifnull 8
            aload 6 /* capacity */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 8
         7: .line 1592
            aload 0 /* this */
            aload 6 /* capacity */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getIntValue:()I
            invokevirtual org.jruby.RubyString.modify:(I)V
         8: .line 1595
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 5 /* encoding */
            ifnull 11
            aload 5 /* encoding */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 11
         9: .line 1596
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modify:()V
        10: .line 1597
            aload 0 /* this */
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
            aload 5 /* encoding */
            invokevirtual org.jruby.runtime.encoding.EncodingService.getEncodingFromObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
            iconst_0
            invokevirtual org.jruby.RubyString.setEncodingAndCodeRange:(Lorg/jcodings/Encoding;I)V
        end local 6 // org.jruby.runtime.builtin.IRubyObject capacity
        end local 5 // org.jruby.runtime.builtin.IRubyObject encoding
        11: .line 1601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.RubyHash opts
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/jruby/RubyString;
            0   12     1   context  Lorg/jruby/runtime/ThreadContext;
            0   12     2      arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0   12     3      opts  Lorg/jruby/RubyHash;
            1   12     4   runtime  Lorg/jruby/Ruby;
            5   11     5  encoding  Lorg/jruby/runtime/builtin/IRubyObject;
            6   11     6  capacity  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      arg0     
      opts     

  public org.jruby.runtime.builtin.IRubyObject initialize19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 1606
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            invokevirtual org.jruby.RubyString.initialize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     

  public org.jruby.runtime.builtin.IRubyObject casecmp19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1611
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyString.casecmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject casecmp(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1616
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1618
            aload 2 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* tmp */
        start local 4 // org.jruby.runtime.builtin.IRubyObject tmp
         2: .line 1619
            aload 4 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 1621
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 4 /* tmp */
            checkcast org.jruby.RubyString
            astore 5 /* otherStr */
        start local 5 // org.jruby.RubyString otherStr
         4: .line 1622
            aload 0 /* this */
            aload 5 /* otherStr */
            invokestatic org.jruby.util.StringSupport.areCompatible:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;)Lorg/jcodings/Encoding;
            astore 6 /* enc */
        start local 6 // org.jcodings.Encoding enc
         5: .line 1623
            aload 6 /* enc */
            ifnonnull 6
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         6: .line 1625
      StackMap locals: org.jruby.RubyString org.jcodings.Encoding
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
            ifeq 8
            aload 5 /* otherStr */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
            ifeq 8
         7: .line 1626
            aload 3 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 5 /* otherStr */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.caseInsensitiveCmp:(Lorg/jruby/util/ByteList;)I
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
         8: .line 1629
      StackMap locals:
      StackMap stack:
            aload 6 /* enc */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 5 /* otherStr */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.util.StringSupport.multiByteCasecmp:(Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)I
            istore 7 /* ret */
        start local 7 // int ret
         9: .line 1631
            iload 7 /* ret */
            ifge 10
            aload 3 /* runtime */
            invokestatic org.jruby.RubyFixnum.minus_one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        10: .line 1632
      StackMap locals: int
      StackMap stack:
            iload 7 /* ret */
            ifle 11
            aload 3 /* runtime */
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        11: .line 1633
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        end local 7 // int ret
        end local 6 // org.jcodings.Encoding enc
        end local 5 // org.jruby.RubyString otherStr
        end local 4 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/jruby/RubyString;
            0   12     1   context  Lorg/jruby/runtime/ThreadContext;
            0   12     2     other  Lorg/jruby/runtime/builtin/IRubyObject;
            1   12     3   runtime  Lorg/jruby/Ruby;
            2   12     4       tmp  Lorg/jruby/runtime/builtin/IRubyObject;
            4   12     5  otherStr  Lorg/jruby/RubyString;
            5   12     6       enc  Lorg/jcodings/Encoding;
            9   12     7       ret  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"casecmp"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject casecmp_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1638
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1640
            aload 2 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* tmp */
        start local 4 // org.jruby.runtime.builtin.IRubyObject tmp
         2: .line 1641
            aload 4 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 1642
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 4 /* tmp */
            checkcast org.jruby.RubyString
            astore 5 /* otherStr */
        start local 5 // org.jruby.RubyString otherStr
         4: .line 1644
            aload 0 /* this */
            aload 5 /* otherStr */
            invokestatic org.jruby.util.StringSupport.areCompatible:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;)Lorg/jcodings/Encoding;
            astore 6 /* enc */
        start local 6 // org.jcodings.Encoding enc
         5: .line 1645
            aload 6 /* enc */
            ifnonnull 6
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         6: .line 1647
      StackMap locals: org.jruby.RubyString org.jcodings.Encoding
      StackMap stack:
            ldc 524288
            istore 7 /* flags */
        start local 7 // int flags
         7: .line 1648
            aload 0 /* this */
            aload 3 /* runtime */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 8 /* down */
        start local 8 // org.jruby.RubyString down
         8: .line 1649
            aload 8 /* down */
            aload 1 /* context */
            iload 7 /* flags */
            invokevirtual org.jruby.RubyString.downcase_bang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         9: .line 1650
            aload 5 /* otherStr */
            aload 3 /* runtime */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 9 /* otherDown */
        start local 9 // org.jruby.RubyString otherDown
        10: .line 1651
            aload 9 /* otherDown */
            aload 1 /* context */
            iload 7 /* flags */
            invokevirtual org.jruby.RubyString.downcase_bang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        11: .line 1652
            aload 8 /* down */
            aload 9 /* otherDown */
            invokevirtual org.jruby.RubyString.equals:(Lorg/jruby/RubyString;)Z
            ifeq 12
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            goto 13
      StackMap locals: int org.jruby.RubyString org.jruby.RubyString
      StackMap stack:
        12: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
      StackMap locals:
      StackMap stack: org.jruby.RubyBoolean
        13: areturn
        end local 9 // org.jruby.RubyString otherDown
        end local 8 // org.jruby.RubyString down
        end local 7 // int flags
        end local 6 // org.jcodings.Encoding enc
        end local 5 // org.jruby.RubyString otherStr
        end local 4 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/jruby/RubyString;
            0   14     1    context  Lorg/jruby/runtime/ThreadContext;
            0   14     2      other  Lorg/jruby/runtime/builtin/IRubyObject;
            1   14     3    runtime  Lorg/jruby/Ruby;
            2   14     4        tmp  Lorg/jruby/runtime/builtin/IRubyObject;
            4   14     5   otherStr  Lorg/jruby/RubyString;
            5   14     6        enc  Lorg/jcodings/Encoding;
            7   14     7      flags  I
            8   14     8       down  Lorg/jruby/RubyString;
           10   14     9  otherDown  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"casecmp?"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_match(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1662
            aload 2 /* other */
            instanceof org.jruby.RubyRegexp
            ifeq 1
            aload 2 /* other */
            checkcast org.jruby.RubyRegexp
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRegexp.op_match:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 1663
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyString
            ifeq 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "type mismatch: String given"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 1664
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            getfield org.jruby.runtime.JavaSites$StringSites.op_match:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 2 /* other */
            aload 2 /* other */
            aload 0 /* this */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"=~"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject match(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject pattern
         0: .line 1675
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* pattern */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.RubyString.match19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject pattern
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2  pattern  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      pattern  

  public org.jruby.runtime.builtin.IRubyObject match19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject pattern
        start local 3 // org.jruby.runtime.Block block
         0: .line 1680
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* pattern */
            invokestatic org.jruby.RubyString.getPattern:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRegexp;
            astore 4 /* coercedPattern */
        start local 4 // org.jruby.RubyRegexp coercedPattern
         1: .line 1681
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            getfield org.jruby.runtime.JavaSites$StringSites.match:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 4 /* coercedPattern */
            aload 4 /* coercedPattern */
            aload 0 /* this */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* result */
        start local 5 // org.jruby.runtime.builtin.IRubyObject result
         2: .line 1682
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 3
            aload 5 /* result */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 3
            aload 3 /* block */
            aload 1 /* context */
            aload 5 /* result */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 4
      StackMap locals: org.jruby.RubyRegexp org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         3: aload 5 /* result */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         4: areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject result
        end local 4 // org.jruby.RubyRegexp coercedPattern
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject pattern
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/jruby/RubyString;
            0    5     1         context  Lorg/jruby/runtime/ThreadContext;
            0    5     2         pattern  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     3           block  Lorg/jruby/runtime/Block;
            1    5     4  coercedPattern  Lorg/jruby/RubyRegexp;
            2    5     5          result  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"match"}, required = 1, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      pattern  
      block    

  public org.jruby.runtime.builtin.IRubyObject match19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject pattern
        start local 3 // org.jruby.runtime.builtin.IRubyObject pos
        start local 4 // org.jruby.runtime.Block block
         0: .line 1687
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* pattern */
            invokestatic org.jruby.RubyString.getPattern:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRegexp;
            astore 5 /* coercedPattern */
        start local 5 // org.jruby.RubyRegexp coercedPattern
         1: .line 1688
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            getfield org.jruby.runtime.JavaSites$StringSites.match:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 5 /* coercedPattern */
            aload 5 /* coercedPattern */
            aload 0 /* this */
            aload 3 /* pos */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* result */
        start local 6 // org.jruby.runtime.builtin.IRubyObject result
         2: .line 1689
            aload 4 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 3
            aload 6 /* result */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 3
            aload 4 /* block */
            aload 1 /* context */
            aload 6 /* result */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 4
      StackMap locals: org.jruby.RubyRegexp org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         3: aload 6 /* result */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         4: areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject result
        end local 5 // org.jruby.RubyRegexp coercedPattern
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject pos
        end local 2 // org.jruby.runtime.builtin.IRubyObject pattern
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/jruby/RubyString;
            0    5     1         context  Lorg/jruby/runtime/ThreadContext;
            0    5     2         pattern  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     3             pos  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     4           block  Lorg/jruby/runtime/Block;
            1    5     5  coercedPattern  Lorg/jruby/RubyRegexp;
            2    5     6          result  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"match"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      pattern  
      pos      
      block    

  public org.jruby.runtime.builtin.IRubyObject match19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 1694
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpge 2
         1: .line 1695
            aload 1 /* context */
            aload 2 /* args */
            iconst_1
            iconst_2
            invokestatic org.jruby.runtime.Arity.checkArgumentCount:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;II)I
            pop
         2: .line 1697
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyString.getPattern:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRegexp;
            astore 4 /* pattern */
        start local 4 // org.jruby.RubyRegexp pattern
         3: .line 1698
            aload 2 /* args */
            iconst_0
            aload 0 /* this */
            aastore
         4: .line 1699
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            getfield org.jruby.runtime.JavaSites$StringSites.match:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 4 /* pattern */
            aload 4 /* pattern */
            aload 2 /* args */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* result */
        start local 5 // org.jruby.runtime.builtin.IRubyObject result
         5: .line 1700
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 6
            aload 5 /* result */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 6
            aload 3 /* block */
            aload 1 /* context */
            aload 5 /* result */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 7
      StackMap locals: org.jruby.RubyRegexp org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         6: aload 5 /* result */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         7: areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject result
        end local 4 // org.jruby.RubyRegexp pattern
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyString;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            0    8     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     3    block  Lorg/jruby/runtime/Block;
            3    8     4  pattern  Lorg/jruby/RubyRegexp;
            5    8     5   result  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"match"}, required = 1, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  public org.jruby.runtime.builtin.IRubyObject match_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject pattern
         0: .line 1705
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* pattern */
            invokestatic org.jruby.RubyString.getPattern:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRegexp;
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRegexp.match_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject pattern
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2  pattern  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"match?"})
    MethodParameters:
         Name  Flags
      context  
      pattern  

  public org.jruby.runtime.builtin.IRubyObject match_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject pattern
        start local 3 // org.jruby.runtime.builtin.IRubyObject pos
         0: .line 1710
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* pattern */
            invokestatic org.jruby.RubyString.getPattern:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRegexp;
            aload 1 /* context */
            aload 0 /* this */
            aload 3 /* pos */
            invokevirtual org.jruby.RubyRegexp.match_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject pos
        end local 2 // org.jruby.runtime.builtin.IRubyObject pattern
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2  pattern  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3      pos  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"match?"})
    MethodParameters:
         Name  Flags
      context  
      pattern  
      pos      

  public org.jruby.runtime.builtin.IRubyObject op_ge(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1714
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyString.op_ge19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_ge19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1719
            aload 2 /* other */
            instanceof org.jruby.RubyString
            ifeq 4
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.cmpIsBuiltin:(Lorg/jruby/runtime/ThreadContext;)Z
            ifeq 4
         1: .line 1720
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 2 /* other */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.op_cmp:(Lorg/jruby/RubyString;)I
            iflt 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
         4: .line 1722
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* other */
            invokestatic org.jruby.RubyComparable.op_ge:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyString;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {">="})
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_gt(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1726
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyString.op_gt19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_gt19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1731
            aload 2 /* other */
            instanceof org.jruby.RubyString
            ifeq 4
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.cmpIsBuiltin:(Lorg/jruby/runtime/ThreadContext;)Z
            ifeq 4
         1: .line 1732
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 2 /* other */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.op_cmp:(Lorg/jruby/RubyString;)I
            ifle 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
         4: .line 1734
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* other */
            invokestatic org.jruby.RubyComparable.op_gt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyString;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {">"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_le(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1738
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyString.op_le19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_le19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1743
            aload 2 /* other */
            instanceof org.jruby.RubyString
            ifeq 4
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.cmpIsBuiltin:(Lorg/jruby/runtime/ThreadContext;)Z
            ifeq 4
         1: .line 1744
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 2 /* other */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.op_cmp:(Lorg/jruby/RubyString;)I
            ifgt 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
         4: .line 1746
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* other */
            invokestatic org.jruby.RubyComparable.op_le:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyString;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"<="})
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_lt(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1750
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyString.op_lt19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_lt19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1755
            aload 2 /* other */
            instanceof org.jruby.RubyString
            ifeq 4
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.cmpIsBuiltin:(Lorg/jruby/runtime/ThreadContext;)Z
            ifeq 4
         1: .line 1756
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 2 /* other */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.op_cmp:(Lorg/jruby/RubyString;)I
            ifge 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         2: iconst_0
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.Ruby int
         3: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
         4: .line 1758
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            getfield org.jruby.runtime.JavaSites$StringSites.cmp:Lorg/jruby/runtime/callsite/CachingCallSite;
            aload 0 /* this */
            aload 2 /* other */
            invokestatic org.jruby.RubyComparable.op_lt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyString;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"<"})
    MethodParameters:
         Name  Flags
      context  
      other    

  private boolean cmpIsBuiltin(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1762
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            getfield org.jruby.runtime.JavaSites$StringSites.cmp:Lorg/jruby/runtime/callsite/CachingCallSite;
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            invokevirtual org.jruby.runtime.callsite.CachingCallSite.isBuiltin:(Lorg/jruby/RubyClass;)Z
            ireturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject str_eql_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1766
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyString.str_eql_p19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject str_eql_p19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 1771
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1772
            aload 2 /* other */
            instanceof org.jruby.RubyString
            ifeq 4
         2: .line 1773
            aload 2 /* other */
            checkcast org.jruby.RubyString
            astore 4 /* otherString */
        start local 4 // org.jruby.RubyString otherString
         3: .line 1774
            aload 0 /* this */
            aload 4 /* otherString */
            invokestatic org.jruby.util.StringSupport.areComparable:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;)Z
            ifeq 4
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 4 /* otherString */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.equal:(Lorg/jruby/util/ByteList;)Z
            ifeq 4
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            areturn
        end local 4 // org.jruby.RubyString otherString
         4: .line 1776
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            areturn
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/jruby/RubyString;
            0    5     1      context  Lorg/jruby/runtime/ThreadContext;
            0    5     2        other  Lorg/jruby/runtime/builtin/IRubyObject;
            1    5     3      runtime  Lorg/jruby/Ruby;
            3    4     4  otherString  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"eql?"})
    MethodParameters:
         Name  Flags
      context  
      other    

  private int caseMap(org.jruby.Ruby, int, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;ILorg/jcodings/Encoding;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int flags
        start local 3 // org.jcodings.Encoding enc
         0: .line 1780
            new org.jcodings.IntHolder
            dup
            invokespecial org.jcodings.IntHolder.<init>:()V
            astore 4 /* flagsP */
        start local 4 // org.jcodings.IntHolder flagsP
         1: .line 1781
            aload 4 /* flagsP */
            iload 2 /* flags */
            putfield org.jcodings.IntHolder.value:I
         2: .line 1782
            iload 2 /* flags */
            ldc 4194304
            iand
            ifeq 5
         3: .line 1783
            aload 1 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 4 /* flagsP */
            aload 3 /* enc */
            invokestatic org.jruby.util.StringSupport.asciiOnlyCaseMap:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/IntHolder;Lorg/jcodings/Encoding;)V
         4: .line 1784
            goto 6
         5: .line 1785
      StackMap locals: org.jcodings.IntHolder
      StackMap stack:
            aload 0 /* this */
            aload 1 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 4 /* flagsP */
            aload 3 /* enc */
            invokestatic org.jruby.util.StringSupport.caseMap:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/IntHolder;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         6: .line 1787
      StackMap locals:
      StackMap stack:
            aload 4 /* flagsP */
            getfield org.jcodings.IntHolder.value:I
            ireturn
        end local 4 // org.jcodings.IntHolder flagsP
        end local 3 // org.jcodings.Encoding enc
        end local 2 // int flags
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyString;
            0    7     1  runtime  Lorg/jruby/Ruby;
            0    7     2    flags  I
            0    7     3      enc  Lorg/jcodings/Encoding;
            1    7     4   flagsP  Lorg/jcodings/IntHolder;
    MethodParameters:
         Name  Flags
      runtime  
      flags    
      enc      

  public org.jruby.RubyString upcase19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1795
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.upcase:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject upcase_bang19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1800
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.upcase_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyString upcase(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1805
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         1: .line 1806
            aload 2 /* str */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.upcase_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 1807
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"upcase"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyString upcase(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1812
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         1: .line 1813
            aload 3 /* str */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.upcase_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 1814
            aload 3 /* str */
            areturn
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"upcase"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.RubyString upcase(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 1819
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 4 /* str */
        start local 4 // org.jruby.RubyString str
         1: .line 1820
            aload 4 /* str */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            invokevirtual org.jruby.RubyString.upcase_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 1821
            aload 4 /* str */
            areturn
        end local 4 // org.jruby.RubyString str
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     4      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"upcase"})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  public org.jruby.runtime.builtin.IRubyObject upcase_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1826
            aload 0 /* this */
            aload 1 /* context */
            sipush 8192
            invokevirtual org.jruby.RubyString.upcase_bang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"upcase!"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject upcase_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1831
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* arg */
            sipush 8192
            invokestatic org.jruby.util.StringSupport.checkCaseMapOptions:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;I)I
            invokevirtual org.jruby.RubyString.upcase_bang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"upcase!"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject upcase_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 1836
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            sipush 8192
            invokestatic org.jruby.util.StringSupport.checkCaseMapOptions:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;I)I
            invokevirtual org.jruby.RubyString.upcase_bang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"upcase!"})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  private org.jruby.runtime.builtin.IRubyObject upcase_bang(org.jruby.runtime.ThreadContext, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // int flags
         0: .line 1840
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyAndKeepCodeRange:()V
         1: .line 1841
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.checkDummyEncoding:()Lorg/jcodings/Encoding;
            astore 3 /* enc */
        start local 3 // org.jcodings.Encoding enc
         2: .line 1842
            iload 2 /* flags */
            ldc 4194304
            iand
            ifeq 3
            aload 3 /* enc */
            invokevirtual org.jcodings.Encoding.isUTF8:()Z
            ifne 4
            aload 3 /* enc */
            invokevirtual org.jcodings.Encoding.maxLength:()I
            iconst_1
            if_icmpeq 4
         3: .line 1843
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            iload 2 /* flags */
            ldc 1048576
            iand
            ifne 15
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            bipush 16
            if_icmpne 15
         4: .line 1844
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 4 /* s */
        start local 4 // int s
         5: .line 1845
            iload 4 /* s */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 5 /* end */
        start local 5 // int end
         6: .line 1846
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 6 /* bytes */
        start local 6 // byte[] bytes
         7: .line 1847
            goto 13
         8: .line 1848
      StackMap locals: int int byte[]
      StackMap stack:
            aload 6 /* bytes */
            iload 4 /* s */
            baload
            sipush 255
            iand
            istore 7 /* c */
        start local 7 // int c
         9: .line 1849
            iload 7 /* c */
            invokestatic org.jcodings.Encoding.isAscii:(I)Z
            ifeq 12
            bipush 97
            iload 7 /* c */
            if_icmpgt 12
            iload 7 /* c */
            bipush 122
            if_icmpgt 12
        10: .line 1850
            aload 6 /* bytes */
            iload 4 /* s */
            bipush 65
            iload 7 /* c */
            bipush 97
            isub
            iadd
            i2b
            bastore
        11: .line 1851
            iload 2 /* flags */
            ldc 262144
            ior
            istore 2 /* flags */
        12: .line 1853
      StackMap locals: int
      StackMap stack:
            iinc 4 /* s */ 1
        end local 7 // int c
        13: .line 1847
      StackMap locals:
      StackMap stack:
            iload 4 /* s */
            iload 5 /* end */
            if_icmplt 8
        end local 6 // byte[] bytes
        end local 5 // int end
        end local 4 // int s
        14: .line 1855
            goto 17
        15: .line 1856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 2 /* flags */
            aload 3 /* enc */
            invokevirtual org.jruby.RubyString.caseMap:(Lorg/jruby/Ruby;ILorg/jcodings/Encoding;)I
            istore 2 /* flags */
        16: .line 1857
            iload 2 /* flags */
            ldc 262144
            iand
            ifeq 17
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.clearCodeRange:()V
        17: .line 1860
      StackMap locals:
      StackMap stack:
            iload 2 /* flags */
            ldc 262144
            iand
            ifeq 18
            aload 0 /* this */
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        19: areturn
        end local 3 // org.jcodings.Encoding enc
        end local 2 // int flags
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lorg/jruby/RubyString;
            0   20     1  context  Lorg/jruby/runtime/ThreadContext;
            0   20     2    flags  I
            2   20     3      enc  Lorg/jcodings/Encoding;
            5   14     4        s  I
            6   14     5      end  I
            7   14     6    bytes  [B
            9   13     7        c  I
    MethodParameters:
         Name  Flags
      context  
      flags    

  public org.jruby.RubyString downcase19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1869
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.downcase:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject downcase_bang19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1874
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.downcase_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyString downcase(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1879
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         1: .line 1880
            aload 2 /* str */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.downcase_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 1881
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"downcase"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyString downcase(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1886
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         1: .line 1887
            aload 3 /* str */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.downcase_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 1888
            aload 3 /* str */
            areturn
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"downcase"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.RubyString downcase(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 1893
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 4 /* str */
        start local 4 // org.jruby.RubyString str
         1: .line 1894
            aload 4 /* str */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            invokevirtual org.jruby.RubyString.downcase_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 1895
            aload 4 /* str */
            areturn
        end local 4 // org.jruby.RubyString str
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     4      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"downcase"})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  public org.jruby.runtime.builtin.IRubyObject downcase_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1900
            aload 0 /* this */
            aload 1 /* context */
            sipush 16384
            invokevirtual org.jruby.RubyString.downcase_bang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"downcase!"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject downcase_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1905
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* arg */
            sipush 16384
            invokestatic org.jruby.util.StringSupport.checkCaseMapOptions:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;I)I
            invokevirtual org.jruby.RubyString.downcase_bang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"downcase!"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject downcase_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 1910
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            sipush 16384
            invokestatic org.jruby.util.StringSupport.checkCaseMapOptions:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;I)I
            invokevirtual org.jruby.RubyString.downcase_bang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"downcase!"})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  private org.jruby.runtime.builtin.IRubyObject downcase_bang(org.jruby.runtime.ThreadContext, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // int flags
         0: .line 1914
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyAndKeepCodeRange:()V
         1: .line 1915
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.checkDummyEncoding:()Lorg/jcodings/Encoding;
            astore 3 /* enc */
        start local 3 // org.jcodings.Encoding enc
         2: .line 1916
            iload 2 /* flags */
            ldc 4194304
            iand
            ifeq 3
            aload 3 /* enc */
            invokevirtual org.jcodings.Encoding.isUTF8:()Z
            ifne 4
            aload 3 /* enc */
            invokevirtual org.jcodings.Encoding.maxLength:()I
            iconst_1
            if_icmpeq 4
         3: .line 1917
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            iload 2 /* flags */
            ldc 1048576
            iand
            ifne 15
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            bipush 16
            if_icmpne 15
         4: .line 1918
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 4 /* s */
        start local 4 // int s
         5: .line 1919
            iload 4 /* s */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 5 /* end */
        start local 5 // int end
         6: .line 1920
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 6 /* bytes */
        start local 6 // byte[] bytes
         7: .line 1921
            goto 13
         8: .line 1922
      StackMap locals: int int byte[]
      StackMap stack:
            aload 6 /* bytes */
            iload 4 /* s */
            baload
            sipush 255
            iand
            istore 7 /* c */
        start local 7 // int c
         9: .line 1923
            iload 7 /* c */
            invokestatic org.jcodings.Encoding.isAscii:(I)Z
            ifeq 12
            bipush 65
            iload 7 /* c */
            if_icmpgt 12
            iload 7 /* c */
            bipush 90
            if_icmpgt 12
        10: .line 1924
            aload 6 /* bytes */
            iload 4 /* s */
            bipush 97
            iload 7 /* c */
            bipush 65
            isub
            iadd
            i2b
            bastore
        11: .line 1925
            iload 2 /* flags */
            ldc 262144
            ior
            istore 2 /* flags */
        12: .line 1927
      StackMap locals: int
      StackMap stack:
            iinc 4 /* s */ 1
        end local 7 // int c
        13: .line 1921
      StackMap locals:
      StackMap stack:
            iload 4 /* s */
            iload 5 /* end */
            if_icmplt 8
        end local 6 // byte[] bytes
        end local 5 // int end
        end local 4 // int s
        14: .line 1929
            goto 17
        15: .line 1930
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 2 /* flags */
            aload 3 /* enc */
            invokevirtual org.jruby.RubyString.caseMap:(Lorg/jruby/Ruby;ILorg/jcodings/Encoding;)I
            istore 2 /* flags */
        16: .line 1931
            iload 2 /* flags */
            ldc 262144
            iand
            ifeq 17
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.clearCodeRange:()V
        17: .line 1934
      StackMap locals:
      StackMap stack:
            iload 2 /* flags */
            ldc 262144
            iand
            ifeq 18
            aload 0 /* this */
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        19: areturn
        end local 3 // org.jcodings.Encoding enc
        end local 2 // int flags
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lorg/jruby/RubyString;
            0   20     1  context  Lorg/jruby/runtime/ThreadContext;
            0   20     2    flags  I
            2   20     3      enc  Lorg/jcodings/Encoding;
            5   14     4        s  I
            6   14     5      end  I
            7   14     6    bytes  [B
            9   13     7        c  I
    MethodParameters:
         Name  Flags
      context  
      flags    

  public org.jruby.RubyString swapcase19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1942
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.swapcase:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject swapcase_bang19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1947
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.swapcase_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyString swapcase(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1952
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         1: .line 1953
            aload 2 /* str */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.swapcase_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 1954
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"swapcase"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyString swapcase(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1959
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         1: .line 1960
            aload 3 /* str */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.swapcase_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 1961
            aload 3 /* str */
            areturn
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"swapcase"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.RubyString swapcase(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 1966
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 4 /* str */
        start local 4 // org.jruby.RubyString str
         1: .line 1967
            aload 4 /* str */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            invokevirtual org.jruby.RubyString.swapcase_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 1968
            aload 4 /* str */
            areturn
        end local 4 // org.jruby.RubyString str
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     4      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"swapcase"})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  public org.jruby.runtime.builtin.IRubyObject swapcase_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1973
            aload 0 /* this */
            aload 1 /* context */
            sipush 24576
            invokevirtual org.jruby.RubyString.swapcase_bang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"swapcase!"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject swapcase_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1978
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* arg */
            sipush 24576
            invokestatic org.jruby.util.StringSupport.checkCaseMapOptions:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;I)I
            invokevirtual org.jruby.RubyString.swapcase_bang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"swapcase!"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject swapcase_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 1983
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            sipush 24576
            invokestatic org.jruby.util.StringSupport.checkCaseMapOptions:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;I)I
            invokevirtual org.jruby.RubyString.swapcase_bang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"swapcase!"})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  private org.jruby.runtime.builtin.IRubyObject swapcase_bang(org.jruby.runtime.ThreadContext, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // int flags
         0: .line 1987
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyAndKeepCodeRange:()V
         1: .line 1988
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.checkDummyEncoding:()Lorg/jcodings/Encoding;
            astore 3 /* enc */
        start local 3 // org.jcodings.Encoding enc
         2: .line 1989
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 2 /* flags */
            aload 3 /* enc */
            invokevirtual org.jruby.RubyString.caseMap:(Lorg/jruby/Ruby;ILorg/jcodings/Encoding;)I
            istore 2 /* flags */
         3: .line 1990
            iload 2 /* flags */
            ldc 262144
            iand
            ifeq 6
         4: .line 1991
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.clearCodeRange:()V
         5: .line 1992
            aload 0 /* this */
            areturn
         6: .line 1994
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jcodings.Encoding enc
        end local 2 // int flags
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyString;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2    flags  I
            2    7     3      enc  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      context  
      flags    

  public org.jruby.runtime.builtin.IRubyObject capitalize19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2003
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.capitalize:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject capitalize_bang19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2008
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.capitalize_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyString capitalize(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2013
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         1: .line 2014
            aload 2 /* str */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.capitalize_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 2015
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"capitalize"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyString capitalize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 2020
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         1: .line 2021
            aload 3 /* str */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.capitalize_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 2022
            aload 3 /* str */
            areturn
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"capitalize"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.RubyString capitalize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 2027
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 4 /* str */
        start local 4 // org.jruby.RubyString str
         1: .line 2028
            aload 4 /* str */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            invokevirtual org.jruby.RubyString.capitalize_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 2029
            aload 4 /* str */
            areturn
        end local 4 // org.jruby.RubyString str
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     4      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"capitalize"})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  public org.jruby.runtime.builtin.IRubyObject capitalize_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2034
            aload 0 /* this */
            aload 1 /* context */
            ldc 40960
            invokevirtual org.jruby.RubyString.capitalize_bang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"capitalize!"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject capitalize_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 2039
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* arg */
            ldc 40960
            invokestatic org.jruby.util.StringSupport.checkCaseMapOptions:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;I)I
            invokevirtual org.jruby.RubyString.capitalize_bang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"capitalize!"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject capitalize_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 2044
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            ldc 40960
            invokestatic org.jruby.util.StringSupport.checkCaseMapOptions:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;I)I
            invokevirtual org.jruby.RubyString.capitalize_bang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"capitalize!"})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  private org.jruby.runtime.builtin.IRubyObject capitalize_bang(org.jruby.runtime.ThreadContext, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // int flags
         0: .line 2048
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyAndKeepCodeRange:()V
         1: .line 2049
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.checkDummyEncoding:()Lorg/jcodings/Encoding;
            astore 3 /* enc */
        start local 3 // org.jcodings.Encoding enc
         2: .line 2051
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 5
         3: .line 2052
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         4: .line 2053
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 2056
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 2 /* flags */
            aload 3 /* enc */
            invokevirtual org.jruby.RubyString.caseMap:(Lorg/jruby/Ruby;ILorg/jcodings/Encoding;)I
            istore 2 /* flags */
         6: .line 2057
            iload 2 /* flags */
            ldc 262144
            iand
            ifeq 9
         7: .line 2058
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.clearCodeRange:()V
         8: .line 2059
            aload 0 /* this */
            areturn
         9: .line 2061
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jcodings.Encoding enc
        end local 2 // int flags
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyString;
            0   10     1  context  Lorg/jruby/runtime/ThreadContext;
            0   10     2    flags  I
            2   10     3      enc  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      context  
      flags    

  public org.jruby.runtime.builtin.IRubyObject dump();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 2070
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            astore 1 /* metaClass */
        start local 1 // org.jruby.RubyClass metaClass
         1: .line 2071
            aload 1 /* metaClass */
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.util.StringSupport.dumpCommon:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/util/ByteList;
            astore 2 /* outBytes */
        start local 2 // org.jruby.util.ByteList outBytes
         2: .line 2073
            new org.jruby.RubyString
            dup
            aload 1 /* metaClass */
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* metaClass */
            aload 2 /* outBytes */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            astore 3 /* result */
        start local 3 // org.jruby.RubyString result
         3: .line 2074
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 4 /* enc */
        start local 4 // org.jcodings.Encoding enc
         4: .line 2076
            aload 4 /* enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifne 9
         5: .line 2077
            aload 3 /* result */
            ldc ".force_encoding(\""
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual org.jruby.RubyString.cat:([B)Lorg/jruby/RubyString;
            pop
         6: .line 2078
            aload 3 /* result */
            aload 4 /* enc */
            invokevirtual org.jcodings.Encoding.getName:()[B
            invokevirtual org.jruby.RubyString.cat:([B)Lorg/jruby/RubyString;
            pop
         7: .line 2079
            aload 3 /* result */
            bipush 34
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            bipush 41
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            pop
         8: .line 2080
            getstatic org.jruby.RubyString.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            astore 4 /* enc */
         9: .line 2082
      StackMap locals: org.jruby.RubyString org.jruby.RubyClass org.jruby.util.ByteList org.jruby.RubyString org.jcodings.Encoding
      StackMap stack:
            aload 3 /* result */
            aload 4 /* enc */
            invokevirtual org.jruby.RubyString.associateEncoding:(Lorg/jcodings/Encoding;)V
        10: .line 2083
            aload 3 /* result */
            bipush 16
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
        11: .line 2085
            aload 3 /* result */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            areturn
        end local 4 // org.jcodings.Encoding enc
        end local 3 // org.jruby.RubyString result
        end local 2 // org.jruby.util.ByteList outBytes
        end local 1 // org.jruby.RubyClass metaClass
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/jruby/RubyString;
            1   12     1  metaClass  Lorg/jruby/RubyClass;
            2   12     2   outBytes  Lorg/jruby/util/ByteList;
            3   12     3     result  Lorg/jruby/RubyString;
            4   12     4        enc  Lorg/jcodings/Encoding;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"dump"})

  public org.jruby.runtime.builtin.IRubyObject undump(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=16, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2090
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 2091
            aload 0 /* this */
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         2: .line 2092
            aload 3 /* str */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 4 /* strByteList */
        start local 4 // org.jruby.util.ByteList strByteList
         3: .line 2093
            aload 4 /* strByteList */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 5 /* sBytes */
        start local 5 // byte[] sBytes
         4: .line 2094
            iconst_1
            newarray 10
            dup
            iconst_0
            aload 4 /* strByteList */
            invokevirtual org.jruby.util.ByteList.begin:()I
            iastore
            astore 6 /* s */
        start local 6 // int[] s
         5: .line 2095
            aload 4 /* strByteList */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            istore 7 /* sLen */
        start local 7 // int sLen
         6: .line 2096
            aload 6 /* s */
            iconst_0
            iaload
            aload 4 /* strByteList */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            iadd
            istore 8 /* s_end */
        start local 8 // int s_end
         7: .line 2097
            iconst_1
            anewarray org.jcodings.Encoding
            dup
            iconst_0
            aload 3 /* str */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            aastore
            astore 9 /* enc */
        start local 9 // org.jcodings.Encoding[] enc
         8: .line 2098
            aload 2 /* runtime */
            aload 5 /* sBytes */
            aload 6 /* s */
            iconst_0
            iaload
            iconst_0
            aload 9 /* enc */
            iconst_0
            aaload
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;[BIILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            astore 10 /* undumped */
        start local 10 // org.jruby.RubyString undumped
         9: .line 2099
            iconst_1
            newarray 4
            astore 11 /* utf8 */
        start local 11 // boolean[] utf8
        10: .line 2100
            iconst_1
            newarray 4
            astore 12 /* binary */
        start local 12 // boolean[] binary
        11: .line 2103
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.scanForCodeRange:()I
            pop
        12: .line 2104
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.isAsciiOnly:()Z
            ifne 14
        13: .line 2105
            aload 2 /* runtime */
            ldc "non-ASCII character detected"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        14: .line 2107
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.RubyString org.jruby.util.ByteList byte[] int[] int int org.jcodings.Encoding[] org.jruby.RubyString boolean[] boolean[]
      StackMap stack:
            aload 5 /* sBytes */
            aload 6 /* s */
            iconst_0
            iaload
            iconst_0
            aload 4 /* strByteList */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            invokestatic org.jruby.util.StringSupport.memchr:([BIII)I
            iconst_m1
            if_icmpeq 16
        15: .line 2108
            aload 2 /* runtime */
            ldc "string contains null byte"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        16: .line 2110
      StackMap locals:
      StackMap stack:
            iload 7 /* sLen */
            iconst_2
            if_icmpge 17
            aload 2 /* runtime */
            invokestatic org.jruby.RubyString.invalidFormat:(Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        17: .line 2111
      StackMap locals:
      StackMap stack:
            aload 5 /* sBytes */
            aload 6 /* s */
            iconst_0
            iaload
            baload
            bipush 34
            if_icmpeq 18
            aload 2 /* runtime */
            invokestatic org.jruby.RubyString.invalidFormat:(Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        18: .line 2114
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            iconst_0
            dup2
            iaload
            iconst_1
            iadd
            iastore
        19: .line 2117
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            iconst_0
            iaload
            iload 8 /* s_end */
            if_icmplt 21
        20: .line 2118
            aload 2 /* runtime */
            ldc "unterminated dumped string"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        21: .line 2121
      StackMap locals:
      StackMap stack:
            aload 5 /* sBytes */
            aload 6 /* s */
            iconst_0
            iaload
            baload
            bipush 34
            if_icmpne 43
        22: .line 2123
            aload 6 /* s */
            iconst_0
            dup2
            iaload
            iconst_1
            iadd
            iastore
        23: .line 2124
            aload 6 /* s */
            iconst_0
            iaload
            iload 8 /* s_end */
            if_icmpne 25
        24: .line 2126
            goto 51
        25: .line 2130
      StackMap locals:
      StackMap stack:
            aload 11 /* utf8 */
            iconst_0
            baload
            ifeq 27
        26: .line 2131
            aload 2 /* runtime */
            ldc "dumped string contained Unicode escape but used force_encoding"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        27: .line 2134
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyString.FORCE_ENCODING_BYTES:[B
            arraylength
            istore 13 /* size */
        start local 13 // int size
        28: .line 2135
            iload 8 /* s_end */
            aload 6 /* s */
            iconst_0
            iaload
            isub
            iload 13 /* size */
            if_icmpgt 29
            aload 2 /* runtime */
            invokestatic org.jruby.RubyString.invalidFormat:(Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        29: .line 2136
      StackMap locals: int
      StackMap stack:
            aload 5 /* sBytes */
            aload 6 /* s */
            iconst_0
            iaload
            getstatic org.jruby.RubyString.FORCE_ENCODING_BYTES:[B
            iconst_0
            iload 13 /* size */
            invokestatic org.jruby.util.ByteList.memcmp:([BI[BII)I
            ifeq 30
            aload 2 /* runtime */
            invokestatic org.jruby.RubyString.invalidFormat:(Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        30: .line 2137
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            iconst_0
            dup2
            iaload
            iload 13 /* size */
            iadd
            iastore
        31: .line 2139
            aload 6 /* s */
            iconst_0
            iaload
            istore 14 /* encname */
        start local 14 // int encname
        32: .line 2140
            aload 6 /* s */
            iconst_0
            aload 5 /* sBytes */
            aload 6 /* s */
            iconst_0
            iaload
            bipush 34
            iload 8 /* s_end */
            aload 6 /* s */
            iconst_0
            iaload
            isub
            invokestatic org.jruby.util.StringSupport.memchr:([BIII)I
            iastore
        33: .line 2141
            aload 6 /* s */
            iconst_0
            iaload
            iload 14 /* encname */
            isub
            istore 13 /* size */
        34: .line 2142
            aload 6 /* s */
            iconst_0
            iaload
            iconst_m1
            if_icmpne 35
            aload 2 /* runtime */
            invokestatic org.jruby.RubyString.invalidFormat:(Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        35: .line 2143
      StackMap locals: int
      StackMap stack:
            iload 8 /* s_end */
            aload 6 /* s */
            iconst_0
            iaload
            isub
            iconst_2
            if_icmpeq 36
            aload 2 /* runtime */
            invokestatic org.jruby.RubyString.invalidFormat:(Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        36: .line 2144
      StackMap locals:
      StackMap stack:
            aload 5 /* sBytes */
            aload 6 /* s */
            iconst_0
            iaload
            baload
            bipush 34
            if_icmpne 37
            aload 5 /* sBytes */
            aload 6 /* s */
            iconst_0
            iaload
            iconst_1
            iadd
            baload
            bipush 41
            if_icmpeq 38
      StackMap locals:
      StackMap stack:
        37: aload 2 /* runtime */
            invokestatic org.jruby.RubyString.invalidFormat:(Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        38: .line 2146
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
            new org.jruby.util.ByteList
            dup
            aload 5 /* sBytes */
            iload 14 /* encname */
            iload 13 /* size */
            invokespecial org.jruby.util.ByteList.<init>:([BII)V
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingNoError:(Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
            astore 15 /* enc2 */
        start local 15 // org.jcodings.Encoding enc2
        39: .line 2147
            aload 15 /* enc2 */
            ifnonnull 41
        40: .line 2148
            aload 2 /* runtime */
            ldc "dumped string has unknown encoding name"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        41: .line 2150
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            aload 10 /* undumped */
            aload 15 /* enc2 */
            invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
        end local 15 // org.jcodings.Encoding enc2
        end local 14 // int encname
        end local 13 // int size
        42: .line 2152
            goto 51
        43: .line 2155
      StackMap locals:
      StackMap stack:
            aload 5 /* sBytes */
            aload 6 /* s */
            iconst_0
            iaload
            baload
            bipush 92
            if_icmpne 49
        44: .line 2156
            aload 6 /* s */
            iconst_0
            dup2
            iaload
            iconst_1
            iadd
            iastore
        45: .line 2157
            aload 6 /* s */
            iconst_0
            iaload
            iload 8 /* s_end */
            if_icmplt 47
        46: .line 2158
            aload 2 /* runtime */
            ldc "invalid escape"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        47: .line 2160
      StackMap locals:
      StackMap stack:
            aload 10 /* undumped */
            aload 2 /* runtime */
            aload 5 /* sBytes */
            aload 6 /* s */
            iload 8 /* s_end */
            aload 9 /* enc */
            aload 11 /* utf8 */
            aload 12 /* binary */
            invokevirtual org.jruby.RubyString.undumpAfterBackslash:(Lorg/jruby/Ruby;[B[II[Lorg/jcodings/Encoding;[Z[Z)V
        48: .line 2161
            goto 19
        49: .line 2163
      StackMap locals:
      StackMap stack:
            aload 10 /* undumped */
            aload 5 /* sBytes */
            aload 6 /* s */
            iconst_0
            dup2
            iaload
            dup_x2
            iconst_1
            iadd
            iastore
            iconst_1
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        50: .line 2116
            goto 19
        51: .line 2167
      StackMap locals:
      StackMap stack:
            aload 10 /* undumped */
            aload 3 /* str */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        52: .line 2168
            aload 10 /* undumped */
            areturn
        end local 12 // boolean[] binary
        end local 11 // boolean[] utf8
        end local 10 // org.jruby.RubyString undumped
        end local 9 // org.jcodings.Encoding[] enc
        end local 8 // int s_end
        end local 7 // int sLen
        end local 6 // int[] s
        end local 5 // byte[] sBytes
        end local 4 // org.jruby.util.ByteList strByteList
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   53     0         this  Lorg/jruby/RubyString;
            0   53     1      context  Lorg/jruby/runtime/ThreadContext;
            1   53     2      runtime  Lorg/jruby/Ruby;
            2   53     3          str  Lorg/jruby/RubyString;
            3   53     4  strByteList  Lorg/jruby/util/ByteList;
            4   53     5       sBytes  [B
            5   53     6            s  [I
            6   53     7         sLen  I
            7   53     8        s_end  I
            8   53     9          enc  [Lorg/jcodings/Encoding;
            9   53    10     undumped  Lorg/jruby/RubyString;
           10   53    11         utf8  [Z
           11   53    12       binary  [Z
           28   42    13         size  I
           32   42    14      encname  I
           39   42    15         enc2  Lorg/jcodings/Encoding;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"undump"})
    MethodParameters:
         Name  Flags
      context  

  private static final org.jruby.runtime.builtin.IRubyObject invalidFormat(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 2172
            aload 0 /* runtime */
            ldc "invalid dumped string; not wrapped with '\"' nor '\"...\".force_encoding(\"...\")' form"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  

  private void undumpAfterBackslash(org.jruby.Ruby, byte[], int[], int, org.jcodings.Encoding[], boolean[], boolean[]);
    descriptor: (Lorg/jruby/Ruby;[B[II[Lorg/jcodings/Encoding;[Z[Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=15, args_size=8
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // byte[] ssBytes
        start local 3 // int[] ss
        start local 4 // int s_end
        start local 5 // org.jcodings.Encoding[] penc
        start local 6 // boolean[] utf8
        start local 7 // boolean[] binary
         0: .line 2176
            aload 3 /* ss */
            iconst_0
            iaload
            istore 8 /* s */
        start local 8 // int s
         1: .line 2179
            iconst_1
            newarray 10
            astore 12 /* hexlen */
        start local 12 // int[] hexlen
         2: .line 2180
            bipush 6
            newarray 8
            astore 13 /* buf */
        start local 13 // byte[] buf
         3: .line 2181
            aconst_null
            astore 14 /* encUtf8 */
        start local 14 // org.jcodings.Encoding encUtf8
         4: .line 2183
            aload 2 /* ssBytes */
            iload 8 /* s */
            baload
            lookupswitch { // 13
                   34: 5
                   35: 5
                   92: 5
                   97: 8
                   98: 8
                  101: 8
                  102: 8
                  110: 8
                  114: 8
                  116: 8
                  117: 12
                  118: 8
                  120: 51
              default: 62
          }
         5: .line 2187
      StackMap locals: org.jruby.RubyString org.jruby.Ruby byte[] int[] int org.jcodings.Encoding[] boolean[] boolean[] int top top top int[] byte[] org.jcodings.Encoding
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ssBytes */
            iload 8 /* s */
            iconst_1
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
         6: .line 2188
            iinc 8 /* s */ 1
         7: .line 2189
            goto 64
         8: .line 2198
      StackMap locals:
      StackMap stack:
            aload 13 /* buf */
            iconst_0
            aload 2 /* ssBytes */
            iload 8 /* s */
            baload
            invokestatic org.jruby.RubyString.unescapeAscii:(B)B
            bastore
         9: .line 2199
            aload 0 /* this */
            aload 13 /* buf */
            iconst_0
            iconst_1
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        10: .line 2200
            iinc 8 /* s */ 1
        11: .line 2201
            goto 64
        12: .line 2203
      StackMap locals:
      StackMap stack:
            aload 7 /* binary */
            iconst_0
            baload
            ifeq 14
        13: .line 2204
            aload 1 /* runtime */
            ldc "hex escape and Unicode escape are mixed"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        14: .line 2206
      StackMap locals:
      StackMap stack:
            aload 6 /* utf8 */
            iconst_0
            iconst_1
            bastore
        15: .line 2207
            iinc 8 /* s */ 1
            iload 8 /* s */
            iload 4 /* s_end */
            if_icmplt 17
        16: .line 2208
            aload 1 /* runtime */
            ldc "invalid Unicode escape"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        17: .line 2210
      StackMap locals:
      StackMap stack:
            aload 14 /* encUtf8 */
            ifnonnull 18
            getstatic org.jcodings.specific.UTF8Encoding.INSTANCE:Lorg/jcodings/specific/UTF8Encoding;
            astore 14 /* encUtf8 */
        18: .line 2211
      StackMap locals:
      StackMap stack:
            aload 5 /* penc */
            iconst_0
            aaload
            aload 14 /* encUtf8 */
            if_acmpeq 21
        19: .line 2212
            aload 5 /* penc */
            iconst_0
            aload 14 /* encUtf8 */
            aastore
        20: .line 2213
            aload 0 /* this */
            aload 14 /* encUtf8 */
            invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
        21: .line 2215
      StackMap locals:
      StackMap stack:
            aload 2 /* ssBytes */
            iload 8 /* s */
            baload
            bipush 123
            if_icmpne 42
        22: .line 2216
            iinc 8 /* s */ 1
        23: .line 2218
      StackMap locals:
      StackMap stack:
            iload 8 /* s */
            iload 4 /* s_end */
            if_icmplt 25
        24: .line 2219
            aload 1 /* runtime */
            ldc "unterminated Unicode escape"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        25: .line 2221
      StackMap locals:
      StackMap stack:
            aload 2 /* ssBytes */
            iload 8 /* s */
            baload
            bipush 125
            if_icmpne 28
        26: .line 2222
            iinc 8 /* s */ 1
        27: .line 2223
            goto 64
        28: .line 2225
      StackMap locals:
      StackMap stack:
            aload 2 /* ssBytes */
            iload 8 /* s */
            baload
            invokestatic java.lang.Character.isSpaceChar:(I)Z
            ifeq 31
        29: .line 2226
            iinc 8 /* s */ 1
        30: .line 2227
            goto 23
        31: .line 2229
      StackMap locals:
      StackMap stack:
            aload 2 /* ssBytes */
            iload 8 /* s */
            iload 4 /* s_end */
            iload 8 /* s */
            isub
            aload 12 /* hexlen */
            invokestatic org.jruby.RubyString.scanHex:([BII[I)J
            lstore 9 /* c */
        start local 9 // long c
        32: .line 2230
            aload 12 /* hexlen */
            iconst_0
            iaload
            ifeq 33
            aload 12 /* hexlen */
            iconst_0
            iaload
            bipush 6
            if_icmple 34
        33: .line 2231
      StackMap locals: org.jruby.RubyString org.jruby.Ruby byte[] int[] int org.jcodings.Encoding[] boolean[] boolean[] int long top int[] byte[] org.jcodings.Encoding
      StackMap stack:
            aload 1 /* runtime */
            ldc "invalid Unicode escape"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        34: .line 2233
      StackMap locals:
      StackMap stack:
            lload 9 /* c */
            ldc 1114111
            lcmp
            ifle 36
        35: .line 2234
            aload 1 /* runtime */
            ldc "invalid Unicode codepoint (too large)"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        36: .line 2236
      StackMap locals:
      StackMap stack:
            ldc 55296
            lload 9 /* c */
            lcmp
            ifgt 38
            lload 9 /* c */
            ldc 57343
            lcmp
            ifgt 38
        37: .line 2237
            aload 1 /* runtime */
            ldc "invalid Unicode codepoint"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        38: .line 2239
      StackMap locals:
      StackMap stack:
            lload 9 /* c */
            l2i
            aload 13 /* buf */
            iconst_0
            aload 5 /* penc */
            iconst_0
            aaload
            invokestatic org.jruby.util.io.EncodingUtils.encMbcput:(I[BILorg/jcodings/Encoding;)I
            istore 11 /* codelen */
        start local 11 // int codelen
        39: .line 2240
            aload 0 /* this */
            aload 13 /* buf */
            iconst_0
            iload 11 /* codelen */
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        40: .line 2241
            iload 8 /* s */
            aload 12 /* hexlen */
            iconst_0
            iaload
            iadd
            istore 8 /* s */
        end local 11 // int codelen
        end local 9 // long c
        41: .line 2217
            goto 23
        42: .line 2245
      StackMap locals: org.jruby.RubyString org.jruby.Ruby byte[] int[] int org.jcodings.Encoding[] boolean[] boolean[] int top top top int[] byte[] org.jcodings.Encoding
      StackMap stack:
            aload 2 /* ssBytes */
            iload 8 /* s */
            iconst_4
            aload 12 /* hexlen */
            invokestatic org.jruby.RubyString.scanHex:([BII[I)J
            lstore 9 /* c */
        start local 9 // long c
        43: .line 2246
            aload 12 /* hexlen */
            iconst_0
            iaload
            iconst_4
            if_icmpeq 45
        44: .line 2247
            aload 1 /* runtime */
            ldc "invalid Unicode escape"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        45: .line 2249
      StackMap locals: org.jruby.RubyString org.jruby.Ruby byte[] int[] int org.jcodings.Encoding[] boolean[] boolean[] int long top int[] byte[] org.jcodings.Encoding
      StackMap stack:
            ldc 55296
            lload 9 /* c */
            lcmp
            ifgt 47
            lload 9 /* c */
            ldc 57343
            lcmp
            ifgt 47
        46: .line 2250
            aload 1 /* runtime */
            ldc "invalid Unicode codepoint"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        47: .line 2252
      StackMap locals:
      StackMap stack:
            lload 9 /* c */
            l2i
            aload 13 /* buf */
            iconst_0
            aload 5 /* penc */
            iconst_0
            aaload
            invokestatic org.jruby.util.io.EncodingUtils.encMbcput:(I[BILorg/jcodings/Encoding;)I
            istore 11 /* codelen */
        start local 11 // int codelen
        48: .line 2253
            aload 0 /* this */
            aload 13 /* buf */
            iconst_0
            iload 11 /* codelen */
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        49: .line 2254
            iload 8 /* s */
            aload 12 /* hexlen */
            iconst_0
            iaload
            iadd
            istore 8 /* s */
        end local 11 // int codelen
        end local 9 // long c
        50: .line 2256
            goto 64
        51: .line 2258
      StackMap locals: org.jruby.RubyString org.jruby.Ruby byte[] int[] int org.jcodings.Encoding[] boolean[] boolean[] int top top top int[] byte[] org.jcodings.Encoding
      StackMap stack:
            aload 6 /* utf8 */
            iconst_0
            baload
            ifeq 53
        52: .line 2259
            aload 1 /* runtime */
            ldc "hex escape and Unicode escape are mixed"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        53: .line 2261
      StackMap locals:
      StackMap stack:
            aload 7 /* binary */
            iconst_0
            iconst_1
            bastore
        54: .line 2262
            iinc 8 /* s */ 1
            iload 8 /* s */
            iload 4 /* s_end */
            if_icmplt 56
        55: .line 2263
            aload 1 /* runtime */
            ldc "invalid hex escape"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        56: .line 2265
      StackMap locals:
      StackMap stack:
            aload 13 /* buf */
            iconst_0
            aload 2 /* ssBytes */
            iload 8 /* s */
            iconst_2
            aload 12 /* hexlen */
            invokestatic org.jruby.RubyString.scanHex:([BII[I)J
            l2i
            i2b
            bastore
        57: .line 2266
            aload 12 /* hexlen */
            iconst_0
            iaload
            iconst_2
            if_icmpeq 59
        58: .line 2267
            aload 1 /* runtime */
            ldc "invalid hex escape"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        59: .line 2269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 13 /* buf */
            iconst_0
            iconst_1
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        60: .line 2270
            iload 8 /* s */
            aload 12 /* hexlen */
            iconst_0
            iaload
            iadd
            istore 8 /* s */
        61: .line 2271
            goto 64
        62: .line 2273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ssBytes */
            iload 8 /* s */
            iconst_1
            isub
            iconst_2
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        63: .line 2274
            iinc 8 /* s */ 1
        64: .line 2277
      StackMap locals:
      StackMap stack:
            aload 3 /* ss */
            iconst_0
            iload 8 /* s */
            iastore
        65: .line 2278
            return
        end local 14 // org.jcodings.Encoding encUtf8
        end local 13 // byte[] buf
        end local 12 // int[] hexlen
        end local 8 // int s
        end local 7 // boolean[] binary
        end local 6 // boolean[] utf8
        end local 5 // org.jcodings.Encoding[] penc
        end local 4 // int s_end
        end local 3 // int[] ss
        end local 2 // byte[] ssBytes
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   66     0     this  Lorg/jruby/RubyString;
            0   66     1  runtime  Lorg/jruby/Ruby;
            0   66     2  ssBytes  [B
            0   66     3       ss  [I
            0   66     4    s_end  I
            0   66     5     penc  [Lorg/jcodings/Encoding;
            0   66     6     utf8  [Z
            0   66     7   binary  [Z
            1   66     8        s  I
           32   41     9        c  J
           43   50     9        c  J
           39   41    11  codelen  I
           48   50    11  codelen  I
            2   66    12   hexlen  [I
            3   66    13      buf  [B
            4   66    14  encUtf8  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      runtime  
      ssBytes  
      ss       
      s_end    
      penc     
      utf8     
      binary   

  private static long scanHex(byte[], int, int, int[]);
    descriptor: ([BII[I)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // byte[] bytes
        start local 1 // int start
        start local 2 // int len
        start local 3 // int[] retlen
         0: .line 2283
            iload 1 /* start */
            istore 4 /* s */
        start local 4 // int s
         1: .line 2284
            lconst_0
            lstore 5 /* retval */
        start local 5 // long retval
         2: .line 2287
            goto 6
        start local 7 // int tmp
         3: .line 2288
      StackMap locals: int long int
      StackMap stack:
            lload 5 /* retval */
            iconst_4
            lshl
            lstore 5 /* retval */
         4: .line 2289
            lload 5 /* retval */
            iload 7 /* tmp */
            bipush 15
            iand
            i2l
            lor
            lstore 5 /* retval */
         5: .line 2290
            iinc 4 /* s */ 1
        end local 7 // int tmp
         6: .line 2287
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            iinc 2 /* len */ -1
            ifle 8
            iload 4 /* s */
            aload 0 /* bytes */
            arraylength
            if_icmpge 8
            getstatic org.jruby.RubyString.hexdigit:[B
            iconst_0
            aload 0 /* bytes */
            iload 4 /* s */
            baload
            getstatic org.jruby.RubyString.hexdigit:[B
            arraylength
            invokestatic org.jruby.util.StringSupport.memchr:([BIII)I
            dup
            istore 7 /* tmp */
        start local 7 // int tmp
         7: iconst_m1
            if_icmpne 3
        end local 7 // int tmp
         8: .line 2292
      StackMap locals:
      StackMap stack:
            aload 3 /* retlen */
            iconst_0
            iload 4 /* s */
            iload 1 /* start */
            isub
            iastore
         9: .line 2293
            lload 5 /* retval */
            lreturn
        end local 5 // long retval
        end local 4 // int s
        end local 3 // int[] retlen
        end local 2 // int len
        end local 1 // int start
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0   bytes  [B
            0   10     1   start  I
            0   10     2     len  I
            0   10     3  retlen  [I
            1   10     4       s  I
            2   10     5  retval  J
            3    6     7     tmp  I
            7    8     7     tmp  I
    MethodParameters:
        Name  Flags
      bytes   
      start   
      len     
      retlen  

  private static byte unescapeAscii(byte);
    descriptor: (B)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // byte c
         0: .line 2297
            iload 0 /* c */
            lookupswitch { // 8
                   97: 7
                   98: 6
                  101: 8
                  102: 4
                  110: 1
                  114: 2
                  116: 3
                  118: 5
              default: 9
          }
         1: .line 2299
      StackMap locals:
      StackMap stack:
            bipush 10
            ireturn
         2: .line 2301
      StackMap locals:
      StackMap stack:
            bipush 13
            ireturn
         3: .line 2303
      StackMap locals:
      StackMap stack:
            bipush 9
            ireturn
         4: .line 2305
      StackMap locals:
      StackMap stack:
            bipush 12
            ireturn
         5: .line 2307
      StackMap locals:
      StackMap stack:
            bipush 11
            ireturn
         6: .line 2309
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
         7: .line 2311
      StackMap locals:
      StackMap stack:
            bipush 7
            ireturn
         8: .line 2313
      StackMap locals:
      StackMap stack:
            bipush 27
            ireturn
         9: .line 2316
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 0 // byte c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0     c  B
    MethodParameters:
      Name  Flags
      c     

  public org.jruby.runtime.builtin.IRubyObject insert(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject indexArg
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 2322
            aload 3 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 4 /* str */
        start local 4 // org.jruby.RubyString str
         1: .line 2323
            aload 2 /* indexArg */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 5 /* index */
        start local 5 // int index
         2: .line 2324
            iload 5 /* index */
            iconst_m1
            if_icmpne 5
         3: .line 2325
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         4: .line 2326
            aload 0 /* this */
            aload 4 /* str */
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            areturn
         5: .line 2328
      StackMap locals: org.jruby.RubyString int
      StackMap stack:
            iload 5 /* index */
            ifge 6
            iinc 5 /* index */ 1
         6: .line 2329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* index */
            iconst_0
            aload 4 /* str */
            invokevirtual org.jruby.RubyString.replaceInternal19:(IILorg/jruby/RubyString;)V
         7: .line 2330
            aload 0 /* this */
            areturn
        end local 5 // int index
        end local 4 // org.jruby.RubyString str
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg
        end local 2 // org.jruby.runtime.builtin.IRubyObject indexArg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/jruby/RubyString;
            0    8     1   context  Lorg/jruby/runtime/ThreadContext;
            0    8     2  indexArg  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     3       arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    8     4       str  Lorg/jruby/RubyString;
            2    8     5     index  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"insert"})
    MethodParameters:
          Name  Flags
      context   
      indexArg  
      arg       

  private int checkIndex(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // int beg
        start local 2 // int len
         0: .line 2334
            iload 1 /* beg */
            iload 2 /* len */
            if_icmple 1
            aload 0 /* this */
            iload 1 /* beg */
            invokevirtual org.jruby.RubyString.raiseIndexOutOfString:(I)V
         1: .line 2335
      StackMap locals:
      StackMap stack:
            iload 1 /* beg */
            ifge 4
         2: .line 2336
            iload 1 /* beg */
            ineg
            iload 2 /* len */
            if_icmple 3
            aload 0 /* this */
            iload 1 /* beg */
            invokevirtual org.jruby.RubyString.raiseIndexOutOfString:(I)V
         3: .line 2337
      StackMap locals:
      StackMap stack:
            iload 1 /* beg */
            iload 2 /* len */
            iadd
            istore 1 /* beg */
         4: .line 2339
      StackMap locals:
      StackMap stack:
            iload 1 /* beg */
            ireturn
        end local 2 // int len
        end local 1 // int beg
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyString;
            0    5     1   beg  I
            0    5     2   len  I
    MethodParameters:
      Name  Flags
      beg   
      len   

  private int checkIndexForRef(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // int beg
        start local 2 // int len
         0: .line 2343
            iload 1 /* beg */
            iload 2 /* len */
            if_icmplt 1
            aload 0 /* this */
            iload 1 /* beg */
            invokevirtual org.jruby.RubyString.raiseIndexOutOfString:(I)V
         1: .line 2344
      StackMap locals:
      StackMap stack:
            iload 1 /* beg */
            ifge 4
         2: .line 2345
            iload 1 /* beg */
            ineg
            iload 2 /* len */
            if_icmple 3
            aload 0 /* this */
            iload 1 /* beg */
            invokevirtual org.jruby.RubyString.raiseIndexOutOfString:(I)V
         3: .line 2346
      StackMap locals:
      StackMap stack:
            iload 1 /* beg */
            iload 2 /* len */
            iadd
            istore 1 /* beg */
         4: .line 2348
      StackMap locals:
      StackMap stack:
            iload 1 /* beg */
            ireturn
        end local 2 // int len
        end local 1 // int beg
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyString;
            0    5     1   beg  I
            0    5     2   len  I
    MethodParameters:
      Name  Flags
      beg   
      len   

  private int checkLength(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int len
         0: .line 2352
            iload 1 /* len */
            ifge 1
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "negative length "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 2353
      StackMap locals:
      StackMap stack:
            iload 1 /* len */
            ireturn
        end local 1 // int len
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;
            0    2     1   len  I
    MethodParameters:
      Name  Flags
      len   

  private void raiseIndexOutOfString(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int index
         0: .line 2357
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " out of string"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 1 // int index
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyString;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public org.jruby.RubyString inspect();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 2366
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.inspect:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"inspect"})

  final org.jruby.RubyString inspect(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
         0: .line 2370
            aload 1 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.inspect:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            checkcast org.jruby.RubyString
            areturn
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  final

  public org.jruby.runtime.builtin.IRubyObject inspect19();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 2375
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.inspect:()Lorg/jruby/RubyString;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static org.jruby.runtime.builtin.IRubyObject rbStrEscape(org.jruby.runtime.ThreadContext, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=15, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString str
         0: .line 2380
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 2382
            aload 1 /* str */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            astore 3 /* enc */
        start local 3 // org.jcodings.Encoding enc
         2: .line 2383
            aload 1 /* str */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 4 /* strBL */
        start local 4 // org.jruby.util.ByteList strBL
         3: .line 2384
            aload 4 /* strBL */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 5 /* pBytes */
        start local 5 // byte[] pBytes
         4: .line 2385
            aload 4 /* strBL */
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 6 /* p */
        start local 6 // int p
         5: .line 2386
            iload 6 /* p */
            aload 4 /* strBL */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            iadd
            istore 7 /* pend */
        start local 7 // int pend
         6: .line 2387
            iload 6 /* p */
            istore 8 /* prev */
        start local 8 // int prev
         7: .line 2388
            aload 2 /* runtime */
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 9 /* result */
        start local 9 // org.jruby.RubyString result
         8: .line 2389
            aload 3 /* enc */
            invokevirtual org.jcodings.Encoding.isUnicode:()Z
            istore 10 /* unicode_p */
        start local 10 // boolean unicode_p
         9: .line 2390
            aload 3 /* enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            istore 11 /* asciicompat */
        start local 11 // boolean asciicompat
        10: .line 2392
            goto 55
        11: .line 2394
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.Ruby org.jcodings.Encoding org.jruby.util.ByteList byte[] int int int org.jruby.RubyString int int
      StackMap stack:
            aload 3 /* enc */
            aload 5 /* pBytes */
            iload 6 /* p */
            iload 7 /* pend */
            invokevirtual org.jcodings.Encoding.length:([BII)I
            istore 14 /* n */
        start local 14 // int n
        12: .line 2395
            iload 14 /* n */
            invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
            ifne 23
        13: .line 2396
            iload 6 /* p */
            iload 8 /* prev */
            if_icmple 14
            aload 9 /* result */
            aload 5 /* pBytes */
            iload 8 /* prev */
            iload 6 /* p */
            iload 8 /* prev */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        14: .line 2397
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.Ruby org.jcodings.Encoding org.jruby.util.ByteList byte[] int int int org.jruby.RubyString int int top top int
      StackMap stack:
            aload 3 /* enc */
            invokevirtual org.jcodings.Encoding.minLength:()I
            istore 14 /* n */
        15: .line 2398
            iload 7 /* pend */
            iload 6 /* p */
            iload 14 /* n */
            iadd
            if_icmpge 21
        16: .line 2399
            iload 7 /* pend */
            iload 6 /* p */
            isub
            istore 14 /* n */
        17: .line 2400
            goto 21
        18: .line 2401
      StackMap locals:
      StackMap stack:
            aload 9 /* result */
            invokevirtual org.jruby.RubyString.modify:()V
        19: .line 2402
            aload 2 /* runtime */
            aload 9 /* result */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            ldc "\\x%02X"
            aload 5 /* pBytes */
            iload 6 /* p */
            baload
            sipush 255
            iand
            invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;I)Z
            pop
        20: .line 2403
            iinc 6 /* p */ 1
            iload 6 /* p */
            istore 8 /* prev */
        21: .line 2400
      StackMap locals:
      StackMap stack:
            iload 14 /* n */
            iinc 14 /* n */ -1
            ifgt 18
        22: .line 2405
            goto 55
        23: .line 2407
      StackMap locals:
      StackMap stack:
            iload 14 /* n */
            invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_LEN:(I)I
            istore 14 /* n */
        24: .line 2408
            aload 3 /* enc */
            aload 5 /* pBytes */
            iload 6 /* p */
            iload 7 /* pend */
            invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
            istore 12 /* c */
        start local 12 // int c
        25: .line 2409
            iload 6 /* p */
            iload 14 /* n */
            iadd
            istore 6 /* p */
        26: .line 2410
            iload 12 /* c */
            lookupswitch { // 8
                    7: 39
                    8: 37
                    9: 31
                   10: 27
                   11: 35
                   12: 33
                   13: 29
                   27: 41
              default: 43
          }
        27: .line 2411
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.Ruby org.jcodings.Encoding org.jruby.util.ByteList byte[] int int int org.jruby.RubyString int int int top int
      StackMap stack:
            bipush 110
            istore 13 /* cc */
        start local 13 // int cc
        28: goto 44
        end local 13 // int cc
        29: .line 2412
      StackMap locals:
      StackMap stack:
            bipush 114
            istore 13 /* cc */
        start local 13 // int cc
        30: goto 44
        end local 13 // int cc
        31: .line 2413
      StackMap locals:
      StackMap stack:
            bipush 116
            istore 13 /* cc */
        start local 13 // int cc
        32: goto 44
        end local 13 // int cc
        33: .line 2414
      StackMap locals:
      StackMap stack:
            bipush 102
            istore 13 /* cc */
        start local 13 // int cc
        34: goto 44
        end local 13 // int cc
        35: .line 2415
      StackMap locals:
      StackMap stack:
            bipush 118
            istore 13 /* cc */
        start local 13 // int cc
        36: goto 44
        end local 13 // int cc
        37: .line 2416
      StackMap locals:
      StackMap stack:
            bipush 98
            istore 13 /* cc */
        start local 13 // int cc
        38: goto 44
        end local 13 // int cc
        39: .line 2417
      StackMap locals:
      StackMap stack:
            bipush 97
            istore 13 /* cc */
        start local 13 // int cc
        40: goto 44
        end local 13 // int cc
        41: .line 2418
      StackMap locals:
      StackMap stack:
            bipush 101
            istore 13 /* cc */
        start local 13 // int cc
        42: goto 44
        end local 13 // int cc
        43: .line 2419
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* cc */
        start local 13 // int cc
        44: .line 2421
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.Ruby org.jcodings.Encoding org.jruby.util.ByteList byte[] int int int org.jruby.RubyString int int int int int
      StackMap stack:
            iload 13 /* cc */
            ifeq 50
        45: .line 2422
            iload 6 /* p */
            iload 14 /* n */
            isub
            iload 8 /* prev */
            if_icmple 46
            aload 9 /* result */
            aload 5 /* pBytes */
            iload 8 /* prev */
            iload 6 /* p */
            iload 14 /* n */
            isub
            iload 8 /* prev */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        46: .line 2423
      StackMap locals:
      StackMap stack:
            aload 9 /* result */
            bipush 92
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            pop
        47: .line 2424
            aload 9 /* result */
            iload 13 /* cc */
            i2b
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            pop
        48: .line 2425
            iload 6 /* p */
            istore 8 /* prev */
        49: .line 2426
            goto 55
        50: .line 2427
      StackMap locals:
      StackMap stack:
            iload 11 /* asciicompat */
            ifeq 51
            iload 12 /* c */
            invokestatic org.jcodings.Encoding.isAscii:(I)Z
            ifeq 51
            iload 12 /* c */
            bipush 127
            if_icmpge 51
            iload 12 /* c */
            bipush 31
            if_icmpgt 55
        51: .line 2430
      StackMap locals:
      StackMap stack:
            iload 6 /* p */
            iload 14 /* n */
            isub
            iload 8 /* prev */
            if_icmple 52
            aload 9 /* result */
            aload 5 /* pBytes */
            iload 8 /* prev */
            iload 6 /* p */
            iload 14 /* n */
            isub
            iload 8 /* prev */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        52: .line 2431
      StackMap locals:
      StackMap stack:
            aload 9 /* result */
            invokevirtual org.jruby.RubyString.modify:()V
        53: .line 2432
            aload 2 /* runtime */
            aload 9 /* result */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            iload 12 /* c */
            iload 10 /* unicode_p */
            invokestatic org.jruby.util.StringSupport.escapedCharFormat:(IZ)Ljava/lang/String;
            iload 12 /* c */
            i2l
            ldc 4294967295
            land
            invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;J)Z
            pop
        54: .line 2433
            iload 6 /* p */
            istore 8 /* prev */
        end local 14 // int n
        end local 13 // int cc
        end local 12 // int c
        55: .line 2392
      StackMap locals:
      StackMap stack:
            iload 6 /* p */
            iload 7 /* pend */
            if_icmplt 11
        56: .line 2436
            iload 6 /* p */
            iload 8 /* prev */
            if_icmple 57
            aload 9 /* result */
            aload 5 /* pBytes */
            iload 8 /* prev */
            iload 6 /* p */
            iload 8 /* prev */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        57: .line 2437
      StackMap locals:
      StackMap stack:
            aload 9 /* result */
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            bipush 16
            invokevirtual org.jruby.RubyString.setEncodingAndCodeRange:(Lorg/jcodings/Encoding;I)V
        58: .line 2439
            aload 9 /* result */
            aload 1 /* str */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        59: .line 2440
            aload 9 /* result */
            areturn
        end local 11 // boolean asciicompat
        end local 10 // boolean unicode_p
        end local 9 // org.jruby.RubyString result
        end local 8 // int prev
        end local 7 // int pend
        end local 6 // int p
        end local 5 // byte[] pBytes
        end local 4 // org.jruby.util.ByteList strBL
        end local 3 // org.jcodings.Encoding enc
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.RubyString str
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   60     0      context  Lorg/jruby/runtime/ThreadContext;
            0   60     1          str  Lorg/jruby/RubyString;
            1   60     2      runtime  Lorg/jruby/Ruby;
            2   60     3          enc  Lorg/jcodings/Encoding;
            3   60     4        strBL  Lorg/jruby/util/ByteList;
            4   60     5       pBytes  [B
            5   60     6            p  I
            6   60     7         pend  I
            7   60     8         prev  I
            8   60     9       result  Lorg/jruby/RubyString;
            9   60    10    unicode_p  Z
           10   60    11  asciicompat  Z
           25   55    12            c  I
           28   29    13           cc  I
           30   31    13           cc  I
           32   33    13           cc  I
           34   35    13           cc  I
           36   37    13           cc  I
           38   39    13           cc  I
           40   41    13           cc  I
           42   43    13           cc  I
           44   55    13           cc  I
           12   55    14            n  I
    MethodParameters:
         Name  Flags
      context  
      str      

  public static org.jruby.runtime.builtin.IRubyObject inspect19(org.jruby.Ruby, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList byteList
         0: .line 2445
            aload 0 /* runtime */
            aload 1 /* byteList */
            invokestatic org.jruby.RubyString.inspect:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.util.ByteList byteList
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   runtime  Lorg/jruby/Ruby;
            0    1     1  byteList  Lorg/jruby/util/ByteList;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      runtime   final
      byteList  

  public static org.jruby.RubyString inspect(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=8, locals=15, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList byteList
         0: .line 2449
            aload 1 /* byteList */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 2 /* enc */
        start local 2 // org.jcodings.Encoding enc
         1: .line 2450
            aload 1 /* byteList */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         2: .line 2451
            aload 1 /* byteList */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 4 /* p */
        start local 4 // int p
         3: .line 2452
            iload 4 /* p */
            aload 1 /* byteList */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 5 /* end */
        start local 5 // int end
         4: .line 2453
            new org.jruby.RubyString
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            new org.jruby.util.ByteList
            dup
            iload 5 /* end */
            iload 4 /* p */
            isub
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            astore 6 /* result */
        start local 6 // org.jruby.RubyString result
         5: .line 2454
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getDefaultInternalEncoding:()Lorg/jcodings/Encoding;
            astore 7 /* resultEnc */
        start local 7 // org.jcodings.Encoding resultEnc
         6: .line 2455
            aload 2 /* enc */
            invokevirtual org.jcodings.Encoding.isUnicode:()Z
            istore 8 /* isUnicode */
        start local 8 // boolean isUnicode
         7: .line 2456
            aload 2 /* enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            istore 9 /* asciiCompat */
        start local 9 // boolean asciiCompat
         8: .line 2459
            aload 7 /* resultEnc */
            ifnonnull 9
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getDefaultExternalEncoding:()Lorg/jcodings/Encoding;
            astore 7 /* resultEnc */
         9: .line 2460
      StackMap locals: org.jruby.Ruby org.jruby.util.ByteList org.jcodings.Encoding byte[] int int org.jruby.RubyString org.jcodings.Encoding int int
      StackMap stack:
            aload 7 /* resultEnc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifne 10
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            astore 7 /* resultEnc */
        10: .line 2461
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            aload 7 /* resultEnc */
            invokevirtual org.jruby.RubyString.associateEncoding:(Lorg/jcodings/Encoding;)V
        11: .line 2462
            aload 6 /* result */
            bipush 34
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            pop
        12: .line 2464
            iload 4 /* p */
            istore 10 /* prev */
        start local 10 // int prev
        13: .line 2465
            aload 2 /* enc */
            aload 1 /* byteList */
            invokestatic org.jruby.util.io.EncodingUtils.getActualEncoding:(Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
            astore 11 /* actEnc */
        start local 11 // org.jcodings.Encoding actEnc
        14: .line 2466
            aload 11 /* actEnc */
            aload 2 /* enc */
            if_acmpeq 67
        15: .line 2467
            aload 11 /* actEnc */
            astore 2 /* enc */
        16: .line 2468
            iload 8 /* isUnicode */
            ifeq 67
            aload 2 /* enc */
            instanceof org.jcodings.unicode.UnicodeEncoding
            istore 8 /* isUnicode */
        17: .line 2471
            goto 67
        18: .line 2472
      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 12 /* n */
        start local 12 // int n
        19: .line 2473
            iload 12 /* n */
            invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
            ifne 29
        20: .line 2474
            iload 4 /* p */
            iload 10 /* prev */
            if_icmple 21
            aload 6 /* result */
            aload 3 /* bytes */
            iload 10 /* prev */
            iload 4 /* p */
            iload 10 /* prev */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        21: .line 2475
      StackMap locals: int
      StackMap stack:
            aload 2 /* enc */
            invokevirtual org.jcodings.Encoding.minLength:()I
            istore 12 /* n */
        22: .line 2476
            iload 5 /* end */
            iload 4 /* p */
            iload 12 /* n */
            iadd
            if_icmpge 27
            iload 5 /* end */
            iload 4 /* p */
            isub
            istore 12 /* n */
        23: .line 2477
            goto 27
        24: .line 2478
      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
        25: .line 2479
            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
        26: .line 2480
            iinc 4 /* p */ 1
            iload 4 /* p */
            istore 10 /* prev */
        27: .line 2477
      StackMap locals:
      StackMap stack:
            iload 12 /* n */
            iinc 12 /* n */ -1
            ifgt 24
        28: .line 2482
            goto 67
        29: .line 2484
      StackMap locals:
      StackMap stack:
            iload 12 /* n */
            invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_LEN:(I)I
            istore 12 /* n */
        30: .line 2485
            aload 2 /* enc */
            aload 3 /* bytes */
            iload 4 /* p */
            iload 5 /* end */
            invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
            istore 13 /* c */
        start local 13 // int c
        31: iconst_0
            istore 14 /* cc */
        start local 14 // int cc
        32: .line 2487
            iload 4 /* p */
            iload 12 /* n */
            iadd
            istore 4 /* p */
        33: .line 2488
            iload 9 /* asciiCompat */
            ifne 34
            iload 8 /* isUnicode */
            ifeq 45
        34: .line 2489
      StackMap locals: int int
      StackMap stack:
            iload 13 /* c */
            bipush 34
            if_icmpeq 40
            iload 13 /* c */
            bipush 92
            if_icmpeq 40
        35: .line 2490
            iload 13 /* c */
            bipush 35
            if_icmpne 45
        36: .line 2491
            iload 4 /* p */
            iload 5 /* end */
            if_icmpge 45
        37: .line 2492
            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 45
        38: .line 2493
            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 14 /* cc */
            bipush 36
            if_icmpeq 40
        39: .line 2494
            iload 14 /* cc */
            bipush 64
            if_icmpeq 40
            iload 14 /* cc */
            bipush 123
            if_icmpne 45
        40: .line 2497
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 12 /* n */
            isub
            iload 10 /* prev */
            if_icmple 41
            aload 6 /* result */
            aload 3 /* bytes */
            iload 10 /* prev */
            iload 4 /* p */
            iload 12 /* n */
            isub
            iload 10 /* prev */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        41: .line 2498
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            bipush 92
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            pop
        42: .line 2499
            iload 9 /* asciiCompat */
            ifne 43
            aload 2 /* enc */
            aload 7 /* resultEnc */
            if_acmpne 45
        43: .line 2500
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 12 /* n */
            isub
            istore 10 /* prev */
        44: .line 2501
            goto 67
        45: .line 2505
      StackMap locals:
      StackMap stack:
            iload 13 /* c */
            lookupswitch { // 8
                    7: 52
                    8: 51
                    9: 48
                   10: 46
                   11: 50
                   12: 49
                   13: 47
                   27: 53
              default: 54
          }
        46: .line 2506
      StackMap locals:
      StackMap stack:
            bipush 110
            istore 14 /* cc */
            goto 55
        47: .line 2507
      StackMap locals:
      StackMap stack:
            bipush 114
            istore 14 /* cc */
            goto 55
        48: .line 2508
      StackMap locals:
      StackMap stack:
            bipush 116
            istore 14 /* cc */
            goto 55
        49: .line 2509
      StackMap locals:
      StackMap stack:
            bipush 102
            istore 14 /* cc */
            goto 55
        50: .line 2510
      StackMap locals:
      StackMap stack:
            bipush 118
            istore 14 /* cc */
            goto 55
        51: .line 2511
      StackMap locals:
      StackMap stack:
            bipush 98
            istore 14 /* cc */
            goto 55
        52: .line 2512
      StackMap locals:
      StackMap stack:
            bipush 97
            istore 14 /* cc */
            goto 55
        53: .line 2513
      StackMap locals:
      StackMap stack:
            bipush 101
            istore 14 /* cc */
            goto 55
        54: .line 2514
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 14 /* cc */
        55: .line 2517
      StackMap locals:
      StackMap stack:
            iload 14 /* cc */
            ifeq 61
        56: .line 2518
            iload 4 /* p */
            iload 12 /* n */
            isub
            iload 10 /* prev */
            if_icmple 57
            aload 6 /* result */
            aload 3 /* bytes */
            iload 10 /* prev */
            iload 4 /* p */
            iload 12 /* n */
            isub
            iload 10 /* prev */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        57: .line 2519
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            bipush 92
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            pop
        58: .line 2520
            aload 6 /* result */
            iload 14 /* cc */
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            pop
        59: .line 2521
            iload 4 /* p */
            istore 10 /* prev */
        60: .line 2522
            goto 67
        61: .line 2526
      StackMap locals:
      StackMap stack:
            aload 2 /* enc */
            aload 7 /* resultEnc */
            if_acmpne 62
            aload 2 /* enc */
            iload 13 /* c */
            invokevirtual org.jcodings.Encoding.isPrint:(I)Z
            ifne 67
      StackMap locals:
      StackMap stack:
        62: iload 9 /* asciiCompat */
            ifeq 64
            iload 13 /* c */
            sipush 128
            if_icmpge 64
            iload 13 /* c */
            ifle 64
            aload 2 /* enc */
            iload 13 /* c */
            invokevirtual org.jcodings.Encoding.isPrint:(I)Z
            ifeq 64
        63: .line 2527
            goto 67
        64: .line 2529
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 12 /* n */
            isub
            iload 10 /* prev */
            if_icmple 65
            aload 6 /* result */
            aload 3 /* bytes */
            iload 10 /* prev */
            iload 4 /* p */
            iload 12 /* n */
            isub
            iload 10 /* prev */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        65: .line 2530
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            aload 6 /* result */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            iload 13 /* c */
            iload 8 /* isUnicode */
            invokestatic org.jruby.util.StringSupport.escapedCharFormat:(IZ)Ljava/lang/String;
            iload 13 /* c */
            i2l
            ldc 4294967295
            land
            invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;J)Z
            pop
        66: .line 2531
            iload 4 /* p */
            istore 10 /* prev */
        end local 14 // int cc
        end local 13 // int c
        end local 12 // int n
        67: .line 2471
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 5 /* end */
            if_icmplt 18
        68: .line 2536
            iload 4 /* p */
            iload 10 /* prev */
            if_icmple 69
            aload 6 /* result */
            aload 3 /* bytes */
            iload 10 /* prev */
            iload 4 /* p */
            iload 10 /* prev */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        69: .line 2537
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            bipush 34
            invokevirtual org.jruby.RubyString.cat:(I)Lorg/jruby/RubyString;
            pop
        70: .line 2538
            aload 6 /* result */
            areturn
        end local 11 // org.jcodings.Encoding actEnc
        end local 10 // int prev
        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   71     0      runtime  Lorg/jruby/Ruby;
            0   71     1     byteList  Lorg/jruby/util/ByteList;
            1   71     2          enc  Lorg/jcodings/Encoding;
            2   71     3        bytes  [B
            3   71     4            p  I
            4   71     5          end  I
            5   71     6       result  Lorg/jruby/RubyString;
            6   71     7    resultEnc  Lorg/jcodings/Encoding;
            7   71     8    isUnicode  Z
            8   71     9  asciiCompat  Z
           13   71    10         prev  I
           14   71    11       actEnc  Lorg/jcodings/Encoding;
           19   67    12            n  I
           31   67    13            c  I
           32   67    14           cc  I
    MethodParameters:
          Name  Flags
      runtime   final
      byteList  

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 2542
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ireturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public org.jruby.RubyFixnum rubyLength(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyFixnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2548
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.rubyLength:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"length", "size"})
    MethodParameters:
         Name  Flags
      context  final

  private org.jruby.RubyFixnum rubyLength(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
         0: .line 2552
            aload 1 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.strLength:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  final

  public org.jruby.RubyFixnum length19();
    descriptor: ()Lorg/jruby/RubyFixnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 2557
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.strLength:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public org.jruby.RubyFixnum bytesize();
    descriptor: ()Lorg/jruby/RubyFixnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 2562
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"bytesize"})

  public int length();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 2570
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.strLength:()I
            ireturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public char charAt(int);
    descriptor: (I)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int offset
         0: .line 2575
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 2577
            iload 2 /* length */
            iconst_1
            if_icmpge 2
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 1 /* offset */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         2: .line 2579
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 3 /* enc */
        start local 3 // org.jcodings.Encoding enc
         3: .line 2580
            aload 0 /* this */
            aload 3 /* enc */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:(Lorg/jcodings/Encoding;)Z
            ifeq 7
         4: .line 2581
            iload 1 /* offset */
            iload 2 /* length */
            if_icmpge 5
            iload 1 /* offset */
            ifge 6
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
         5: new java.lang.StringIndexOutOfBoundsException
            dup
            iload 1 /* offset */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         6: .line 2582
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 1 /* offset */
            invokevirtual org.jruby.util.ByteList.get:(I)I
            i2c
            ireturn
         7: .line 2585
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* enc */
            iload 1 /* offset */
            iload 2 /* length */
            invokevirtual org.jruby.RubyString.multibyteCharAt:(Lorg/jcodings/Encoding;II)C
            ireturn
        end local 3 // org.jcodings.Encoding enc
        end local 2 // int length
        end local 1 // int offset
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/jruby/RubyString;
            0    8     1  offset  I
            1    8     2  length  I
            3    8     3     enc  Lorg/jcodings/Encoding;
    MethodParameters:
        Name  Flags
      offset  

  public java.lang.CharSequence subSequence(int, int);
    descriptor: (II)Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // int start
        start local 2 // int end
         0: .line 2590
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            iload 1 /* start */
            iload 2 /* end */
            iload 1 /* start */
            isub
            invokevirtual org.jruby.RubyString.substr19:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* subStr */
        start local 3 // org.jruby.runtime.builtin.IRubyObject subStr
         1: .line 2591
            aload 3 /* subStr */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 3
         2: .line 2592
            new java.lang.StringIndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "String index out of range: <"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* start */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* end */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 2594
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* subStr */
            checkcast org.jruby.RubyString
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject subStr
        end local 2 // int end
        end local 1 // int start
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/jruby/RubyString;
            0    4     1   start  I
            0    4     2     end  I
            1    4     3  subStr  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      start  
      end    

  private org.jruby.RubyEnumerator$SizeFn eachByteSizeFn();
    descriptor: ()Lorg/jruby/RubyEnumerator$SizeFn;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 2598
            aload 0 /* this */
            astore 1 /* self */
        start local 1 // org.jruby.RubyString self
         1: .line 2599
            new org.jruby.RubyString$2
            dup
            aload 0 /* this */
            aload 1 /* self */
            invokespecial org.jruby.RubyString$2.<init>:(Lorg/jruby/RubyString;Lorg/jruby/RubyString;)V
            areturn
        end local 1 // org.jruby.RubyString self
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;
            1    2     1  self  Lorg/jruby/RubyString;

  public org.jruby.RubyBoolean empty_p(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2612
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.isEmpty:()Z
            ifeq 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
      StackMap locals:
      StackMap stack: org.jruby.RubyBoolean
         2: areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"empty?"})
    MethodParameters:
         Name  Flags
      context  

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 2616
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;

  public org.jruby.RubyString append(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 2623
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 2625
            aload 1 /* other */
            instanceof org.jruby.RubyFixnum
            ifeq 4
         2: .line 2626
            aload 0 /* this */
            aload 1 /* other */
            checkcast org.jruby.RubyFixnum
            getfield org.jruby.RubyFixnum.value:J
            invokestatic org.jruby.util.ConvertBytes.longToByteList:(J)Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.RubyString.cat:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            pop
         3: .line 2627
            aload 0 /* this */
            areturn
         4: .line 2629
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 6
         5: .line 2630
            aload 0 /* this */
            aload 1 /* other */
            checkcast org.jruby.RubyFloat
            invokevirtual org.jruby.RubyFloat.to_s:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.cat:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            areturn
         6: .line 2632
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.jruby.RubySymbol
            ifeq 9
         7: .line 2633
            aload 0 /* this */
            aload 1 /* other */
            checkcast org.jruby.RubySymbol
            invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.RubyString.cat:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            pop
         8: .line 2634
            aload 0 /* this */
            areturn
         9: .line 2636
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 2 /* otherStr */
        start local 2 // org.jruby.RubyString otherStr
        10: .line 2637
            aload 0 /* this */
            aload 2 /* otherStr */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        11: .line 2638
            aload 0 /* this */
            aload 2 /* otherStr */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.RubyString.cat:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.RubyString otherStr
        end local 1 // org.jruby.runtime.builtin.IRubyObject other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/jruby/RubyString;
            0   12     1     other  Lorg/jruby/runtime/builtin/IRubyObject;
           10   12     2  otherStr  Lorg/jruby/RubyString;
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.RubyString append(org.jruby.RubyString);
    descriptor: (Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.RubyString other
         0: .line 2642
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 2643
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
         2: .line 2644
            aload 0 /* this */
            aload 1 /* other */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.RubyString.cat:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.RubyString other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/RubyString;
            0    3     1  other  Lorg/jruby/RubyString;
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.RubyString append19(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 2648
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 2650
            aload 1 /* other */
            instanceof org.jruby.RubyFixnum
            ifeq 4
         2: .line 2651
            aload 0 /* this */
            aload 1 /* other */
            checkcast org.jruby.RubyFixnum
            getfield org.jruby.RubyFixnum.value:J
            invokestatic org.jruby.util.ConvertBytes.longToByteList:(J)Lorg/jruby/util/ByteList;
            bipush 16
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/util/ByteList;I)I
            pop
         3: .line 2652
            aload 0 /* this */
            areturn
         4: .line 2653
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 6
         5: .line 2654
            aload 0 /* this */
            aload 1 /* other */
            checkcast org.jruby.RubyFloat
            invokevirtual org.jruby.RubyFloat.to_s:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            areturn
         6: .line 2655
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.jruby.RubySymbol
            ifeq 9
         7: .line 2656
            aload 0 /* this */
            aload 1 /* other */
            checkcast org.jruby.RubySymbol
            invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
            iconst_0
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/util/ByteList;I)I
            pop
         8: .line 2657
            aload 0 /* this */
            areturn
         9: .line 2659
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/jruby/RubyString;
            0   10     1  other  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      other  

  final org.jruby.RubyString append19(org.jruby.RubyString);
    descriptor: (Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.RubyString other
         0: .line 2664
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 2665
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.RubyString other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/RubyString;
            0    2     1  other  Lorg/jruby/RubyString;
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.RubyString concatSingle(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 2673
            aload 2 /* other */
            instanceof org.jruby.RubyString
            ifeq 2
         1: .line 2675
            aload 0 /* this */
            aload 2 /* other */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.append19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            areturn
         2: .line 2677
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFixnum
            ifeq 7
         3: .line 2678
            aload 2 /* other */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 3 /* c */
        start local 3 // long c
         4: .line 2679
            lload 3 /* c */
            lconst_0
            lcmp
            ifge 6
         5: .line 2680
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            lload 3 /* c */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " out of char range"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 2682
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            lload 3 /* c */
            ldc -1
            land
            l2i
            invokevirtual org.jruby.RubyString.concatNumeric:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyString;
            areturn
        end local 3 // long c
         7: .line 2684
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyBignum
            ifeq 12
         8: .line 2685
            aload 2 /* other */
            checkcast org.jruby.RubyBignum
            invokevirtual org.jruby.RubyBignum.getBigIntegerValue:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.signum:()I
            ifge 10
         9: .line 2686
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "negative string size (or size too big)"
            invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        10: .line 2688
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            checkcast org.jruby.RubyBignum
            invokevirtual org.jruby.RubyBignum.getLongValue:()J
            lstore 3 /* c */
        start local 3 // long c
        11: .line 2689
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            lload 3 /* c */
            l2i
            invokevirtual org.jruby.RubyString.concatNumeric:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyString;
            areturn
        end local 3 // long c
        12: .line 2691
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubyFloat
            ifeq 15
        13: .line 2692
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
        14: .line 2693
            aload 0 /* this */
            aload 2 /* other */
            checkcast org.jruby.RubyFloat
            invokevirtual org.jruby.RubyFloat.to_s:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            areturn
        15: .line 2695
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            instanceof org.jruby.RubySymbol
            ifeq 16
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "can't convert Symbol into String"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        16: .line 2697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.append19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lorg/jruby/RubyString;
            0   17     1  context  Lorg/jruby/runtime/ThreadContext;
            0   17     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
            4    7     3        c  J
           11   12     3        c  J
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"<<"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.RubyString concat(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2705
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* obj */
            invokevirtual org.jruby.RubyString.concatSingle:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"concat"})
    MethodParameters:
         Name  Flags
      context  
      obj      

  public org.jruby.RubyString concat(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] objs
         0: .line 2713
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 2715
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         2: .line 2717
            aload 2 /* objs */
            arraylength
            ifle 10
         3: .line 2718
            aload 3 /* runtime */
            aload 2 /* objs */
            arraylength
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;ILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            astore 4 /* tmp */
        start local 4 // org.jruby.RubyString tmp
         4: .line 2720
            aload 2 /* objs */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 8
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.RubyString top int int org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
         5: aload 8
            iload 6
            aaload
            astore 5 /* obj */
        start local 5 // org.jruby.runtime.builtin.IRubyObject obj
         6: .line 2721
            aload 4 /* tmp */
            aload 1 /* context */
            aload 5 /* obj */
            invokevirtual org.jruby.RubyString.concatSingle:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            pop
        end local 5 // org.jruby.runtime.builtin.IRubyObject obj
         7: .line 2720
            iinc 6 1
      StackMap locals:
      StackMap stack:
         8: iload 6
            iload 7
            if_icmplt 5
         9: .line 2724
            aload 0 /* this */
            aload 4 /* tmp */
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
        end local 4 // org.jruby.RubyString tmp
        10: .line 2727
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] objs
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyString;
            0   11     1  context  Lorg/jruby/runtime/ThreadContext;
            0   11     2     objs  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   11     3  runtime  Lorg/jruby/Ruby;
            4   10     4      tmp  Lorg/jruby/RubyString;
            6    7     5      obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"concat"}, rest = true)
    MethodParameters:
         Name  Flags
      context  
      objs     

  public org.jruby.RubyString concat(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 2731
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* other */
            invokevirtual org.jruby.RubyString.concat:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject other
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyString;
            0    1     1  other  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.RubyString concat19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 2736
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyString.concat:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      other    

  private org.jruby.RubyString concatNumeric(org.jruby.Ruby, int);
    descriptor: (Lorg/jruby/Ruby;I)Lorg/jruby/RubyString;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int c
         0: .line 2740
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 3 /* enc */
        start local 3 // org.jcodings.Encoding enc
         1: .line 2744
            aload 3 /* enc */
            iload 2 /* c */
            invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
            istore 4 /* cl */
        start local 4 // int cl
         2: .line 2746
            iload 4 /* cl */
            ifgt 4
         3: .line 2747
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            iload 2 /* c */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " out of char range or invalid code point"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 2750
      StackMap locals: org.jcodings.Encoding int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 4 /* cl */
            iadd
            invokevirtual org.jruby.RubyString.modify19:(I)V
         5: .line 2752
            aload 3 /* enc */
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            if_acmpne 10
         6: .line 2753
            iload 2 /* c */
            sipush 255
            if_icmple 7
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            iload 2 /* c */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " out of char range"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 2754
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            bipush 121
            if_icmple 10
         8: .line 2755
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
         9: .line 2756
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 3 /* enc */
        10: .line 2759
      StackMap locals:
      StackMap stack:
            aload 3 /* enc */
            iload 2 /* c */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            invokevirtual org.jcodings.Encoding.codeToMbc:(I[BI)I
            pop
        11: .line 2760
            goto 14
        end local 4 // int cl
      StackMap locals: org.jruby.RubyString org.jruby.Ruby int org.jcodings.Encoding
      StackMap stack: org.jcodings.exception.EncodingException
        12: pop
        13: .line 2761
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            iload 2 /* c */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " out of char range"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        start local 4 // int cl
        14: .line 2763
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 4 /* cl */
            iadd
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
        15: .line 2764
            aload 0 /* this */
            areturn
        end local 4 // int cl
        end local 3 // org.jcodings.Encoding enc
        end local 2 // int c
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/jruby/RubyString;
            0   16     1  runtime  Lorg/jruby/Ruby;
            0   16     2        c  I
            1   16     3      enc  Lorg/jcodings/Encoding;
            2   12     4       cl  I
           14   16     4       cl  I
      Exception table:
        from    to  target  type
           1    11      12  Class org.jcodings.exception.EncodingException
    MethodParameters:
         Name  Flags
      runtime  
      c        

  public org.jruby.runtime.builtin.IRubyObject prepend(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 2772
            aload 0 /* this */
            aload 2 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.op_plus19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyString.replace19:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject prepend(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] objs
         0: .line 2780
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 2782
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         2: .line 2784
            aload 2 /* objs */
            arraylength
            ifle 10
         3: .line 2785
            aload 3 /* runtime */
            aload 2 /* objs */
            arraylength
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;ILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            astore 4 /* tmp */
        start local 4 // org.jruby.RubyString tmp
         4: .line 2787
            aload 2 /* objs */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 8
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.RubyString top int int org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
         5: aload 8
            iload 6
            aaload
            astore 5 /* obj */
        start local 5 // org.jruby.runtime.builtin.IRubyObject obj
         6: .line 2788
            aload 4 /* tmp */
            aload 1 /* context */
            aload 5 /* obj */
            invokevirtual org.jruby.RubyString.concat:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            pop
        end local 5 // org.jruby.runtime.builtin.IRubyObject obj
         7: .line 2787
            iinc 6 1
      StackMap locals:
      StackMap stack:
         8: iload 6
            iload 7
            if_icmplt 5
         9: .line 2791
            aload 0 /* this */
            iconst_0
            iconst_0
            aload 4 /* tmp */
            invokevirtual org.jruby.RubyString.replaceInternal19:(IILorg/jruby/RubyString;)V
        end local 4 // org.jruby.RubyString tmp
        10: .line 2794
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] objs
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyString;
            0   11     1  context  Lorg/jruby/runtime/ThreadContext;
            0   11     2     objs  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   11     3  runtime  Lorg/jruby/Ruby;
            4   10     4      tmp  Lorg/jruby/RubyString;
            6    7     5      obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(rest = true)
    MethodParameters:
         Name  Flags
      context  
      objs     

  public final org.jruby.RubyString prepend(byte);
    descriptor: (B)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // byte ch
         0: .line 2798
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iconst_1
            iadd
            invokevirtual org.jruby.RubyString.modify:(I)V
         1: .line 2799
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 2 /* beg */
        start local 2 // int beg
         2: .line 2800
            iload 2 /* beg */
            ifle 6
         3: .line 2801
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 2 /* beg */
            iconst_1
            isub
            iload 1 /* ch */
            bastore
         4: .line 2802
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 2 /* beg */
            iconst_1
            isub
            invokevirtual org.jruby.util.ByteList.setBegin:(I)V
         5: .line 2803
            aload 0 /* this */
            areturn
         6: .line 2805
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 1 /* ch */
            invokevirtual org.jruby.util.ByteList.prepend:(B)V
         7: .line 2806
            aload 0 /* this */
            areturn
        end local 2 // int beg
        end local 1 // byte ch
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/jruby/RubyString;
            0    8     1    ch  B
            2    8     2   beg  I
    MethodParameters:
      Name  Flags
      ch    

  public final org.jruby.RubyString prepend(int);
    descriptor: (I)Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int ch
         0: .line 2810
            aload 0 /* this */
            iload 1 /* ch */
            i2b
            invokevirtual org.jruby.RubyString.prepend:(B)Lorg/jruby/RubyString;
            areturn
        end local 1 // int ch
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1    ch  I
    MethodParameters:
      Name  Flags
      ch    

  public org.jruby.RubyString crypt(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 2818
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
            invokevirtual org.jruby.runtime.encoding.EncodingService.getAscii8bitEncoding:()Lorg/jcodings/Encoding;
            astore 3 /* ascii8bit */
        start local 3 // org.jcodings.Encoding ascii8bit
         1: .line 2819
            aload 2 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 4 /* otherStr */
        start local 4 // org.jruby.RubyString otherStr
         2: .line 2820
            aload 4 /* otherStr */
            invokevirtual org.jruby.RubyString.modify:()V
         3: .line 2821
            aload 4 /* otherStr */
            aload 3 /* ascii8bit */
            invokevirtual org.jruby.RubyString.associateEncoding:(Lorg/jcodings/Encoding;)V
         4: .line 2822
            aload 4 /* otherStr */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 5 /* otherBL */
        start local 5 // org.jruby.util.ByteList otherBL
         5: .line 2823
            aload 5 /* otherBL */
            invokevirtual org.jruby.util.ByteList.length:()I
            iconst_2
            if_icmpge 7
         6: .line 2824
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "salt too short (need >=2 bytes)"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 2827
      StackMap locals: org.jcodings.Encoding org.jruby.RubyString org.jruby.util.ByteList
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getPosix:()Ljnr/posix/POSIX;
            astore 6 /* posix */
        start local 6 // jnr.posix.POSIX posix
         8: .line 2828
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.realSize:()I
            iadd
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            astore 7 /* keyBytes */
        start local 7 // byte[] keyBytes
         9: .line 2829
            aload 5 /* otherBL */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            aload 5 /* otherBL */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 5 /* otherBL */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 5 /* otherBL */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            iadd
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            astore 8 /* saltBytes */
        start local 8 // byte[] saltBytes
        10: .line 2830
            aload 8 /* saltBytes */
            iconst_0
            baload
            ifeq 11
            aload 8 /* saltBytes */
            iconst_1
            baload
            ifne 12
        11: .line 2831
      StackMap locals: jnr.posix.POSIX byte[] byte[]
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "salt too short (need >=2 bytes)"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        12: .line 2833
      StackMap locals:
      StackMap stack:
            aload 6 /* posix */
            aload 7 /* keyBytes */
            aload 8 /* saltBytes */
            invokeinterface jnr.posix.POSIX.crypt:([B[B)[B
            astore 9 /* cryptedString */
        start local 9 // byte[] cryptedString
        13: .line 2836
            aload 9 /* cryptedString */
            ifnonnull 14
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 6 /* posix */
            invokeinterface jnr.posix.POSIX.errno:()I
            invokevirtual org.jruby.Ruby.newErrnoFromInt:(I)Lorg/jruby/exceptions/RaiseException;
            athrow
        14: .line 2838
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 9 /* cryptedString */
            iconst_0
            aload 9 /* cryptedString */
            arraylength
            iconst_1
            isub
            invokestatic org.jruby.RubyString.newStringNoCopy:(Lorg/jruby/Ruby;[BII)Lorg/jruby/RubyString;
            astore 10 /* result */
        start local 10 // org.jruby.RubyString result
        15: .line 2839
            aload 10 /* result */
            aload 3 /* ascii8bit */
            invokevirtual org.jruby.RubyString.associateEncoding:(Lorg/jcodings/Encoding;)V
        16: .line 2840
            aload 10 /* result */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        17: .line 2841
            aload 10 /* result */
            aload 4 /* otherStr */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        18: .line 2842
            aload 10 /* result */
            areturn
        end local 10 // org.jruby.RubyString result
        end local 9 // byte[] cryptedString
        end local 8 // byte[] saltBytes
        end local 7 // byte[] keyBytes
        end local 6 // jnr.posix.POSIX posix
        end local 5 // org.jruby.util.ByteList otherBL
        end local 4 // org.jruby.RubyString otherStr
        end local 3 // org.jcodings.Encoding ascii8bit
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lorg/jruby/RubyString;
            0   19     1        context  Lorg/jruby/runtime/ThreadContext;
            0   19     2          other  Lorg/jruby/runtime/builtin/IRubyObject;
            1   19     3      ascii8bit  Lorg/jcodings/Encoding;
            2   19     4       otherStr  Lorg/jruby/RubyString;
            5   19     5        otherBL  Lorg/jruby/util/ByteList;
            8   19     6          posix  Ljnr/posix/POSIX;
            9   19     7       keyBytes  [B
           10   19     8      saltBytes  [B
           13   19     9  cryptedString  [B
           15   19    10         result  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"crypt"})
    MethodParameters:
         Name  Flags
      context  
      other    

  public static org.jruby.RubyString stringValue(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject object
         0: .line 2847
            aload 0 /* object */
            instanceof org.jruby.RubyString
            ifeq 1
            aload 0 /* object */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* object */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: checkcast org.jruby.RubyString
            areturn
        end local 0 // org.jruby.runtime.builtin.IRubyObject object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  object  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
        Name  Flags
      object  

  public org.jruby.runtime.builtin.IRubyObject sub19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.Block block
         0: .line 2852
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* block */
            invokevirtual org.jruby.RubyString.sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      block    

  public org.jruby.runtime.builtin.IRubyObject sub19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block block
         0: .line 2857
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 4 /* block */
            invokevirtual org.jruby.RubyString.sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      block    

  public org.jruby.runtime.builtin.IRubyObject sub_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.Block block
         0: .line 2862
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* block */
            invokevirtual org.jruby.RubyString.sub_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      block    

  public org.jruby.runtime.builtin.IRubyObject sub_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block block
         0: .line 2867
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 4 /* block */
            invokevirtual org.jruby.RubyString.sub_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      block    

  public org.jruby.runtime.builtin.IRubyObject sub(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.Block block
         0: .line 2876
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 4 /* str */
        start local 4 // org.jruby.RubyString str
         1: .line 2877
            aload 4 /* str */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* block */
            invokevirtual org.jruby.RubyString.sub_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 2878
            aload 4 /* str */
            areturn
        end local 4 // org.jruby.RubyString str
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3    block  Lorg/jruby/runtime/Block;
            1    3     4      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"sub"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      block    

  public org.jruby.runtime.builtin.IRubyObject sub(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block block
         0: .line 2883
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 5 /* str */
        start local 5 // org.jruby.RubyString str
         1: .line 2884
            aload 5 /* str */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 4 /* block */
            invokevirtual org.jruby.RubyString.sub_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 2885
            aload 5 /* str */
            areturn
        end local 5 // org.jruby.RubyString str
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     4    block  Lorg/jruby/runtime/Block;
            1    3     5      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"sub"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      block    

  public org.jruby.runtime.builtin.IRubyObject sub_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.Block block
         0: .line 2890
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 2891
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.frozenCheck:()V
         2: .line 2893
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 3
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* runtime */
            aload 2 /* arg0 */
            invokestatic org.jruby.RubyString.asRegexpArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRegexp;
            aconst_null
            aload 3 /* block */
            invokevirtual org.jruby.RubyString.subBangIter:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/RubyHash;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 2894
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 4 /* runtime */
            iconst_1
            iconst_2
            invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyString;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     3    block  Lorg/jruby/runtime/Block;
            1    4     4  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"sub!"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      block    

  public org.jruby.runtime.builtin.IRubyObject sub_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block block
         0: .line 2899
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 2900
            aload 1 /* context */
            aload 3 /* arg1 */
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            getfield org.jruby.runtime.JavaSites$StringSites.to_hash_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            invokestatic org.jruby.util.TypeConverter.convertToTypeWithCheck:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Lorg/jruby/runtime/JavaSites$CheckedSites;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* hash */
        start local 6 // org.jruby.runtime.builtin.IRubyObject hash
         2: .line 2901
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.frozenCheck:()V
         3: .line 2903
            aload 6 /* hash */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 5
         4: .line 2904
            aload 0 /* this */
            aload 1 /* context */
            aload 5 /* runtime */
            aload 2 /* arg0 */
            invokestatic org.jruby.RubyString.asRegexpArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRegexp;
            aload 3 /* arg1 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.subBangNoIter:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/RubyString;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 2906
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 5 /* runtime */
            aload 2 /* arg0 */
            invokestatic org.jruby.RubyString.asRegexpArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRegexp;
            aload 6 /* hash */
            checkcast org.jruby.RubyHash
            aload 4 /* block */
            invokevirtual org.jruby.RubyString.subBangIter:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/RubyHash;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject hash
        end local 5 // org.jruby.Ruby runtime
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyString;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     4    block  Lorg/jruby/runtime/Block;
            1    6     5  runtime  Lorg/jruby/Ruby;
            2    6     6     hash  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"sub!"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      block    

  private static org.jruby.RubyRegexp asRegexpArg(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRegexp;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 2910
            aload 1 /* arg0 */
            instanceof org.jruby.RubyRegexp
            ifeq 1
            aload 1 /* arg0 */
            checkcast org.jruby.RubyRegexp
            goto 2
         1: .line 2911
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            aload 0 /* runtime */
            aload 1 /* arg0 */
            invokestatic org.jruby.RubyString.getStringForPattern:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            iconst_0
            invokestatic org.jruby.RubyRegexp.quote:(Lorg/jruby/util/ByteList;Z)Lorg/jruby/util/ByteList;
            new org.jruby.util.RegexpOptions
            dup
            invokespecial org.jruby.util.RegexpOptions.<init>:()V
            invokestatic org.jruby.RubyRegexp.newRegexp:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpOptions;)Lorg/jruby/RubyRegexp;
         2: .line 2910
      StackMap locals:
      StackMap stack: org.jruby.RubyRegexp
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  final
      arg0     final

  private org.jruby.runtime.builtin.IRubyObject subBangIter(org.jruby.runtime.ThreadContext, org.jruby.RubyRegexp, org.jruby.RubyHash, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/RubyHash;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=19, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyRegexp regexp
        start local 3 // org.jruby.RubyHash hash
        start local 4 // org.jruby.runtime.Block block
         0: .line 2915
            aload 2 /* regexp */
            invokevirtual org.jruby.RubyRegexp.getPattern:()Lorg/joni/Regex;
            astore 5 /* pattern */
        start local 5 // org.joni.Regex pattern
         1: .line 2916
            aload 2 /* regexp */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRegexp.preparePattern:(Lorg/jruby/RubyString;)Lorg/joni/Regex;
            astore 6 /* prepared */
        start local 6 // org.joni.Regex prepared
         2: .line 2918
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 7 /* begin */
        start local 7 // int begin
         3: .line 2919
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 8 /* len */
        start local 8 // int len
         4: .line 2920
            iload 7 /* begin */
            iload 8 /* len */
            iadd
            istore 9 /* range */
        start local 9 // int range
         5: .line 2921
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 10 /* bytes */
        start local 10 // byte[] bytes
         6: .line 2922
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 11 /* enc */
        start local 11 // org.jcodings.Encoding enc
         7: .line 2923
            aload 6 /* prepared */
            aload 10 /* bytes */
            iload 7 /* begin */
            iload 9 /* range */
            invokevirtual org.joni.Regex.matcher:([BII)Lorg/joni/Matcher;
            astore 12 /* matcher */
        start local 12 // org.joni.Matcher matcher
         8: .line 2925
            aload 1 /* context */
            aload 12 /* matcher */
            iload 7 /* begin */
            iload 9 /* range */
            iconst_0
            invokestatic org.jruby.RubyRegexp.matcherSearch:(Lorg/jruby/runtime/ThreadContext;Lorg/joni/Matcher;III)I
            iflt 23
         9: .line 2926
            aload 1 /* context */
            aload 0 /* this */
            aload 12 /* matcher */
            aload 5 /* pattern */
            invokestatic org.jruby.RubyRegexp.createMatchData:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/joni/Matcher;Lorg/joni/Regex;)Lorg/jruby/RubyMatchData;
            astore 13 /* match */
        start local 13 // org.jruby.RubyMatchData match
        10: .line 2927
            aload 13 /* match */
            aload 2 /* regexp */
            putfield org.jruby.RubyMatchData.regexp:Lorg/jruby/RubyRegexp;
        11: .line 2928
            aload 1 /* context */
            aload 13 /* match */
            invokevirtual org.jruby.runtime.ThreadContext.setBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        12: .line 2930
            aload 12 /* matcher */
            invokevirtual org.joni.Matcher.getBegin:()I
            istore 14 /* mBeg */
        start local 14 // int mBeg
        13: aload 12 /* matcher */
            invokevirtual org.joni.Matcher.getEnd:()I
            istore 15 /* mEnd */
        start local 15 // int mEnd
        14: .line 2933
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 14 /* mBeg */
            iload 15 /* mEnd */
            iload 14 /* mBeg */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            astore 18 /* subStr */
        start local 18 // org.jruby.runtime.builtin.IRubyObject subStr
        15: .line 2934
            aload 3 /* hash */
            ifnonnull 19
        16: .line 2935
            iconst_0
            istore 17 /* tuFlags */
        start local 17 // int tuFlags
        17: .line 2936
            aload 1 /* context */
            aload 4 /* block */
            aload 1 /* context */
            aload 18 /* subStr */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyString.objAsString:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 16 /* repl */
        start local 16 // org.jruby.RubyString repl
        18: .line 2937
            goto 21
        end local 17 // int tuFlags
        end local 16 // org.jruby.RubyString repl
        19: .line 2938
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyRegexp org.jruby.RubyHash org.jruby.runtime.Block org.joni.Regex org.joni.Regex int int int byte[] org.jcodings.Encoding org.joni.Matcher org.jruby.RubyMatchData int int top top org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* hash */
            getfield org.jruby.RubyHash.flags:I
            istore 17 /* tuFlags */
        start local 17 // int tuFlags
        20: .line 2939
            aload 1 /* context */
            aload 3 /* hash */
            aload 1 /* context */
            aload 18 /* subStr */
            invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyString.objAsString:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 16 /* repl */
        start local 16 // org.jruby.RubyString repl
        21: .line 2942
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyRegexp org.jruby.RubyHash org.jruby.runtime.Block org.joni.Regex org.joni.Regex int int int byte[] org.jcodings.Encoding org.joni.Matcher org.jruby.RubyMatchData int int org.jruby.RubyString int org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 10 /* bytes */
            iload 8 /* len */
            aload 11 /* enc */
            invokevirtual org.jruby.RubyString.modifyCheck:([BILorg/jcodings/Encoding;)V
        22: .line 2944
            aload 0 /* this */
            aload 1 /* context */
            iload 14 /* mBeg */
            iload 15 /* mEnd */
            aload 16 /* repl */
            iload 17 /* tuFlags */
            aload 16 /* repl */
            getfield org.jruby.RubyString.flags:I
            ior
            invokevirtual org.jruby.RubyString.subBangCommon:(Lorg/jruby/runtime/ThreadContext;IILorg/jruby/RubyString;I)Lorg/jruby/RubyString;
            areturn
        end local 18 // org.jruby.runtime.builtin.IRubyObject subStr
        end local 17 // int tuFlags
        end local 16 // org.jruby.RubyString repl
        end local 15 // int mEnd
        end local 14 // int mBeg
        end local 13 // org.jruby.RubyMatchData match
        23: .line 2946
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyRegexp org.jruby.RubyHash org.jruby.runtime.Block org.joni.Regex org.joni.Regex int int int byte[] org.jcodings.Encoding org.joni.Matcher
      StackMap stack:
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.ThreadContext.setBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 12 // org.joni.Matcher matcher
        end local 11 // org.jcodings.Encoding enc
        end local 10 // byte[] bytes
        end local 9 // int range
        end local 8 // int len
        end local 7 // int begin
        end local 6 // org.joni.Regex prepared
        end local 5 // org.joni.Regex pattern
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.RubyHash hash
        end local 2 // org.jruby.RubyRegexp regexp
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lorg/jruby/RubyString;
            0   24     1   context  Lorg/jruby/runtime/ThreadContext;
            0   24     2    regexp  Lorg/jruby/RubyRegexp;
            0   24     3      hash  Lorg/jruby/RubyHash;
            0   24     4     block  Lorg/jruby/runtime/Block;
            1   24     5   pattern  Lorg/joni/Regex;
            2   24     6  prepared  Lorg/joni/Regex;
            3   24     7     begin  I
            4   24     8       len  I
            5   24     9     range  I
            6   24    10     bytes  [B
            7   24    11       enc  Lorg/jcodings/Encoding;
            8   24    12   matcher  Lorg/joni/Matcher;
           10   23    13     match  Lorg/jruby/RubyMatchData;
           13   23    14      mBeg  I
           14   23    15      mEnd  I
           18   19    16      repl  Lorg/jruby/RubyString;
           21   23    16      repl  Lorg/jruby/RubyString;
           17   19    17   tuFlags  I
           20   23    17   tuFlags  I
           15   23    18    subStr  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      regexp   
      hash     
      block    

  private org.jruby.runtime.builtin.IRubyObject subBangNoIter(org.jruby.runtime.ThreadContext, org.jruby.RubyRegexp, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/RubyString;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyRegexp regexp
        start local 3 // org.jruby.RubyString repl
         0: .line 2950
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* regexp */
            aload 3 /* repl */
            invokevirtual org.jruby.RubyString.subBangMatch:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/RubyString;)Lorg/jruby/RubyMatchData;
            astore 4 /* match */
        start local 4 // org.jruby.RubyMatchData match
         1: .line 2951
            aload 4 /* match */
            ifnull 5
         2: .line 2952
            aload 1 /* context */
            aload 3 /* repl */
            aload 0 /* this */
            aload 2 /* regexp */
            getfield org.jruby.RubyRegexp.pattern:Lorg/joni/Regex;
            aload 4 /* match */
            getfield org.jruby.RubyMatchData.regs:Lorg/joni/Region;
            aload 4 /* match */
            getfield org.jruby.RubyMatchData.begin:I
            aload 4 /* match */
            getfield org.jruby.RubyMatchData.end:I
            invokestatic org.jruby.RubyRegexp.regsub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/RubyString;Lorg/joni/Regex;Lorg/joni/Region;II)Lorg/jruby/RubyString;
            astore 3 /* repl */
         3: .line 2953
            aload 1 /* context */
            aload 4 /* match */
            invokevirtual org.jruby.runtime.ThreadContext.setBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         4: .line 2955
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* match */
            getfield org.jruby.RubyMatchData.begin:I
            aload 4 /* match */
            getfield org.jruby.RubyMatchData.end:I
            aload 3 /* repl */
            aload 3 /* repl */
            getfield org.jruby.RubyString.flags:I
            invokevirtual org.jruby.RubyString.subBangCommon:(Lorg/jruby/runtime/ThreadContext;IILorg/jruby/RubyString;I)Lorg/jruby/RubyString;
            areturn
         5: .line 2957
      StackMap locals: org.jruby.RubyMatchData
      StackMap stack:
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.ThreadContext.setBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.RubyMatchData match
        end local 3 // org.jruby.RubyString repl
        end local 2 // org.jruby.RubyRegexp regexp
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyString;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2   regexp  Lorg/jruby/RubyRegexp;
            0    6     3     repl  Lorg/jruby/RubyString;
            1    6     4    match  Lorg/jruby/RubyMatchData;
    MethodParameters:
         Name  Flags
      context  
      regexp   
      repl     

  public final org.jruby.runtime.builtin.IRubyObject subBangFast(org.jruby.runtime.ThreadContext, org.jruby.RubyRegexp, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/RubyString;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyRegexp regexp
        start local 3 // org.jruby.RubyString repl
         0: .line 2969
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* regexp */
            aload 3 /* repl */
            invokevirtual org.jruby.RubyString.subBangMatch:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/RubyString;)Lorg/jruby/RubyMatchData;
            astore 4 /* match */
        start local 4 // org.jruby.RubyMatchData match
         1: .line 2970
            aload 4 /* match */
            ifnull 5
         2: .line 2971
            aload 1 /* context */
            aload 3 /* repl */
            aload 0 /* this */
            aload 2 /* regexp */
            getfield org.jruby.RubyRegexp.pattern:Lorg/joni/Regex;
            aload 4 /* match */
            getfield org.jruby.RubyMatchData.regs:Lorg/joni/Region;
            aload 4 /* match */
            getfield org.jruby.RubyMatchData.begin:I
            aload 4 /* match */
            getfield org.jruby.RubyMatchData.end:I
            invokestatic org.jruby.RubyRegexp.regsub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/RubyString;Lorg/joni/Regex;Lorg/joni/Region;II)Lorg/jruby/RubyString;
            astore 3 /* repl */
         3: .line 2972
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* match */
            getfield org.jruby.RubyMatchData.begin:I
            aload 4 /* match */
            getfield org.jruby.RubyMatchData.end:I
            aload 3 /* repl */
            aload 3 /* repl */
            getfield org.jruby.RubyString.flags:I
            invokevirtual org.jruby.RubyString.subBangCommon:(Lorg/jruby/runtime/ThreadContext;IILorg/jruby/RubyString;I)Lorg/jruby/RubyString;
            pop
         4: .line 2973
            aload 4 /* match */
            areturn
         5: .line 2975
      StackMap locals: org.jruby.RubyMatchData
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.RubyMatchData match
        end local 3 // org.jruby.RubyString repl
        end local 2 // org.jruby.RubyRegexp regexp
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyString;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2   regexp  Lorg/jruby/RubyRegexp;
            0    6     3     repl  Lorg/jruby/RubyString;
            1    6     4    match  Lorg/jruby/RubyMatchData;
    MethodParameters:
         Name  Flags
      context  
      regexp   
      repl     

  private org.jruby.RubyMatchData subBangMatch(org.jruby.runtime.ThreadContext, org.jruby.RubyRegexp, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/RubyString;)Lorg/jruby/RubyMatchData;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyRegexp regexp
        start local 3 // org.jruby.RubyString repl
         0: .line 2979
            aload 2 /* regexp */
            invokevirtual org.jruby.RubyRegexp.getPattern:()Lorg/joni/Regex;
            astore 4 /* pattern */
        start local 4 // org.joni.Regex pattern
         1: .line 2980
            aload 2 /* regexp */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRegexp.preparePattern:(Lorg/jruby/RubyString;)Lorg/joni/Regex;
            astore 5 /* prepared */
        start local 5 // org.joni.Regex prepared
         2: .line 2982
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 6 /* begin */
        start local 6 // int begin
         3: .line 2983
            iload 6 /* begin */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 7 /* range */
        start local 7 // int range
         4: .line 2984
            aload 5 /* prepared */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 6 /* begin */
            iload 7 /* range */
            invokevirtual org.joni.Regex.matcher:([BII)Lorg/joni/Matcher;
            astore 8 /* matcher */
        start local 8 // org.joni.Matcher matcher
         5: .line 2986
            aload 1 /* context */
            aload 8 /* matcher */
            iload 6 /* begin */
            iload 7 /* range */
            iconst_0
            invokestatic org.jruby.RubyRegexp.matcherSearch:(Lorg/jruby/runtime/ThreadContext;Lorg/joni/Matcher;III)I
            iflt 9
         6: .line 2987
            aload 1 /* context */
            aload 0 /* this */
            aload 8 /* matcher */
            aload 4 /* pattern */
            invokestatic org.jruby.RubyRegexp.createMatchData:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/joni/Matcher;Lorg/joni/Regex;)Lorg/jruby/RubyMatchData;
            astore 9 /* match */
        start local 9 // org.jruby.RubyMatchData match
         7: .line 2988
            aload 9 /* match */
            aload 2 /* regexp */
            putfield org.jruby.RubyMatchData.regexp:Lorg/jruby/RubyRegexp;
         8: .line 2989
            aload 9 /* match */
            areturn
        end local 9 // org.jruby.RubyMatchData match
         9: .line 2991
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyRegexp org.jruby.RubyString org.joni.Regex org.joni.Regex int int org.joni.Matcher
      StackMap stack:
            aconst_null
            areturn
        end local 8 // org.joni.Matcher matcher
        end local 7 // int range
        end local 6 // int begin
        end local 5 // org.joni.Regex prepared
        end local 4 // org.joni.Regex pattern
        end local 3 // org.jruby.RubyString repl
        end local 2 // org.jruby.RubyRegexp regexp
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/jruby/RubyString;
            0   10     1   context  Lorg/jruby/runtime/ThreadContext;
            0   10     2    regexp  Lorg/jruby/RubyRegexp;
            0   10     3      repl  Lorg/jruby/RubyString;
            1   10     4   pattern  Lorg/joni/Regex;
            2   10     5  prepared  Lorg/joni/Regex;
            3   10     6     begin  I
            4   10     7     range  I
            5   10     8   matcher  Lorg/joni/Matcher;
            7    9     9     match  Lorg/jruby/RubyMatchData;
    MethodParameters:
         Name  Flags
      context  
      regexp   
      repl     

  private org.jruby.RubyString subBangCommon(org.jruby.runtime.ThreadContext, int, int, org.jruby.RubyString, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;IILorg/jruby/RubyString;I)Lorg/jruby/RubyString;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=15, args_size=6
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // int beg
        start local 3 // int end
        start local 4 // org.jruby.RubyString repl
        start local 5 // int tuFlags
         0: .line 2997
            aload 0 /* this */
            aload 4 /* repl */
            invokestatic org.jruby.util.StringSupport.areCompatible:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;)Lorg/jcodings/Encoding;
            astore 6 /* enc */
        start local 6 // org.jcodings.Encoding enc
         1: .line 2998
            aload 6 /* enc */
            ifnonnull 2
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* repl */
            iload 2 /* beg */
            iload 3 /* end */
            invokevirtual org.jruby.RubyString.subBangVerifyEncoding:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;II)Lorg/jcodings/Encoding;
            astore 6 /* enc */
         2: .line 3000
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            aload 4 /* repl */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 7 /* replValue */
        start local 7 // org.jruby.util.ByteList replValue
         3: .line 3001
            aload 7 /* replValue */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 8 /* replSize */
        start local 8 // int replSize
         4: .line 3002
            iload 3 /* end */
            iload 2 /* beg */
            isub
            istore 9 /* plen */
        start local 9 // int plen
         5: .line 3004
            iload 8 /* replSize */
            iload 9 /* plen */
            if_icmple 8
         6: .line 3005
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 8 /* replSize */
            iadd
            iload 9 /* plen */
            isub
            invokevirtual org.jruby.RubyString.modifyExpand:(I)V
         7: .line 3006
            goto 9
         8: .line 3007
      StackMap locals: org.jruby.util.ByteList int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modify19:()V
         9: .line 3010
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 10 /* value */
        start local 10 // org.jruby.util.ByteList value
        10: .line 3011
            aload 10 /* value */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 11 /* size */
        start local 11 // int size
        11: .line 3013
            aload 0 /* this */
            aload 6 /* enc */
            invokevirtual org.jruby.RubyString.associateEncoding:(Lorg/jcodings/Encoding;)V
        12: .line 3015
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            istore 12 /* cr */
        start local 12 // int cr
        13: .line 3016
            iload 12 /* cr */
            ifle 19
            iload 12 /* cr */
            bipush 48
            if_icmpge 19
        14: .line 3017
            aload 4 /* repl */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            istore 13 /* cr2 */
        start local 13 // int cr2
        15: .line 3018
            iload 13 /* cr2 */
            bipush 48
            if_icmpeq 16
            iload 12 /* cr */
            bipush 32
            if_icmpne 18
            iload 13 /* cr2 */
            bipush 16
            if_icmpne 18
        16: .line 3019
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext int int org.jruby.RubyString int org.jcodings.Encoding org.jruby.util.ByteList int int org.jruby.util.ByteList int int int
      StackMap stack:
            iconst_0
            istore 12 /* cr */
        17: .line 3020
            goto 19
        18: .line 3021
      StackMap locals:
      StackMap stack:
            iload 13 /* cr2 */
            istore 12 /* cr */
        end local 13 // int cr2
        19: .line 3025
      StackMap locals:
      StackMap stack:
            iload 8 /* replSize */
            iload 9 /* plen */
            if_icmpeq 23
        20: .line 3026
            aload 10 /* value */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            iload 2 /* beg */
            iadd
            iload 9 /* plen */
            iadd
            istore 13 /* src */
        start local 13 // int src
        21: .line 3027
            aload 10 /* value */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            iload 2 /* beg */
            iadd
            iload 8 /* replSize */
            iadd
            istore 14 /* dst */
        start local 14 // int dst
        22: .line 3028
            aload 10 /* value */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 13 /* src */
            aload 10 /* value */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 14 /* dst */
            iload 11 /* size */
            iload 2 /* beg */
            isub
            iload 9 /* plen */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 14 // int dst
        end local 13 // int src
        23: .line 3030
      StackMap locals:
      StackMap stack:
            aload 7 /* replValue */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 7 /* replValue */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 10 /* value */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 10 /* value */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            iload 2 /* beg */
            iadd
            iload 8 /* replSize */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        24: .line 3031
            aload 10 /* value */
            iload 11 /* size */
            iload 8 /* replSize */
            iadd
            iload 9 /* plen */
            isub
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
        25: .line 3032
            aload 0 /* this */
            iload 12 /* cr */
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
        26: .line 3033
            aload 0 /* this */
            iload 5 /* tuFlags */
            invokevirtual org.jruby.RubyString.infectBy:(I)Lorg/jruby/RubyBasicObject;
            checkcast org.jruby.RubyString
            areturn
        end local 12 // int cr
        end local 11 // int size
        end local 10 // org.jruby.util.ByteList value
        end local 9 // int plen
        end local 8 // int replSize
        end local 7 // org.jruby.util.ByteList replValue
        end local 6 // org.jcodings.Encoding enc
        end local 5 // int tuFlags
        end local 4 // org.jruby.RubyString repl
        end local 3 // int end
        end local 2 // int beg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       this  Lorg/jruby/RubyString;
            0   27     1    context  Lorg/jruby/runtime/ThreadContext;
            0   27     2        beg  I
            0   27     3        end  I
            0   27     4       repl  Lorg/jruby/RubyString;
            0   27     5    tuFlags  I
            1   27     6        enc  Lorg/jcodings/Encoding;
            3   27     7  replValue  Lorg/jruby/util/ByteList;
            4   27     8   replSize  I
            5   27     9       plen  I
           10   27    10      value  Lorg/jruby/util/ByteList;
           11   27    11       size  I
           13   27    12         cr  I
           15   19    13        cr2  I
           21   23    13        src  I
           22   23    14        dst  I
    MethodParameters:
         Name  Flags
      context  
      beg      final
      end      final
      repl     final
      tuFlags  

  private org.jcodings.Encoding subBangVerifyEncoding(org.jruby.runtime.ThreadContext, org.jruby.RubyString, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;II)Lorg/jcodings/Encoding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyString repl
        start local 3 // int beg
        start local 4 // int end
         0: .line 3037
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 5 /* value */
        start local 5 // org.jruby.util.ByteList value
         1: .line 3038
            aload 5 /* value */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 6 /* bytes */
        start local 6 // byte[] bytes
         2: .line 3039
            aload 5 /* value */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 7 /* p */
        start local 7 // int p
         3: .line 3040
            aload 5 /* value */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 8 /* len */
        start local 8 // int len
         4: .line 3041
            aload 5 /* value */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 9 /* strEnc */
        start local 9 // org.jcodings.Encoding strEnc
         5: .line 3042
            aload 9 /* strEnc */
            aload 6 /* bytes */
            iload 7 /* p */
            iload 3 /* beg */
            invokestatic org.jruby.util.StringSupport.codeRangeScan:(Lorg/jcodings/Encoding;[BII)I
            bipush 16
            if_icmpne 7
         6: .line 3043
            aload 9 /* strEnc */
            aload 6 /* bytes */
            iload 7 /* p */
            iload 4 /* end */
            iadd
            iload 8 /* len */
            iload 4 /* end */
            isub
            invokestatic org.jruby.util.StringSupport.codeRangeScan:(Lorg/jcodings/Encoding;[BII)I
            bipush 16
            if_icmpeq 10
         7: .line 3044
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyString int int org.jruby.util.ByteList byte[] int int org.jcodings.Encoding
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
         8: .line 3045
            new java.lang.StringBuilder
            dup
            ldc "incompatible character encodings "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* strEnc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* repl */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 3044
            invokevirtual org.jruby.Ruby.newEncodingCompatibilityError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        10: .line 3047
      StackMap locals:
      StackMap stack:
            aload 2 /* repl */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            areturn
        end local 9 // org.jcodings.Encoding strEnc
        end local 8 // int len
        end local 7 // int p
        end local 6 // byte[] bytes
        end local 5 // org.jruby.util.ByteList value
        end local 4 // int end
        end local 3 // int beg
        end local 2 // org.jruby.RubyString repl
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyString;
            0   11     1  context  Lorg/jruby/runtime/ThreadContext;
            0   11     2     repl  Lorg/jruby/RubyString;
            0   11     3      beg  I
            0   11     4      end  I
            1   11     5    value  Lorg/jruby/util/ByteList;
            2   11     6    bytes  [B
            3   11     7        p  I
            4   11     8      len  I
            5   11     9   strEnc  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      context  
      repl     final
      beg      final
      end      final

  public org.jruby.runtime.builtin.IRubyObject gsub19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.Block block
         0: .line 3052
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* block */
            invokevirtual org.jruby.RubyString.gsub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      block    

  public org.jruby.runtime.builtin.IRubyObject gsub19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block block
         0: .line 3057
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 4 /* block */
            invokevirtual org.jruby.RubyString.gsub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      block    

  public org.jruby.runtime.builtin.IRubyObject gsub_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.Block block
         0: .line 3062
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* block */
            invokevirtual org.jruby.RubyString.gsub_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      block    

  public org.jruby.runtime.builtin.IRubyObject gsub_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block block
         0: .line 3067
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 4 /* block */
            invokevirtual org.jruby.RubyString.gsub_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      block    

  public org.jruby.runtime.builtin.IRubyObject gsub(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.Block block
         0: .line 3072
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            ldc "gsub"
            aload 2 /* arg0 */
            invokestatic org.jruby.RubyEnumerator.enumeratorize:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 3074
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* block */
            aconst_null
            aconst_null
            aload 2 /* arg0 */
            iconst_0
            iconst_0
            invokevirtual org.jruby.RubyString.gsubCommon19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyString;Lorg/jruby/RubyHash;Lorg/jruby/runtime/builtin/IRubyObject;ZI)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyString;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"gsub"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      block    

  public org.jruby.runtime.builtin.IRubyObject gsub(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block block
         0: .line 3080
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 4 /* block */
            iconst_0
            invokevirtual org.jruby.RubyString.gsubImpl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"gsub"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      block    

  public org.jruby.runtime.builtin.IRubyObject gsub_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.Block block
         0: .line 3085
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.checkFrozen:()V
         1: .line 3087
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            ldc "gsub!"
            aload 2 /* arg0 */
            invokestatic org.jruby.RubyEnumerator.enumeratorize:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 3089
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* block */
            aconst_null
            aconst_null
            aload 2 /* arg0 */
            iconst_1
            iconst_0
            invokevirtual org.jruby.RubyString.gsubCommon19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyString;Lorg/jruby/RubyHash;Lorg/jruby/runtime/builtin/IRubyObject;ZI)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"gsub!"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      block    

  public org.jruby.runtime.builtin.IRubyObject gsub_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block block
         0: .line 3094
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.checkFrozen:()V
         1: .line 3096
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 4 /* block */
            iconst_1
            invokevirtual org.jruby.RubyString.gsubImpl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyString;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     4    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"gsub!"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      block    

  private org.jruby.runtime.builtin.IRubyObject gsubImpl(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=10, args_size=6
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block block
        start local 5 // boolean bang
         0: .line 3100
            aload 1 /* context */
            aload 3 /* arg1 */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getHash:()Lorg/jruby/RubyClass;
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            getfield org.jruby.runtime.JavaSites$StringSites.to_hash_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            invokestatic org.jruby.util.TypeConverter.convertToTypeWithCheck:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Lorg/jruby/runtime/JavaSites$CheckedSites;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* tryHash */
        start local 6 // org.jruby.runtime.builtin.IRubyObject tryHash
         1: .line 3105
            aload 6 /* tryHash */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 6
         2: .line 3106
            aconst_null
            astore 7 /* hash */
        start local 7 // org.jruby.RubyHash hash
         3: .line 3107
            aload 3 /* arg1 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 8 /* str */
        start local 8 // org.jruby.RubyString str
         4: .line 3108
            aload 8 /* str */
            getfield org.jruby.RubyString.flags:I
            istore 9 /* tuFlags */
        start local 9 // int tuFlags
         5: .line 3109
            goto 9
        end local 9 // int tuFlags
        end local 8 // org.jruby.RubyString str
        end local 7 // org.jruby.RubyHash hash
         6: .line 3110
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 6 /* tryHash */
            checkcast org.jruby.RubyHash
            astore 7 /* hash */
        start local 7 // org.jruby.RubyHash hash
         7: .line 3111
            aconst_null
            astore 8 /* str */
        start local 8 // org.jruby.RubyString str
         8: .line 3112
            aload 7 /* hash */
            getfield org.jruby.RubyHash.flags:I
            getstatic org.jruby.RubyString.TAINTED_F:I
            iand
            istore 9 /* tuFlags */
        start local 9 // int tuFlags
         9: .line 3115
      StackMap locals: org.jruby.RubyHash org.jruby.RubyString int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* block */
            aload 8 /* str */
            aload 7 /* hash */
            aload 2 /* arg0 */
            iload 5 /* bang */
            iload 9 /* tuFlags */
            invokevirtual org.jruby.RubyString.gsubCommon19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyString;Lorg/jruby/RubyHash;Lorg/jruby/runtime/builtin/IRubyObject;ZI)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 9 // int tuFlags
        end local 8 // org.jruby.RubyString str
        end local 7 // org.jruby.RubyHash hash
        end local 6 // org.jruby.runtime.builtin.IRubyObject tryHash
        end local 5 // boolean bang
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyString;
            0   10     1  context  Lorg/jruby/runtime/ThreadContext;
            0   10     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0   10     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0   10     4    block  Lorg/jruby/runtime/Block;
            0   10     5     bang  Z
            1   10     6  tryHash  Lorg/jruby/runtime/builtin/IRubyObject;
            3    6     7     hash  Lorg/jruby/RubyHash;
            7   10     7     hash  Lorg/jruby/RubyHash;
            4    6     8      str  Lorg/jruby/RubyString;
            8   10     8      str  Lorg/jruby/RubyString;
            5    6     9  tuFlags  I
            9   10     9  tuFlags  I
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      block    
      bang     final

  public org.jruby.RubyString gsubFast(org.jruby.runtime.ThreadContext, org.jruby.RubyRegexp, org.jruby.RubyString, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/RubyString;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyRegexp regexp
        start local 3 // org.jruby.RubyString repl
        start local 4 // org.jruby.runtime.Block block
         0: .line 3119
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* block */
            aload 3 /* repl */
            aconst_null
            aload 2 /* regexp */
            iconst_0
            aload 3 /* repl */
            getfield org.jruby.RubyString.flags:I
            iconst_0
            invokevirtual org.jruby.RubyString.gsubCommon19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyString;Lorg/jruby/RubyHash;Lorg/jruby/RubyRegexp;ZIZ)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.RubyString repl
        end local 2 // org.jruby.RubyRegexp regexp
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2   regexp  Lorg/jruby/RubyRegexp;
            0    1     3     repl  Lorg/jruby/RubyString;
            0    1     4    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      regexp   
      repl     
      block    

  private org.jruby.runtime.builtin.IRubyObject gsubCommon19(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyString, org.jruby.RubyHash, org.jruby.runtime.builtin.IRubyObject, boolean, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyString;Lorg/jruby/RubyHash;Lorg/jruby/runtime/builtin/IRubyObject;ZI)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=8, args_size=8
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
        start local 3 // org.jruby.RubyString repl
        start local 4 // org.jruby.RubyHash hash
        start local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 6 // boolean bang
        start local 7 // int tuFlags
         0: .line 3124
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            aload 3 /* repl */
            aload 4 /* hash */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 5 /* arg0 */
            invokestatic org.jruby.RubyString.asRegexpArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRegexp;
            iload 6 /* bang */
            iload 7 /* tuFlags */
            iconst_1
            invokevirtual org.jruby.RubyString.gsubCommon19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyString;Lorg/jruby/RubyHash;Lorg/jruby/RubyRegexp;ZIZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // int tuFlags
        end local 6 // boolean bang
        end local 5 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 4 // org.jruby.RubyHash hash
        end local 3 // org.jruby.RubyString repl
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
            0    1     3     repl  Lorg/jruby/RubyString;
            0    1     4     hash  Lorg/jruby/RubyHash;
            0    1     5     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     6     bang  Z
            0    1     7  tuFlags  I
    MethodParameters:
         Name  Flags
      context  
      block    
      repl     
      hash     
      arg0     
      bang     final
      tuFlags  

  private org.jruby.runtime.builtin.IRubyObject gsubCommon19(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyString, org.jruby.RubyHash, org.jruby.RubyRegexp, boolean, int, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyString;Lorg/jruby/RubyHash;Lorg/jruby/RubyRegexp;ZIZ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=26, args_size=9
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
        start local 3 // org.jruby.RubyString repl
        start local 4 // org.jruby.RubyHash hash
        start local 5 // org.jruby.RubyRegexp regexp
        start local 6 // boolean bang
        start local 7 // int tuFlags
        start local 8 // boolean useBackref
         0: .line 3130
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 9 /* runtime */
        start local 9 // org.jruby.Ruby runtime
         1: .line 3131
            aload 5 /* regexp */
            invokevirtual org.jruby.RubyRegexp.getPattern:()Lorg/joni/Regex;
            astore 10 /* pattern */
        start local 10 // org.joni.Regex pattern
         2: .line 3132
            aload 5 /* regexp */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRegexp.preparePattern:(Lorg/jruby/RubyString;)Lorg/joni/Regex;
            astore 11 /* prepared */
        start local 11 // org.joni.Regex prepared
         3: .line 3134
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 12 /* spBytes */
        start local 12 // byte[] spBytes
         4: .line 3135
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 13 /* spBeg */
        start local 13 // int spBeg
         5: .line 3136
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 14 /* spLen */
        start local 14 // int spLen
         6: .line 3138
            aload 11 /* prepared */
            aload 12 /* spBytes */
            iload 13 /* spBeg */
            iload 13 /* spBeg */
            iload 14 /* spLen */
            iadd
            invokevirtual org.joni.Regex.matcher:([BII)Lorg/joni/Matcher;
            astore 15 /* matcher */
        start local 15 // org.joni.Matcher matcher
         7: .line 3140
            aload 1 /* context */
            aload 15 /* matcher */
            iload 13 /* spBeg */
            iload 13 /* spBeg */
            iload 14 /* spLen */
            iadd
            iconst_0
            invokestatic org.jruby.RubyRegexp.matcherSearch:(Lorg/jruby/runtime/ThreadContext;Lorg/joni/Matcher;III)I
            istore 16 /* beg */
        start local 16 // int beg
         8: .line 3141
            iload 16 /* beg */
            ifge 13
         9: .line 3142
            iload 8 /* useBackref */
            ifeq 10
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.ThreadContext.setBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        10: .line 3143
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyString org.jruby.RubyHash org.jruby.RubyRegexp int int int org.jruby.Ruby org.joni.Regex org.joni.Regex byte[] int int org.joni.Matcher int
      StackMap stack:
            iload 6 /* bang */
            ifeq 11
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 0 /* this */
            aload 9 /* runtime */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        12: areturn
        13: .line 3146
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 17 /* offset */
        start local 17 // int offset
        14: iload 13 /* spBeg */
            istore 18 /* cp */
        start local 18 // int cp
        15: .line 3147
            new org.jruby.RubyString
            dup
            aload 9 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            new org.jruby.util.ByteList
            dup
            iload 14 /* spLen */
            bipush 30
            iadd
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            astore 19 /* dest */
        start local 19 // org.jruby.RubyString dest
        16: .line 3148
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 20 /* str_enc */
        start local 20 // org.jcodings.Encoding str_enc
        17: .line 3149
            aload 19 /* dest */
            aload 20 /* str_enc */
            invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
        18: .line 3150
            aload 19 /* dest */
            aload 20 /* str_enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifeq 19
            bipush 16
            goto 20
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyString org.jruby.RubyHash org.jruby.RubyRegexp int int int org.jruby.Ruby org.joni.Regex org.joni.Regex byte[] int int org.joni.Matcher int int int org.jruby.RubyString org.jcodings.Encoding
      StackMap stack: org.jruby.RubyString
        19: bipush 32
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyString org.jruby.RubyHash org.jruby.RubyRegexp int int int org.jruby.Ruby org.joni.Regex org.joni.Regex byte[] int int org.joni.Matcher int int int org.jruby.RubyString org.jcodings.Encoding
      StackMap stack: org.jruby.RubyString int
        20: invokevirtual org.jruby.RubyString.setCodeRange:(I)V
        21: .line 3152
            aconst_null
            astore 21 /* match */
        start local 21 // org.jruby.RubyMatchData match
        22: .line 3156
      StackMap locals: org.jruby.RubyMatchData
      StackMap stack:
            aload 15 /* matcher */
            invokevirtual org.joni.Matcher.getBegin:()I
            istore 23 /* begz */
        start local 23 // int begz
        23: .line 3157
            aload 15 /* matcher */
            invokevirtual org.joni.Matcher.getEnd:()I
            istore 24 /* endz */
        start local 24 // int endz
        24: .line 3159
            aload 3 /* repl */
            ifnull 27
        25: .line 3160
            aload 1 /* context */
            aload 3 /* repl */
            aload 0 /* this */
            aload 10 /* pattern */
            aload 15 /* matcher */
            invokestatic org.jruby.RubyRegexp.regsub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/RubyString;Lorg/joni/Regex;Lorg/joni/Matcher;)Lorg/jruby/RubyString;
            astore 22 /* val */
        start local 22 // org.jruby.RubyString val
        26: .line 3161
            goto 37
        end local 22 // org.jruby.RubyString val
        27: .line 3162
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyString org.jruby.RubyHash org.jruby.RubyRegexp int int int org.jruby.Ruby org.joni.Regex org.joni.Regex byte[] int int org.joni.Matcher int int int org.jruby.RubyString org.jcodings.Encoding org.jruby.RubyMatchData top int int
      StackMap stack:
            aload 0 /* this */
            aload 9 /* runtime */
            iload 23 /* begz */
            iload 24 /* endz */
            iload 23 /* begz */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            astore 25 /* substr */
        start local 25 // org.jruby.RubyString substr
        28: .line 3163
            aload 4 /* hash */
            ifnull 31
        29: .line 3164
            aload 1 /* context */
            aload 4 /* hash */
            aload 1 /* context */
            aload 25 /* substr */
            invokevirtual org.jruby.RubyHash.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyString.objAsString:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 22 /* val */
        start local 22 // org.jruby.RubyString val
        30: .line 3165
            goto 35
        end local 22 // org.jruby.RubyString val
        31: .line 3166
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            aload 15 /* matcher */
            aload 10 /* pattern */
            invokestatic org.jruby.RubyRegexp.createMatchData:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/joni/Matcher;Lorg/joni/Regex;)Lorg/jruby/RubyMatchData;
            astore 21 /* match */
        32: .line 3167
            aload 21 /* match */
            aload 5 /* regexp */
            putfield org.jruby.RubyMatchData.regexp:Lorg/jruby/RubyRegexp;
        33: .line 3168
            iload 8 /* useBackref */
            ifeq 34
            aload 1 /* context */
            aload 21 /* match */
            invokevirtual org.jruby.runtime.ThreadContext.setBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        34: .line 3169
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 2 /* block */
            aload 1 /* context */
            aload 25 /* substr */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyString.objAsString:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 22 /* val */
        start local 22 // org.jruby.RubyString val
        35: .line 3171
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyString org.jruby.RubyHash org.jruby.RubyRegexp int int int org.jruby.Ruby org.joni.Regex org.joni.Regex byte[] int int org.joni.Matcher int int int org.jruby.RubyString org.jcodings.Encoding org.jruby.RubyMatchData org.jruby.RubyString int int org.jruby.RubyString
      StackMap stack:
            aload 0 /* this */
            aload 12 /* spBytes */
            iload 14 /* spLen */
            aload 20 /* str_enc */
            invokevirtual org.jruby.RubyString.modifyCheck:([BILorg/jcodings/Encoding;)V
        36: .line 3172
            iload 6 /* bang */
            ifeq 37
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.frozenCheck:()V
        end local 25 // org.jruby.RubyString substr
        37: .line 3175
      StackMap locals:
      StackMap stack:
            iload 7 /* tuFlags */
            aload 22 /* val */
            getfield org.jruby.RubyString.flags:I
            ior
            istore 7 /* tuFlags */
        38: .line 3177
            iload 23 /* begz */
            iload 17 /* offset */
            isub
            istore 25 /* len */
        start local 25 // int len
        39: .line 3178
            iload 25 /* len */
            ifeq 40
            aload 19 /* dest */
            aload 12 /* spBytes */
            iload 18 /* cp */
            iload 25 /* len */
            aload 20 /* str_enc */
            invokevirtual org.jruby.RubyString.cat:([BIILorg/jcodings/Encoding;)I
            pop
        40: .line 3179
      StackMap locals: int
      StackMap stack:
            aload 19 /* dest */
            aload 22 /* val */
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
        41: .line 3180
            iload 24 /* endz */
            istore 17 /* offset */
        42: .line 3181
            iload 23 /* begz */
            iload 24 /* endz */
            if_icmpne 47
        43: .line 3182
            iload 14 /* spLen */
            iload 24 /* endz */
            if_icmpgt 44
            goto 52
        44: .line 3183
      StackMap locals:
      StackMap stack:
            aload 12 /* spBytes */
            iload 13 /* spBeg */
            iload 24 /* endz */
            iadd
            iload 13 /* spBeg */
            iload 14 /* spLen */
            iadd
            aload 20 /* str_enc */
            invokestatic org.jruby.util.StringSupport.encFastMBCLen:([BIILorg/jcodings/Encoding;)I
            istore 25 /* len */
        45: .line 3184
            aload 19 /* dest */
            aload 12 /* spBytes */
            iload 13 /* spBeg */
            iload 24 /* endz */
            iadd
            iload 25 /* len */
            aload 20 /* str_enc */
            invokevirtual org.jruby.RubyString.cat:([BIILorg/jcodings/Encoding;)I
            pop
        46: .line 3185
            iload 24 /* endz */
            iload 25 /* len */
            iadd
            istore 17 /* offset */
        47: .line 3187
      StackMap locals:
      StackMap stack:
            iload 13 /* spBeg */
            iload 17 /* offset */
            iadd
            istore 18 /* cp */
        48: .line 3188
            iload 17 /* offset */
            iload 14 /* spLen */
            if_icmple 49
            goto 52
        49: .line 3189
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 15 /* matcher */
            iload 18 /* cp */
            iload 13 /* spBeg */
            iload 14 /* spLen */
            iadd
            iconst_0
            invokestatic org.jruby.RubyRegexp.matcherSearch:(Lorg/jruby/runtime/ThreadContext;Lorg/joni/Matcher;III)I
            istore 16 /* beg */
        end local 25 // int len
        end local 24 // int endz
        end local 23 // int begz
        end local 22 // org.jruby.RubyString val
        50: .line 3190
            iload 16 /* beg */
        51: .line 3153
            ifge 22
        52: .line 3192
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyString org.jruby.RubyHash org.jruby.RubyRegexp int int int org.jruby.Ruby org.joni.Regex org.joni.Regex byte[] int int org.joni.Matcher int int int org.jruby.RubyString org.jcodings.Encoding org.jruby.RubyMatchData
      StackMap stack:
            iload 14 /* spLen */
            iload 17 /* offset */
            if_icmple 53
            aload 19 /* dest */
            aload 12 /* spBytes */
            iload 18 /* cp */
            iload 14 /* spLen */
            iload 17 /* offset */
            isub
            aload 20 /* str_enc */
            invokevirtual org.jruby.RubyString.cat:([BIILorg/jcodings/Encoding;)I
            pop
        53: .line 3194
      StackMap locals:
      StackMap stack:
            aload 21 /* match */
            ifnull 56
        54: .line 3195
            iload 8 /* useBackref */
            ifeq 59
            aload 1 /* context */
            aload 21 /* match */
            invokevirtual org.jruby.runtime.ThreadContext.setBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        55: .line 3196
            goto 59
        56: .line 3197
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            aload 15 /* matcher */
            aload 10 /* pattern */
            invokestatic org.jruby.RubyRegexp.createMatchData:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/joni/Matcher;Lorg/joni/Regex;)Lorg/jruby/RubyMatchData;
            astore 21 /* match */
        57: .line 3198
            aload 21 /* match */
            aload 5 /* regexp */
            putfield org.jruby.RubyMatchData.regexp:Lorg/jruby/RubyRegexp;
        58: .line 3199
            iload 8 /* useBackref */
            ifeq 59
            aload 1 /* context */
            aload 21 /* match */
            invokevirtual org.jruby.runtime.ThreadContext.setBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        59: .line 3202
      StackMap locals:
      StackMap stack:
            iload 6 /* bang */
            ifeq 63
        60: .line 3203
            aload 0 /* this */
            aload 19 /* dest */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.RubyString.view:(Lorg/jruby/util/ByteList;)V
        61: .line 3204
            aload 0 /* this */
            aload 19 /* dest */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
        62: .line 3205
            aload 0 /* this */
            iload 7 /* tuFlags */
            invokevirtual org.jruby.RubyString.infectBy:(I)Lorg/jruby/RubyBasicObject;
            areturn
        63: .line 3207
      StackMap locals:
      StackMap stack:
            aload 19 /* dest */
            iload 7 /* tuFlags */
            aload 0 /* this */
            getfield org.jruby.RubyString.flags:I
            ior
            invokevirtual org.jruby.RubyString.infectBy:(I)Lorg/jruby/RubyBasicObject;
            areturn
        end local 21 // org.jruby.RubyMatchData match
        end local 20 // org.jcodings.Encoding str_enc
        end local 19 // org.jruby.RubyString dest
        end local 18 // int cp
        end local 17 // int offset
        end local 16 // int beg
        end local 15 // org.joni.Matcher matcher
        end local 14 // int spLen
        end local 13 // int spBeg
        end local 12 // byte[] spBytes
        end local 11 // org.joni.Regex prepared
        end local 10 // org.joni.Regex pattern
        end local 9 // org.jruby.Ruby runtime
        end local 8 // boolean useBackref
        end local 7 // int tuFlags
        end local 6 // boolean bang
        end local 5 // org.jruby.RubyRegexp regexp
        end local 4 // org.jruby.RubyHash hash
        end local 3 // org.jruby.RubyString repl
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   64     0        this  Lorg/jruby/RubyString;
            0   64     1     context  Lorg/jruby/runtime/ThreadContext;
            0   64     2       block  Lorg/jruby/runtime/Block;
            0   64     3        repl  Lorg/jruby/RubyString;
            0   64     4        hash  Lorg/jruby/RubyHash;
            0   64     5      regexp  Lorg/jruby/RubyRegexp;
            0   64     6        bang  Z
            0   64     7     tuFlags  I
            0   64     8  useBackref  Z
            1   64     9     runtime  Lorg/jruby/Ruby;
            2   64    10     pattern  Lorg/joni/Regex;
            3   64    11    prepared  Lorg/joni/Regex;
            4   64    12     spBytes  [B
            5   64    13       spBeg  I
            6   64    14       spLen  I
            7   64    15     matcher  Lorg/joni/Matcher;
            8   64    16         beg  I
           14   64    17      offset  I
           15   64    18          cp  I
           16   64    19        dest  Lorg/jruby/RubyString;
           17   64    20     str_enc  Lorg/jcodings/Encoding;
           22   64    21       match  Lorg/jruby/RubyMatchData;
           26   27    22         val  Lorg/jruby/RubyString;
           30   31    22         val  Lorg/jruby/RubyString;
           35   50    22         val  Lorg/jruby/RubyString;
           23   50    23        begz  I
           24   50    24        endz  I
           28   37    25      substr  Lorg/jruby/RubyString;
           39   50    25         len  I
    MethodParameters:
            Name  Flags
      context     
      block       
      repl        
      hash        
      regexp      
      bang        final
      tuFlags     
      useBackref  

  public org.jruby.runtime.builtin.IRubyObject index(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 3215
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            iconst_0
            invokevirtual org.jruby.RubyString.indexCommon19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"index"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     

  public org.jruby.runtime.builtin.IRubyObject index(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 3220
            aload 3 /* arg1 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 4 /* pos */
        start local 4 // int pos
         1: .line 3221
            iload 4 /* pos */
            ifge 6
         2: .line 3222
            iload 4 /* pos */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.strLength:()I
            iadd
            istore 4 /* pos */
         3: .line 3223
            iload 4 /* pos */
            ifge 6
         4: .line 3224
            aload 2 /* arg0 */
            instanceof org.jruby.RubyRegexp
            ifeq 5
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.ThreadContext.setBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         5: .line 3225
      StackMap locals: int
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         6: .line 3228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            iload 4 /* pos */
            invokevirtual org.jruby.RubyString.indexCommon19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // int pos
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyString;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    7     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     4      pos  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"index"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  public org.jruby.runtime.builtin.IRubyObject index19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 3233
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            invokevirtual org.jruby.RubyString.index:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     

  public org.jruby.runtime.builtin.IRubyObject index19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 3238
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            invokevirtual org.jruby.RubyString.index:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  private org.jruby.runtime.builtin.IRubyObject indexCommon19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject sub
        start local 3 // int pos
         0: .line 3242
            aload 2 /* sub */
            instanceof org.jruby.RubyRegexp
            ifeq 15
         1: .line 3243
            iload 3 /* pos */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.strLength:()I
            if_icmple 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 3244
      StackMap locals:
      StackMap stack:
            aload 2 /* sub */
            checkcast org.jruby.RubyRegexp
            astore 4 /* regSub */
        start local 4 // org.jruby.RubyRegexp regSub
         3: .line 3245
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
            ifeq 4
            iload 3 /* pos */
            goto 10
         4: .line 3246
      StackMap locals: org.jruby.RubyRegexp
      StackMap stack:
            aload 0 /* this */
            aload 4 /* regSub */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/runtime/encoding/EncodingCapable;)Lorg/jcodings/Encoding;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
         5: .line 3247
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
         6: .line 3248
            iload 3 /* pos */
         7: .line 3246
            invokestatic org.jruby.util.StringSupport.nth:(Lorg/jcodings/Encoding;[BIII)I
         8: .line 3248
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
         9: .line 3246
            isub
        10: .line 3245
      StackMap locals:
      StackMap stack: int
            istore 3 /* pos */
        11: .line 3249
            aload 4 /* regSub */
            aload 0 /* this */
            iload 3 /* pos */
            iconst_0
            invokevirtual org.jruby.RubyRegexp.adjustStartPos:(Lorg/jruby/RubyString;IZ)I
            istore 3 /* pos */
        12: .line 3250
            aload 4 /* regSub */
            aload 1 /* context */
            aload 0 /* this */
            iload 3 /* pos */
            iconst_0
            invokevirtual org.jruby.RubyRegexp.search:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;IZ)I
            istore 3 /* pos */
        13: .line 3251
            aload 0 /* this */
            iload 3 /* pos */
            invokevirtual org.jruby.RubyString.subLength:(I)I
            istore 3 /* pos */
        end local 4 // org.jruby.RubyRegexp regSub
        14: .line 3252
            goto 23
      StackMap locals:
      StackMap stack:
        15: aload 2 /* sub */
            instanceof org.jruby.RubyString
            ifeq 19
        16: .line 3253
            aload 0 /* this */
            aload 2 /* sub */
            checkcast org.jruby.RubyString
            iload 3 /* pos */
            aload 0 /* this */
            aload 2 /* sub */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.StringSupport.index:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;ILorg/jcodings/Encoding;)I
            istore 3 /* pos */
        17: .line 3254
            aload 0 /* this */
            iload 3 /* pos */
            invokevirtual org.jruby.RubyString.subLength:(I)I
            istore 3 /* pos */
        18: .line 3255
            goto 23
        19: .line 3256
      StackMap locals:
      StackMap stack:
            aload 2 /* sub */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* tmp */
        start local 4 // org.jruby.runtime.builtin.IRubyObject tmp
        20: .line 3257
            aload 4 /* tmp */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 21
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "type mismatch: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* sub */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " given"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        21: .line 3258
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 4 /* tmp */
            checkcast org.jruby.RubyString
            iload 3 /* pos */
            aload 0 /* this */
            aload 4 /* tmp */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.StringSupport.index:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;ILorg/jcodings/Encoding;)I
            istore 3 /* pos */
        22: .line 3259
            aload 0 /* this */
            iload 3 /* pos */
            invokevirtual org.jruby.RubyString.subLength:(I)I
            istore 3 /* pos */
        end local 4 // org.jruby.runtime.builtin.IRubyObject tmp
        23: .line 3262
      StackMap locals:
      StackMap stack:
            iload 3 /* pos */
            iconst_m1
            if_icmpne 24
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 3 /* pos */
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        25: areturn
        end local 3 // int pos
        end local 2 // org.jruby.runtime.builtin.IRubyObject sub
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lorg/jruby/RubyString;
            0   26     1  context  Lorg/jruby/runtime/ThreadContext;
            0   26     2      sub  Lorg/jruby/runtime/builtin/IRubyObject;
            0   26     3      pos  I
            3   14     4   regSub  Lorg/jruby/RubyRegexp;
           20   23     4      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      sub      
      pos      

  private int strseqIndex(org.jruby.RubyString, int, boolean);
    descriptor: (Lorg/jruby/RubyString;IZ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=15, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.RubyString sub
        start local 2 // int offset
        start local 3 // boolean inBytes
         0: .line 3269
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
            istore 10 /* single_byte */
        start local 10 // boolean single_byte
         1: .line 3272
            aload 0 /* this */
            aload 1 /* sub */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 11 /* enc */
        start local 11 // org.jcodings.Encoding enc
         2: .line 3273
            aload 1 /* sub */
            invokevirtual org.jruby.RubyString.isCodeRangeBroken:()Z
            ifeq 3
            iconst_m1
            ireturn
         3: .line 3275
      StackMap locals: org.jruby.RubyString org.jruby.RubyString int int top top top top top top int org.jcodings.Encoding
      StackMap stack:
            iload 3 /* inBytes */
            ifne 4
            iload 10 /* single_byte */
            ifeq 5
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.realSize:()I
            goto 6
      StackMap locals:
      StackMap stack:
         5: aload 0 /* this */
            invokevirtual org.jruby.RubyString.strLength:()I
      StackMap locals:
      StackMap stack: int
         6: istore 8 /* len */
        start local 8 // int len
         7: .line 3276
            iload 3 /* inBytes */
            ifeq 8
            aload 1 /* sub */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.realSize:()I
            goto 9
      StackMap locals: org.jruby.RubyString org.jruby.RubyString int int top top top top int top int org.jcodings.Encoding
      StackMap stack:
         8: aload 1 /* sub */
            invokevirtual org.jruby.RubyString.strLength:()I
      StackMap locals:
      StackMap stack: int
         9: istore 9 /* slen */
        start local 9 // int slen
        10: .line 3277
            iload 2 /* offset */
            ifge 13
        11: .line 3278
            iload 2 /* offset */
            iload 8 /* len */
            iadd
            istore 2 /* offset */
        12: .line 3279
            iload 2 /* offset */
            ifge 13
            iconst_m1
            ireturn
        13: .line 3281
      StackMap locals: org.jruby.RubyString org.jruby.RubyString int int top top top top int int int org.jcodings.Encoding
      StackMap stack:
            iload 8 /* len */
            iload 2 /* offset */
            isub
            iload 9 /* slen */
            if_icmpge 14
            iconst_m1
            ireturn
        14: .line 3283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 12 /* sBytes */
        start local 12 // byte[] sBytes
        15: .line 3284
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 4 /* s */
        start local 4 // int s
        16: .line 3285
            iload 4 /* s */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.realSize:()I
            iadd
            istore 6 /* e */
        start local 6 // int e
        17: .line 3286
            iload 2 /* offset */
            ifeq 20
        18: .line 3287
            iload 3 /* inBytes */
            ifne 19
            aload 11 /* enc */
            aload 12 /* sBytes */
            iload 4 /* s */
            iload 6 /* e */
            iload 2 /* offset */
            iload 10 /* single_byte */
            invokestatic org.jruby.util.StringSupport.offset:(Lorg/jcodings/Encoding;[BIIIZ)I
            istore 2 /* offset */
        19: .line 3288
      StackMap locals: org.jruby.RubyString org.jruby.RubyString int int int top int top int int int org.jcodings.Encoding byte[]
      StackMap stack:
            iload 4 /* s */
            iload 2 /* offset */
            iadd
            istore 4 /* s */
        20: .line 3290
      StackMap locals:
      StackMap stack:
            iload 9 /* slen */
            ifne 21
            iload 2 /* offset */
            ireturn
        21: .line 3292
      StackMap locals:
      StackMap stack:
            aload 1 /* sub */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 13 /* sptrBytes */
        start local 13 // byte[] sptrBytes
        22: .line 3293
            aload 1 /* sub */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 5 /* sptr */
        start local 5 // int sptr
        23: .line 3294
            aload 1 /* sub */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.realSize:()I
            istore 9 /* slen */
        24: .line 3295
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.realSize:()I
            iload 2 /* offset */
            isub
            istore 8 /* len */
        25: .line 3298
      StackMap locals: org.jruby.RubyString org.jruby.RubyString int int int int int top int int int org.jcodings.Encoding byte[] byte[]
      StackMap stack:
            aload 13 /* sptrBytes */
            iload 5 /* sptr */
            iload 9 /* slen */
            aload 12 /* sBytes */
            iload 4 /* s */
            iload 8 /* len */
            aload 11 /* enc */
            invokestatic org.jruby.util.StringSupport.memsearch:([BII[BIILorg/jcodings/Encoding;)I
            istore 7 /* pos */
        start local 7 // int pos
        26: .line 3299
            iload 7 /* pos */
            ifge 27
            iload 7 /* pos */
            ireturn
        27: .line 3300
      StackMap locals: org.jruby.RubyString org.jruby.RubyString int int int int int int int int int org.jcodings.Encoding byte[] byte[]
      StackMap stack:
            aload 11 /* enc */
            aload 12 /* sBytes */
            iload 4 /* s */
            iload 4 /* s */
            iload 7 /* pos */
            iadd
            iload 6 /* e */
            invokevirtual org.jcodings.Encoding.rightAdjustCharHead:([BIII)I
            istore 14 /* t */
        start local 14 // int t
        28: .line 3301
            iload 14 /* t */
            iload 4 /* s */
            iload 7 /* pos */
            iadd
            if_icmpne 29
            goto 34
        29: .line 3302
      StackMap locals: int
      StackMap stack:
            iload 8 /* len */
            iload 14 /* t */
            iload 4 /* s */
            isub
            isub
            istore 8 /* len */
        30: .line 3303
            iload 8 /* len */
            ifgt 31
            iconst_m1
            ireturn
        31: .line 3304
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            iload 14 /* t */
            iload 4 /* s */
            isub
            iadd
            istore 2 /* offset */
        32: .line 3305
            iload 14 /* t */
            istore 4 /* s */
        end local 14 // int t
        end local 7 // int pos
        33: .line 3296
            goto 25
        start local 7 // int pos
        34: .line 3307
      StackMap locals:
      StackMap stack:
            iload 7 /* pos */
            iload 2 /* offset */
            iadd
            ireturn
        end local 13 // byte[] sptrBytes
        end local 12 // byte[] sBytes
        end local 11 // org.jcodings.Encoding enc
        end local 10 // boolean single_byte
        end local 9 // int slen
        end local 8 // int len
        end local 7 // int pos
        end local 6 // int e
        end local 5 // int sptr
        end local 4 // int s
        end local 3 // boolean inBytes
        end local 2 // int offset
        end local 1 // org.jruby.RubyString sub
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   35     0         this  Lorg/jruby/RubyString;
            0   35     1          sub  Lorg/jruby/RubyString;
            0   35     2       offset  I
            0   35     3      inBytes  Z
           16   35     4            s  I
           23   35     5         sptr  I
           17   35     6            e  I
           26   33     7          pos  I
           34   35     7          pos  I
            7   35     8          len  I
           10   35     9         slen  I
            1   35    10  single_byte  Z
            2   35    11          enc  Lorg/jcodings/Encoding;
           15   35    12       sBytes  [B
           22   35    13    sptrBytes  [B
           28   33    14            t  I
    MethodParameters:
         Name  Flags
      sub      final
      offset   
      inBytes  

  public org.jruby.runtime.builtin.IRubyObject rindex19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 3312
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            invokevirtual org.jruby.RubyString.rindex:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     

  public org.jruby.runtime.builtin.IRubyObject rindex19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 3317
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            invokevirtual org.jruby.RubyString.rindex:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  public org.jruby.runtime.builtin.IRubyObject rindex(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 3325
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.strLength:()I
            invokevirtual org.jruby.RubyString.rindexCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rindex"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     

  public org.jruby.runtime.builtin.IRubyObject rindex(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 3330
            aload 3 /* arg1 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 4 /* pos */
        start local 4 // int pos
         1: .line 3331
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.strLength:()I
            istore 5 /* length */
        start local 5 // int length
         2: .line 3332
            iload 4 /* pos */
            ifge 7
         3: .line 3333
            iload 4 /* pos */
            iload 5 /* length */
            iadd
            istore 4 /* pos */
         4: .line 3334
            iload 4 /* pos */
            ifge 7
         5: .line 3335
            aload 2 /* arg0 */
            instanceof org.jruby.RubyRegexp
            ifeq 6
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.ThreadContext.setBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         6: .line 3336
      StackMap locals: int int
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         7: .line 3339
      StackMap locals:
      StackMap stack:
            iload 4 /* pos */
            iload 5 /* length */
            if_icmple 8
            iload 5 /* length */
            istore 4 /* pos */
         8: .line 3340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            iload 4 /* pos */
            invokevirtual org.jruby.RubyString.rindexCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // int length
        end local 4 // int pos
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyString;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            1    9     4      pos  I
            2    9     5   length  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rindex"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  private org.jruby.runtime.builtin.IRubyObject rindexCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject sub
        start local 3 // int pos
         0: .line 3344
            aload 2 /* sub */
            instanceof org.jruby.RubyRegexp
            ifeq 8
         1: .line 3345
            aload 2 /* sub */
            checkcast org.jruby.RubyRegexp
            astore 4 /* regSub */
        start local 4 // org.jruby.RubyRegexp regSub
         2: .line 3347
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
         3: .line 3348
            iload 3 /* pos */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
         4: .line 3346
            invokestatic org.jruby.util.StringSupport.offset:(Lorg/jcodings/Encoding;[BIIIZ)I
            istore 3 /* pos */
         5: .line 3349
            aload 4 /* regSub */
            aload 1 /* context */
            aload 0 /* this */
            iload 3 /* pos */
            iconst_1
            invokevirtual org.jruby.RubyRegexp.search:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;IZ)I
            istore 3 /* pos */
         6: .line 3350
            aload 0 /* this */
            iload 3 /* pos */
            invokevirtual org.jruby.RubyString.subLength:(I)I
            istore 3 /* pos */
         7: .line 3351
            iload 3 /* pos */
            iflt 24
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 3 /* pos */
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        end local 4 // org.jruby.RubyRegexp regSub
         8: .line 3352
      StackMap locals:
      StackMap stack:
            aload 2 /* sub */
            instanceof org.jruby.RubyString
            ifeq 16
         9: .line 3353
            aload 0 /* this */
            aload 2 /* sub */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 4 /* enc */
        start local 4 // org.jcodings.Encoding enc
        10: .line 3354
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
        11: .line 3355
            aload 0 /* this */
            aload 4 /* enc */
            invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
        12: .line 3356
            aload 2 /* sub */
            checkcast org.jruby.RubyString
            aload 4 /* enc */
            invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
        13: .line 3357
            iload 3 /* pos */
            aload 2 /* sub */
            checkcast org.jruby.RubyString
            aload 4 /* enc */
        14: .line 3354
            invokestatic org.jruby.util.StringSupport.rindex:(Lorg/jruby/util/ByteList;IIILorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
            istore 3 /* pos */
        end local 4 // org.jcodings.Encoding enc
        15: .line 3359
            goto 24
        16: .line 3360
      StackMap locals:
      StackMap stack:
            aload 2 /* sub */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* tmp */
        start local 4 // org.jruby.runtime.builtin.IRubyObject tmp
        17: .line 3361
            aload 4 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 18
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "type mismatch: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* sub */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " given"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        18: .line 3362
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 4 /* tmp */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 5 /* enc */
        start local 5 // org.jcodings.Encoding enc
        19: .line 3363
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
        20: .line 3364
            aload 0 /* this */
            aload 5 /* enc */
            invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
        21: .line 3365
            aload 4 /* tmp */
            checkcast org.jruby.RubyString
            aload 5 /* enc */
            invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
        22: .line 3366
            iload 3 /* pos */
            aload 4 /* tmp */
            checkcast org.jruby.RubyString
            aload 5 /* enc */
        23: .line 3363
            invokestatic org.jruby.util.StringSupport.rindex:(Lorg/jruby/util/ByteList;IIILorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
            istore 3 /* pos */
        end local 5 // org.jcodings.Encoding enc
        end local 4 // org.jruby.runtime.builtin.IRubyObject tmp
        24: .line 3369
      StackMap locals:
      StackMap stack:
            iload 3 /* pos */
            iflt 25
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 3 /* pos */
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        25: .line 3370
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // int pos
        end local 2 // org.jruby.runtime.builtin.IRubyObject sub
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lorg/jruby/RubyString;
            0   26     1  context  Lorg/jruby/runtime/ThreadContext;
            0   26     2      sub  Lorg/jruby/runtime/builtin/IRubyObject;
            0   26     3      pos  I
            2    8     4   regSub  Lorg/jruby/RubyRegexp;
           10   15     4      enc  Lorg/jcodings/Encoding;
           17   24     4      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
           19   24     5      enc  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      context  
      sub      final
      pos      

  public final org.jruby.runtime.builtin.IRubyObject substr(int, int);
    descriptor: (II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // int beg
        start local 2 // int len
         0: .line 3375
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            iload 1 /* beg */
            iload 2 /* len */
            invokevirtual org.jruby.RubyString.substr:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // int len
        end local 1 // int beg
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1   beg  I
            0    1     2   len  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      beg   
      len   

  public final org.jruby.runtime.builtin.IRubyObject substr(org.jruby.Ruby, int, int);
    descriptor: (Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int beg
        start local 3 // int len
         0: .line 3380
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            istore 4 /* length */
        start local 4 // int length
         1: .line 3381
            iload 3 /* len */
            iflt 2
            iload 2 /* beg */
            iload 4 /* length */
            if_icmple 3
      StackMap locals: int
      StackMap stack:
         2: aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 3383
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            ifge 6
         4: .line 3384
            iload 2 /* beg */
            iload 4 /* length */
            iadd
            istore 2 /* beg */
         5: .line 3385
            iload 2 /* beg */
            ifge 6
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         6: .line 3388
      StackMap locals:
      StackMap stack:
            iload 4 /* length */
            iload 2 /* beg */
            iload 3 /* len */
            iadd
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* end */
        start local 5 // int end
         7: .line 3389
            aload 0 /* this */
            aload 1 /* runtime */
            iload 2 /* beg */
            iload 5 /* end */
            iload 2 /* beg */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            areturn
        end local 5 // int end
        end local 4 // int length
        end local 3 // int len
        end local 2 // int beg
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyString;
            0    8     1  runtime  Lorg/jruby/Ruby;
            0    8     2      beg  I
            0    8     3      len  I
            1    8     4   length  I
            7    8     5      end  I
    MethodParameters:
         Name  Flags
      runtime  
      beg      
      len      

  private org.jruby.runtime.builtin.IRubyObject byteSubstr(org.jruby.Ruby, int, int);
    descriptor: (Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int beg
        start local 3 // int len
         0: .line 3394
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            istore 4 /* length */
        start local 4 // int length
         1: .line 3396
            iload 3 /* len */
            iflt 2
            iload 2 /* beg */
            iload 4 /* length */
            if_icmple 3
      StackMap locals: int
      StackMap stack:
         2: aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 3398
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            ifge 6
         4: .line 3399
            iload 2 /* beg */
            iload 4 /* length */
            iadd
            istore 2 /* beg */
         5: .line 3400
            iload 2 /* beg */
            ifge 6
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         6: .line 3402
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            iload 3 /* len */
            iadd
            iload 4 /* length */
            if_icmple 7
            iload 4 /* length */
            iload 2 /* beg */
            isub
            istore 3 /* len */
         7: .line 3404
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            ifgt 9
         8: .line 3405
            iconst_0
            istore 3 /* len */
         9: .line 3408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* runtime */
            iload 2 /* beg */
            iload 3 /* len */
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            areturn
        end local 4 // int length
        end local 3 // int len
        end local 2 // int beg
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyString;
            0   10     1  runtime  Lorg/jruby/Ruby;
            0   10     2      beg  I
            0   10     3      len  I
            1   10     4   length  I
    MethodParameters:
         Name  Flags
      runtime  
      beg      
      len      

  private org.jruby.runtime.builtin.IRubyObject byteARef(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject idx
         0: .line 3415
            aload 2 /* idx */
            instanceof org.jruby.RubyRange
            ifeq 5
         1: .line 3416
            aload 2 /* idx */
            checkcast org.jruby.RubyRange
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            iconst_0
            invokevirtual org.jruby.RubyRange.begLenInt:(II)[I
            astore 4 /* begLen */
        start local 4 // int[] begLen
         2: .line 3417
            aload 4 /* begLen */
            ifnonnull 3
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            goto 4
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject top int[]
      StackMap stack:
         3: aload 0 /* this */
            aload 1 /* runtime */
            aload 4 /* begLen */
            iconst_0
            iaload
            aload 4 /* begLen */
            iconst_1
            iaload
            invokevirtual org.jruby.RubyString.byteSubstr:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         4: areturn
        end local 4 // int[] begLen
         5: .line 3418
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* idx */
            instanceof org.jruby.RubyFixnum
            ifeq 8
         6: .line 3419
            aload 2 /* idx */
            checkcast org.jruby.RubyFixnum
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/RubyFixnum;)I
            istore 3 /* index */
        start local 3 // int index
         7: .line 3420
            goto 17
        end local 3 // int index
         8: .line 3421
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            astore 4 /* context */
        start local 4 // org.jruby.runtime.ThreadContext context
         9: .line 3422
            aload 4 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            astore 5 /* sites */
        start local 5 // org.jruby.runtime.JavaSites$StringSites sites
        10: .line 3423
            aload 4 /* context */
            aload 2 /* idx */
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.respond_to_begin:Lorg/jruby/runtime/callsite/RespondToCallSite;
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.respond_to_end:Lorg/jruby/runtime/callsite/RespondToCallSite;
            invokestatic org.jruby.RubyRange.isRangeLike:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/callsite/RespondToCallSite;Lorg/jruby/runtime/callsite/RespondToCallSite;)Z
            ifeq 16
        11: .line 3424
            aload 4 /* context */
            aload 2 /* idx */
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.begin:Lorg/jruby/runtime/CallSite;
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.end:Lorg/jruby/runtime/CallSite;
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.exclude_end:Lorg/jruby/runtime/CallSite;
            invokestatic org.jruby.RubyRange.rangeFromRangeLike:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;)Lorg/jruby/RubyRange;
            astore 6 /* range */
        start local 6 // org.jruby.RubyRange range
        12: .line 3426
            aload 6 /* range */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            iconst_0
            invokevirtual org.jruby.RubyRange.begLenInt:(II)[I
            astore 7 /* begLen */
        start local 7 // int[] begLen
        13: .line 3427
            aload 7 /* begLen */
            ifnonnull 14
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            goto 15
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject top org.jruby.runtime.ThreadContext org.jruby.runtime.JavaSites$StringSites org.jruby.RubyRange int[]
      StackMap stack:
        14: aload 0 /* this */
            aload 1 /* runtime */
            aload 7 /* begLen */
            iconst_0
            iaload
            aload 7 /* begLen */
            iconst_1
            iaload
            invokevirtual org.jruby.RubyString.byteSubstr:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        15: areturn
        end local 7 // int[] begLen
        end local 6 // org.jruby.RubyRange range
        16: .line 3429
      StackMap locals:
      StackMap stack:
            aload 2 /* idx */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 3 /* index */
        end local 5 // org.jruby.runtime.JavaSites$StringSites sites
        end local 4 // org.jruby.runtime.ThreadContext context
        start local 3 // int index
        17: .line 3433
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* runtime */
            iload 3 /* index */
            iconst_1
            invokevirtual org.jruby.RubyString.byteSubstr:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* obj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject obj
        18: .line 3434
            aload 4 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 19
            aload 4 /* obj */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            ifne 20
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
        19: aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        20: .line 3435
      StackMap locals:
      StackMap stack:
            aload 4 /* obj */
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject obj
        end local 3 // int index
        end local 2 // org.jruby.runtime.builtin.IRubyObject idx
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Lorg/jruby/RubyString;
            0   21     1  runtime  Lorg/jruby/Ruby;
            0   21     2      idx  Lorg/jruby/runtime/builtin/IRubyObject;
            7    8     3    index  I
           17   21     3    index  I
            2    5     4   begLen  [I
            9   17     4  context  Lorg/jruby/runtime/ThreadContext;
           10   17     5    sites  Lorg/jruby/runtime/JavaSites$StringSites;
           12   16     6    range  Lorg/jruby/RubyRange;
           13   16     7   begLen  [I
           18   21     4      obj  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      idx      

  public final org.jruby.runtime.builtin.IRubyObject substr19(org.jruby.Ruby, int, int);
    descriptor: (Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int beg
        start local 3 // int len
         0: .line 3439
            iload 3 /* len */
            ifge 1
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 3440
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 4 /* length */
        start local 4 // int length
         2: .line 3441
            iload 4 /* length */
            ifne 3
            iconst_0
            istore 3 /* len */
         3: .line 3443
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 5 /* enc */
        start local 5 // org.jcodings.Encoding enc
         4: .line 3444
            aload 0 /* this */
            aload 5 /* enc */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:(Lorg/jcodings/Encoding;)Z
            ifeq 12
         5: .line 3445
            iload 2 /* beg */
            iload 4 /* length */
            if_icmple 6
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         6: .line 3446
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            iload 2 /* beg */
            ifge 9
         7: .line 3447
            iload 2 /* beg */
            iload 4 /* length */
            iadd
            istore 2 /* beg */
         8: .line 3448
            iload 2 /* beg */
            ifge 9
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         9: .line 3450
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            iload 3 /* len */
            iadd
            iload 4 /* length */
            if_icmple 10
            iload 4 /* length */
            iload 2 /* beg */
            isub
            istore 3 /* len */
        10: .line 3451
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            ifgt 11
            iconst_0
            dup
            istore 2 /* beg */
            istore 3 /* len */
        11: .line 3452
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* runtime */
            iload 2 /* beg */
            iload 3 /* len */
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            areturn
        12: .line 3454
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            iload 3 /* len */
            iadd
            iload 4 /* length */
            if_icmple 13
            iload 4 /* length */
            iload 2 /* beg */
            isub
            istore 3 /* len */
        13: .line 3455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* runtime */
            aload 5 /* enc */
            iload 3 /* len */
            iload 2 /* beg */
            iload 4 /* length */
            invokevirtual org.jruby.RubyString.multibyteSubstr19:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;III)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jcodings.Encoding enc
        end local 4 // int length
        end local 3 // int len
        end local 2 // int beg
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/jruby/RubyString;
            0   14     1  runtime  Lorg/jruby/Ruby;
            0   14     2      beg  I
            0   14     3      len  I
            2   14     4   length  I
            4   14     5      enc  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      runtime  
      beg      
      len      

  private org.jruby.runtime.builtin.IRubyObject multibyteSubstr19(org.jruby.Ruby, org.jcodings.Encoding, int, int, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jcodings/Encoding;III)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=6
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jcodings.Encoding enc
        start local 3 // int len
        start local 4 // int beg
        start local 5 // int length
         0: .line 3461
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 7 /* s */
        start local 7 // int s
         1: .line 3462
            iload 7 /* s */
            iload 5 /* length */
            iadd
            istore 8 /* end */
        start local 8 // int end
         2: .line 3463
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 9 /* bytes */
        start local 9 // byte[] bytes
         3: .line 3465
            iload 4 /* beg */
            ifge 16
         4: .line 3466
            iload 3 /* len */
            iload 4 /* beg */
            ineg
            if_icmple 5
            iload 4 /* beg */
            ineg
            istore 3 /* len */
         5: .line 3467
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jcodings.Encoding int int int top int int byte[]
      StackMap stack:
            iload 4 /* beg */
            ineg
            aload 2 /* enc */
            invokevirtual org.jcodings.Encoding.maxLength:()I
            imul
            iload 5 /* length */
            iconst_3
            iushr
            if_icmpge 14
         6: .line 3468
            iload 4 /* beg */
            ineg
            istore 4 /* beg */
         7: .line 3469
            iload 8 /* end */
            istore 10 /* e */
        start local 10 // int e
         8: .line 3470
      StackMap locals: int
      StackMap stack:
            iload 4 /* beg */
            iinc 4 /* beg */ -1
            iload 3 /* len */
            if_icmple 9
            aload 2 /* enc */
            aload 9 /* bytes */
            iload 7 /* s */
            iload 10 /* e */
            iload 10 /* e */
            invokevirtual org.jcodings.Encoding.prevCharHead:([BIII)I
            dup
            istore 10 /* e */
            iconst_m1
            if_icmpne 8
         9: .line 3471
      StackMap locals:
      StackMap stack:
            iload 10 /* e */
            istore 6 /* p */
        start local 6 // int p
        10: .line 3472
            iload 6 /* p */
            iconst_m1
            if_icmpne 11
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        11: .line 3473
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jcodings.Encoding int int int int int int byte[] int
      StackMap stack:
            iload 3 /* len */
            iinc 3 /* len */ -1
            ifle 12
            aload 2 /* enc */
            aload 9 /* bytes */
            iload 7 /* s */
            iload 6 /* p */
            iload 10 /* e */
            invokevirtual org.jcodings.Encoding.prevCharHead:([BIII)I
            dup
            istore 6 /* p */
            iconst_m1
            if_icmpne 11
        12: .line 3474
      StackMap locals:
      StackMap stack:
            iload 6 /* p */
            iconst_m1
            if_icmpne 13
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        13: .line 3475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* runtime */
            iload 6 /* p */
            iload 7 /* s */
            isub
            iload 10 /* e */
            iload 6 /* p */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            areturn
        end local 10 // int e
        end local 6 // int p
        14: .line 3477
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jcodings.Encoding int int int top int int byte[]
      StackMap stack:
            iload 4 /* beg */
            aload 0 /* this */
            aload 2 /* enc */
            invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
            iadd
            istore 4 /* beg */
        15: .line 3478
            iload 4 /* beg */
            ifge 18
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        16: .line 3480
      StackMap locals:
      StackMap stack:
            iload 4 /* beg */
            ifle 18
            iload 4 /* beg */
            aload 0 /* this */
            aload 2 /* enc */
            invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
            if_icmple 18
        17: .line 3481
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        18: .line 3483
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            ifne 21
        19: .line 3484
            iconst_0
            istore 6 /* p */
        start local 6 // int p
        20: .line 3485
            goto 42
        end local 6 // int p
      StackMap locals:
      StackMap stack:
        21: aload 0 /* this */
            invokevirtual org.jruby.RubyString.isCodeRangeValid:()Z
            ifeq 25
            aload 2 /* enc */
            invokevirtual org.jcodings.Encoding.isUTF8:()Z
            ifeq 25
        22: .line 3486
            aload 9 /* bytes */
            iload 7 /* s */
            iload 8 /* end */
            iload 4 /* beg */
            invokestatic org.jruby.util.StringSupport.utf8Nth:([BIII)I
            istore 6 /* p */
        start local 6 // int p
        23: .line 3487
            aload 9 /* bytes */
            iload 6 /* p */
            iload 8 /* end */
            iload 3 /* len */
            invokestatic org.jruby.util.StringSupport.utf8Offset:([BIII)I
            istore 3 /* len */
        24: .line 3488
            goto 42
        end local 6 // int p
      StackMap locals:
      StackMap stack:
        25: aload 2 /* enc */
            invokevirtual org.jcodings.Encoding.isFixedWidth:()Z
            ifeq 37
        26: .line 3489
            aload 2 /* enc */
            invokevirtual org.jcodings.Encoding.maxLength:()I
            istore 10 /* w */
        start local 10 // int w
        27: .line 3490
            iload 7 /* s */
            iload 4 /* beg */
            iload 10 /* w */
            imul
            iadd
            istore 6 /* p */
        start local 6 // int p
        28: .line 3491
            iload 6 /* p */
            iload 8 /* end */
            if_icmple 32
        29: .line 3492
            iload 8 /* end */
            istore 6 /* p */
        30: .line 3493
            iconst_0
            istore 3 /* len */
        31: .line 3494
            goto 42
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jcodings.Encoding int int int int int int byte[] int
      StackMap stack:
        32: iload 3 /* len */
            iload 10 /* w */
            imul
            iload 8 /* end */
            iload 6 /* p */
            isub
            if_icmple 35
        33: .line 3495
            iload 8 /* end */
            iload 6 /* p */
            isub
            istore 3 /* len */
        34: .line 3496
            goto 42
        35: .line 3497
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            iload 10 /* w */
            imul
            istore 3 /* len */
        end local 10 // int w
        36: .line 3499
            goto 42
        end local 6 // int p
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jcodings.Encoding int int int top int int byte[]
      StackMap stack:
        37: aload 2 /* enc */
            aload 9 /* bytes */
            iload 7 /* s */
            iload 8 /* end */
            iload 4 /* beg */
            invokestatic org.jruby.util.StringSupport.nth:(Lorg/jcodings/Encoding;[BIII)I
            dup
            istore 6 /* p */
        start local 6 // int p
        38: iload 8 /* end */
            if_icmpne 41
        39: .line 3500
            iconst_0
            istore 3 /* len */
        40: .line 3501
            goto 42
        41: .line 3502
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jcodings.Encoding int int int int int int byte[]
      StackMap stack:
            aload 2 /* enc */
            aload 9 /* bytes */
            iload 6 /* p */
            iload 8 /* end */
            iload 3 /* len */
            invokestatic org.jruby.util.StringSupport.offset:(Lorg/jcodings/Encoding;[BIII)I
            istore 3 /* len */
        42: .line 3504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* runtime */
            iload 6 /* p */
            iload 7 /* s */
            isub
            iload 3 /* len */
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            areturn
        end local 9 // byte[] bytes
        end local 8 // int end
        end local 7 // int s
        end local 6 // int p
        end local 5 // int length
        end local 4 // int beg
        end local 3 // int len
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   43     0     this  Lorg/jruby/RubyString;
            0   43     1  runtime  Lorg/jruby/Ruby;
            0   43     2      enc  Lorg/jcodings/Encoding;
            0   43     3      len  I
            0   43     4      beg  I
            0   43     5   length  I
           10   14     6        p  I
           20   21     6        p  I
           23   25     6        p  I
           28   37     6        p  I
           38   43     6        p  I
            1   43     7        s  I
            2   43     8      end  I
            3   43     9    bytes  [B
            8   14    10        e  I
           27   36    10        w  I
    MethodParameters:
         Name  Flags
      runtime  
      enc      
      len      
      beg      
      length   

  private char multibyteCharAt(org.jcodings.Encoding, int, int);
    descriptor: (Lorg/jcodings/Encoding;II)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jcodings.Encoding enc
        start local 2 // int beg
        start local 3 // int length
         0: .line 3509
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 5 /* s */
        start local 5 // int s
         1: .line 3510
            iload 5 /* s */
            iload 3 /* length */
            iadd
            istore 6 /* end */
        start local 6 // int end
         2: .line 3511
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 7 /* bytes */
        start local 7 // byte[] bytes
         3: .line 3514
            iload 2 /* beg */
            ifle 5
            iload 2 /* beg */
            aload 0 /* this */
            aload 1 /* enc */
            invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
            if_icmple 5
         4: .line 3515
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* beg */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         5: .line 3518
      StackMap locals: org.jruby.RubyString org.jcodings.Encoding int int top int int byte[]
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.isCodeRangeValid:()Z
            ifeq 8
            aload 1 /* enc */
            invokevirtual org.jcodings.Encoding.isUTF8:()Z
            ifeq 8
         6: .line 3519
            aload 7 /* bytes */
            iload 5 /* s */
            iload 6 /* end */
            iload 2 /* beg */
            invokestatic org.jruby.util.StringSupport.utf8Nth:([BIII)I
            istore 4 /* p */
        start local 4 // int p
         7: .line 3520
            goto 16
        end local 4 // int p
      StackMap locals:
      StackMap stack:
         8: aload 1 /* enc */
            invokevirtual org.jcodings.Encoding.isFixedWidth:()Z
            ifeq 13
         9: .line 3521
            aload 1 /* enc */
            invokevirtual org.jcodings.Encoding.maxLength:()I
            istore 8 /* w */
        start local 8 // int w
        10: .line 3522
            iload 5 /* s */
            iload 2 /* beg */
            iload 8 /* w */
            imul
            iadd
            istore 4 /* p */
        start local 4 // int p
        11: .line 3523
            iload 4 /* p */
            iload 6 /* end */
            if_icmpgt 12
            iload 8 /* w */
            iload 6 /* end */
            iload 4 /* p */
            isub
            if_icmple 16
        12: .line 3524
      StackMap locals: org.jruby.RubyString org.jcodings.Encoding int int int int int byte[] int
      StackMap stack:
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* beg */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
        end local 8 // int w
        end local 4 // int p
        13: .line 3526
      StackMap locals: org.jruby.RubyString org.jcodings.Encoding int int top int int byte[]
      StackMap stack:
            aload 1 /* enc */
            aload 7 /* bytes */
            iload 5 /* s */
            iload 6 /* end */
            iload 2 /* beg */
            invokestatic org.jruby.util.StringSupport.nth:(Lorg/jcodings/Encoding;[BIII)I
            dup
            istore 4 /* p */
        start local 4 // int p
        14: iload 6 /* end */
            if_icmpne 16
        15: .line 3527
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* beg */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
        16: .line 3529
      StackMap locals: org.jruby.RubyString org.jcodings.Encoding int int int int int byte[]
      StackMap stack:
            aload 1 /* enc */
            aload 7 /* bytes */
            iload 4 /* p */
            iload 6 /* end */
            invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
            istore 8 /* codepoint */
        start local 8 // int codepoint
        17: .line 3531
            iload 8 /* codepoint */
            invokestatic java.lang.Character.isBmpCodePoint:(I)Z
            ifeq 19
        18: .line 3532
            iload 8 /* codepoint */
            i2c
            ireturn
        19: .line 3536
      StackMap locals: int
      StackMap stack:
            iload 8 /* codepoint */
            invokestatic java.lang.Character.highSurrogate:(I)C
            ireturn
        end local 8 // int codepoint
        end local 7 // byte[] bytes
        end local 6 // int end
        end local 5 // int s
        end local 4 // int p
        end local 3 // int length
        end local 2 // int beg
        end local 1 // org.jcodings.Encoding enc
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lorg/jruby/RubyString;
            0   20     1        enc  Lorg/jcodings/Encoding;
            0   20     2        beg  I
            0   20     3     length  I
            7    8     4          p  I
           11   13     4          p  I
           14   20     4          p  I
            1   20     5          s  I
            2   20     6        end  I
            3   20     7      bytes  [B
           10   13     8          w  I
           17   20     8  codepoint  I
    MethodParameters:
        Name  Flags
      enc     
      beg     
      length  

  private org.jruby.runtime.builtin.IRubyObject replaceInternal(int, int, org.jruby.RubyString);
    descriptor: (IILorg/jruby/RubyString;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // int beg
        start local 2 // int len
        start local 3 // org.jruby.RubyString repl
         0: .line 3541
            iload 1 /* beg */
            iload 2 /* len */
            aload 0 /* this */
            aload 3 /* repl */
            invokestatic org.jruby.util.StringSupport.replaceInternal:(IILorg/jruby/util/ByteListHolder;Lorg/jruby/util/CodeRangeable;)Lorg/jruby/util/ByteList;
            pop
         1: .line 3542
            aload 0 /* this */
            aload 3 /* repl */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            areturn
        end local 3 // org.jruby.RubyString repl
        end local 2 // int len
        end local 1 // int beg
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;
            0    2     1   beg  I
            0    2     2   len  I
            0    2     3  repl  Lorg/jruby/RubyString;
    MethodParameters:
      Name  Flags
      beg   
      len   
      repl  

  private void replaceInternal19(int, int, org.jruby.RubyString);
    descriptor: (IILorg/jruby/RubyString;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // int beg
        start local 2 // int len
        start local 3 // org.jruby.RubyString repl
         0: .line 3546
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            iload 1 /* beg */
            iload 2 /* len */
            aload 0 /* this */
            aload 3 /* repl */
            invokestatic org.jruby.util.StringSupport.replaceInternal19:(Lorg/jruby/Ruby;IILorg/jruby/RubyString;Lorg/jruby/RubyString;)V
         1: .line 3547
            aload 0 /* this */
            aload 3 /* repl */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
         2: .line 3548
            return
        end local 3 // org.jruby.RubyString repl
        end local 2 // int len
        end local 1 // int beg
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyString;
            0    3     1   beg  I
            0    3     2   len  I
            0    3     3  repl  Lorg/jruby/RubyString;
    MethodParameters:
      Name  Flags
      beg   
      len   
      repl  

  public org.jruby.runtime.builtin.IRubyObject op_aref(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 3555
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 3556
            aload 2 /* arg */
            instanceof org.jruby.RubyFixnum
            ifeq 3
         2: .line 3557
            aload 0 /* this */
            aload 3 /* runtime */
            aload 2 /* arg */
            checkcast org.jruby.RubyFixnum
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/RubyFixnum;)I
            invokevirtual org.jruby.RubyString.op_aref:(Lorg/jruby/Ruby;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 3558
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 2 /* arg */
            instanceof org.jruby.RubyRegexp
            ifeq 5
         4: .line 3559
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            checkcast org.jruby.RubyRegexp
            invokevirtual org.jruby.RubyString.subpat:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 3560
      StackMap locals:
      StackMap stack:
            aload 2 /* arg */
            instanceof org.jruby.RubyString
            ifeq 10
         6: .line 3561
            aload 2 /* arg */
            checkcast org.jruby.RubyString
            astore 4 /* str */
        start local 4 // org.jruby.RubyString str
         7: .line 3562
            aload 0 /* this */
            aload 4 /* str */
            iconst_0
            aload 0 /* this */
            aload 4 /* str */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.StringSupport.index:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;ILorg/jcodings/Encoding;)I
            iconst_m1
            if_icmpeq 8
            aload 4 /* str */
            aload 3 /* runtime */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            goto 9
      StackMap locals: org.jruby.RubyString
      StackMap stack:
         8: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         9: areturn
        end local 4 // org.jruby.RubyString str
        10: .line 3563
      StackMap locals:
      StackMap stack:
            aload 2 /* arg */
            instanceof org.jruby.RubyRange
            ifeq 16
        11: .line 3564
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.strLength:()I
            istore 4 /* len */
        start local 4 // int len
        12: .line 3565
            aload 2 /* arg */
            checkcast org.jruby.RubyRange
            iload 4 /* len */
            iconst_0
            invokevirtual org.jruby.RubyRange.begLenInt:(II)[I
            astore 5 /* begLen */
        start local 5 // int[] begLen
        13: .line 3566
            aload 5 /* begLen */
            ifnonnull 14
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 15
      StackMap locals: int int[]
      StackMap stack:
        14: aload 0 /* this */
            aload 3 /* runtime */
            aload 5 /* begLen */
            iconst_0
            iaload
            aload 5 /* begLen */
            iconst_1
            iaload
            invokevirtual org.jruby.RubyString.substr19:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        15: areturn
        end local 5 // int[] begLen
        end local 4 // int len
        16: .line 3568
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            astore 4 /* sites */
        start local 4 // org.jruby.runtime.JavaSites$StringSites sites
        17: .line 3569
            aload 1 /* context */
            aload 2 /* arg */
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.respond_to_begin:Lorg/jruby/runtime/callsite/RespondToCallSite;
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.respond_to_end:Lorg/jruby/runtime/callsite/RespondToCallSite;
            invokestatic org.jruby.RubyRange.isRangeLike:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/callsite/RespondToCallSite;Lorg/jruby/runtime/callsite/RespondToCallSite;)Z
            ifeq 24
        18: .line 3570
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.strLength:()I
            istore 5 /* len */
        start local 5 // int len
        19: .line 3571
            aload 1 /* context */
            aload 2 /* arg */
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.begin:Lorg/jruby/runtime/CallSite;
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.end:Lorg/jruby/runtime/CallSite;
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.exclude_end:Lorg/jruby/runtime/CallSite;
            invokestatic org.jruby.RubyRange.rangeFromRangeLike:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;)Lorg/jruby/RubyRange;
            astore 6 /* range */
        start local 6 // org.jruby.RubyRange range
        20: .line 3573
            aload 6 /* range */
            iload 5 /* len */
            iconst_0
            invokevirtual org.jruby.RubyRange.begLenInt:(II)[I
            astore 7 /* begLen */
        start local 7 // int[] begLen
        21: .line 3574
            aload 7 /* begLen */
            ifnonnull 22
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 23
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.runtime.JavaSites$StringSites int org.jruby.RubyRange int[]
      StackMap stack:
        22: aload 0 /* this */
            aload 3 /* runtime */
            aload 7 /* begLen */
            iconst_0
            iaload
            aload 7 /* begLen */
            iconst_1
            iaload
            invokevirtual org.jruby.RubyString.substr19:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        23: areturn
        end local 7 // int[] begLen
        end local 6 // org.jruby.RubyRange range
        end local 5 // int len
        end local 4 // org.jruby.runtime.JavaSites$StringSites sites
        24: .line 3577
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby
      StackMap stack:
            aload 0 /* this */
            aload 3 /* runtime */
            aload 2 /* arg */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            invokevirtual org.jruby.RubyString.op_aref:(Lorg/jruby/Ruby;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   25     0     this  Lorg/jruby/RubyString;
            0   25     1  context  Lorg/jruby/runtime/ThreadContext;
            0   25     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1   25     3  runtime  Lorg/jruby/Ruby;
            7   10     4      str  Lorg/jruby/RubyString;
           12   16     4      len  I
           13   16     5   begLen  [I
           17   24     4    sites  Lorg/jruby/runtime/JavaSites$StringSites;
           19   24     5      len  I
           20   24     6    range  Lorg/jruby/RubyRange;
           21   24     7   begLen  [I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"[]", "slice"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject op_aref(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 3582
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 3583
            aload 2 /* arg1 */
            instanceof org.jruby.RubyRegexp
            ifeq 2
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg1 */
            checkcast org.jruby.RubyRegexp
            aload 3 /* arg2 */
            invokevirtual org.jruby.RubyString.subpat:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 3584
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 0 /* this */
            aload 4 /* runtime */
            aload 2 /* arg1 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            aload 3 /* arg2 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            invokevirtual org.jruby.RubyString.substr19:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     4  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"[]", "slice"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg1     
      arg2     

  public org.jruby.runtime.builtin.IRubyObject byteslice(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 3589
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* arg1 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            aload 3 /* arg2 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            invokevirtual org.jruby.RubyString.byteSubstr:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      arg1     
      arg2     

  public org.jruby.runtime.builtin.IRubyObject byteslice(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 3594
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.byteARef:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      arg      

  private org.jruby.runtime.builtin.IRubyObject op_aref(org.jruby.Ruby, int);
    descriptor: (Lorg/jruby/Ruby;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int idx
         0: .line 3598
            aload 0 /* this */
            aload 1 /* runtime */
            iload 2 /* idx */
            iconst_1
            invokevirtual org.jruby.RubyString.substr19:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* str */
        start local 3 // org.jruby.runtime.builtin.IRubyObject str
         1: .line 3599
            aload 3 /* str */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 2
            aload 3 /* str */
            checkcast org.jruby.RubyString
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 2
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         2: aload 3 /* str */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         3: areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject str
        end local 2 // int idx
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyString;
            0    4     1  runtime  Lorg/jruby/Ruby;
            0    4     2      idx  I
            1    4     3      str  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      idx      

  private int subpatSetCheck(org.jruby.Ruby, int, org.joni.Region);
    descriptor: (Lorg/jruby/Ruby;ILorg/joni/Region;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int nth
        start local 3 // org.joni.Region regs
         0: .line 3603
            aload 3 /* regs */
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 3 /* regs */
            getfield org.joni.Region.numRegs:I
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* numRegs */
        start local 4 // int numRegs
         3: .line 3604
            iload 2 /* nth */
            iload 4 /* numRegs */
            if_icmpge 7
         4: .line 3605
            iload 2 /* nth */
            ifge 6
         5: .line 3606
            iload 2 /* nth */
            ineg
            iload 4 /* numRegs */
            if_icmpge 7
            iload 2 /* nth */
            iload 4 /* numRegs */
            iadd
            ireturn
         6: .line 3608
      StackMap locals: int
      StackMap stack:
            iload 2 /* nth */
            ireturn
         7: .line 3611
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* nth */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " out of regexp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // int numRegs
        end local 3 // org.joni.Region regs
        end local 2 // int nth
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyString;
            0    8     1  runtime  Lorg/jruby/Ruby;
            0    8     2      nth  I
            0    8     3     regs  Lorg/joni/Region;
            3    8     4  numRegs  I
    MethodParameters:
         Name  Flags
      runtime  
      nth      
      regs     

  private void subpatSet(org.jruby.runtime.ThreadContext, org.jruby.RubyRegexp, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyRegexp regexp
        start local 3 // org.jruby.runtime.builtin.IRubyObject backref
        start local 4 // org.jruby.runtime.builtin.IRubyObject repl
         0: .line 3615
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 3617
            aload 2 /* regexp */
            aload 1 /* context */
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual org.jruby.RubyRegexp.search:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;IZ)I
            istore 6 /* result */
        start local 6 // int result
         2: .line 3619
            iload 6 /* result */
            ifge 3
            aload 5 /* runtime */
            ldc "regexp not matched"
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 3622
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getBackRef:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyMatchData
            astore 7 /* match */
        start local 7 // org.jruby.RubyMatchData match
         4: .line 3624
            aload 3 /* backref */
            ifnonnull 5
            iconst_0
            goto 6
      StackMap locals: org.jruby.RubyMatchData
      StackMap stack:
         5: aload 0 /* this */
            aload 5 /* runtime */
            aload 7 /* match */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* backref */
            invokevirtual org.jruby.RubyMatchData.backrefNumber:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)I
            aload 7 /* match */
            getfield org.jruby.RubyMatchData.regs:Lorg/joni/Region;
            invokevirtual org.jruby.RubyString.subpatSetCheck:(Lorg/jruby/Ruby;ILorg/joni/Region;)I
      StackMap locals:
      StackMap stack: int
         6: istore 8 /* nth */
        start local 8 // int nth
         7: .line 3627
            aload 7 /* match */
            getfield org.jruby.RubyMatchData.regs:Lorg/joni/Region;
            ifnonnull 11
         8: .line 3628
            aload 7 /* match */
            getfield org.jruby.RubyMatchData.begin:I
            istore 9 /* start */
        start local 9 // int start
         9: .line 3629
            aload 7 /* match */
            getfield org.jruby.RubyMatchData.end:I
            istore 10 /* end */
        start local 10 // int end
        10: .line 3630
            goto 13
        end local 10 // int end
        end local 9 // int start
        11: .line 3631
      StackMap locals: int
      StackMap stack:
            aload 7 /* match */
            getfield org.jruby.RubyMatchData.regs:Lorg/joni/Region;
            getfield org.joni.Region.beg:[I
            iload 8 /* nth */
            iaload
            istore 9 /* start */
        start local 9 // int start
        12: .line 3632
            aload 7 /* match */
            getfield org.jruby.RubyMatchData.regs:Lorg/joni/Region;
            getfield org.joni.Region.end:[I
            iload 8 /* nth */
            iaload
            istore 10 /* end */
        start local 10 // int end
        13: .line 3634
      StackMap locals: int int
      StackMap stack:
            iload 9 /* start */
            iconst_m1
            if_icmpne 14
            aload 5 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "regexp group "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* nth */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " not matched"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        14: .line 3635
      StackMap locals:
      StackMap stack:
            aload 4 /* repl */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 11 /* replStr */
        start local 11 // org.jruby.RubyString replStr
        15: .line 3636
            aload 0 /* this */
            aload 11 /* replStr */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 12 /* enc */
        start local 12 // org.jcodings.Encoding enc
        16: .line 3638
            aload 0 /* this */
            iload 9 /* start */
            iload 10 /* end */
            iload 9 /* start */
            isub
            aload 11 /* replStr */
            invokevirtual org.jruby.RubyString.replaceInternal:(IILorg/jruby/RubyString;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        17: .line 3639
            aload 0 /* this */
            aload 12 /* enc */
            invokevirtual org.jruby.RubyString.associateEncoding:(Lorg/jcodings/Encoding;)V
        18: .line 3640
            return
        end local 12 // org.jcodings.Encoding enc
        end local 11 // org.jruby.RubyString replStr
        end local 10 // int end
        end local 9 // int start
        end local 8 // int nth
        end local 7 // org.jruby.RubyMatchData match
        end local 6 // int result
        end local 5 // org.jruby.Ruby runtime
        end local 4 // org.jruby.runtime.builtin.IRubyObject repl
        end local 3 // org.jruby.runtime.builtin.IRubyObject backref
        end local 2 // org.jruby.RubyRegexp regexp
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lorg/jruby/RubyString;
            0   19     1  context  Lorg/jruby/runtime/ThreadContext;
            0   19     2   regexp  Lorg/jruby/RubyRegexp;
            0   19     3  backref  Lorg/jruby/runtime/builtin/IRubyObject;
            0   19     4     repl  Lorg/jruby/runtime/builtin/IRubyObject;
            1   19     5  runtime  Lorg/jruby/Ruby;
            2   19     6   result  I
            4   19     7    match  Lorg/jruby/RubyMatchData;
            7   19     8      nth  I
            9   11     9    start  I
           12   19     9    start  I
           10   11    10      end  I
           13   19    10      end  I
           15   19    11  replStr  Lorg/jruby/RubyString;
           16   19    12      enc  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      context  
      regexp   
      backref  
      repl     

  private org.jruby.runtime.builtin.IRubyObject subpat(org.jruby.runtime.ThreadContext, org.jruby.RubyRegexp, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyRegexp regex
        start local 3 // org.jruby.runtime.builtin.IRubyObject backref
         0: .line 3643
            aload 2 /* regex */
            aload 1 /* context */
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual org.jruby.RubyRegexp.search:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;IZ)I
            istore 4 /* result */
        start local 4 // int result
         1: .line 3645
            iload 4 /* result */
            iflt 4
         2: .line 3646
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getBackRef:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyMatchData
            astore 5 /* match */
        start local 5 // org.jruby.RubyMatchData match
         3: .line 3647
            aload 5 /* match */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* backref */
            invokevirtual org.jruby.RubyMatchData.backrefNumber:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)I
            aload 5 /* match */
            invokestatic org.jruby.RubyRegexp.nth_match:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jruby.RubyMatchData match
         4: .line 3650
      StackMap locals: int
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // int result
        end local 3 // org.jruby.runtime.builtin.IRubyObject backref
        end local 2 // org.jruby.RubyRegexp regex
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyString;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2    regex  Lorg/jruby/RubyRegexp;
            0    5     3  backref  Lorg/jruby/runtime/builtin/IRubyObject;
            1    5     4   result  I
            3    4     5    match  Lorg/jruby/RubyMatchData;
    MethodParameters:
         Name  Flags
      context  
      regex    
      backref  

  private org.jruby.runtime.builtin.IRubyObject subpat(org.jruby.runtime.ThreadContext, org.jruby.RubyRegexp);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyRegexp regex
         0: .line 3654
            aload 2 /* regex */
            aload 1 /* context */
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual org.jruby.RubyRegexp.search:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;IZ)I
            istore 3 /* result */
        start local 3 // int result
         1: .line 3656
            iload 3 /* result */
            iflt 3
         2: .line 3657
            iconst_0
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getBackRef:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyRegexp.nth_match:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 3660
      StackMap locals: int
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // int result
        end local 2 // org.jruby.RubyRegexp regex
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyString;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2    regex  Lorg/jruby/RubyRegexp;
            1    4     3   result  I
    MethodParameters:
         Name  Flags
      context  
      regex    

  public org.jruby.runtime.builtin.IRubyObject op_aset(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 3668
            aload 2 /* arg0 */
            instanceof org.jruby.RubyFixnum
            ifeq 2
         1: .line 3669
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            checkcast org.jruby.RubyFixnum
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/RubyFixnum;)I
            aload 3 /* arg1 */
            invokevirtual org.jruby.RubyString.op_aset:(Lorg/jruby/runtime/ThreadContext;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 3670
      StackMap locals:
      StackMap stack:
            aload 2 /* arg0 */
            instanceof org.jruby.RubyRegexp
            ifeq 5
         3: .line 3671
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            checkcast org.jruby.RubyRegexp
            aconst_null
            aload 3 /* arg1 */
            invokevirtual org.jruby.RubyString.subpatSet:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
         4: .line 3672
            aload 3 /* arg1 */
            areturn
         5: .line 3673
      StackMap locals:
      StackMap stack:
            aload 2 /* arg0 */
            instanceof org.jruby.RubyString
            ifeq 12
         6: .line 3674
            aload 2 /* arg0 */
            checkcast org.jruby.RubyString
            astore 4 /* orig */
        start local 4 // org.jruby.RubyString orig
         7: .line 3675
            aload 0 /* this */
            aload 4 /* orig */
            iconst_0
            aload 0 /* this */
            aload 4 /* orig */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.StringSupport.index:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;ILorg/jcodings/Encoding;)I
            istore 5 /* beg */
        start local 5 // int beg
         8: .line 3676
            iload 5 /* beg */
            ifge 9
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "string not matched"
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         9: .line 3677
      StackMap locals: org.jruby.RubyString int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* beg */
            invokevirtual org.jruby.RubyString.subLength:(I)I
            istore 5 /* beg */
        10: .line 3678
            aload 0 /* this */
            iload 5 /* beg */
            aload 4 /* orig */
            invokevirtual org.jruby.RubyString.strLength:()I
            aload 3 /* arg1 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.replaceInternal19:(IILorg/jruby/RubyString;)V
        11: .line 3679
            aload 3 /* arg1 */
            areturn
        end local 5 // int beg
        end local 4 // org.jruby.RubyString orig
        12: .line 3680
      StackMap locals:
      StackMap stack:
            aload 2 /* arg0 */
            instanceof org.jruby.RubyRange
            ifeq 16
        13: .line 3681
            aload 2 /* arg0 */
            checkcast org.jruby.RubyRange
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.strLength:()I
            iconst_2
            invokevirtual org.jruby.RubyRange.begLenInt:(II)[I
            astore 4 /* begLen */
        start local 4 // int[] begLen
        14: .line 3682
            aload 0 /* this */
            aload 4 /* begLen */
            iconst_0
            iaload
            aload 4 /* begLen */
            iconst_1
            iaload
            aload 3 /* arg1 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.replaceInternal19:(IILorg/jruby/RubyString;)V
        15: .line 3683
            aload 3 /* arg1 */
            areturn
        end local 4 // int[] begLen
        16: .line 3685
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            astore 4 /* sites */
        start local 4 // org.jruby.runtime.JavaSites$StringSites sites
        17: .line 3686
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.respond_to_begin:Lorg/jruby/runtime/callsite/RespondToCallSite;
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.respond_to_end:Lorg/jruby/runtime/callsite/RespondToCallSite;
            invokestatic org.jruby.RubyRange.isRangeLike:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/callsite/RespondToCallSite;Lorg/jruby/runtime/callsite/RespondToCallSite;)Z
            ifeq 22
        18: .line 3687
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.begin:Lorg/jruby/runtime/CallSite;
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.end:Lorg/jruby/runtime/CallSite;
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.exclude_end:Lorg/jruby/runtime/CallSite;
            invokestatic org.jruby.RubyRange.rangeFromRangeLike:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;)Lorg/jruby/RubyRange;
            astore 5 /* rng */
        start local 5 // org.jruby.RubyRange rng
        19: .line 3689
            aload 5 /* rng */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.strLength:()I
            iconst_2
            invokevirtual org.jruby.RubyRange.begLenInt:(II)[I
            astore 6 /* begLen */
        start local 6 // int[] begLen
        20: .line 3690
            aload 0 /* this */
            aload 6 /* begLen */
            iconst_0
            iaload
            aload 6 /* begLen */
            iconst_1
            iaload
            aload 3 /* arg1 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.replaceInternal19:(IILorg/jruby/RubyString;)V
        21: .line 3692
            aload 3 /* arg1 */
            areturn
        end local 6 // int[] begLen
        end local 5 // org.jruby.RubyRange rng
        end local 4 // org.jruby.runtime.JavaSites$StringSites sites
        22: .line 3695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            aload 3 /* arg1 */
            invokevirtual org.jruby.RubyString.op_aset:(Lorg/jruby/runtime/ThreadContext;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Lorg/jruby/RubyString;
            0   23     1  context  Lorg/jruby/runtime/ThreadContext;
            0   23     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0   23     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            7   12     4     orig  Lorg/jruby/RubyString;
            8   12     5      beg  I
           14   16     4   begLen  [I
           17   22     4    sites  Lorg/jruby/runtime/JavaSites$StringSites;
           19   22     5      rng  Lorg/jruby/RubyRange;
           20   22     6   begLen  [I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"[]="}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  private org.jruby.runtime.builtin.IRubyObject op_aset(org.jruby.runtime.ThreadContext, int, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // int idx
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 3699
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 2 /* idx */
            iconst_1
            aload 0 /* this */
            aload 3 /* arg1 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokestatic org.jruby.util.StringSupport.replaceInternal19:(Lorg/jruby/Ruby;IILorg/jruby/RubyString;Lorg/jruby/RubyString;)V
         1: .line 3700
            aload 3 /* arg1 */
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // int idx
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyString;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2      idx  I
            0    2     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      idx      
      arg1     

  public org.jruby.runtime.builtin.IRubyObject op_aset(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 3705
            aload 2 /* arg0 */
            instanceof org.jruby.RubyRegexp
            ifeq 3
         1: .line 3706
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            checkcast org.jruby.RubyRegexp
            aload 3 /* arg1 */
            aload 4 /* arg2 */
            invokevirtual org.jruby.RubyString.subpatSet:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 3707
            goto 8
         3: .line 3708
      StackMap locals:
      StackMap stack:
            aload 2 /* arg0 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 5 /* beg */
        start local 5 // int beg
         4: .line 3709
            aload 3 /* arg1 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 6 /* len */
        start local 6 // int len
         5: .line 3710
            aload 0 /* this */
            iload 6 /* len */
            invokevirtual org.jruby.RubyString.checkLength:(I)I
            pop
         6: .line 3711
            aload 4 /* arg2 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 7 /* repl */
        start local 7 // org.jruby.RubyString repl
         7: .line 3712
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 5 /* beg */
            iload 6 /* len */
            aload 0 /* this */
            aload 7 /* repl */
            invokestatic org.jruby.util.StringSupport.replaceInternal19:(Lorg/jruby/Ruby;IILorg/jruby/RubyString;Lorg/jruby/RubyString;)V
        end local 7 // org.jruby.RubyString repl
        end local 6 // int len
        end local 5 // int beg
         8: .line 3714
      StackMap locals:
      StackMap stack:
            aload 4 /* arg2 */
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyString;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     4     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            4    8     5      beg  I
            5    8     6      len  I
            7    8     7     repl  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"[]="}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      arg2     

  public org.jruby.runtime.builtin.IRubyObject slice_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 3719
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            invokevirtual org.jruby.RubyString.slice_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     

  public org.jruby.runtime.builtin.IRubyObject slice_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 3724
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            invokevirtual org.jruby.RubyString.slice_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  public org.jruby.runtime.builtin.IRubyObject slice_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 3732
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            invokevirtual org.jruby.RubyString.op_aref19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* result */
        start local 3 // org.jruby.runtime.builtin.IRubyObject result
         1: .line 3733
            aload 3 /* result */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 4
         2: .line 3734
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         3: .line 3735
            goto 5
         4: .line 3736
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         5: .line 3738
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject result
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyString;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     3   result  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"slice!"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     

  public org.jruby.runtime.builtin.IRubyObject slice_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 3743
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            invokevirtual org.jruby.RubyString.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* result */
        start local 4 // org.jruby.runtime.builtin.IRubyObject result
         1: .line 3744
            aload 4 /* result */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 4
         2: .line 3745
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         3: .line 3746
            goto 5
         4: .line 3747
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.op_aset19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         5: .line 3749
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject result
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyString;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     4   result  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"slice!"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  public org.jruby.runtime.builtin.IRubyObject succ19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 3754
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.succ:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject succ_bang19();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 3759
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.succ_bang:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public org.jruby.runtime.builtin.IRubyObject succ(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 3764
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 3766
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifle 4
         2: .line 3767
            new org.jruby.RubyString
            dup
            aload 2 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            aload 2 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.util.StringSupport.succCommon:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/util/ByteList;
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         3: .line 3769
            goto 5
        end local 3 // org.jruby.RubyString str
         4: .line 3770
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 2 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getType:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         5: .line 3772
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            aload 3 /* str */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            areturn
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyString;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            1    6     2  runtime  Lorg/jruby/Ruby;
            3    4     3      str  Lorg/jruby/RubyString;
            5    6     3      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"succ", "next"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject succ_bang();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 3777
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 3778
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifle 4
         2: .line 3779
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.util.StringSupport.succCommon:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/util/ByteList;
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         3: .line 3780
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyString.shareLevel:I
         4: .line 3783
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"succ!", "next!"})

  public final org.jruby.runtime.builtin.IRubyObject upto19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject end
        start local 3 // org.jruby.runtime.Block block
         0: .line 3788
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* end */
            aload 3 /* block */
            invokevirtual org.jruby.RubyString.upto:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject end
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      end  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      end      
      block    

  public final org.jruby.runtime.builtin.IRubyObject upto19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject end
        start local 3 // org.jruby.runtime.builtin.IRubyObject excl
        start local 4 // org.jruby.runtime.Block block
         0: .line 3793
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* end */
            aload 3 /* excl */
            aload 4 /* block */
            invokevirtual org.jruby.RubyString.upto:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject excl
        end local 2 // org.jruby.runtime.builtin.IRubyObject end
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      end  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     excl  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      end      
      excl     
      block    

  public final org.jruby.runtime.builtin.IRubyObject upto(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject end
        start local 3 // org.jruby.runtime.Block block
         0: .line 3801
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 3802
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 2
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* end */
            iconst_0
            aload 3 /* block */
            invokevirtual org.jruby.RubyString.uptoCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;ZLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 3
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         2: aload 4 /* runtime */
            aload 0 /* this */
            ldc "upto"
            aload 2 /* end */
            invokestatic org.jruby.RubyEnumerator.enumeratorize:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         3: areturn
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject end
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyString;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2      end  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     3    block  Lorg/jruby/runtime/Block;
            1    4     4  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"upto"})
    MethodParameters:
         Name  Flags
      context  
      end      
      block    

  public final org.jruby.runtime.builtin.IRubyObject upto(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject end
        start local 3 // org.jruby.runtime.builtin.IRubyObject excl
        start local 4 // org.jruby.runtime.Block block
         0: .line 3807
            aload 4 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* end */
            aload 3 /* excl */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            aload 4 /* block */
            invokevirtual org.jruby.RubyString.uptoCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;ZLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
         1: .line 3808
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            ldc "upto"
            iconst_2
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* end */
            aastore
            dup
            iconst_1
            aload 3 /* excl */
            aastore
            invokestatic org.jruby.RubyEnumerator.enumeratorize:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
         2: .line 3807
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject excl
        end local 2 // org.jruby.runtime.builtin.IRubyObject end
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      end  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3     excl  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     4    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"upto"})
    MethodParameters:
         Name  Flags
      context  
      end      
      excl     
      block    

  final org.jruby.runtime.builtin.IRubyObject uptoCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, boolean, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;ZLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
        start local 3 // boolean excl
        start local 4 // org.jruby.runtime.Block block
         0: .line 3812
            aload 2 /* arg */
            instanceof org.jruby.RubySymbol
            ifeq 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "can't convert Symbol into String"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 3813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            iload 3 /* excl */
            aload 4 /* block */
            iconst_0
            invokevirtual org.jruby.RubyString.uptoCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;ZLorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // boolean excl
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyString;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3     excl  Z
            0    2     4    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      arg      
      excl     
      block    

  final org.jruby.runtime.builtin.IRubyObject uptoCommon(org.jruby.runtime.ThreadContext, org.jruby.RubyString, boolean, org.jruby.runtime.Block, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;ZLorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=21, args_size=6
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyString end
        start local 3 // boolean excl
        start local 4 // org.jruby.runtime.Block block
        start local 5 // boolean asSymbol
         0: .line 3817
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 6 /* runtime */
        start local 6 // org.jruby.Ruby runtime
         1: .line 3819
            aload 0 /* this */
            aload 2 /* end */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 7 /* enc */
        start local 7 // org.jcodings.Encoding enc
         2: .line 3820
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.scanForCodeRange:()I
            bipush 16
            if_icmpne 3
            aload 2 /* end */
            invokevirtual org.jruby.RubyString.scanForCodeRange:()I
            bipush 16
            if_icmpne 3
            iconst_1
            goto 4
      StackMap locals: org.jruby.Ruby org.jcodings.Encoding
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 8 /* isAscii */
        start local 8 // boolean isAscii
         5: .line 3821
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iconst_1
            if_icmpne 18
            aload 2 /* end */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iconst_1
            if_icmpne 18
            iload 8 /* isAscii */
            ifeq 18
         6: .line 3822
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            baload
            istore 9 /* c */
        start local 9 // byte c
         7: .line 3823
            aload 2 /* end */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 2 /* end */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            baload
            istore 10 /* e */
        start local 10 // byte e
         8: .line 3824
            iload 9 /* c */
            iload 10 /* e */
            if_icmpgt 9
            iload 3 /* excl */
            ifeq 10
            iload 9 /* c */
            iload 10 /* e */
            if_icmpne 10
      StackMap locals: int int int
      StackMap stack:
         9: aload 0 /* this */
            areturn
        10: .line 3826
      StackMap locals:
      StackMap stack:
            iload 9 /* c */
            invokestatic org.jruby.RubyInteger.singleCharByteList:(B)Lorg/jruby/util/ByteList;
            astore 11 /* s */
        start local 11 // org.jruby.util.ByteList s
        11: .line 3827
            aload 4 /* block */
            aload 1 /* context */
            iload 5 /* asSymbol */
            ifeq 12
            aload 6 /* runtime */
            aload 11 /* s */
            invokevirtual org.jruby.Ruby.newSymbol:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
            goto 13
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyString int org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding int int int org.jruby.util.ByteList
      StackMap stack: org.jruby.runtime.Block org.jruby.runtime.ThreadContext
        12: aload 6 /* runtime */
            aload 11 /* s */
            aload 7 /* enc */
            bipush 16
            invokestatic org.jruby.RubyString.newStringShared:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)Lorg/jruby/RubyString;
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyString int org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding int int int org.jruby.util.ByteList
      StackMap stack: org.jruby.runtime.Block org.jruby.runtime.ThreadContext org.jruby.RubyObject
        13: invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        14: .line 3829
            iload 3 /* excl */
            ifne 15
            iload 9 /* c */
            iload 10 /* e */
            if_icmpne 15
            goto 17
        15: .line 3830
      StackMap locals:
      StackMap stack:
            iload 9 /* c */
            iconst_1
            iadd
            i2b
            istore 9 /* c */
        16: .line 3831
            iload 3 /* excl */
            ifeq 10
            iload 9 /* c */
            iload 10 /* e */
            if_icmpne 10
        end local 11 // org.jruby.util.ByteList s
        17: .line 3833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 10 // byte e
        end local 9 // byte c
        18: .line 3834
      StackMap locals:
      StackMap stack:
            iload 8 /* isAscii */
            ifeq 66
            getstatic org.jruby.RubyString.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            baload
            invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
            ifeq 66
            getstatic org.jruby.RubyString.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            aload 2 /* end */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 2 /* end */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            baload
            invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
            ifeq 66
        19: .line 3835
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 9 /* s */
        start local 9 // int s
        20: .line 3836
            iload 9 /* s */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 10 /* send */
        start local 10 // int send
        21: .line 3837
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 11 /* bytes */
        start local 11 // byte[] bytes
        22: .line 3839
            goto 25
        23: .line 3840
      StackMap locals: int int byte[]
      StackMap stack:
            getstatic org.jruby.RubyString.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            aload 11 /* bytes */
            iload 9 /* s */
            baload
            sipush 255
            iand
            invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
            ifne 24
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* end */
            iload 3 /* excl */
            aload 4 /* block */
            iload 5 /* asSymbol */
            invokevirtual org.jruby.RubyString.uptoCommonNoDigits:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;ZLorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        24: .line 3841
      StackMap locals:
      StackMap stack:
            iinc 9 /* s */ 1
        25: .line 3839
      StackMap locals:
      StackMap stack:
            iload 9 /* s */
            iload 10 /* send */
            if_icmplt 23
        26: .line 3843
            aload 2 /* end */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 9 /* s */
        27: .line 3844
            iload 9 /* s */
            aload 2 /* end */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 10 /* send */
        28: .line 3845
            aload 2 /* end */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 11 /* bytes */
        29: .line 3847
            goto 32
        30: .line 3848
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyString.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            aload 11 /* bytes */
            iload 9 /* s */
            baload
            sipush 255
            iand
            invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
            ifne 31
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* end */
            iload 3 /* excl */
            aload 4 /* block */
            iload 5 /* asSymbol */
            invokevirtual org.jruby.RubyString.uptoCommonNoDigits:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;ZLorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        31: .line 3849
      StackMap locals:
      StackMap stack:
            iinc 9 /* s */ 1
        32: .line 3847
      StackMap locals:
      StackMap stack:
            iload 9 /* s */
            iload 10 /* send */
            if_icmplt 30
        33: .line 3852
            aload 0 /* this */
            bipush 10
            invokevirtual org.jruby.RubyString.stringToInum:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* b */
        start local 12 // org.jruby.runtime.builtin.IRubyObject b
        34: .line 3853
            aload 2 /* end */
            bipush 10
            invokevirtual org.jruby.RubyString.stringToInum:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 13 /* e */
        start local 13 // org.jruby.runtime.builtin.IRubyObject e
        35: .line 3855
            aload 6 /* runtime */
            aload 6 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            astore 14 /* argsArr */
        start local 14 // org.jruby.RubyArray argsArr
        36: .line 3857
            aload 12 /* b */
            instanceof org.jruby.RubyFixnum
            ifeq 51
            aload 13 /* e */
            instanceof org.jruby.RubyFixnum
            ifeq 51
        37: .line 3858
            aload 12 /* b */
            invokestatic org.jruby.RubyNumeric.fix2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 15 /* bl */
        start local 15 // long bl
        38: .line 3859
            aload 13 /* e */
            invokestatic org.jruby.RubyNumeric.fix2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 17 /* el */
        start local 17 // long el
        39: .line 3861
            goto 49
        40: .line 3862
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyString int org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding int int int byte[] org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray long long
      StackMap stack:
            iload 3 /* excl */
            ifeq 41
            lload 15 /* bl */
            lload 17 /* el */
            lcmp
            ifne 41
            goto 65
        41: .line 3863
      StackMap locals:
      StackMap stack:
            aload 14 /* argsArr */
            iconst_1
            aload 6 /* runtime */
            lload 15 /* bl */
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyArray.eltSetOk:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        42: .line 3864
            new org.jruby.util.ByteList
            dup
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            iconst_5
            iadd
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            astore 19 /* to */
        start local 19 // org.jruby.util.ByteList to
        43: .line 3865
            aload 19 /* to */
            ldc "%.*d"
            aload 14 /* argsArr */
            invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            pop
        44: .line 3866
            aload 6 /* runtime */
            aload 19 /* to */
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            bipush 16
            invokestatic org.jruby.RubyString.newStringNoCopy:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)Lorg/jruby/RubyString;
            astore 20 /* str */
        start local 20 // org.jruby.RubyString str
        45: .line 3867
            aload 4 /* block */
            aload 1 /* context */
            iload 5 /* asSymbol */
            ifeq 46
            aload 6 /* runtime */
            aload 20 /* str */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            goto 47
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyString int org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding int int int byte[] org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray long long org.jruby.util.ByteList org.jruby.RubyString
      StackMap stack: org.jruby.runtime.Block org.jruby.runtime.ThreadContext
        46: aload 20 /* str */
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyString int org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding int int int byte[] org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray long long org.jruby.util.ByteList org.jruby.RubyString
      StackMap stack: org.jruby.runtime.Block org.jruby.runtime.ThreadContext org.jruby.RubyObject
        47: invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        48: .line 3868
            lload 15 /* bl */
            lconst_1
            ladd
            lstore 15 /* bl */
        end local 20 // org.jruby.RubyString str
        end local 19 // org.jruby.util.ByteList to
        49: .line 3861
      StackMap locals:
      StackMap stack:
            lload 15 /* bl */
            lload 17 /* el */
            lcmp
            ifle 40
        end local 17 // long el
        end local 15 // long bl
        50: .line 3870
            goto 65
        51: .line 3871
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            astore 15 /* sites */
        start local 15 // org.jruby.runtime.JavaSites$StringSites sites
        52: .line 3872
            iload 3 /* excl */
            ifeq 53
            aload 15 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.op_lt:Lorg/jruby/runtime/CallSite;
            goto 54
      StackMap locals: org.jruby.runtime.JavaSites$StringSites
      StackMap stack:
        53: aload 15 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.op_le:Lorg/jruby/runtime/CallSite;
      StackMap locals:
      StackMap stack: org.jruby.runtime.CallSite
        54: astore 16 /* op */
        start local 16 // org.jruby.runtime.CallSite op
        55: .line 3874
            goto 64
        56: .line 3875
      StackMap locals: org.jruby.runtime.CallSite
      StackMap stack:
            aload 14 /* argsArr */
            iconst_1
            aload 12 /* b */
            invokevirtual org.jruby.RubyArray.eltSetOk:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        57: .line 3876
            new org.jruby.util.ByteList
            dup
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            iconst_5
            iadd
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            astore 17 /* to */
        start local 17 // org.jruby.util.ByteList to
        58: .line 3877
            aload 17 /* to */
            ldc "%.*d"
            aload 14 /* argsArr */
            invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            pop
        59: .line 3878
            aload 6 /* runtime */
            aload 17 /* to */
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            bipush 16
            invokestatic org.jruby.RubyString.newStringNoCopy:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;I)Lorg/jruby/RubyString;
            astore 18 /* str */
        start local 18 // org.jruby.RubyString str
        60: .line 3879
            aload 4 /* block */
            aload 1 /* context */
            iload 5 /* asSymbol */
            ifeq 61
            aload 6 /* runtime */
            aload 18 /* str */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            goto 62
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyString int org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding int int int byte[] org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray org.jruby.runtime.JavaSites$StringSites org.jruby.runtime.CallSite org.jruby.util.ByteList org.jruby.RubyString
      StackMap stack: org.jruby.runtime.Block org.jruby.runtime.ThreadContext
        61: aload 18 /* str */
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyString int org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding int int int byte[] org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray org.jruby.runtime.JavaSites$StringSites org.jruby.runtime.CallSite org.jruby.util.ByteList org.jruby.RubyString
      StackMap stack: org.jruby.runtime.Block org.jruby.runtime.ThreadContext org.jruby.RubyObject
        62: invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        63: .line 3880
            aload 15 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.succ:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 12 /* b */
            aload 12 /* b */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* b */
        end local 18 // org.jruby.RubyString str
        end local 17 // org.jruby.util.ByteList to
        64: .line 3874
      StackMap locals:
      StackMap stack:
            aload 16 /* op */
            aload 1 /* context */
            aload 12 /* b */
            aload 12 /* b */
            aload 13 /* e */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifne 56
        end local 16 // org.jruby.runtime.CallSite op
        end local 15 // org.jruby.runtime.JavaSites$StringSites sites
        65: .line 3883
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 14 // org.jruby.RubyArray argsArr
        end local 13 // org.jruby.runtime.builtin.IRubyObject e
        end local 12 // org.jruby.runtime.builtin.IRubyObject b
        end local 11 // byte[] bytes
        end local 10 // int send
        end local 9 // int s
        66: .line 3886
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyString int org.jruby.runtime.Block int org.jruby.Ruby org.jcodings.Encoding int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* end */
            iload 3 /* excl */
            aload 4 /* block */
            iload 5 /* asSymbol */
            invokevirtual org.jruby.RubyString.uptoCommonNoDigits:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;ZLorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 8 // boolean isAscii
        end local 7 // org.jcodings.Encoding enc
        end local 6 // org.jruby.Ruby runtime
        end local 5 // boolean asSymbol
        end local 4 // org.jruby.runtime.Block block
        end local 3 // boolean excl
        end local 2 // org.jruby.RubyString end
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   67     0      this  Lorg/jruby/RubyString;
            0   67     1   context  Lorg/jruby/runtime/ThreadContext;
            0   67     2       end  Lorg/jruby/RubyString;
            0   67     3      excl  Z
            0   67     4     block  Lorg/jruby/runtime/Block;
            0   67     5  asSymbol  Z
            1   67     6   runtime  Lorg/jruby/Ruby;
            2   67     7       enc  Lorg/jcodings/Encoding;
            5   67     8   isAscii  Z
            7   18     9         c  B
            8   18    10         e  B
           11   17    11         s  Lorg/jruby/util/ByteList;
           20   66     9         s  I
           21   66    10      send  I
           22   66    11     bytes  [B
           34   66    12         b  Lorg/jruby/runtime/builtin/IRubyObject;
           35   66    13         e  Lorg/jruby/runtime/builtin/IRubyObject;
           36   66    14   argsArr  Lorg/jruby/RubyArray;
           38   50    15        bl  J
           39   50    17        el  J
           43   49    19        to  Lorg/jruby/util/ByteList;
           45   49    20       str  Lorg/jruby/RubyString;
           52   65    15     sites  Lorg/jruby/runtime/JavaSites$StringSites;
           55   65    16        op  Lorg/jruby/runtime/CallSite;
           58   64    17        to  Lorg/jruby/util/ByteList;
           60   64    18       str  Lorg/jruby/RubyString;
    MethodParameters:
          Name  Flags
      context   
      end       
      excl      
      block     
      asSymbol  

  private org.jruby.runtime.builtin.IRubyObject uptoCommonNoDigits(org.jruby.runtime.ThreadContext, org.jruby.RubyString, boolean, org.jruby.runtime.Block, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;ZLorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=13, args_size=6
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyString end
        start local 3 // boolean excl
        start local 4 // org.jruby.runtime.Block block
        start local 5 // boolean asSymbol
         0: .line 3890
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 6 /* runtime */
        start local 6 // org.jruby.Ruby runtime
         1: .line 3891
            aload 0 /* this */
            aload 2 /* end */
            invokevirtual org.jruby.RubyString.op_cmp:(Lorg/jruby/RubyString;)I
            istore 7 /* n */
        start local 7 // int n
         2: .line 3892
            iload 7 /* n */
            ifgt 3
            iload 3 /* excl */
            ifeq 4
            iload 7 /* n */
            ifne 4
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
         3: aload 0 /* this */
            areturn
         4: .line 3893
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            astore 8 /* sites */
        start local 8 // org.jruby.runtime.JavaSites$StringSites sites
         5: .line 3894
            aload 8 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.succ:Lorg/jruby/runtime/CallSite;
            astore 9 /* succ */
        start local 9 // org.jruby.runtime.CallSite succ
         6: .line 3895
            aload 9 /* succ */
            aload 1 /* context */
            aload 2 /* end */
            aload 2 /* end */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* afterEnd */
        start local 10 // org.jruby.runtime.builtin.IRubyObject afterEnd
         7: .line 3896
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 11 /* current */
        start local 11 // org.jruby.RubyString current
         8: .line 3898
            goto 19
         9: .line 3899
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyString int org.jruby.runtime.Block int org.jruby.Ruby int org.jruby.runtime.JavaSites$StringSites org.jruby.runtime.CallSite org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString
      StackMap stack:
            aconst_null
            astore 12 /* next */
        start local 12 // org.jruby.runtime.builtin.IRubyObject next
        10: .line 3900
            iload 3 /* excl */
            ifne 11
            aload 11 /* current */
            aload 1 /* context */
            aload 2 /* end */
            invokevirtual org.jruby.RubyString.op_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifne 12
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
        11: aload 9 /* succ */
            aload 1 /* context */
            aload 11 /* current */
            aload 11 /* current */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* next */
        12: .line 3901
      StackMap locals:
      StackMap stack:
            aload 4 /* block */
            aload 1 /* context */
            iload 5 /* asSymbol */
            ifeq 13
            aload 6 /* runtime */
            aload 11 /* current */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            goto 14
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyString int org.jruby.runtime.Block int org.jruby.Ruby int org.jruby.runtime.JavaSites$StringSites org.jruby.runtime.CallSite org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.runtime.Block org.jruby.runtime.ThreadContext
        13: aload 11 /* current */
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyString int org.jruby.runtime.Block int org.jruby.Ruby int org.jruby.runtime.JavaSites$StringSites org.jruby.runtime.CallSite org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.runtime.Block org.jruby.runtime.ThreadContext org.jruby.RubyObject
        14: invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        15: .line 3902
            aload 12 /* next */
            ifnonnull 16
            goto 20
        16: .line 3903
      StackMap locals:
      StackMap stack:
            aload 12 /* next */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 11 /* current */
        17: .line 3904
            iload 3 /* excl */
            ifeq 18
            aload 11 /* current */
            aload 1 /* context */
            aload 2 /* end */
            invokevirtual org.jruby.RubyString.op_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 18
            goto 20
        18: .line 3905
      StackMap locals:
      StackMap stack:
            aload 11 /* current */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            aload 2 /* end */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            if_icmpgt 20
            aload 11 /* current */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            ifne 19
            goto 20
        end local 12 // org.jruby.runtime.builtin.IRubyObject next
        19: .line 3898
      StackMap locals:
      StackMap stack:
            aload 11 /* current */
            aload 1 /* context */
            aload 10 /* afterEnd */
            invokevirtual org.jruby.RubyString.op_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 9
        20: .line 3907
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 11 // org.jruby.RubyString current
        end local 10 // org.jruby.runtime.builtin.IRubyObject afterEnd
        end local 9 // org.jruby.runtime.CallSite succ
        end local 8 // org.jruby.runtime.JavaSites$StringSites sites
        end local 7 // int n
        end local 6 // org.jruby.Ruby runtime
        end local 5 // boolean asSymbol
        end local 4 // org.jruby.runtime.Block block
        end local 3 // boolean excl
        end local 2 // org.jruby.RubyString end
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lorg/jruby/RubyString;
            0   21     1   context  Lorg/jruby/runtime/ThreadContext;
            0   21     2       end  Lorg/jruby/RubyString;
            0   21     3      excl  Z
            0   21     4     block  Lorg/jruby/runtime/Block;
            0   21     5  asSymbol  Z
            1   21     6   runtime  Lorg/jruby/Ruby;
            2   21     7         n  I
            5   21     8     sites  Lorg/jruby/runtime/JavaSites$StringSites;
            6   21     9      succ  Lorg/jruby/runtime/CallSite;
            7   21    10  afterEnd  Lorg/jruby/runtime/builtin/IRubyObject;
            8   21    11   current  Lorg/jruby/RubyString;
           10   19    12      next  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
          Name  Flags
      context   
      end       
      excl      
      block     
      asSymbol  

  public final org.jruby.RubyBoolean include_p19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 3912
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* obj */
            invokevirtual org.jruby.RubyString.include_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      obj      

  public org.jruby.RubyBoolean include_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 3920
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 3921
            aload 2 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 4 /* coerced */
        start local 4 // org.jruby.RubyString coerced
         2: .line 3922
            aload 0 /* this */
            aload 4 /* coerced */
            iconst_0
            aload 0 /* this */
            aload 4 /* coerced */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.StringSupport.index:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;ILorg/jcodings/Encoding;)I
            iconst_m1
            if_icmpne 3
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
            goto 4
      StackMap locals: org.jruby.Ruby org.jruby.RubyString
      StackMap stack:
         3: aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
      StackMap locals:
      StackMap stack: org.jruby.RubyBoolean
         4: areturn
        end local 4 // org.jruby.RubyString coerced
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyString;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            1    5     3  runtime  Lorg/jruby/Ruby;
            2    5     4  coerced  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"include?"})
    MethodParameters:
         Name  Flags
      context  
      obj      

  public org.jruby.runtime.builtin.IRubyObject chr(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 3927
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iconst_0
            iconst_1
            invokevirtual org.jruby.RubyString.substr19:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject getbyte(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject index
         0: .line 3932
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 3933
            aload 2 /* index */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 4 /* i */
        start local 4 // int i
         2: .line 3934
            iload 4 /* i */
            ifge 3
            iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 4 /* i */
         3: .line 3935
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
            iload 4 /* i */
            iflt 4
            iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            if_icmplt 5
      StackMap locals:
      StackMap stack:
         4: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 3936
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            iload 4 /* i */
            iadd
            baload
            sipush 255
            iand
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        end local 4 // int i
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject index
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyString;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2    index  Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     3  runtime  Lorg/jruby/Ruby;
            2    6     4        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      index    

  public org.jruby.runtime.builtin.IRubyObject setbyte(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject index
        start local 3 // org.jruby.runtime.builtin.IRubyObject val
         0: .line 3941
            aload 2 /* index */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 4 /* i */
        start local 4 // int i
         1: .line 3942
            aload 3 /* val */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 5 /* b */
        start local 5 // int b
         2: .line 3943
            aload 0 /* this */
            iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            invokevirtual org.jruby.RubyString.checkIndexForRef:(II)I
            istore 6 /* normalizedIndex */
        start local 6 // int normalizedIndex
         3: .line 3945
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modify19:()V
         4: .line 3946
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 6 /* normalizedIndex */
            iload 5 /* b */
            i2b
            bastore
         5: .line 3947
            aload 3 /* val */
            areturn
        end local 6 // int normalizedIndex
        end local 5 // int b
        end local 4 // int i
        end local 3 // org.jruby.runtime.builtin.IRubyObject val
        end local 2 // org.jruby.runtime.builtin.IRubyObject index
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/jruby/RubyString;
            0    6     1          context  Lorg/jruby/runtime/ThreadContext;
            0    6     2            index  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3              val  Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     4                i  I
            2    6     5                b  I
            3    6     6  normalizedIndex  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      index    
      val      

  public org.jruby.runtime.builtin.IRubyObject to_i();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 3955
            aload 0 /* this */
            bipush 10
            invokevirtual org.jruby.RubyString.stringToInum:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_i"})

  public org.jruby.runtime.builtin.IRubyObject to_i(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 3963
            aload 1 /* arg0 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            l2i
            istore 2 /* base */
        start local 2 // int base
         1: .line 3964
            iload 2 /* base */
            ifge 3
         2: .line 3965
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "illegal radix "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* base */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 3967
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* base */
            invokevirtual org.jruby.RubyString.stringToInum:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // int base
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/RubyString;
            0    4     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     2  base  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_i"})
    MethodParameters:
      Name  Flags
      arg0  

  public org.jruby.runtime.builtin.IRubyObject to_i19();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 3972
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.to_i:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public org.jruby.runtime.builtin.IRubyObject to_i19(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 3977
            aload 0 /* this */
            aload 1 /* arg0 */
            invokevirtual org.jruby.RubyString.to_i:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      arg0  

  public org.jruby.runtime.builtin.IRubyObject stringToInum(int, boolean);
    descriptor: (IZ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // int base
        start local 2 // boolean badcheck
         0: .line 3984
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 3 /* str */
        start local 3 // org.jruby.util.ByteList str
         1: .line 3985
            aload 3 /* str */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifne 3
         2: .line 3986
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "ASCII incompatible encoding: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* str */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newEncodingCompatibilityError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 3989
      StackMap locals: org.jruby.util.ByteList
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 3 /* str */
            iload 1 /* base */
            iload 2 /* badcheck */
            invokestatic org.jruby.util.ConvertBytes.byteListToInum:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/RubyInteger;
            areturn
        end local 3 // org.jruby.util.ByteList str
        end local 2 // boolean badcheck
        end local 1 // int base
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/RubyString;
            0    4     1      base  I
            0    4     2  badcheck  Z
            1    4     3       str  Lorg/jruby/util/ByteList;
    MethodParameters:
          Name  Flags
      base      
      badcheck  

  public final org.jruby.runtime.builtin.IRubyObject stringToInum(int);
    descriptor: (I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int base
         0: .line 3993
            aload 0 /* this */
            iload 1 /* base */
            iconst_0
            invokevirtual org.jruby.RubyString.stringToInum:(IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // int base
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1  base  I
    MethodParameters:
      Name  Flags
      base  

  public final org.jruby.runtime.builtin.IRubyObject stringToInum19(int, boolean);
    descriptor: (IZ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // int base
        start local 2 // boolean badcheck
         0: .line 3998
            aload 0 /* this */
            iload 1 /* base */
            iload 2 /* badcheck */
            invokevirtual org.jruby.RubyString.stringToInum:(IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // boolean badcheck
        end local 1 // int base
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/jruby/RubyString;
            0    1     1      base  I
            0    1     2  badcheck  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      base      
      badcheck  

  public org.jruby.runtime.builtin.IRubyObject oct(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4006
            aload 0 /* this */
            bipush -8
            iconst_0
            invokevirtual org.jruby.RubyString.stringToInum:(IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"oct"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject oct19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4011
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.oct:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject hex(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4019
            aload 0 /* this */
            bipush 16
            iconst_0
            invokevirtual org.jruby.RubyString.stringToInum:(IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"hex"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject hex19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4024
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.hex:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject to_f();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 4032
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            iconst_0
            invokestatic org.jruby.RubyNumeric.str2fnum:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;Z)Lorg/jruby/RubyFloat;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_f"})

  public org.jruby.runtime.builtin.IRubyObject to_f19();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 4037
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.to_f:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public org.jruby.RubyArray split19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4045
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.split:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyArray split19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 4048
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            invokevirtual org.jruby.RubyString.split:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     

  public org.jruby.RubyArray split19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 4051
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            invokevirtual org.jruby.RubyString.split:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  private void populateCapturesForSplit(org.jruby.Ruby, org.jruby.RubyArray, org.jruby.RubyMatchData);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/RubyMatchData;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyArray result
        start local 3 // org.jruby.RubyMatchData match
         0: .line 4054
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         1: goto 6
         2: .line 4055
      StackMap locals: int
      StackMap stack:
            aload 3 /* match */
            iload 4 /* i */
            invokevirtual org.jruby.RubyMatchData.begin:(I)I
            istore 5 /* beg */
        start local 5 // int beg
         3: .line 4056
            iload 5 /* beg */
            iconst_m1
            if_icmpne 4
            goto 5
         4: .line 4057
      StackMap locals: int
      StackMap stack:
            aload 2 /* result */
            aload 0 /* this */
            aload 1 /* runtime */
            iload 5 /* beg */
            aload 3 /* match */
            iload 4 /* i */
            invokevirtual org.jruby.RubyMatchData.end:(I)I
            iload 5 /* beg */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        end local 5 // int beg
         5: .line 4054
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            aload 3 /* match */
            invokevirtual org.jruby.RubyMatchData.numRegs:()I
            if_icmplt 2
        end local 4 // int i
         7: .line 4059
            return
        end local 3 // org.jruby.RubyMatchData match
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyString;
            0    8     1  runtime  Lorg/jruby/Ruby;
            0    8     2   result  Lorg/jruby/RubyArray;
            0    8     3    match  Lorg/jruby/RubyMatchData;
            1    7     4        i  I
            3    5     5      beg  I
    MethodParameters:
         Name  Flags
      runtime  
      result   
      match    

  public org.jruby.RubyArray split(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4063
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyString.split:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"split"}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyArray split(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 4068
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            iconst_0
            iconst_0
            iconst_0
            iconst_1
            invokevirtual org.jruby.RubyString.splitCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;ZIIZ)Lorg/jruby/RubyArray;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"split"}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     

  public org.jruby.RubyArray split(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 4073
            aload 3 /* arg1 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 4 /* lim */
        start local 4 // int lim
         1: .line 4074
            iload 4 /* lim */
            ifgt 3
         2: .line 4075
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            iconst_0
            iload 4 /* lim */
            iconst_1
            iconst_1
            invokevirtual org.jruby.RubyString.splitCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;ZIIZ)Lorg/jruby/RubyArray;
            areturn
         3: .line 4077
      StackMap locals: int
      StackMap stack:
            iload 4 /* lim */
            iconst_1
            if_icmpne 8
         4: .line 4078
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         5: .line 4079
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 6
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
            goto 7
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         6: aload 5 /* runtime */
            aload 0 /* this */
            aload 5 /* runtime */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
         7: areturn
        end local 5 // org.jruby.Ruby runtime
         8: .line 4081
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            iconst_1
            iload 4 /* lim */
            iconst_1
            iconst_1
            invokevirtual org.jruby.RubyString.splitCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;ZIIZ)Lorg/jruby/RubyArray;
            areturn
        end local 4 // int lim
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyString;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            1    9     4      lim  I
            5    8     5  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"split"}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  public org.jruby.RubyArray split19(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.ThreadContext, boolean);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject spat
        start local 2 // org.jruby.runtime.ThreadContext context
        start local 3 // boolean useBackref
         0: .line 4087
            aload 0 /* this */
            aload 2 /* context */
            aload 1 /* spat */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.realSize:()I
            iconst_0
            iload 3 /* useBackref */
            invokevirtual org.jruby.RubyString.splitCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;ZIIZ)Lorg/jruby/RubyArray;
            areturn
        end local 3 // boolean useBackref
        end local 2 // org.jruby.runtime.ThreadContext context
        end local 1 // org.jruby.runtime.builtin.IRubyObject spat
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/jruby/RubyString;
            0    1     1        spat  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2     context  Lorg/jruby/runtime/ThreadContext;
            0    1     3  useBackref  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      spat        
      context     
      useBackref  

  final org.jruby.RubyArray split(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.ThreadContext, boolean);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyArray;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject spat
        start local 2 // org.jruby.runtime.ThreadContext context
        start local 3 // boolean useBackref
         0: .line 4091
            aload 0 /* this */
            aload 2 /* context */
            aload 1 /* spat */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.realSize:()I
            iconst_0
            iload 3 /* useBackref */
            invokevirtual org.jruby.RubyString.splitCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;ZIIZ)Lorg/jruby/RubyArray;
            areturn
        end local 3 // boolean useBackref
        end local 2 // org.jruby.runtime.ThreadContext context
        end local 1 // org.jruby.runtime.builtin.IRubyObject spat
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/jruby/RubyString;
            0    1     1        spat  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2     context  Lorg/jruby/runtime/ThreadContext;
            0    1     3  useBackref  Z
    MethodParameters:
            Name  Flags
      spat        
      context     
      useBackref  

  private org.jruby.RubyArray splitCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, boolean, int, int, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;ZIIZ)Lorg/jruby/RubyArray;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=14, args_size=7
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject spat
        start local 3 // boolean limit
        start local 4 // int lim
        start local 5 // int i
        start local 6 // boolean useBackref
         0: .line 4097
            aload 2 /* spat */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
            ldc "$;"
            invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            dup
            astore 2 /* spat */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 3
         1: .line 4098
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 3 /* limit */
            iload 4 /* lim */
            iload 5 /* i */
            invokevirtual org.jruby.RubyString.awkSplit:(Lorg/jruby/Ruby;ZII)Lorg/jruby/RubyArray;
            astore 7 /* result */
        start local 7 // org.jruby.RubyArray result
         2: .line 4099
            goto 28
        end local 7 // org.jruby.RubyArray result
         3: .line 4100
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 2 /* spat */
            iconst_0
            invokestatic org.jruby.RubyString.getPatternQuoted:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* spat */
         4: .line 4101
            aload 2 /* spat */
            instanceof org.jruby.RubyString
            ifeq 27
         5: .line 4102
            aload 2 /* spat */
            checkcast org.jruby.RubyString
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 8 /* spatValue */
        start local 8 // org.jruby.util.ByteList spatValue
         6: .line 4103
            aload 8 /* spatValue */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 9 /* len */
        start local 9 // int len
         7: .line 4104
            aload 8 /* spatValue */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 10 /* spatEnc */
        start local 10 // org.jcodings.Encoding spatEnc
         8: .line 4105
            aload 2 /* spat */
            checkcast org.jruby.RubyString
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.mustnotBroken:(Lorg/jruby/runtime/ThreadContext;)V
         9: .line 4106
            iload 9 /* len */
            ifne 13
        10: .line 4108
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* spat */
            checkcast org.jruby.RubyString
            iconst_0
            invokestatic org.jruby.RubyRegexp.newRegexpFromStr:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;I)Lorg/jruby/RubyRegexp;
            astore 11 /* pattern */
        start local 11 // org.jruby.RubyRegexp pattern
        11: .line 4109
            aload 0 /* this */
            aload 1 /* context */
            aload 11 /* pattern */
            iload 3 /* limit */
            iload 4 /* lim */
            iload 5 /* i */
            iload 6 /* useBackref */
            invokevirtual org.jruby.RubyString.regexSplit:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;ZIIZ)Lorg/jruby/RubyArray;
            astore 7 /* result */
        end local 11 // org.jruby.RubyRegexp pattern
        start local 7 // org.jruby.RubyArray result
        12: .line 4110
            goto 28
        end local 7 // org.jruby.RubyArray result
        13: .line 4112
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int int int int top org.jruby.util.ByteList int org.jcodings.Encoding
      StackMap stack:
            aload 8 /* spatValue */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 12 /* bytes */
        start local 12 // byte[] bytes
        14: .line 4113
            aload 8 /* spatValue */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 13 /* p */
        start local 13 // int p
        15: .line 4114
            aload 10 /* spatEnc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifeq 20
        16: .line 4115
            iload 9 /* len */
            iconst_1
            if_icmpne 17
            aload 12 /* bytes */
            iload 13 /* p */
            baload
            sipush 255
            iand
            goto 18
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int int int int top org.jruby.util.ByteList int org.jcodings.Encoding top byte[] int
      StackMap stack:
        17: iconst_m1
      StackMap locals:
      StackMap stack: int
        18: istore 11 /* c */
        start local 11 // int c
        19: .line 4116
            goto 23
        end local 11 // int c
        20: .line 4117
      StackMap locals:
      StackMap stack:
            iload 9 /* len */
            aload 10 /* spatEnc */
            aload 12 /* bytes */
            iload 13 /* p */
            iload 13 /* p */
            iload 9 /* len */
            iadd
            invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
            if_icmpne 21
            aload 10 /* spatEnc */
            aload 12 /* bytes */
            iload 13 /* p */
            iload 13 /* p */
            iload 9 /* len */
            iadd
            invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
            goto 22
      StackMap locals:
      StackMap stack:
        21: iconst_m1
      StackMap locals:
      StackMap stack: int
        22: istore 11 /* c */
        start local 11 // int c
        23: .line 4119
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int int int int top org.jruby.util.ByteList int org.jcodings.Encoding int byte[] int
      StackMap stack:
            iload 11 /* c */
            bipush 32
            if_icmpne 24
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 3 /* limit */
            iload 4 /* lim */
            iload 5 /* i */
            invokevirtual org.jruby.RubyString.awkSplit:(Lorg/jruby/Ruby;ZII)Lorg/jruby/RubyArray;
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 0 /* this */
            aload 1 /* context */
            aload 2 /* spat */
            checkcast org.jruby.RubyString
            iload 3 /* limit */
            iload 4 /* lim */
            iload 5 /* i */
            invokevirtual org.jruby.RubyString.stringSplit:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;ZII)Lorg/jruby/RubyArray;
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
        25: astore 7 /* result */
        end local 13 // int p
        end local 12 // byte[] bytes
        end local 11 // int c
        end local 10 // org.jcodings.Encoding spatEnc
        end local 9 // int len
        end local 8 // org.jruby.util.ByteList spatValue
        start local 7 // org.jruby.RubyArray result
        26: .line 4121
            goto 28
        end local 7 // org.jruby.RubyArray result
        27: .line 4122
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int int int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* spat */
            checkcast org.jruby.RubyRegexp
            iload 3 /* limit */
            iload 4 /* lim */
            iload 5 /* i */
            iload 6 /* useBackref */
            invokevirtual org.jruby.RubyString.regexSplit:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;ZIIZ)Lorg/jruby/RubyArray;
            astore 7 /* result */
        start local 7 // org.jruby.RubyArray result
        28: .line 4126
      StackMap locals: org.jruby.RubyArray
      StackMap stack:
            iload 3 /* limit */
            ifne 32
            iload 4 /* lim */
            ifne 32
        29: .line 4127
            goto 31
        30: .line 4128
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.pop:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        31: .line 4127
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            invokevirtual org.jruby.RubyArray.size:()I
            ifle 32
            aload 7 /* result */
            aload 7 /* result */
            invokevirtual org.jruby.RubyArray.size:()I
            iconst_1
            isub
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifeq 30
        32: .line 4132
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            areturn
        end local 7 // org.jruby.RubyArray result
        end local 6 // boolean useBackref
        end local 5 // int i
        end local 4 // int lim
        end local 3 // boolean limit
        end local 2 // org.jruby.runtime.builtin.IRubyObject spat
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   33     0        this  Lorg/jruby/RubyString;
            0   33     1     context  Lorg/jruby/runtime/ThreadContext;
            0   33     2        spat  Lorg/jruby/runtime/builtin/IRubyObject;
            0   33     3       limit  Z
            0   33     4         lim  I
            0   33     5           i  I
            0   33     6  useBackref  Z
            2    3     7      result  Lorg/jruby/RubyArray;
           12   13     7      result  Lorg/jruby/RubyArray;
           26   27     7      result  Lorg/jruby/RubyArray;
           28   33     7      result  Lorg/jruby/RubyArray;
            6   26     8   spatValue  Lorg/jruby/util/ByteList;
            7   26     9         len  I
            8   26    10     spatEnc  Lorg/jcodings/Encoding;
           11   12    11     pattern  Lorg/jruby/RubyRegexp;
           19   20    11           c  I
           23   26    11           c  I
           14   26    12       bytes  [B
           15   26    13           p  I
    MethodParameters:
            Name  Flags
      context     
      spat        
      limit       final
      lim         final
      i           final
      useBackref  

  private org.jruby.RubyArray regexSplit(org.jruby.runtime.ThreadContext, org.jruby.RubyRegexp, boolean, int, int, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;ZIIZ)Lorg/jruby/RubyArray;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=20, args_size=7
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyRegexp pattern
        start local 3 // boolean limit
        start local 4 // int lim
        start local 5 // int i
        start local 6 // boolean useBackref
         0: .line 4137
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 7 /* runtime */
        start local 7 // org.jruby.Ruby runtime
         1: .line 4139
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 8 /* ptr */
        start local 8 // int ptr
         2: .line 4140
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 9 /* len */
        start local 9 // int len
         3: .line 4141
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 10 /* bytes */
        start local 10 // byte[] bytes
         4: .line 4143
            aload 7 /* runtime */
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
            astore 11 /* result */
        start local 11 // org.jruby.RubyArray result
         5: .line 4144
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 12 /* enc */
        start local 12 // org.jcodings.Encoding enc
         6: .line 4145
            aload 2 /* pattern */
            invokevirtual org.jruby.RubyRegexp.getPattern:()Lorg/joni/Regex;
            invokevirtual org.joni.Regex.numberOfCaptures:()I
            ifeq 7
            iconst_1
            goto 8
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyRegexp int int int int org.jruby.Ruby int int byte[] org.jruby.RubyArray org.jcodings.Encoding
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 13 /* captures */
        start local 13 // boolean captures
         9: .line 4147
            iconst_0
            istore 15 /* beg */
        start local 15 // int beg
        10: .line 4148
            iconst_0
            istore 16 /* lastNull */
        start local 16 // boolean lastNull
        11: .line 4149
            iload 15 /* beg */
            istore 17 /* start */
        start local 17 // int start
        12: .line 4150
            iload 6 /* useBackref */
            ifeq 13
            aconst_null
            goto 14
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyRegexp int int int int org.jruby.Ruby int int byte[] org.jruby.RubyArray org.jcodings.Encoding int top int int int
      StackMap stack:
        13: iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject[]
        14: astore 18 /* holder */
        start local 18 // org.jruby.runtime.builtin.IRubyObject[] holder
        15: .line 4151
            goto 39
        start local 14 // int end
        16: .line 4152
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyRegexp int int int int org.jruby.Ruby int int byte[] org.jruby.RubyArray org.jcodings.Encoding int int int int int org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
            iload 6 /* useBackref */
            ifeq 17
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getBackRef:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyMatchData
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 18 /* holder */
            iconst_0
            aaload
            checkcast org.jruby.RubyMatchData
      StackMap locals:
      StackMap stack: org.jruby.RubyMatchData
        18: astore 19 /* match */
        start local 19 // org.jruby.RubyMatchData match
        19: .line 4153
            iload 17 /* start */
            iload 14 /* end */
            if_icmpne 33
            aload 19 /* match */
            iconst_0
            invokevirtual org.jruby.RubyMatchData.begin:(I)I
            aload 19 /* match */
            iconst_0
            invokevirtual org.jruby.RubyMatchData.end:(I)I
            if_icmpne 33
        20: .line 4154
            iload 9 /* len */
            ifne 23
        21: .line 4155
            aload 11 /* result */
            aload 7 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyString;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        22: .line 4156
            goto 41
        23: .line 4157
      StackMap locals: org.jruby.RubyMatchData
      StackMap stack:
            iload 16 /* lastNull */
            ifeq 27
        24: .line 4158
            aload 11 /* result */
            aload 0 /* this */
            aload 7 /* runtime */
            iload 15 /* beg */
            aload 12 /* enc */
            aload 10 /* bytes */
            iload 8 /* ptr */
            iload 15 /* beg */
            iadd
            iload 8 /* ptr */
            iload 9 /* len */
            iadd
            invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        25: .line 4159
            iload 17 /* start */
            istore 15 /* beg */
        26: .line 4160
            goto 36
        27: .line 4161
      StackMap locals:
      StackMap stack:
            iload 8 /* ptr */
            iload 17 /* start */
            iadd
            iload 8 /* ptr */
            iload 9 /* len */
            iadd
            if_icmpne 30
        28: .line 4162
            iinc 17 /* start */ 1
        29: .line 4163
            goto 31
        30: .line 4164
      StackMap locals:
      StackMap stack:
            iload 17 /* start */
            aload 12 /* enc */
            aload 10 /* bytes */
            iload 8 /* ptr */
            iload 17 /* start */
            iadd
            iload 8 /* ptr */
            iload 9 /* len */
            iadd
            invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
            iadd
            istore 17 /* start */
        31: .line 4166
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 16 /* lastNull */
        32: .line 4167
            goto 39
        33: .line 4170
      StackMap locals:
      StackMap stack:
            aload 11 /* result */
            aload 0 /* this */
            aload 7 /* runtime */
            iload 15 /* beg */
            iload 14 /* end */
            iload 15 /* beg */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        34: .line 4171
            aload 19 /* match */
            iconst_0
            invokevirtual org.jruby.RubyMatchData.end:(I)I
            istore 15 /* beg */
        35: .line 4172
            iload 15 /* beg */
            istore 17 /* start */
        36: .line 4174
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 16 /* lastNull */
        37: .line 4176
            iload 13 /* captures */
            ifeq 38
            aload 0 /* this */
            aload 7 /* runtime */
            aload 11 /* result */
            aload 19 /* match */
            invokevirtual org.jruby.RubyString.populateCapturesForSplit:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/RubyMatchData;)V
        38: .line 4177
      StackMap locals:
      StackMap stack:
            iload 3 /* limit */
            ifeq 39
            iload 4 /* lim */
            iinc 5 /* i */ 1
            iload 5 /* i */
            if_icmpgt 39
            goto 41
        end local 19 // org.jruby.RubyMatchData match
        end local 14 // int end
        39: .line 4151
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyRegexp int int int int org.jruby.Ruby int int byte[] org.jruby.RubyArray org.jcodings.Encoding int top int int int org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
            aload 2 /* pattern */
            aload 1 /* context */
            aload 0 /* this */
            iload 17 /* start */
            iconst_0
            aload 18 /* holder */
            invokevirtual org.jruby.RubyRegexp.search:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;IZ[Lorg/jruby/runtime/builtin/IRubyObject;)I
            dup
            istore 14 /* end */
        start local 14 // int end
        40: ifge 16
        41: .line 4181
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyRegexp int int int int org.jruby.Ruby int int byte[] org.jruby.RubyArray org.jcodings.Encoding int int int int int org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
            iload 6 /* useBackref */
            ifeq 44
        42: .line 4182
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.ThreadContext.setBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        43: .line 4183
            goto 45
        44: .line 4184
      StackMap locals:
      StackMap stack:
            aload 18 /* holder */
            iconst_0
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
        45: .line 4187
      StackMap locals:
      StackMap stack:
            iload 9 /* len */
            ifle 47
            iload 3 /* limit */
            ifne 46
            iload 9 /* len */
            iload 15 /* beg */
            if_icmpgt 46
            iload 4 /* lim */
            ifge 47
      StackMap locals:
      StackMap stack:
        46: aload 11 /* result */
            aload 0 /* this */
            aload 7 /* runtime */
            iload 15 /* beg */
            iload 9 /* len */
            iload 15 /* beg */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        47: .line 4188
      StackMap locals:
      StackMap stack:
            aload 11 /* result */
            areturn
        end local 18 // org.jruby.runtime.builtin.IRubyObject[] holder
        end local 17 // int start
        end local 16 // boolean lastNull
        end local 15 // int beg
        end local 14 // int end
        end local 13 // boolean captures
        end local 12 // org.jcodings.Encoding enc
        end local 11 // org.jruby.RubyArray result
        end local 10 // byte[] bytes
        end local 9 // int len
        end local 8 // int ptr
        end local 7 // org.jruby.Ruby runtime
        end local 6 // boolean useBackref
        end local 5 // int i
        end local 4 // int lim
        end local 3 // boolean limit
        end local 2 // org.jruby.RubyRegexp pattern
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   48     0        this  Lorg/jruby/RubyString;
            0   48     1     context  Lorg/jruby/runtime/ThreadContext;
            0   48     2     pattern  Lorg/jruby/RubyRegexp;
            0   48     3       limit  Z
            0   48     4         lim  I
            0   48     5           i  I
            0   48     6  useBackref  Z
            1   48     7     runtime  Lorg/jruby/Ruby;
            2   48     8         ptr  I
            3   48     9         len  I
            4   48    10       bytes  [B
            5   48    11      result  Lorg/jruby/RubyArray;
            6   48    12         enc  Lorg/jcodings/Encoding;
            9   48    13    captures  Z
           16   39    14         end  I
           40   48    14         end  I
           10   48    15         beg  I
           11   48    16    lastNull  Z
           12   48    17       start  I
           15   48    18      holder  [Lorg/jruby/runtime/builtin/IRubyObject;
           19   39    19       match  Lorg/jruby/RubyMatchData;
    MethodParameters:
            Name  Flags
      context     
      pattern     
      limit       
      lim         
      i           
      useBackref  

  private org.jruby.RubyArray awkSplit(org.jruby.Ruby, boolean, int, int);
    descriptor: (Lorg/jruby/Ruby;ZII)Lorg/jruby/RubyArray;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=17, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // boolean limit
        start local 3 // int lim
        start local 4 // int i
         0: .line 4193
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
            astore 5 /* result */
        start local 5 // org.jruby.RubyArray result
         1: .line 4195
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 6 /* bytes */
        start local 6 // byte[] bytes
         2: .line 4196
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 7 /* p */
        start local 7 // int p
         3: .line 4197
            iload 7 /* p */
            istore 8 /* ptr */
        start local 8 // int ptr
         4: .line 4198
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 9 /* len */
        start local 9 // int len
         5: .line 4199
            iload 7 /* p */
            iload 9 /* len */
            iadd
            istore 10 /* end */
        start local 10 // int end
         6: .line 4200
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 11 /* enc */
        start local 11 // org.jcodings.Encoding enc
         7: .line 4201
            iconst_1
            istore 12 /* skip */
        start local 12 // boolean skip
         8: .line 4203
            iconst_0
            istore 13 /* e */
        start local 13 // int e
         9: iconst_0
            istore 14 /* b */
        start local 14 // int b
        10: .line 4204
            aload 0 /* this */
            aload 11 /* enc */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:(Lorg/jcodings/Encoding;)Z
            istore 15 /* singlebyte */
        start local 15 // boolean singlebyte
        11: .line 4205
            goto 31
        12: .line 4207
      StackMap locals: org.jruby.RubyString org.jruby.Ruby int int int org.jruby.RubyArray byte[] int int int int org.jcodings.Encoding int int int int
      StackMap stack:
            iload 15 /* singlebyte */
            ifeq 15
        13: .line 4208
            aload 6 /* bytes */
            iload 7 /* p */
            iinc 7 /* p */ 1
            baload
            sipush 255
            iand
            istore 16 /* c */
        start local 16 // int c
        14: .line 4209
            goto 17
        end local 16 // int c
        15: .line 4210
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            aload 11 /* enc */
            aload 6 /* bytes */
            iload 7 /* p */
            iload 10 /* end */
            invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;[BII)I
            istore 16 /* c */
        start local 16 // int c
        16: .line 4211
            iload 7 /* p */
            aload 11 /* enc */
            aload 6 /* bytes */
            iload 7 /* p */
            iload 10 /* end */
            invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
            iadd
            istore 7 /* p */
        17: .line 4214
      StackMap locals: int
      StackMap stack:
            iload 12 /* skip */
            ifeq 24
        18: .line 4215
            aload 11 /* enc */
            iload 16 /* c */
            invokevirtual org.jcodings.Encoding.isSpace:(I)Z
            ifeq 21
        19: .line 4216
            iload 7 /* p */
            iload 8 /* ptr */
            isub
            istore 14 /* b */
        20: .line 4217
            goto 31
        21: .line 4218
      StackMap locals:
      StackMap stack:
            iload 7 /* p */
            iload 8 /* ptr */
            isub
            istore 13 /* e */
        22: .line 4219
            iconst_0
            istore 12 /* skip */
        23: .line 4220
            iload 2 /* limit */
            ifeq 31
            iload 3 /* lim */
            iload 4 /* i */
            if_icmpgt 31
            goto 32
        24: .line 4223
      StackMap locals:
      StackMap stack:
            aload 11 /* enc */
            iload 16 /* c */
            invokevirtual org.jcodings.Encoding.isSpace:(I)Z
            ifeq 30
        25: .line 4224
            aload 5 /* result */
            aload 0 /* this */
            aload 1 /* runtime */
            iload 14 /* b */
            iload 13 /* e */
            iload 14 /* b */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        26: .line 4225
            iconst_1
            istore 12 /* skip */
        27: .line 4226
            iload 7 /* p */
            iload 8 /* ptr */
            isub
            istore 14 /* b */
        28: .line 4227
            iload 2 /* limit */
            ifeq 31
            iinc 4 /* i */ 1
        29: .line 4228
            goto 31
        30: .line 4229
      StackMap locals:
      StackMap stack:
            iload 7 /* p */
            iload 8 /* ptr */
            isub
            istore 13 /* e */
        end local 16 // int c
        31: .line 4205
      StackMap locals:
      StackMap stack:
            iload 7 /* p */
            iload 10 /* end */
            if_icmplt 12
        32: .line 4234
      StackMap locals:
      StackMap stack:
            iload 9 /* len */
            ifle 34
            iload 2 /* limit */
            ifne 33
            iload 9 /* len */
            iload 14 /* b */
            if_icmpgt 33
            iload 3 /* lim */
            ifge 34
      StackMap locals:
      StackMap stack:
        33: aload 5 /* result */
            aload 0 /* this */
            aload 1 /* runtime */
            iload 14 /* b */
            iload 9 /* len */
            iload 14 /* b */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        34: .line 4235
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 15 // boolean singlebyte
        end local 14 // int b
        end local 13 // int e
        end local 12 // boolean skip
        end local 11 // org.jcodings.Encoding enc
        end local 10 // int end
        end local 9 // int len
        end local 8 // int ptr
        end local 7 // int p
        end local 6 // byte[] bytes
        end local 5 // org.jruby.RubyArray result
        end local 4 // int i
        end local 3 // int lim
        end local 2 // boolean limit
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   35     0        this  Lorg/jruby/RubyString;
            0   35     1     runtime  Lorg/jruby/Ruby;
            0   35     2       limit  Z
            0   35     3         lim  I
            0   35     4           i  I
            1   35     5      result  Lorg/jruby/RubyArray;
            2   35     6       bytes  [B
            3   35     7           p  I
            4   35     8         ptr  I
            5   35     9         len  I
            6   35    10         end  I
            7   35    11         enc  Lorg/jcodings/Encoding;
            8   35    12        skip  Z
            9   35    13           e  I
           10   35    14           b  I
           11   35    15  singlebyte  Z
           14   15    16           c  I
           16   31    16           c  I
    MethodParameters:
         Name  Flags
      runtime  final
      limit    
      lim      
      i        

  private org.jruby.RubyArray stringSplit(org.jruby.runtime.ThreadContext, org.jruby.RubyString, boolean, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;ZII)Lorg/jruby/RubyArray;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=19, args_size=6
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyString spat
        start local 3 // boolean limit
        start local 4 // int lim
        start local 5 // int i
         0: .line 4240
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 6 /* runtime */
        start local 6 // org.jruby.Ruby runtime
         1: .line 4241
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.mustnotBroken:(Lorg/jruby/runtime/ThreadContext;)V
         2: .line 4243
            aload 6 /* runtime */
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
            astore 7 /* result */
        start local 7 // org.jruby.RubyArray result
         3: .line 4244
            aload 0 /* this */
            aload 2 /* spat */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 8 /* enc */
        start local 8 // org.jcodings.Encoding enc
         4: .line 4245
            aload 2 /* spat */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 9 /* pattern */
        start local 9 // org.jruby.util.ByteList pattern
         5: .line 4247
            aload 9 /* pattern */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 10 /* patternBytes */
        start local 10 // byte[] patternBytes
         6: .line 4248
            aload 9 /* pattern */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 11 /* patternBegin */
        start local 11 // int patternBegin
         7: .line 4249
            aload 9 /* pattern */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 12 /* patternRealSize */
        start local 12 // int patternRealSize
         8: .line 4251
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 13 /* bytes */
        start local 13 // byte[] bytes
         9: .line 4252
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 14 /* begin */
        start local 14 // int begin
        10: .line 4253
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 15 /* realSize */
        start local 15 // int realSize
        11: .line 4255
            iconst_0
            istore 17 /* p */
        start local 17 // int p
        12: .line 4257
            goto 20
        start local 16 // int e
        13: .line 4258
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyString int int int org.jruby.Ruby org.jruby.RubyArray org.jcodings.Encoding org.jruby.util.ByteList byte[] int int byte[] int int int int
      StackMap stack:
            aload 8 /* enc */
            aload 13 /* bytes */
            iload 17 /* p */
            iload 14 /* begin */
            iadd
            iload 16 /* e */
            iload 14 /* begin */
            iadd
            iload 14 /* begin */
            iload 15 /* realSize */
            iadd
            invokevirtual org.jcodings.Encoding.rightAdjustCharHead:([BIII)I
            iload 14 /* begin */
            isub
            istore 18 /* t */
        start local 18 // int t
        14: .line 4259
            iload 18 /* t */
            iload 16 /* e */
            if_icmpeq 17
        15: .line 4260
            iload 18 /* t */
            istore 17 /* p */
        16: .line 4261
            goto 20
        17: .line 4263
      StackMap locals: int
      StackMap stack:
            aload 7 /* result */
            aload 0 /* this */
            aload 6 /* runtime */
            iload 17 /* p */
            iload 16 /* e */
            iload 17 /* p */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        18: .line 4264
            iload 16 /* e */
            aload 9 /* pattern */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 17 /* p */
        19: .line 4265
            iload 3 /* limit */
            ifeq 20
            iload 4 /* lim */
            iinc 5 /* i */ 1
            iload 5 /* i */
            if_icmpgt 20
            goto 22
        end local 18 // int t
        end local 16 // int e
        20: .line 4257
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.RubyString int int int org.jruby.Ruby org.jruby.RubyArray org.jcodings.Encoding org.jruby.util.ByteList byte[] int int byte[] int int top int
      StackMap stack:
            iload 17 /* p */
            iload 15 /* realSize */
            if_icmpge 22
            aload 13 /* bytes */
            iload 14 /* begin */
            iload 15 /* realSize */
            aload 10 /* patternBytes */
            iload 11 /* patternBegin */
            iload 12 /* patternRealSize */
            iload 17 /* p */
            aload 8 /* enc */
            invokestatic org.jruby.RubyString.indexOf:([BII[BIIILorg/jcodings/Encoding;)I
            dup
            istore 16 /* e */
        start local 16 // int e
        21: ifge 13
        end local 16 // int e
        22: .line 4268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifle 24
            iload 3 /* limit */
            ifne 23
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 17 /* p */
            if_icmpgt 23
            iload 4 /* lim */
            ifge 24
        23: .line 4269
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            aload 0 /* this */
            aload 6 /* runtime */
            iload 17 /* p */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 17 /* p */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        24: .line 4272
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            areturn
        end local 17 // int p
        end local 15 // int realSize
        end local 14 // int begin
        end local 13 // byte[] bytes
        end local 12 // int patternRealSize
        end local 11 // int patternBegin
        end local 10 // byte[] patternBytes
        end local 9 // org.jruby.util.ByteList pattern
        end local 8 // org.jcodings.Encoding enc
        end local 7 // org.jruby.RubyArray result
        end local 6 // org.jruby.Ruby runtime
        end local 5 // int i
        end local 4 // int lim
        end local 3 // boolean limit
        end local 2 // org.jruby.RubyString spat
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   25     0             this  Lorg/jruby/RubyString;
            0   25     1          context  Lorg/jruby/runtime/ThreadContext;
            0   25     2             spat  Lorg/jruby/RubyString;
            0   25     3            limit  Z
            0   25     4              lim  I
            0   25     5                i  I
            1   25     6          runtime  Lorg/jruby/Ruby;
            3   25     7           result  Lorg/jruby/RubyArray;
            4   25     8              enc  Lorg/jcodings/Encoding;
            5   25     9          pattern  Lorg/jruby/util/ByteList;
            6   25    10     patternBytes  [B
            7   25    11     patternBegin  I
            8   25    12  patternRealSize  I
            9   25    13            bytes  [B
           10   25    14            begin  I
           11   25    15         realSize  I
           13   20    16                e  I
           21   22    16                e  I
           12   25    17                p  I
           14   20    18                t  I
    MethodParameters:
         Name  Flags
      context  
      spat     
      limit    
      lim      
      i        

  static int indexOf(byte[], int, int, byte[], int, int, int, org.jcodings.Encoding);
    descriptor: ([BII[BIIILorg/jcodings/Encoding;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=14, args_size=8
        start local 0 // byte[] source
        start local 1 // int sourceOffset
        start local 2 // int sourceCount
        start local 3 // byte[] target
        start local 4 // int targetOffset
        start local 5 // int targetCount
        start local 6 // int fromIndex
        start local 7 // org.jcodings.Encoding enc
         0: .line 4277
            iload 6 /* fromIndex */
            iload 2 /* sourceCount */
            if_icmplt 3
            iload 5 /* targetCount */
            ifne 1
            iload 2 /* sourceCount */
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_m1
      StackMap locals:
      StackMap stack: int
         2: ireturn
         3: .line 4278
      StackMap locals:
      StackMap stack:
            iload 6 /* fromIndex */
            ifge 4
            iconst_0
            istore 6 /* fromIndex */
         4: .line 4279
      StackMap locals:
      StackMap stack:
            iload 5 /* targetCount */
            ifne 5
            iload 6 /* fromIndex */
            ireturn
         5: .line 4281
      StackMap locals:
      StackMap stack:
            aload 3 /* target */
            iload 4 /* targetOffset */
            baload
            istore 8 /* first */
        start local 8 // byte first
         6: .line 4282
            iload 1 /* sourceOffset */
            iload 2 /* sourceCount */
            iload 5 /* targetCount */
            isub
            iadd
            istore 9 /* max */
        start local 9 // int max
         7: .line 4284
            iload 1 /* sourceOffset */
            iload 6 /* fromIndex */
            iadd
            istore 10 /* i */
        start local 10 // int i
         8: .line 4285
            goto 20
         9: .line 4287
      StackMap locals: int int int
      StackMap stack:
            iload 10 /* i */
            aload 7 /* enc */
            aload 0 /* source */
            iload 10 /* i */
            iload 1 /* sourceOffset */
            iload 2 /* sourceCount */
            iadd
            invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
            iadd
            istore 10 /* i */
        10: .line 4286
      StackMap locals:
      StackMap stack:
            iload 10 /* i */
            iload 9 /* max */
            if_icmpgt 11
            aload 0 /* source */
            iload 10 /* i */
            baload
            iload 8 /* first */
            if_icmpne 9
        11: .line 4289
      StackMap locals:
      StackMap stack:
            iload 10 /* i */
            iload 9 /* max */
            if_icmpgt 20
        12: .line 4290
            iload 10 /* i */
            iconst_1
            iadd
            istore 11 /* j */
        start local 11 // int j
        13: .line 4291
            iload 11 /* j */
            iload 5 /* targetCount */
            iadd
            iconst_1
            isub
            istore 12 /* end */
        start local 12 // int end
        14: .line 4292
            iload 4 /* targetOffset */
            iconst_1
            iadd
            istore 13 /* k */
        start local 13 // int k
        15: goto 17
      StackMap locals: int int int
      StackMap stack:
        16: iinc 11 /* j */ 1
            iinc 13 /* k */ 1
      StackMap locals:
      StackMap stack:
        17: iload 11 /* j */
            iload 12 /* end */
            if_icmpge 18
            aload 0 /* source */
            iload 11 /* j */
            baload
            aload 3 /* target */
            iload 13 /* k */
            baload
            if_icmpeq 16
        end local 13 // int k
        18: .line 4294
      StackMap locals:
      StackMap stack:
            iload 11 /* j */
            iload 12 /* end */
            if_icmpne 19
            iload 10 /* i */
            iload 1 /* sourceOffset */
            isub
            ireturn
        19: .line 4295
      StackMap locals:
      StackMap stack:
            iload 10 /* i */
            aload 7 /* enc */
            aload 0 /* source */
            iload 10 /* i */
            iload 1 /* sourceOffset */
            iload 2 /* sourceCount */
            iadd
            invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
            iadd
            istore 10 /* i */
        end local 12 // int end
        end local 11 // int j
        20: .line 4285
      StackMap locals:
      StackMap stack:
            iload 10 /* i */
            iload 9 /* max */
            if_icmple 10
        21: .line 4298
            iconst_m1
            ireturn
        end local 10 // int i
        end local 9 // int max
        end local 8 // byte first
        end local 7 // org.jcodings.Encoding enc
        end local 6 // int fromIndex
        end local 5 // int targetCount
        end local 4 // int targetOffset
        end local 3 // byte[] target
        end local 2 // int sourceCount
        end local 1 // int sourceOffset
        end local 0 // byte[] source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0        source  [B
            0   22     1  sourceOffset  I
            0   22     2   sourceCount  I
            0   22     3        target  [B
            0   22     4  targetOffset  I
            0   22     5   targetCount  I
            0   22     6     fromIndex  I
            0   22     7           enc  Lorg/jcodings/Encoding;
            6   22     8         first  B
            7   22     9           max  I
            8   22    10             i  I
           13   20    11             j  I
           14   20    12           end  I
           15   18    13             k  I
    MethodParameters:
              Name  Flags
      source        
      sourceOffset  
      sourceCount   
      target        
      targetOffset  
      targetCount   
      fromIndex     
      enc           

  private static org.jruby.RubyString getStringForPattern(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 4302
            aload 1 /* obj */
            instanceof org.jruby.RubyString
            ifeq 1
            aload 1 /* obj */
            checkcast org.jruby.RubyString
            areturn
         1: .line 4303
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* val */
        start local 2 // org.jruby.runtime.builtin.IRubyObject val
         2: .line 4304
            aload 2 /* val */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 3
            aload 0 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "wrong argument type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " (expected Regexp)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 4305
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* val */
            checkcast org.jruby.RubyString
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject val
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  runtime  Lorg/jruby/Ruby;
            0    4     1      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            2    4     2      val  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      obj      

  private static org.jruby.RubyRegexp getPattern(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRegexp;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 4312
            aload 1 /* obj */
            instanceof org.jruby.RubyRegexp
            ifeq 1
            aload 1 /* obj */
            checkcast org.jruby.RubyRegexp
            areturn
         1: .line 4313
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            aload 0 /* runtime */
            aload 1 /* obj */
            invokestatic org.jruby.RubyString.getStringForPattern:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            iconst_0
            invokestatic org.jruby.RubyRegexp.newRegexpFromStr:(Lorg/jruby/Ruby;Lorg/jruby/RubyString;I)Lorg/jruby/RubyRegexp;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  runtime  Lorg/jruby/Ruby;
            0    2     1      obj  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      obj      

  private static org.jruby.runtime.builtin.IRubyObject getPatternQuoted(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject pat
        start local 2 // boolean check
         0: .line 4320
            aload 1 /* pat */
            instanceof org.jruby.RubyRegexp
            ifeq 1
            aload 1 /* pat */
            areturn
         1: .line 4322
      StackMap locals:
      StackMap stack:
            aload 1 /* pat */
            instanceof org.jruby.RubyString
            ifne 6
         2: .line 4323
            aload 1 /* pat */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* val */
        start local 3 // org.jruby.runtime.builtin.IRubyObject val
         3: .line 4324
            aload 3 /* val */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 5
         4: .line 4325
            aload 0 /* context */
            aload 1 /* pat */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getRegexp:()Lorg/jruby/RubyClass;
            invokestatic org.jruby.util.TypeConverter.checkType:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;)V
         5: .line 4327
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* val */
            astore 1 /* pat */
        end local 3 // org.jruby.runtime.builtin.IRubyObject val
         6: .line 4329
      StackMap locals:
      StackMap stack:
            iload 2 /* check */
            ifeq 8
            aload 1 /* pat */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.isBrokenString:()Z
            ifeq 8
         7: .line 4331
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "invalid byte sequence in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* pat */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newRegexpError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 4333
      StackMap locals:
      StackMap stack:
            aload 1 /* pat */
            areturn
        end local 2 // boolean check
        end local 1 // org.jruby.runtime.builtin.IRubyObject pat
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0  context  Lorg/jruby/runtime/ThreadContext;
            0    9     1      pat  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     2    check  Z
            3    6     3      val  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      pat      
      check    

  public org.jruby.runtime.builtin.IRubyObject scan(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject pat
        start local 3 // org.jruby.runtime.Block block
         0: .line 4341
            aload 0 /* this */
            astore 4 /* str */
        start local 4 // org.jruby.RubyString str
         1: .line 4344
            iconst_m1
            istore 6 /* last */
        start local 6 // int last
         2: iconst_0
            istore 7 /* prev */
        start local 7 // int prev
         3: .line 4345
            iconst_1
            newarray 10
            astore 8 /* startp */
        start local 8 // int[] startp
         4: .line 4347
            aload 1 /* context */
            aload 2 /* pat */
            iconst_1
            invokestatic org.jruby.RubyString.getPatternQuoted:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* pat */
         5: .line 4348
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.mustnotBroken:(Lorg/jruby/runtime/ThreadContext;)V
         6: .line 4349
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 19
         7: .line 4350
            aconst_null
            astore 9 /* ary */
        start local 9 // org.jruby.RubyArray ary
         8: .line 4351
            goto 13
        start local 5 // org.jruby.runtime.builtin.IRubyObject result
         9: .line 4352
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject int int int[] org.jruby.RubyArray
      StackMap stack:
            iload 7 /* prev */
            istore 6 /* last */
        10: .line 4353
            aload 8 /* startp */
            iconst_0
            iaload
            istore 7 /* prev */
        11: .line 4354
            aload 9 /* ary */
            ifnonnull 12
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iconst_4
            invokevirtual org.jruby.Ruby.newArray:(I)Lorg/jruby/RubyArray;
            astore 9 /* ary */
        12: .line 4355
      StackMap locals:
      StackMap stack:
            aload 9 /* ary */
            aload 5 /* result */
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        end local 5 // org.jruby.runtime.builtin.IRubyObject result
        13: .line 4351
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.RubyString top int int int[] org.jruby.RubyArray
      StackMap stack:
            aload 1 /* context */
            aload 4 /* str */
            aload 2 /* pat */
            aload 8 /* startp */
            invokestatic org.jruby.RubyString.scanOnce:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/runtime/builtin/IRubyObject;[I)Lorg/jruby/runtime/builtin/IRubyObject;
            dup
            astore 5 /* result */
        start local 5 // org.jruby.runtime.builtin.IRubyObject result
        14: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 9
        15: .line 4357
            iload 6 /* last */
            iflt 16
            aload 1 /* context */
            aload 2 /* pat */
            aload 4 /* str */
            iload 6 /* last */
            iconst_1
            invokestatic org.jruby.RubyString.patternSearch:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyString;IZ)I
            pop
        16: .line 4358
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject int int int[] org.jruby.RubyArray
      StackMap stack:
            aload 9 /* ary */
            ifnonnull 17
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newEmptyArray:()Lorg/jruby/RubyArray;
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 9 /* ary */
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
        18: areturn
        end local 9 // org.jruby.RubyArray ary
        end local 5 // org.jruby.runtime.builtin.IRubyObject result
        19: .line 4361
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.RubyString top int int int[]
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 9 /* pBytes */
        start local 9 // byte[] pBytes
        20: .line 4362
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.realSize:()I
            istore 10 /* len */
        start local 10 // int len
        21: .line 4364
            goto 26
        start local 5 // org.jruby.runtime.builtin.IRubyObject result
        22: .line 4365
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject int int int[] byte[] int
      StackMap stack:
            iload 7 /* prev */
            istore 6 /* last */
        23: .line 4366
            aload 8 /* startp */
            iconst_0
            iaload
            istore 7 /* prev */
        24: .line 4367
            aload 3 /* block */
            aload 1 /* context */
            aload 5 /* result */
            invokevirtual org.jruby.runtime.Block.yieldSpecific:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        25: .line 4368
            aload 4 /* str */
            aload 9 /* pBytes */
            iload 10 /* len */
            invokevirtual org.jruby.RubyString.modifyCheck:([BI)V
        end local 5 // org.jruby.runtime.builtin.IRubyObject result
        26: .line 4364
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.RubyString top int int int[] byte[] int
      StackMap stack:
            aload 1 /* context */
            aload 4 /* str */
            aload 2 /* pat */
            aload 8 /* startp */
            invokestatic org.jruby.RubyString.scanOnce:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/runtime/builtin/IRubyObject;[I)Lorg/jruby/runtime/builtin/IRubyObject;
            dup
            astore 5 /* result */
        start local 5 // org.jruby.runtime.builtin.IRubyObject result
        27: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 22
        28: .line 4370
            iload 6 /* last */
            iflt 29
            aload 1 /* context */
            aload 2 /* pat */
            aload 4 /* str */
            iload 6 /* last */
            iconst_1
            invokestatic org.jruby.RubyString.patternSearch:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyString;IZ)I
            pop
        29: .line 4371
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject int int int[] byte[] int
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 10 // int len
        end local 9 // byte[] pBytes
        end local 8 // int[] startp
        end local 7 // int prev
        end local 6 // int last
        end local 5 // org.jruby.runtime.builtin.IRubyObject result
        end local 4 // org.jruby.RubyString str
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject pat
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   30     0     this  Lorg/jruby/RubyString;
            0   30     1  context  Lorg/jruby/runtime/ThreadContext;
            0   30     2      pat  Lorg/jruby/runtime/builtin/IRubyObject;
            0   30     3    block  Lorg/jruby/runtime/Block;
            1   30     4      str  Lorg/jruby/RubyString;
            9   13     5   result  Lorg/jruby/runtime/builtin/IRubyObject;
           14   19     5   result  Lorg/jruby/runtime/builtin/IRubyObject;
           22   26     5   result  Lorg/jruby/runtime/builtin/IRubyObject;
           27   30     5   result  Lorg/jruby/runtime/builtin/IRubyObject;
            2   30     6     last  I
            3   30     7     prev  I
            4   30     8   startp  [I
            8   19     9      ary  Lorg/jruby/RubyArray;
           20   30     9   pBytes  [B
           21   30    10      len  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"scan"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      pat      
      block    

  private void mustnotBroken(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4376
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.scanForCodeRange:()I
            bipush 48
            if_icmpne 2
         1: .line 4377
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "invalid byte sequence in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 4379
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  private static org.jruby.runtime.builtin.IRubyObject scanOnce(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.runtime.builtin.IRubyObject, int[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/runtime/builtin/IRubyObject;[I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString str
        start local 2 // org.jruby.runtime.builtin.IRubyObject pat
        start local 3 // int[] startp
         0: .line 4383
            aload 0 /* context */
            aload 2 /* pat */
            aload 1 /* str */
            aload 3 /* startp */
            iconst_0
            iaload
            iconst_1
            invokestatic org.jruby.RubyString.patternSearch:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyString;IZ)I
            iflt 25
         1: .line 4384
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getBackRef:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyMatchData
            astore 4 /* match */
        start local 4 // org.jruby.RubyMatchData match
         2: .line 4385
            aload 4 /* match */
            iconst_0
            invokevirtual org.jruby.RubyMatchData.end:(I)I
            istore 5 /* matchEnd */
        start local 5 // int matchEnd
         3: .line 4386
            aload 4 /* match */
            iconst_0
            invokevirtual org.jruby.RubyMatchData.begin:(I)I
            iload 5 /* matchEnd */
            if_icmpne 13
         4: .line 4387
            aload 1 /* str */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            astore 6 /* enc */
        start local 6 // org.jcodings.Encoding enc
         5: .line 4391
            aload 1 /* str */
            invokevirtual org.jruby.RubyString.size:()I
            iload 5 /* matchEnd */
            if_icmple 11
         6: .line 4392
            aload 1 /* str */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 7 /* strValue */
        start local 7 // org.jruby.util.ByteList strValue
         7: .line 4393
            aload 3 /* startp */
            iconst_0
            iload 5 /* matchEnd */
            aload 7 /* strValue */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            aload 7 /* strValue */
            invokevirtual org.jruby.util.ByteList.begin:()I
            iload 5 /* matchEnd */
            iadd
         8: .line 4394
            aload 7 /* strValue */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 7 /* strValue */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            iadd
            aload 6 /* enc */
         9: .line 4393
            invokestatic org.jruby.util.StringSupport.encFastMBCLen:([BIILorg/jcodings/Encoding;)I
            iadd
            iastore
        end local 7 // org.jruby.util.ByteList strValue
        10: .line 4395
            goto 14
        11: .line 4396
      StackMap locals: org.jruby.RubyMatchData int org.jcodings.Encoding
      StackMap stack:
            aload 3 /* startp */
            iconst_0
            iload 5 /* matchEnd */
            iconst_1
            iadd
            iastore
        end local 6 // org.jcodings.Encoding enc
        12: .line 4398
            goto 14
        13: .line 4399
      StackMap locals:
      StackMap stack:
            aload 3 /* startp */
            iconst_0
            iload 5 /* matchEnd */
            iastore
        14: .line 4401
      StackMap locals:
      StackMap stack:
            aload 4 /* match */
            invokevirtual org.jruby.RubyMatchData.numRegs:()I
            iconst_1
            if_icmpne 16
        15: .line 4402
            iconst_0
            aload 4 /* match */
            invokestatic org.jruby.RubyRegexp.nth_match:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        16: .line 4404
      StackMap locals:
      StackMap stack:
            aload 4 /* match */
            invokevirtual org.jruby.RubyMatchData.numRegs:()I
            istore 6 /* size */
        start local 6 // int size
        17: .line 4405
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 6 /* size */
            iconst_1
            isub
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 7 /* result */
        start local 7 // org.jruby.RubyArray result
        18: .line 4406
            iconst_1
            istore 8 /* i */
        start local 8 // int i
        19: goto 22
        20: .line 4407
      StackMap locals: int org.jruby.RubyArray int
      StackMap stack:
            aload 7 /* result */
            iload 8 /* i */
            iconst_1
            isub
            iload 8 /* i */
            aload 4 /* match */
            invokestatic org.jruby.RubyRegexp.nth_match:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.eltInternalSet:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        21: .line 4406
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 8 /* i */
            iload 6 /* size */
            if_icmplt 20
        end local 8 // int i
        23: .line 4409
            aload 7 /* result */
            iload 6 /* size */
            iconst_1
            isub
            putfield org.jruby.RubyArray.realLength:I
        24: .line 4411
            aload 7 /* result */
            areturn
        end local 7 // org.jruby.RubyArray result
        end local 6 // int size
        end local 5 // int matchEnd
        end local 4 // org.jruby.RubyMatchData match
        25: .line 4414
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject int[]
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // int[] startp
        end local 2 // org.jruby.runtime.builtin.IRubyObject pat
        end local 1 // org.jruby.RubyString str
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0   context  Lorg/jruby/runtime/ThreadContext;
            0   26     1       str  Lorg/jruby/RubyString;
            0   26     2       pat  Lorg/jruby/runtime/builtin/IRubyObject;
            0   26     3    startp  [I
            2   25     4     match  Lorg/jruby/RubyMatchData;
            3   25     5  matchEnd  I
            5   12     6       enc  Lorg/jcodings/Encoding;
            7   10     7  strValue  Lorg/jruby/util/ByteList;
           17   25     6      size  I
           18   25     7    result  Lorg/jruby/RubyArray;
           19   23     8         i  I
    MethodParameters:
         Name  Flags
      context  
      str      
      pat      
      startp   

  private static int patternSearch(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyString, int, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyString;IZ)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject pattern
        start local 2 // org.jruby.RubyString str
        start local 3 // int pos
        start local 4 // boolean setBackrefStr
         0: .line 4421
            aload 1 /* pattern */
            instanceof org.jruby.RubyString
            ifeq 9
         1: .line 4422
            aload 1 /* pattern */
            checkcast org.jruby.RubyString
            astore 5 /* strPattern */
        start local 5 // org.jruby.RubyString strPattern
         2: .line 4423
            aload 2 /* str */
            aload 5 /* strPattern */
            iload 3 /* pos */
            iconst_1
            invokevirtual org.jruby.RubyString.strseqIndex:(Lorg/jruby/RubyString;IZ)I
            istore 6 /* beg */
        start local 6 // int beg
         3: .line 4424
            iload 4 /* setBackrefStr */
            ifeq 8
         4: .line 4425
            iload 6 /* beg */
            iflt 7
         5: .line 4426
            aload 0 /* context */
            aload 2 /* str */
            iload 6 /* beg */
            aload 5 /* strPattern */
            invokestatic org.jruby.RubyString.setBackRefString:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;ILorg/jruby/RubyString;)Lorg/jruby/RubyMatchData;
            aload 1 /* pattern */
            invokevirtual org.jruby.RubyMatchData.infectBy:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         6: .line 4427
            goto 8
         7: .line 4429
      StackMap locals: org.jruby.RubyString int
      StackMap stack:
            aload 0 /* context */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.ThreadContext.setBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         8: .line 4432
      StackMap locals:
      StackMap stack:
            iload 6 /* beg */
            ireturn
        end local 6 // int beg
        end local 5 // org.jruby.RubyString strPattern
         9: .line 4434
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            checkcast org.jruby.RubyRegexp
            aload 0 /* context */
            aload 2 /* str */
            iload 3 /* pos */
            iconst_0
            invokevirtual org.jruby.RubyRegexp.search:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;IZ)I
            ireturn
        end local 4 // boolean setBackrefStr
        end local 3 // int pos
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.runtime.builtin.IRubyObject pattern
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0        context  Lorg/jruby/runtime/ThreadContext;
            0   10     1        pattern  Lorg/jruby/runtime/builtin/IRubyObject;
            0   10     2            str  Lorg/jruby/RubyString;
            0   10     3            pos  I
            0   10     4  setBackrefStr  Z
            2    9     5     strPattern  Lorg/jruby/RubyString;
            3    9     6            beg  I
    MethodParameters:
               Name  Flags
      context        
      pattern        final
      str            
      pos            final
      setBackrefStr  final

  private static org.jruby.RubyMatchData setBackRefString(org.jruby.runtime.ThreadContext, org.jruby.RubyString, int, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;ILorg/jruby/RubyString;)Lorg/jruby/RubyMatchData;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString str
        start local 2 // int pos
        start local 3 // org.jruby.RubyString pattern
         0: .line 4439
            aload 0 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getBackRef:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* m */
        start local 4 // org.jruby.runtime.builtin.IRubyObject m
         1: .line 4441
            aload 4 /* m */
            ifnull 2
            aload 4 /* m */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 2
            aload 4 /* m */
            checkcast org.jruby.RubyMatchData
            invokevirtual org.jruby.RubyMatchData.used:()Z
            ifeq 4
         2: .line 4442
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            new org.jruby.RubyMatchData
            dup
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokespecial org.jruby.RubyMatchData.<init>:(Lorg/jruby/Ruby;)V
            astore 5 /* match */
        start local 5 // org.jruby.RubyMatchData match
         3: .line 4443
            goto 5
        end local 5 // org.jruby.RubyMatchData match
         4: .line 4445
      StackMap locals:
      StackMap stack:
            aload 4 /* m */
            checkcast org.jruby.RubyMatchData
            astore 5 /* match */
        start local 5 // org.jruby.RubyMatchData match
         5: .line 4447
      StackMap locals: org.jruby.RubyMatchData
      StackMap stack:
            aload 5 /* match */
            aload 0 /* context */
            aload 1 /* str */
            iload 2 /* pos */
            aload 3 /* pattern */
            invokevirtual org.jruby.RubyMatchData.initMatchData:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;ILorg/jruby/RubyString;)V
         6: .line 4448
            aload 0 /* context */
            aload 5 /* match */
            invokevirtual org.jruby.runtime.ThreadContext.setBackRef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         7: .line 4449
            aload 5 /* match */
            areturn
        end local 5 // org.jruby.RubyMatchData match
        end local 4 // org.jruby.runtime.builtin.IRubyObject m
        end local 3 // org.jruby.RubyString pattern
        end local 2 // int pos
        end local 1 // org.jruby.RubyString str
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  context  Lorg/jruby/runtime/ThreadContext;
            0    8     1      str  Lorg/jruby/RubyString;
            0    8     2      pos  I
            0    8     3  pattern  Lorg/jruby/RubyString;
            1    8     4        m  Lorg/jruby/runtime/builtin/IRubyObject;
            3    4     5    match  Lorg/jruby/RubyMatchData;
            5    8     5    match  Lorg/jruby/RubyMatchData;
    MethodParameters:
         Name  Flags
      context  
      str      
      pos      
      pattern  

  public org.jruby.runtime.builtin.IRubyObject start_with_p(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4454
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"start_with?"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject start_with_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 4459
            aload 2 /* arg */
            instanceof org.jruby.RubyRegexp
            ifeq 1
            aload 2 /* arg */
            checkcast org.jruby.RubyRegexp
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyRegexp.startWithP:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Lorg/jruby/RubyBoolean;
            areturn
         1: .line 4460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.startWith:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
      StackMap locals:
      StackMap stack: org.jruby.RubyBoolean
         3: areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyString;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"start_with?"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject start_with_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 4465
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 4466
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iload 3 /* i */
            aaload
            invokevirtual org.jruby.RubyString.start_with_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
         3: .line 4465
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 2
        end local 3 // int i
         5: .line 4468
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyString;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    5     3        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"start_with?"}, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     

  private boolean startWith(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 4472
            aload 1 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 2 /* otherString */
        start local 2 // org.jruby.RubyString otherString
         1: .line 4474
            aload 0 /* this */
            aload 2 /* otherString */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            pop
         2: .line 4476
            aload 2 /* otherString */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 3 /* otherLength */
        start local 3 // int otherLength
         3: .line 4478
            iload 3 /* otherLength */
            ifne 4
            iconst_1
            ireturn
         4: .line 4480
      StackMap locals: org.jruby.RubyString int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 3 /* otherLength */
            if_icmpge 5
            iconst_0
            ireturn
         5: .line 4482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 2 /* otherString */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.startsWith:(Lorg/jruby/util/ByteList;)Z
            ireturn
        end local 3 // int otherLength
        end local 2 // org.jruby.RubyString otherString
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/jruby/RubyString;
            0    6     1          arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     2  otherString  Lorg/jruby/RubyString;
            3    6     3  otherLength  I
    MethodParameters:
      Name  Flags
      arg   

  public org.jruby.runtime.builtin.IRubyObject end_with_p(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4487
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"end_with?"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject end_with_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 4492
            aload 0 /* this */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.endWith:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
      StackMap locals:
      StackMap stack: org.jruby.RubyBoolean
         2: areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"end_with?"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject end_with_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 4497
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 4498
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* args */
            iload 3 /* i */
            aaload
            invokevirtual org.jruby.RubyString.endWith:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
         3: .line 4497
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 2
        end local 3 // int i
         5: .line 4500
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyString;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    5     3        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"end_with?"}, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     

  private boolean endWith(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject tmp
         0: .line 4508
            aload 1 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 1 /* tmp */
         1: .line 4509
            aload 1 /* tmp */
            checkcast org.jruby.RubyString
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 6 /* tmpBL */
        start local 6 // org.jruby.util.ByteList tmpBL
         2: .line 4511
            aload 6 /* tmpBL */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 3
            iconst_1
            ireturn
         3: .line 4512
      StackMap locals: org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject top top top top org.jruby.util.ByteList
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tmp */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 5 /* enc */
        start local 5 // org.jcodings.Encoding enc
         4: .line 4513
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.realSize:()I
            aload 6 /* tmpBL */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            if_icmpge 5
            iconst_0
            ireturn
         5: .line 4514
      StackMap locals: org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject top top top org.jcodings.Encoding org.jruby.util.ByteList
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 2 /* p */
        start local 2 // int p
         6: .line 4515
            iload 2 /* p */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.realSize:()I
            iadd
            istore 4 /* e */
        start local 4 // int e
         7: .line 4516
            iload 4 /* e */
            aload 6 /* tmpBL */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            isub
            istore 3 /* s */
        start local 3 // int s
         8: .line 4517
            aload 5 /* enc */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            iload 2 /* p */
            iload 3 /* s */
            iload 4 /* e */
            invokevirtual org.jcodings.Encoding.leftAdjustCharHead:([BIII)I
            iload 3 /* s */
            if_icmpeq 10
         9: .line 4518
            iconst_0
            ireturn
        10: .line 4520
      StackMap locals: org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject int int int org.jcodings.Encoding org.jruby.util.ByteList
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            iload 3 /* s */
            aload 6 /* tmpBL */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            aload 6 /* tmpBL */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 6 /* tmpBL */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            invokestatic org.jruby.util.ByteList.memcmp:([BI[BII)I
            ifne 12
        11: .line 4521
            iconst_1
            ireturn
        12: .line 4523
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // org.jruby.util.ByteList tmpBL
        end local 5 // org.jcodings.Encoding enc
        end local 4 // int e
        end local 3 // int s
        end local 2 // int p
        end local 1 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lorg/jruby/RubyString;
            0   13     1    tmp  Lorg/jruby/runtime/builtin/IRubyObject;
            6   13     2      p  I
            8   13     3      s  I
            7   13     4      e  I
            4   13     5    enc  Lorg/jcodings/Encoding;
            2   13     6  tmpBL  Lorg/jruby/util/ByteList;
    MethodParameters:
      Name  Flags
      tmp   

  public boolean endsWithAsciiChar(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // char c
         0: .line 4527
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 2 /* value */
        start local 2 // org.jruby.util.ByteList value
         1: .line 4530
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifeq 4
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            dup
            istore 3 /* size */
        start local 3 // int size
         2: ifle 4
            aload 2 /* value */
            iload 3 /* size */
            iconst_1
            isub
            invokevirtual org.jruby.util.ByteList.get:(I)I
            iload 1 /* c */
            if_icmpne 4
        end local 3 // int size
         3: iconst_1
            ireturn
      StackMap locals: org.jruby.util.ByteList
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // org.jruby.util.ByteList value
        end local 1 // char c
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/jruby/RubyString;
            0    5     1      c  C
            1    5     2  value  Lorg/jruby/util/ByteList;
            2    3     3   size  I
    MethodParameters:
      Name  Flags
      c     

  public org.jruby.runtime.builtin.IRubyObject delete_prefix(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject prefix
         0: .line 4535
            aload 0 /* this */
            aload 2 /* prefix */
            invokevirtual org.jruby.RubyString.deletedPrefixLength:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 3 /* prefixlen */
        start local 3 // int prefixlen
         1: .line 4537
            iload 3 /* prefixlen */
            ifgt 2
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            areturn
         2: .line 4539
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 3 /* prefixlen */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.size:()I
            iload 3 /* prefixlen */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            areturn
        end local 3 // int prefixlen
        end local 2 // org.jruby.runtime.builtin.IRubyObject prefix
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/RubyString;
            0    3     1    context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     prefix  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3  prefixlen  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"delete_prefix"})
    MethodParameters:
         Name  Flags
      context  
      prefix   

  public org.jruby.runtime.builtin.IRubyObject delete_suffix(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject suffix
         0: .line 4544
            aload 0 /* this */
            aload 2 /* suffix */
            invokevirtual org.jruby.RubyString.deletedSuffixLength:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 3 /* suffixlen */
        start local 3 // int suffixlen
         1: .line 4546
            iload 3 /* suffixlen */
            ifgt 2
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            areturn
         2: .line 4548
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iconst_0
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.size:()I
            iload 3 /* suffixlen */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            areturn
        end local 3 // int suffixlen
        end local 2 // org.jruby.runtime.builtin.IRubyObject suffix
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/RubyString;
            0    3     1    context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     suffix  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3  suffixlen  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"delete_suffix"})
    MethodParameters:
         Name  Flags
      context  
      suffix   

  public org.jruby.runtime.builtin.IRubyObject delete_prefix_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject prefix
         0: .line 4553
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyAndKeepCodeRange:()V
         1: .line 4555
            aload 0 /* this */
            aload 2 /* prefix */
            invokevirtual org.jruby.RubyString.deletedPrefixLength:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 3 /* prefixlen */
        start local 3 // int prefixlen
         2: .line 4557
            iload 3 /* prefixlen */
            ifgt 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 4560
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modify:()V
         4: .line 4561
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 3 /* prefixlen */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.realSize:()I
            iload 3 /* prefixlen */
            isub
            invokevirtual org.jruby.util.ByteList.view:(II)V
         5: .line 4562
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.clearCodeRange:()V
         6: .line 4564
            aload 0 /* this */
            areturn
        end local 3 // int prefixlen
        end local 2 // org.jruby.runtime.builtin.IRubyObject prefix
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/jruby/RubyString;
            0    7     1    context  Lorg/jruby/runtime/ThreadContext;
            0    7     2     prefix  Lorg/jruby/runtime/builtin/IRubyObject;
            2    7     3  prefixlen  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"delete_prefix!"})
    MethodParameters:
         Name  Flags
      context  
      prefix   

  public org.jruby.runtime.builtin.IRubyObject delete_suffix_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject suffix
         0: .line 4569
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.checkFrozen:()V
         1: .line 4571
            aload 0 /* this */
            aload 2 /* suffix */
            invokevirtual org.jruby.RubyString.deletedSuffixLength:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 3 /* suffixlen */
        start local 3 // int suffixlen
         2: .line 4573
            iload 3 /* suffixlen */
            ifgt 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 4575
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.size:()I
            istore 4 /* olen */
        start local 4 // int olen
         4: .line 4577
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyAndKeepCodeRange:()V
         5: .line 4579
            iload 4 /* olen */
            iload 3 /* suffixlen */
            isub
            istore 5 /* len */
        start local 5 // int len
         6: .line 4581
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 5 /* len */
            invokevirtual org.jruby.util.ByteList.realSize:(I)V
         7: .line 4583
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.isCodeRangeAsciiOnly:()Z
            ifne 9
         8: .line 4584
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.clearCodeRange:()V
         9: .line 4587
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 5 // int len
        end local 4 // int olen
        end local 3 // int suffixlen
        end local 2 // org.jruby.runtime.builtin.IRubyObject suffix
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/jruby/RubyString;
            0   10     1    context  Lorg/jruby/runtime/ThreadContext;
            0   10     2     suffix  Lorg/jruby/runtime/builtin/IRubyObject;
            2   10     3  suffixlen  I
            4   10     4       olen  I
            6   10     5        len  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"delete_suffix!"})
    MethodParameters:
         Name  Flags
      context  
      suffix   

  private int deletedPrefixLength(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject _prefix
         0: .line 4591
            aload 1 /* _prefix */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 2 /* prefix */
        start local 2 // org.jruby.RubyString prefix
         1: .line 4593
            aload 2 /* prefix */
            invokevirtual org.jruby.RubyString.isBrokenString:()Z
            ifeq 2
            iconst_0
            ireturn
         2: .line 4595
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            aload 0 /* this */
            aload 2 /* prefix */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            pop
         3: .line 4598
            aload 2 /* prefix */
            invokevirtual org.jruby.RubyString.size:()I
            istore 3 /* prefixlen */
        start local 3 // int prefixlen
         4: .line 4600
            iload 3 /* prefixlen */
            ifgt 5
            iconst_0
            ireturn
         5: .line 4602
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.size:()I
            istore 4 /* olen */
        start local 4 // int olen
         6: .line 4604
            iload 4 /* olen */
            iload 3 /* prefixlen */
            if_icmpge 7
            iconst_0
            ireturn
         7: .line 4606
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 5 /* strBytes */
        start local 5 // byte[] strBytes
         8: .line 4607
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 6 /* strptr */
        start local 6 // int strptr
         9: .line 4608
            aload 2 /* prefix */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 7 /* prefixBytes */
        start local 7 // byte[] prefixBytes
        10: .line 4609
            aload 2 /* prefix */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 8 /* prefixptr */
        start local 8 // int prefixptr
        11: .line 4611
            aload 5 /* strBytes */
            iload 6 /* strptr */
            aload 7 /* prefixBytes */
            iload 8 /* prefixptr */
            iload 3 /* prefixlen */
            invokestatic org.jruby.util.ByteList.memcmp:([BI[BII)I
            ifeq 12
            iconst_0
            ireturn
        12: .line 4613
      StackMap locals: org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString int int byte[] int byte[] int
      StackMap stack:
            iload 3 /* prefixlen */
            ireturn
        end local 8 // int prefixptr
        end local 7 // byte[] prefixBytes
        end local 6 // int strptr
        end local 5 // byte[] strBytes
        end local 4 // int olen
        end local 3 // int prefixlen
        end local 2 // org.jruby.RubyString prefix
        end local 1 // org.jruby.runtime.builtin.IRubyObject _prefix
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lorg/jruby/RubyString;
            0   13     1      _prefix  Lorg/jruby/runtime/builtin/IRubyObject;
            1   13     2       prefix  Lorg/jruby/RubyString;
            4   13     3    prefixlen  I
            6   13     4         olen  I
            8   13     5     strBytes  [B
            9   13     6       strptr  I
           10   13     7  prefixBytes  [B
           11   13     8    prefixptr  I
    MethodParameters:
         Name  Flags
      _prefix  

  private int deletedSuffixLength(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject _suffix
         0: .line 4617
            aload 1 /* _suffix */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 2 /* suffix */
        start local 2 // org.jruby.RubyString suffix
         1: .line 4619
            aload 2 /* suffix */
            invokevirtual org.jruby.RubyString.isBrokenString:()Z
            ifeq 2
            iconst_0
            ireturn
         2: .line 4621
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            aload 0 /* this */
            aload 2 /* suffix */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 3 /* enc */
        start local 3 // org.jcodings.Encoding enc
         3: .line 4624
            aload 2 /* suffix */
            invokevirtual org.jruby.RubyString.size:()I
            istore 4 /* suffixlen */
        start local 4 // int suffixlen
         4: .line 4626
            iload 4 /* suffixlen */
            ifgt 5
            iconst_0
            ireturn
         5: .line 4628
      StackMap locals: org.jcodings.Encoding int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.size:()I
            istore 5 /* olen */
        start local 5 // int olen
         6: .line 4630
            iload 5 /* olen */
            iload 4 /* suffixlen */
            if_icmpge 7
            iconst_0
            ireturn
         7: .line 4631
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 6 /* strBytes */
        start local 6 // byte[] strBytes
         8: .line 4632
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 7 /* strptr */
        start local 7 // int strptr
         9: .line 4633
            aload 2 /* suffix */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 8 /* suffixBytes */
        start local 8 // byte[] suffixBytes
        10: .line 4634
            aload 2 /* suffix */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 9 /* suffixptr */
        start local 9 // int suffixptr
        11: .line 4635
            iload 7 /* strptr */
            iload 5 /* olen */
            iadd
            iload 4 /* suffixlen */
            isub
            istore 10 /* s */
        start local 10 // int s
        12: .line 4637
            aload 6 /* strBytes */
            iload 10 /* s */
            aload 8 /* suffixBytes */
            iload 9 /* suffixptr */
            iload 4 /* suffixlen */
            invokestatic org.jruby.util.ByteList.memcmp:([BI[BII)I
            ifeq 13
            iconst_0
            ireturn
        13: .line 4639
      StackMap locals: org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString org.jcodings.Encoding int int byte[] int byte[] int int
      StackMap stack:
            aload 3 /* enc */
            aload 6 /* strBytes */
            iload 7 /* strptr */
            iload 10 /* s */
            iload 7 /* strptr */
            iload 5 /* olen */
            iadd
            invokevirtual org.jcodings.Encoding.leftAdjustCharHead:([BIII)I
            iload 10 /* s */
            if_icmpeq 14
            iconst_0
            ireturn
        14: .line 4641
      StackMap locals:
      StackMap stack:
            iload 4 /* suffixlen */
            ireturn
        end local 10 // int s
        end local 9 // int suffixptr
        end local 8 // byte[] suffixBytes
        end local 7 // int strptr
        end local 6 // byte[] strBytes
        end local 5 // int olen
        end local 4 // int suffixlen
        end local 3 // org.jcodings.Encoding enc
        end local 2 // org.jruby.RubyString suffix
        end local 1 // org.jruby.runtime.builtin.IRubyObject _suffix
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/jruby/RubyString;
            0   15     1      _suffix  Lorg/jruby/runtime/builtin/IRubyObject;
            1   15     2       suffix  Lorg/jruby/RubyString;
            3   15     3          enc  Lorg/jcodings/Encoding;
            4   15     4    suffixlen  I
            6   15     5         olen  I
            8   15     6     strBytes  [B
            9   15     7       strptr  I
           10   15     8  suffixBytes  [B
           11   15     9    suffixptr  I
           12   15    10            s  I
    MethodParameters:
         Name  Flags
      _suffix  

  private org.jruby.runtime.builtin.IRubyObject justify(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // int jflag
         0: .line 4647
            aload 0 /* this */
            aload 1 /* runtime */
            getstatic org.jruby.RubyString.SPACE_BYTELIST:Lorg/jruby/util/ByteList;
         1: .line 4648
            iconst_1
         2: .line 4649
            iconst_1
            aload 0 /* this */
            invokestatic org.jruby.util.io.EncodingUtils.STR_ENC_GET:(Lorg/jruby/util/ByteListHolder;)Lorg/jcodings/Encoding;
            aload 2 /* arg0 */
            invokestatic org.jruby.RubyFixnum.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            iload 3 /* jflag */
         3: .line 4647
            invokevirtual org.jruby.RubyString.justifyCommon:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;IZLorg/jcodings/Encoding;II)Lorg/jruby/RubyString;
            astore 4 /* result */
        start local 4 // org.jruby.RubyString result
         4: .line 4650
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            bipush 48
            if_icmpeq 5
            aload 4 /* result */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
         5: .line 4651
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 4 // org.jruby.RubyString result
        end local 3 // int jflag
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyString;
            0    6     1  runtime  Lorg/jruby/Ruby;
            0    6     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3    jflag  I
            4    6     4   result  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      runtime  
      arg0     
      jflag    

  private org.jruby.runtime.builtin.IRubyObject justify(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, int);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=12, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 3 // int jflag
         0: .line 4655
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 4656
            aload 2 /* arg1 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 5 /* padStr */
        start local 5 // org.jruby.RubyString padStr
         2: .line 4657
            aload 5 /* padStr */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 6 /* pad */
        start local 6 // org.jruby.util.ByteList pad
         3: .line 4658
            aload 0 /* this */
            aload 5 /* padStr */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 7 /* enc */
        start local 7 // org.jcodings.Encoding enc
         4: .line 4659
            aload 5 /* padStr */
            aload 7 /* enc */
            invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
            istore 8 /* padCharLen */
        start local 8 // int padCharLen
         5: .line 4660
            aload 6 /* pad */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifeq 6
            iload 8 /* padCharLen */
            ifne 7
      StackMap locals: org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject int org.jruby.Ruby org.jruby.RubyString org.jruby.util.ByteList org.jcodings.Encoding int
      StackMap stack:
         6: aload 4 /* runtime */
            ldc "zero width padding"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 4661
      StackMap locals:
      StackMap stack:
            aload 1 /* arg0 */
            invokestatic org.jruby.RubyFixnum.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 9 /* width */
        start local 9 // int width
         8: .line 4662
            aload 0 /* this */
            aload 4 /* runtime */
            aload 6 /* pad */
         9: .line 4663
            iload 8 /* padCharLen */
        10: .line 4664
            aload 5 /* padStr */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
        11: .line 4665
            aload 7 /* enc */
            iload 9 /* width */
            iload 3 /* jflag */
        12: .line 4662
            invokevirtual org.jruby.RubyString.justifyCommon:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;IZLorg/jcodings/Encoding;II)Lorg/jruby/RubyString;
            astore 10 /* result */
        start local 10 // org.jruby.RubyString result
        13: .line 4666
            aload 10 /* result */
            invokevirtual org.jruby.RubyString.strLength:()I
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.strLength:()I
            if_icmple 14
            aload 10 /* result */
            aload 5 /* padStr */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        14: .line 4667
      StackMap locals: int org.jruby.RubyString
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            aload 5 /* padStr */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            invokestatic org.jruby.util.CodeRangeSupport.codeRangeAnd:(II)I
            istore 11 /* cr */
        start local 11 // int cr
        15: .line 4668
            iload 11 /* cr */
            bipush 48
            if_icmpeq 16
            aload 10 /* result */
            iload 11 /* cr */
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
        16: .line 4669
      StackMap locals: int
      StackMap stack:
            aload 10 /* result */
            areturn
        end local 11 // int cr
        end local 10 // org.jruby.RubyString result
        end local 9 // int width
        end local 8 // int padCharLen
        end local 7 // org.jcodings.Encoding enc
        end local 6 // org.jruby.util.ByteList pad
        end local 5 // org.jruby.RubyString padStr
        end local 4 // org.jruby.Ruby runtime
        end local 3 // int jflag
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/jruby/RubyString;
            0   17     1        arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0   17     2        arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0   17     3       jflag  I
            1   17     4     runtime  Lorg/jruby/Ruby;
            2   17     5      padStr  Lorg/jruby/RubyString;
            3   17     6         pad  Lorg/jruby/util/ByteList;
            4   17     7         enc  Lorg/jcodings/Encoding;
            5   17     8  padCharLen  I
            8   17     9       width  I
           13   17    10      result  Lorg/jruby/RubyString;
           15   17    11          cr  I
    MethodParameters:
       Name  Flags
      arg0   
      arg1   
      jflag  

  private org.jruby.RubyString justifyCommon(org.jruby.Ruby, org.jruby.util.ByteList, int, boolean, org.jcodings.Encoding, int, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;IZLorg/jcodings/Encoding;II)Lorg/jruby/RubyString;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=19, args_size=8
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.ByteList pad
        start local 3 // int padCharLen
        start local 4 // boolean padSinglebyte
        start local 5 // org.jcodings.Encoding enc
        start local 6 // int width
        start local 7 // int jflag
         0: .line 4673
            aload 0 /* this */
            aload 5 /* enc */
            invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
            istore 8 /* len */
        start local 8 // int len
         1: .line 4674
            iload 6 /* width */
            iflt 2
            iload 8 /* len */
            iload 6 /* width */
            if_icmplt 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            areturn
         3: .line 4675
      StackMap locals:
      StackMap stack:
            iload 6 /* width */
            iload 8 /* len */
            isub
            istore 9 /* n */
        start local 9 // int n
         4: .line 4677
            iload 7 /* jflag */
            bipush 108
            if_icmpne 5
            iconst_0
            goto 7
      StackMap locals: int
      StackMap stack:
         5: iload 7 /* jflag */
            bipush 114
            if_icmpne 6
            iload 9 /* n */
            goto 7
      StackMap locals:
      StackMap stack:
         6: iload 9 /* n */
            iconst_2
            idiv
      StackMap locals:
      StackMap stack: int
         7: istore 10 /* llen */
        start local 10 // int llen
         8: .line 4678
            iload 9 /* n */
            iload 10 /* llen */
            isub
            istore 11 /* rlen */
        start local 11 // int rlen
         9: .line 4680
            aload 2 /* pad */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 12 /* padP */
        start local 12 // int padP
        10: .line 4681
            aload 2 /* pad */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 13 /* padLen */
        start local 13 // int padLen
        11: .line 4682
            aload 2 /* pad */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 14 /* padBytes */
        start local 14 // byte[] padBytes
        12: .line 4684
            new org.jruby.util.ByteList
            dup
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 9 /* n */
            iload 13 /* padLen */
            imul
            iload 3 /* padCharLen */
            idiv
            iadd
            iconst_2
            iadd
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            astore 15 /* res */
        start local 15 // org.jruby.util.ByteList res
        13: .line 4686
            aload 15 /* res */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 16 /* p */
        start local 16 // int p
        14: .line 4687
            aload 15 /* res */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 17 /* bytes */
        start local 17 // byte[] bytes
        15: .line 4689
            goto 32
        16: .line 4690
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.util.ByteList int int org.jcodings.Encoding int int int int int int int int byte[] org.jruby.util.ByteList int byte[]
      StackMap stack:
            iload 13 /* padLen */
            iconst_1
            if_icmpgt 20
        17: .line 4691
            aload 17 /* bytes */
            iload 16 /* p */
            iinc 16 /* p */ 1
            aload 14 /* padBytes */
            iload 12 /* padP */
            baload
            bastore
        18: .line 4692
            iinc 10 /* llen */ -1
        19: .line 4693
            goto 32
      StackMap locals:
      StackMap stack:
        20: iload 10 /* llen */
            iload 3 /* padCharLen */
            if_icmple 25
        21: .line 4694
            aload 14 /* padBytes */
            iload 12 /* padP */
            aload 17 /* bytes */
            iload 16 /* p */
            iload 13 /* padLen */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        22: .line 4695
            iload 16 /* p */
            iload 13 /* padLen */
            iadd
            istore 16 /* p */
        23: .line 4696
            iload 10 /* llen */
            iload 3 /* padCharLen */
            isub
            istore 10 /* llen */
        24: .line 4697
            goto 32
        25: .line 4698
      StackMap locals:
      StackMap stack:
            iload 4 /* padSinglebyte */
            ifeq 26
            iload 12 /* padP */
            iload 10 /* llen */
            iadd
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 5 /* enc */
            aload 14 /* padBytes */
            iload 12 /* padP */
            iload 12 /* padP */
            iload 13 /* padLen */
            iadd
            iload 10 /* llen */
            invokestatic org.jruby.util.StringSupport.nth:(Lorg/jcodings/Encoding;[BIII)I
      StackMap locals:
      StackMap stack: int
        27: istore 18 /* padPP */
        start local 18 // int padPP
        28: .line 4699
            iload 18 /* padPP */
            iload 12 /* padP */
            isub
            istore 9 /* n */
        29: .line 4700
            aload 14 /* padBytes */
            iload 12 /* padP */
            aload 17 /* bytes */
            iload 16 /* p */
            iload 9 /* n */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        30: .line 4701
            iload 16 /* p */
            iload 9 /* n */
            iadd
            istore 16 /* p */
        31: .line 4702
            goto 33
        end local 18 // int padPP
        32: .line 4689
      StackMap locals:
      StackMap stack:
            iload 10 /* llen */
            ifgt 16
        33: .line 4706
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 17 /* bytes */
            iload 16 /* p */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        34: .line 4707
            iload 16 /* p */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 16 /* p */
        35: .line 4709
            goto 52
        36: .line 4710
      StackMap locals:
      StackMap stack:
            iload 13 /* padLen */
            iconst_1
            if_icmpgt 40
        37: .line 4711
            aload 17 /* bytes */
            iload 16 /* p */
            iinc 16 /* p */ 1
            aload 14 /* padBytes */
            iload 12 /* padP */
            baload
            bastore
        38: .line 4712
            iinc 11 /* rlen */ -1
        39: .line 4713
            goto 52
      StackMap locals:
      StackMap stack:
        40: iload 11 /* rlen */
            iload 3 /* padCharLen */
            if_icmple 45
        41: .line 4714
            aload 14 /* padBytes */
            iload 12 /* padP */
            aload 17 /* bytes */
            iload 16 /* p */
            iload 13 /* padLen */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        42: .line 4715
            iload 16 /* p */
            iload 13 /* padLen */
            iadd
            istore 16 /* p */
        43: .line 4716
            iload 11 /* rlen */
            iload 3 /* padCharLen */
            isub
            istore 11 /* rlen */
        44: .line 4717
            goto 52
        45: .line 4718
      StackMap locals:
      StackMap stack:
            iload 4 /* padSinglebyte */
            ifeq 46
            iload 12 /* padP */
            iload 11 /* rlen */
            iadd
            goto 47
      StackMap locals:
      StackMap stack:
        46: aload 5 /* enc */
            aload 14 /* padBytes */
            iload 12 /* padP */
            iload 12 /* padP */
            iload 13 /* padLen */
            iadd
            iload 11 /* rlen */
            invokestatic org.jruby.util.StringSupport.nth:(Lorg/jcodings/Encoding;[BIII)I
      StackMap locals:
      StackMap stack: int
        47: istore 18 /* padPP */
        start local 18 // int padPP
        48: .line 4719
            iload 18 /* padPP */
            iload 12 /* padP */
            isub
            istore 9 /* n */
        49: .line 4720
            aload 14 /* padBytes */
            iload 12 /* padP */
            aload 17 /* bytes */
            iload 16 /* p */
            iload 9 /* n */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        50: .line 4721
            iload 16 /* p */
            iload 9 /* n */
            iadd
            istore 16 /* p */
        51: .line 4722
            goto 53
        end local 18 // int padPP
        52: .line 4709
      StackMap locals:
      StackMap stack:
            iload 11 /* rlen */
            ifgt 36
        53: .line 4726
      StackMap locals:
      StackMap stack:
            aload 15 /* res */
            iload 16 /* p */
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
        54: .line 4728
            new org.jruby.RubyString
            dup
            aload 1 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            aload 15 /* res */
            invokespecial org.jruby.RubyString.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/util/ByteList;)V
            astore 18 /* result */
        start local 18 // org.jruby.RubyString result
        55: .line 4729
            aload 18 /* result */
            invokevirtual org.jruby.RubyString.strLength:()I
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.strLength:()I
            if_icmple 56
            aload 18 /* result */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        56: .line 4730
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            aload 18 /* result */
            aload 5 /* enc */
            invokevirtual org.jruby.RubyString.associateEncoding:(Lorg/jcodings/Encoding;)V
        57: .line 4731
            aload 18 /* result */
            areturn
        end local 18 // org.jruby.RubyString result
        end local 17 // byte[] bytes
        end local 16 // int p
        end local 15 // org.jruby.util.ByteList res
        end local 14 // byte[] padBytes
        end local 13 // int padLen
        end local 12 // int padP
        end local 11 // int rlen
        end local 10 // int llen
        end local 9 // int n
        end local 8 // int len
        end local 7 // int jflag
        end local 6 // int width
        end local 5 // org.jcodings.Encoding enc
        end local 4 // boolean padSinglebyte
        end local 3 // int padCharLen
        end local 2 // org.jruby.util.ByteList pad
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   58     0           this  Lorg/jruby/RubyString;
            0   58     1        runtime  Lorg/jruby/Ruby;
            0   58     2            pad  Lorg/jruby/util/ByteList;
            0   58     3     padCharLen  I
            0   58     4  padSinglebyte  Z
            0   58     5            enc  Lorg/jcodings/Encoding;
            0   58     6          width  I
            0   58     7          jflag  I
            1   58     8            len  I
            4   58     9              n  I
            8   58    10           llen  I
            9   58    11           rlen  I
           10   58    12           padP  I
           11   58    13         padLen  I
           12   58    14       padBytes  [B
           13   58    15            res  Lorg/jruby/util/ByteList;
           14   58    16              p  I
           15   58    17          bytes  [B
           28   32    18          padPP  I
           48   52    18          padPP  I
           55   58    18         result  Lorg/jruby/RubyString;
    MethodParameters:
               Name  Flags
      runtime        
      pad            
      padCharLen     
      padSinglebyte  
      enc            
      width          
      jflag          

  public org.jruby.runtime.builtin.IRubyObject ljust19(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 4739
            aload 0 /* this */
            aload 1 /* arg0 */
            invokevirtual org.jruby.RubyString.ljust:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      arg0  

  public org.jruby.runtime.builtin.IRubyObject ljust19(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 4742
            aload 0 /* this */
            aload 1 /* arg0 */
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyString.ljust:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      arg0  
      arg1  

  public org.jruby.runtime.builtin.IRubyObject ljust(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 4746
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* arg0 */
            bipush 108
            invokevirtual org.jruby.RubyString.justify:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"ljust"})
    MethodParameters:
      Name  Flags
      arg0  

  public org.jruby.runtime.builtin.IRubyObject ljust(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 4751
            aload 0 /* this */
            aload 1 /* arg0 */
            aload 2 /* arg1 */
            bipush 108
            invokevirtual org.jruby.RubyString.justify:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"ljust"})
    MethodParameters:
      Name  Flags
      arg0  
      arg1  

  public org.jruby.runtime.builtin.IRubyObject rjust19(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 4759
            aload 0 /* this */
            aload 1 /* arg0 */
            invokevirtual org.jruby.RubyString.rjust:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      arg0  

  public org.jruby.runtime.builtin.IRubyObject rjust19(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 4762
            aload 0 /* this */
            aload 1 /* arg0 */
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyString.rjust:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      arg0  
      arg1  

  public org.jruby.runtime.builtin.IRubyObject rjust(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 4766
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* arg0 */
            bipush 114
            invokevirtual org.jruby.RubyString.justify:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rjust"})
    MethodParameters:
      Name  Flags
      arg0  

  public org.jruby.runtime.builtin.IRubyObject rjust(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 4771
            aload 0 /* this */
            aload 1 /* arg0 */
            aload 2 /* arg1 */
            bipush 114
            invokevirtual org.jruby.RubyString.justify:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rjust"})
    MethodParameters:
      Name  Flags
      arg0  
      arg1  

  public org.jruby.runtime.builtin.IRubyObject center19(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 4779
            aload 0 /* this */
            aload 1 /* arg0 */
            invokevirtual org.jruby.RubyString.center:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      arg0  

  public org.jruby.runtime.builtin.IRubyObject center19(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 4782
            aload 0 /* this */
            aload 1 /* arg0 */
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyString.center:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      arg0  
      arg1  

  public org.jruby.runtime.builtin.IRubyObject center(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 4786
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* arg0 */
            bipush 99
            invokevirtual org.jruby.RubyString.justify:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"center"})
    MethodParameters:
      Name  Flags
      arg0  

  public org.jruby.runtime.builtin.IRubyObject center(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 4791
            aload 0 /* this */
            aload 1 /* arg0 */
            aload 2 /* arg1 */
            bipush 99
            invokevirtual org.jruby.RubyString.justify:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"center"})
    MethodParameters:
      Name  Flags
      arg0  
      arg1  

  public org.jruby.runtime.builtin.IRubyObject partition(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 4796
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* block */
            invokestatic org.jruby.RubyEnumerable.partition:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject partition(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
        start local 3 // org.jruby.runtime.Block block
         0: .line 4801
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 4804
            aload 2 /* arg */
            instanceof org.jruby.RubyRegexp
            ifeq 7
         2: .line 4805
            aload 2 /* arg */
            checkcast org.jruby.RubyRegexp
            astore 7 /* regex */
        start local 7 // org.jruby.RubyRegexp regex
         3: .line 4807
            aload 7 /* regex */
            aload 1 /* context */
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual org.jruby.RubyRegexp.search:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;IZ)I
            istore 5 /* pos */
        start local 5 // int pos
         4: .line 4808
            iload 5 /* pos */
            ifge 5
            aload 0 /* this */
            aload 4 /* runtime */
            invokevirtual org.jruby.RubyString.partitionMismatch:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
         5: .line 4809
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby int top org.jruby.RubyRegexp
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 7 /* regex */
            invokevirtual org.jruby.RubyString.subpat:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRegexp;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            astore 6 /* sep */
        start local 6 // org.jruby.RubyString sep
         6: .line 4810
            iload 5 /* pos */
            ifne 12
            aload 6 /* sep */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 12
            aload 0 /* this */
            aload 4 /* runtime */
            invokevirtual org.jruby.RubyString.partitionMismatch:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
        end local 7 // org.jruby.RubyRegexp regex
        end local 6 // org.jruby.RubyString sep
        end local 5 // int pos
         7: .line 4812
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby
      StackMap stack:
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* tmp */
        start local 7 // org.jruby.runtime.builtin.IRubyObject tmp
         8: .line 4813
            aload 7 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 9
            aload 4 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "type mismatch: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " given"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         9: .line 4814
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby top top org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* tmp */
            checkcast org.jruby.RubyString
            astore 6 /* sep */
        start local 6 // org.jruby.RubyString sep
        10: .line 4815
            aload 0 /* this */
            aload 6 /* sep */
            iconst_0
            aload 0 /* this */
            aload 6 /* sep */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.StringSupport.index:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;ILorg/jcodings/Encoding;)I
            istore 5 /* pos */
        start local 5 // int pos
        11: .line 4816
            iload 5 /* pos */
            ifge 12
            aload 0 /* this */
            aload 4 /* runtime */
            invokevirtual org.jruby.RubyString.partitionMismatch:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
        end local 7 // org.jruby.runtime.builtin.IRubyObject tmp
        12: .line 4819
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby int org.jruby.RubyString
      StackMap stack:
            aload 4 /* runtime */
            iconst_3
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
        13: .line 4820
            aload 0 /* this */
            aload 4 /* runtime */
            iconst_0
            iload 5 /* pos */
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            aastore
            dup
            iconst_1
        14: .line 4821
            aload 6 /* sep */
            aastore
            dup
            iconst_2
        15: .line 4822
            aload 0 /* this */
            aload 4 /* runtime */
            iload 5 /* pos */
            aload 6 /* sep */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 5 /* pos */
            isub
            aload 6 /* sep */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            aastore
        16: .line 4819
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 6 // org.jruby.RubyString sep
        end local 5 // int pos
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lorg/jruby/RubyString;
            0   17     1  context  Lorg/jruby/runtime/ThreadContext;
            0   17     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            0   17     3    block  Lorg/jruby/runtime/Block;
            1   17     4  runtime  Lorg/jruby/Ruby;
            4    7     5      pos  I
           11   17     5      pos  I
            6    7     6      sep  Lorg/jruby/RubyString;
           10   17     6      sep  Lorg/jruby/RubyString;
            3    7     7    regex  Lorg/jruby/RubyRegexp;
            8   12     7      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg      
      block    

  private org.jruby.RubyArray partitionMismatch(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
         0: .line 4826
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            astore 2 /* enc */
        start local 2 // org.jcodings.Encoding enc
         1: .line 4827
            aload 1 /* runtime */
            iconst_3
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            aastore
            dup
            iconst_1
            aload 1 /* runtime */
            aload 2 /* enc */
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            aastore
            dup
            iconst_2
            aload 1 /* runtime */
            aload 2 /* enc */
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            aastore
            invokestatic org.jruby.RubyArray.newArrayMayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyString;
            0    2     1  runtime  Lorg/jruby/Ruby;
            1    2     2      enc  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      runtime  

  public org.jruby.runtime.builtin.IRubyObject rpartition(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 4832
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 4835
            aload 2 /* arg */
            instanceof org.jruby.RubyRegexp
            ifeq 7
         2: .line 4836
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.rindex:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* tmp */
        start local 6 // org.jruby.runtime.builtin.IRubyObject tmp
         3: .line 4837
            aload 6 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 4
            aload 0 /* this */
            aload 3 /* runtime */
            invokevirtual org.jruby.RubyString.rpartitionMismatch:(Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 4838
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby top top org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 6 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getIntValue:()I
            istore 4 /* pos */
        start local 4 // int pos
         5: .line 4839
            iconst_0
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getBackRef:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyRegexp.nth_match:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            astore 5 /* sep */
        end local 6 // org.jruby.runtime.builtin.IRubyObject tmp
        start local 5 // org.jruby.RubyString sep
         6: .line 4840
            goto 12
        end local 5 // org.jruby.RubyString sep
        end local 4 // int pos
         7: .line 4841
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby
      StackMap stack:
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* tmp */
        start local 6 // org.jruby.runtime.builtin.IRubyObject tmp
         8: .line 4842
            aload 6 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 9
            aload 3 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "type mismatch: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " given"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         9: .line 4843
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby top top org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 6 /* tmp */
            checkcast org.jruby.RubyString
            astore 5 /* sep */
        start local 5 // org.jruby.RubyString sep
        10: .line 4844
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* sep */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
            aload 5 /* sep */
            aload 0 /* this */
            aload 5 /* sep */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.StringSupport.strLengthFromRubyString:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            invokevirtual org.jruby.RubyString.subLength:(I)I
            aload 5 /* sep */
            aload 0 /* this */
            aload 5 /* sep */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.StringSupport.rindex:(Lorg/jruby/util/ByteList;IIILorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)I
            istore 4 /* pos */
        start local 4 // int pos
        11: .line 4845
            iload 4 /* pos */
            ifge 12
            aload 0 /* this */
            aload 3 /* runtime */
            invokevirtual org.jruby.RubyString.rpartitionMismatch:(Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject tmp
        12: .line 4848
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int org.jruby.RubyString
      StackMap stack:
            aload 3 /* runtime */
            iconst_3
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
        13: .line 4849
            aload 0 /* this */
            aload 3 /* runtime */
            iconst_0
            iload 4 /* pos */
            invokevirtual org.jruby.RubyString.substr19:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
            dup
            iconst_1
        14: .line 4850
            aload 5 /* sep */
            aastore
            dup
            iconst_2
        15: .line 4851
            aload 0 /* this */
            aload 3 /* runtime */
            iload 4 /* pos */
            aload 5 /* sep */
            invokevirtual org.jruby.RubyString.strLength:()I
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            invokevirtual org.jruby.RubyString.substr19:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
        16: .line 4848
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 5 // org.jruby.RubyString sep
        end local 4 // int pos
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lorg/jruby/RubyString;
            0   17     1  context  Lorg/jruby/runtime/ThreadContext;
            0   17     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1   17     3  runtime  Lorg/jruby/Ruby;
            5    7     4      pos  I
           11   17     4      pos  I
            6    7     5      sep  Lorg/jruby/RubyString;
           10   17     5      sep  Lorg/jruby/RubyString;
            3    6     6      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
            8   12     6      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rpartition"}, reads = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;}, writes = {org.jruby.anno.FrameField.BACKREF:Lorg/jruby/anno/FrameField;})
    MethodParameters:
         Name  Flags
      context  
      arg      

  private org.jruby.runtime.builtin.IRubyObject rpartitionMismatch(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
         0: .line 4855
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            astore 2 /* enc */
        start local 2 // org.jcodings.Encoding enc
         1: .line 4856
            aload 1 /* runtime */
            iconst_3
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 1 /* runtime */
            aload 2 /* enc */
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            aastore
            dup
            iconst_1
            aload 1 /* runtime */
            aload 2 /* enc */
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            aastore
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyString;
            0    2     1  runtime  Lorg/jruby/Ruby;
            1    2     2      enc  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      runtime  

  public org.jruby.runtime.builtin.IRubyObject chop19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4864
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.chop:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject chop_bang19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4867
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.chop_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject chop(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4871
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 4872
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 2
            aload 2 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.metaClass:Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            areturn
         2: .line 4873
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 0 /* this */
            aload 2 /* runtime */
            iconst_0
            aload 0 /* this */
            invokestatic org.jruby.util.StringSupport.choppedLength:(Lorg/jruby/util/CodeRangeable;)I
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"chop"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject chop_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4878
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyAndKeepCodeRange:()V
         1: .line 4879
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.size:()I
            ifle 7
         2: .line 4880
            aload 0 /* this */
            invokestatic org.jruby.util.StringSupport.choppedLength:(Lorg/jruby/util/CodeRangeable;)I
            istore 2 /* len */
        start local 2 // int len
         3: .line 4881
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 2 /* len */
            invokevirtual org.jruby.util.ByteList.realSize:(I)V
         4: .line 4882
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            bipush 16
            if_icmpeq 6
         5: .line 4883
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.clearCodeRange:()V
         6: .line 4885
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // int len
         7: .line 4887
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyString;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            3    7     2      len  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"chop!"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyString chomp(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4891
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.chomp19:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyString chomp(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 4895
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            invokevirtual org.jruby.RubyString.chomp19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      arg0     

  public org.jruby.runtime.builtin.IRubyObject chomp_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4909
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.chomp_bang19:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject chomp_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 4913
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            invokevirtual org.jruby.RubyString.chomp_bang19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      arg0     

  public org.jruby.RubyString chomp19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4918
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         1: .line 4919
            aload 2 /* str */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.chomp_bang19:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 4920
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"chomp"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyString chomp19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 4925
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         1: .line 4926
            aload 3 /* str */
            aload 1 /* context */
            aload 2 /* arg0 */
            invokevirtual org.jruby.RubyString.chomp_bang19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 4927
            aload 3 /* str */
            areturn
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"chomp"})
    MethodParameters:
         Name  Flags
      context  
      arg0     

  public org.jruby.runtime.builtin.IRubyObject chomp_bang19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4932
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 4933
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         2: .line 4934
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 4936
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
            ldc "$/"
            invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* rsObj */
        start local 3 // org.jruby.runtime.builtin.IRubyObject rsObj
         4: .line 4938
            aload 3 /* rsObj */
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
            invokevirtual org.jruby.internal.runtime.GlobalVariables.getDefaultSeparator:()Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 5
            aload 0 /* this */
            aload 2 /* runtime */
            invokevirtual org.jruby.RubyString.smartChopBangCommon:(Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 4939
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            aload 2 /* runtime */
            aload 3 /* rsObj */
            invokevirtual org.jruby.RubyString.chompBangCommon:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject rsObj
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyString;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            2    6     2  runtime  Lorg/jruby/Ruby;
            4    6     3    rsObj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"chomp!"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject chomp_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 4944
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 4945
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 4946
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* arg0 */
            invokevirtual org.jruby.RubyString.chompBangCommon:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"chomp!"})
    MethodParameters:
         Name  Flags
      context  
      arg0     

  private org.jruby.runtime.builtin.IRubyObject chompBangCommon(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject rsObj
         0: .line 4950
            aload 2 /* rsObj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 1
            aload 2 /* rsObj */
            areturn
         1: .line 4952
      StackMap locals:
      StackMap stack:
            aload 2 /* rsObj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 3 /* rs */
        start local 3 // org.jruby.RubyString rs
         2: .line 4953
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 4 /* p */
        start local 4 // int p
         3: .line 4954
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 5 /* len */
        start local 5 // int len
         4: .line 4955
            iload 4 /* p */
            iload 5 /* len */
            iadd
            istore 6 /* end */
        start local 6 // int end
         5: .line 4956
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 7 /* bytes */
        start local 7 // byte[] bytes
         6: .line 4958
            aload 3 /* rs */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 8 /* rslen */
        start local 8 // int rslen
         7: .line 4959
            iload 8 /* rslen */
            ifne 17
         8: .line 4960
            goto 11
         9: .line 4961
      StackMap locals: org.jruby.RubyString org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString int int int byte[] int
      StackMap stack:
            iinc 5 /* len */ -1
        10: .line 4962
            iload 5 /* len */
            ifle 11
            aload 7 /* bytes */
            iload 4 /* p */
            iload 5 /* len */
            iadd
            iconst_1
            isub
            baload
            bipush 13
            if_icmpne 11
            iinc 5 /* len */ -1
        11: .line 4960
      StackMap locals:
      StackMap stack:
            iload 5 /* len */
            ifle 12
            aload 7 /* bytes */
            iload 4 /* p */
            iload 5 /* len */
            iadd
            iconst_1
            isub
            baload
            bipush 10
            if_icmpeq 9
        12: .line 4964
      StackMap locals:
      StackMap stack:
            iload 5 /* len */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            if_icmpge 16
        13: .line 4965
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.keepCodeRange:()V
        14: .line 4966
            aload 0 /* this */
            iconst_0
            iload 5 /* len */
            invokevirtual org.jruby.RubyString.view:(II)V
        15: .line 4967
            aload 0 /* this */
            areturn
        16: .line 4969
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        17: .line 4972
      StackMap locals:
      StackMap stack:
            iload 8 /* rslen */
            iload 5 /* len */
            if_icmple 18
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        18: .line 4973
      StackMap locals:
      StackMap stack:
            aload 3 /* rs */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 8 /* rslen */
            iconst_1
            isub
            baload
            istore 9 /* newline */
        start local 9 // byte newline
        19: .line 4974
            iload 8 /* rslen */
            iconst_1
            if_icmpne 20
            iload 9 /* newline */
            bipush 10
            if_icmpne 20
            aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual org.jruby.RubyString.smartChopBangCommon:(Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        20: .line 4976
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* rs */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 10 /* enc */
        start local 10 // org.jcodings.Encoding enc
        21: .line 4977
            aload 3 /* rs */
            invokevirtual org.jruby.RubyString.scanForCodeRange:()I
            bipush 48
            if_icmpne 22
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        22: .line 4979
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            iload 6 /* end */
            iload 8 /* rslen */
            isub
            istore 11 /* pp */
        start local 11 // int pp
        23: .line 4980
            aload 7 /* bytes */
            iload 4 /* p */
            iload 5 /* len */
            iadd
            iconst_1
            isub
            baload
            iload 9 /* newline */
            if_icmpne 24
            iload 8 /* rslen */
            iconst_1
            if_icmple 25
      StackMap locals: int
      StackMap stack:
        24: aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* rs */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.endsWith:(Lorg/jruby/util/ByteList;)Z
            ifeq 29
        25: .line 4981
      StackMap locals:
      StackMap stack:
            aload 10 /* enc */
            aload 7 /* bytes */
            iload 4 /* p */
            iload 11 /* pp */
            iload 6 /* end */
            invokevirtual org.jcodings.Encoding.leftAdjustCharHead:([BIII)I
            iload 11 /* pp */
            if_icmpeq 26
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        26: .line 4982
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            bipush 16
            if_icmpeq 27
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.clearCodeRange:()V
        27: .line 4983
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iload 8 /* rslen */
            isub
            invokevirtual org.jruby.RubyString.view:(II)V
        28: .line 4984
            aload 0 /* this */
            areturn
        29: .line 4986
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 11 // int pp
        end local 10 // org.jcodings.Encoding enc
        end local 9 // byte newline
        end local 8 // int rslen
        end local 7 // byte[] bytes
        end local 6 // int end
        end local 5 // int len
        end local 4 // int p
        end local 3 // org.jruby.RubyString rs
        end local 2 // org.jruby.runtime.builtin.IRubyObject rsObj
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   30     0     this  Lorg/jruby/RubyString;
            0   30     1  runtime  Lorg/jruby/Ruby;
            0   30     2    rsObj  Lorg/jruby/runtime/builtin/IRubyObject;
            2   30     3       rs  Lorg/jruby/RubyString;
            3   30     4        p  I
            4   30     5      len  I
            5   30     6      end  I
            6   30     7    bytes  [B
            7   30     8    rslen  I
           19   30     9  newline  B
           21   30    10      enc  Lorg/jcodings/Encoding;
           23   30    11       pp  I
    MethodParameters:
         Name  Flags
      runtime  
      rsObj    

  private org.jruby.runtime.builtin.IRubyObject smartChopBangCommon(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.Ruby runtime
         0: .line 4990
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 2 /* p */
        start local 2 // int p
         1: .line 4991
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 3 /* len */
        start local 3 // int len
         2: .line 4992
            iload 2 /* p */
            iload 3 /* len */
            iadd
            istore 4 /* end */
        start local 4 // int end
         3: .line 4993
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 5 /* bytes */
        start local 5 // byte[] bytes
         4: .line 4994
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 6 /* enc */
        start local 6 // org.jcodings.Encoding enc
         5: .line 4996
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.keepCodeRange:()V
         6: .line 4997
            aload 6 /* enc */
            invokevirtual org.jcodings.Encoding.minLength:()I
            iconst_1
            if_icmple 20
         7: .line 4998
            aload 6 /* enc */
            aload 5 /* bytes */
            iload 2 /* p */
            iload 4 /* end */
            aload 6 /* enc */
            invokevirtual org.jcodings.Encoding.minLength:()I
            isub
            iload 4 /* end */
            invokevirtual org.jcodings.Encoding.leftAdjustCharHead:([BIII)I
            istore 7 /* pp */
        start local 7 // int pp
         8: .line 4999
            aload 6 /* enc */
            aload 5 /* bytes */
            iload 7 /* pp */
            iload 4 /* end */
            invokevirtual org.jcodings.Encoding.isNewLine:([BII)Z
            ifeq 9
            iload 7 /* pp */
            istore 4 /* end */
         9: .line 5000
      StackMap locals: org.jruby.RubyString org.jruby.Ruby int int int byte[] org.jcodings.Encoding int
      StackMap stack:
            iload 4 /* end */
            aload 6 /* enc */
            invokevirtual org.jcodings.Encoding.minLength:()I
            isub
            istore 7 /* pp */
        10: .line 5001
            iload 7 /* pp */
            iload 2 /* p */
            if_icmplt 14
        11: .line 5002
            aload 6 /* enc */
            aload 5 /* bytes */
            iload 2 /* p */
            iload 7 /* pp */
            iload 4 /* end */
            invokevirtual org.jcodings.Encoding.leftAdjustCharHead:([BIII)I
            istore 7 /* pp */
        12: .line 5003
            aload 6 /* enc */
            aload 5 /* bytes */
            iload 7 /* pp */
            iload 4 /* end */
            invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
            ifle 14
        13: .line 5004
            aload 6 /* enc */
            aload 5 /* bytes */
            iload 7 /* pp */
            iload 4 /* end */
            invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
            bipush 13
            if_icmpne 14
            iload 7 /* pp */
            istore 4 /* end */
        14: .line 5006
      StackMap locals:
      StackMap stack:
            iload 4 /* end */
            iload 2 /* p */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            if_icmpne 17
        15: .line 5007
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
        16: .line 5008
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        17: .line 5010
      StackMap locals:
      StackMap stack:
            iload 4 /* end */
            iload 2 /* p */
            isub
            istore 3 /* len */
        18: .line 5011
            aload 0 /* this */
            iconst_0
            iload 3 /* len */
            invokevirtual org.jruby.RubyString.view:(II)V
        end local 7 // int pp
        19: .line 5012
            goto 31
        20: .line 5013
      StackMap locals:
      StackMap stack:
            aload 5 /* bytes */
            iload 2 /* p */
            iload 3 /* len */
            iadd
            iconst_1
            isub
            baload
            bipush 10
            if_icmpne 25
        21: .line 5014
            iinc 3 /* len */ -1
        22: .line 5015
            iload 3 /* len */
            ifle 23
            aload 5 /* bytes */
            iload 2 /* p */
            iload 3 /* len */
            iadd
            iconst_1
            isub
            baload
            bipush 13
            if_icmpne 23
            iinc 3 /* len */ -1
        23: .line 5016
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iload 3 /* len */
            invokevirtual org.jruby.RubyString.view:(II)V
        24: .line 5017
            goto 31
      StackMap locals:
      StackMap stack:
        25: aload 5 /* bytes */
            iload 2 /* p */
            iload 3 /* len */
            iadd
            iconst_1
            isub
            baload
            bipush 13
            if_icmpne 29
        26: .line 5018
            iinc 3 /* len */ -1
        27: .line 5019
            aload 0 /* this */
            iconst_0
            iload 3 /* len */
            invokevirtual org.jruby.RubyString.view:(II)V
        28: .line 5020
            goto 31
        29: .line 5021
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
        30: .line 5022
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        31: .line 5025
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 6 // org.jcodings.Encoding enc
        end local 5 // byte[] bytes
        end local 4 // int end
        end local 3 // int len
        end local 2 // int p
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   32     0     this  Lorg/jruby/RubyString;
            0   32     1  runtime  Lorg/jruby/Ruby;
            1   32     2        p  I
            2   32     3      len  I
            3   32     4      end  I
            4   32     5    bytes  [B
            5   32     6      enc  Lorg/jcodings/Encoding;
            8   19     7       pp  I
    MethodParameters:
         Name  Flags
      runtime  

  public org.jruby.runtime.builtin.IRubyObject lstrip19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5033
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.lstrip:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject lstrip_bang19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5036
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.lstrip_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject lstrip(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5040
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         1: .line 5041
            aload 2 /* str */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.lstrip_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 5042
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"lstrip"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject lstrip_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5047
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 5048
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 2 /* value */
        start local 2 // org.jruby.util.ByteList value
         2: .line 5049
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 5050
      StackMap locals: org.jruby.util.ByteList
      StackMap stack:
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 3 /* s */
        start local 3 // int s
         4: .line 5051
            iload 3 /* s */
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 4 /* end */
        start local 4 // int end
         5: .line 5052
            aload 2 /* value */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 5 /* bytes */
        start local 5 // byte[] bytes
         6: .line 5054
            aload 0 /* this */
            invokestatic org.jruby.util.io.EncodingUtils.STR_ENC_GET:(Lorg/jruby/util/ByteListHolder;)Lorg/jcodings/Encoding;
            astore 6 /* enc */
        start local 6 // org.jcodings.Encoding enc
         7: .line 5056
            aload 0 /* this */
            aload 6 /* enc */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:(Lorg/jcodings/Encoding;)Z
            ifeq 10
         8: .line 5057
            aload 0 /* this */
            aload 1 /* context */
            aload 5 /* bytes */
            iload 3 /* s */
            iload 4 /* end */
            invokevirtual org.jruby.RubyString.singleByteLStrip:(Lorg/jruby/runtime/ThreadContext;[BII)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* result */
        start local 7 // org.jruby.runtime.builtin.IRubyObject result
         9: .line 5058
            goto 11
        end local 7 // org.jruby.runtime.builtin.IRubyObject result
        10: .line 5059
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.util.ByteList int int byte[] org.jcodings.Encoding
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 6 /* enc */
            aload 5 /* bytes */
            iload 3 /* s */
            iload 4 /* end */
            invokevirtual org.jruby.RubyString.multiByteLStrip:(Lorg/jruby/runtime/ThreadContext;Lorg/jcodings/Encoding;[BII)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* result */
        start local 7 // org.jruby.runtime.builtin.IRubyObject result
        11: .line 5061
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.keepCodeRange:()V
        12: .line 5062
            aload 7 /* result */
            areturn
        end local 7 // org.jruby.runtime.builtin.IRubyObject result
        end local 6 // org.jcodings.Encoding enc
        end local 5 // byte[] bytes
        end local 4 // int end
        end local 3 // int s
        end local 2 // org.jruby.util.ByteList value
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/jruby/RubyString;
            0   13     1  context  Lorg/jruby/runtime/ThreadContext;
            2   13     2    value  Lorg/jruby/util/ByteList;
            4   13     3        s  I
            5   13     4      end  I
            6   13     5    bytes  [B
            7   13     6      enc  Lorg/jcodings/Encoding;
            9   10     7   result  Lorg/jruby/runtime/builtin/IRubyObject;
           11   13     7   result  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"lstrip!"})
    MethodParameters:
         Name  Flags
      context  

  private org.jruby.runtime.builtin.IRubyObject singleByteLStrip(org.jruby.runtime.ThreadContext, byte[], int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[BII)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // byte[] bytes
        start local 3 // int s
        start local 4 // int end
         0: .line 5066
            iload 3 /* s */
            istore 5 /* p */
        start local 5 // int p
         1: .line 5067
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iinc 5 /* p */ 1
      StackMap locals:
      StackMap stack:
         3: iload 5 /* p */
            iload 4 /* end */
            if_icmpge 4
            getstatic org.jruby.RubyString.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            aload 2 /* bytes */
            iload 5 /* p */
            baload
            sipush 255
            iand
            invokevirtual org.jcodings.specific.ASCIIEncoding.isSpace:(I)Z
            ifne 2
         4: .line 5068
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            iload 3 /* s */
            if_icmple 7
         5: .line 5069
            aload 0 /* this */
            iload 5 /* p */
            iload 3 /* s */
            isub
            iload 4 /* end */
            iload 5 /* p */
            isub
            invokevirtual org.jruby.RubyString.view:(II)V
         6: .line 5070
            aload 0 /* this */
            areturn
         7: .line 5072
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // int p
        end local 4 // int end
        end local 3 // int s
        end local 2 // byte[] bytes
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyString;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            0    8     2    bytes  [B
            0    8     3        s  I
            0    8     4      end  I
            1    8     5        p  I
    MethodParameters:
         Name  Flags
      context  
      bytes    
      s        
      end      

  private org.jruby.runtime.builtin.IRubyObject multiByteLStrip(org.jruby.runtime.ThreadContext, org.jcodings.Encoding, byte[], int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jcodings/Encoding;[BII)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jcodings.Encoding enc
        start local 3 // byte[] bytes
        start local 4 // int s
        start local 5 // int end
         0: .line 5076
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 6 /* runtime */
        start local 6 // org.jruby.Ruby runtime
         1: .line 5077
            iload 4 /* s */
            istore 7 /* p */
        start local 7 // int p
         2: .line 5079
            goto 6
         3: .line 5080
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
            aload 6 /* runtime */
            aload 2 /* enc */
            aload 3 /* bytes */
            iload 7 /* p */
            iload 5 /* end */
            invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;[BII)I
            istore 8 /* c */
        start local 8 // int c
         4: .line 5081
            getstatic org.jruby.RubyString.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iload 8 /* c */
            invokevirtual org.jcodings.specific.ASCIIEncoding.isSpace:(I)Z
            ifne 5
            goto 7
         5: .line 5082
      StackMap locals: int
      StackMap stack:
            iload 7 /* p */
            aload 2 /* enc */
            iload 8 /* c */
            invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
            iadd
            istore 7 /* p */
        end local 8 // int c
         6: .line 5079
      StackMap locals:
      StackMap stack:
            iload 7 /* p */
            iload 5 /* end */
            if_icmplt 3
         7: .line 5085
      StackMap locals:
      StackMap stack:
            iload 7 /* p */
            iload 4 /* s */
            if_icmple 10
         8: .line 5086
            aload 0 /* this */
            iload 7 /* p */
            iload 4 /* s */
            isub
            iload 5 /* end */
            iload 7 /* p */
            isub
            invokevirtual org.jruby.RubyString.view:(II)V
         9: .line 5087
            aload 0 /* this */
            areturn
        10: .line 5090
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // int p
        end local 6 // org.jruby.Ruby runtime
        end local 5 // int end
        end local 4 // int s
        end local 3 // byte[] bytes
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyString;
            0   11     1  context  Lorg/jruby/runtime/ThreadContext;
            0   11     2      enc  Lorg/jcodings/Encoding;
            0   11     3    bytes  [B
            0   11     4        s  I
            0   11     5      end  I
            1   11     6  runtime  Lorg/jruby/Ruby;
            2   11     7        p  I
            4    6     8        c  I
    MethodParameters:
         Name  Flags
      context  
      enc      
      bytes    
      s        
      end      

  public org.jruby.runtime.builtin.IRubyObject rstrip19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5098
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.rstrip:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject rstrip_bang19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5101
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.rstrip_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject rstrip(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5105
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         1: .line 5106
            aload 2 /* str */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.rstrip_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 5107
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rstrip"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject rstrip_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5112
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 5113
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 3
         2: .line 5114
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 5117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.checkDummyEncoding:()Lorg/jcodings/Encoding;
            pop
         4: .line 5118
            aload 0 /* this */
            invokestatic org.jruby.util.io.EncodingUtils.STR_ENC_GET:(Lorg/jruby/util/ByteListHolder;)Lorg/jcodings/Encoding;
            astore 2 /* enc */
        start local 2 // org.jcodings.Encoding enc
         5: .line 5119
            aload 0 /* this */
            aload 2 /* enc */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:(Lorg/jcodings/Encoding;)Z
            ifeq 6
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.singleByteRStrip:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 7
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
         6: aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.multiByteRStrip:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         7: astore 3 /* result */
        start local 3 // org.jruby.runtime.builtin.IRubyObject result
         8: .line 5121
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.keepCodeRange:()V
         9: .line 5122
            aload 3 /* result */
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject result
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyString;
            0   10     1  context  Lorg/jruby/runtime/ThreadContext;
            5   10     2      enc  Lorg/jcodings/Encoding;
            8   10     3   result  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rstrip!"})
    MethodParameters:
         Name  Flags
      context  

  private org.jruby.runtime.builtin.IRubyObject singleByteRStrip(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5127
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         1: .line 5128
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 3 /* start */
        start local 3 // int start
         2: .line 5129
            iload 3 /* start */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 4 /* end */
        start local 4 // int end
         3: .line 5130
            iload 4 /* end */
            iconst_1
            isub
            istore 5 /* endp */
        start local 5 // int endp
         4: .line 5131
            goto 6
         5: .line 5132
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext byte[] int int int
      StackMap stack:
            iinc 5 /* endp */ -1
         6: .line 5131
      StackMap locals:
      StackMap stack:
            iload 5 /* endp */
            iload 3 /* start */
            if_icmplt 8
            aload 2 /* bytes */
            iload 5 /* endp */
            baload
            ifeq 5
         7: .line 5132
            getstatic org.jruby.RubyString.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            aload 2 /* bytes */
            iload 5 /* endp */
            baload
            sipush 255
            iand
            invokevirtual org.jcodings.specific.ASCIIEncoding.isSpace:(I)Z
            ifne 5
         8: .line 5134
      StackMap locals:
      StackMap stack:
            iload 5 /* endp */
            iload 4 /* end */
            iconst_1
            isub
            if_icmpge 11
         9: .line 5135
            aload 0 /* this */
            iconst_0
            iload 5 /* endp */
            iload 3 /* start */
            isub
            iconst_1
            iadd
            invokevirtual org.jruby.RubyString.view:(II)V
        10: .line 5136
            aload 0 /* this */
            areturn
        11: .line 5139
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // int endp
        end local 4 // int end
        end local 3 // int start
        end local 2 // byte[] bytes
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/jruby/RubyString;
            0   12     1  context  Lorg/jruby/runtime/ThreadContext;
            1   12     2    bytes  [B
            2   12     3    start  I
            3   12     4      end  I
            4   12     5     endp  I
    MethodParameters:
         Name  Flags
      context  

  private org.jruby.runtime.builtin.IRubyObject multiByteRStrip(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5144
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 5145
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         2: .line 5146
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 4 /* start */
        start local 4 // int start
         3: .line 5147
            iload 4 /* start */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 5 /* end */
        start local 5 // int end
         4: .line 5148
            aload 0 /* this */
            invokestatic org.jruby.util.io.EncodingUtils.STR_ENC_GET:(Lorg/jruby/util/ByteListHolder;)Lorg/jcodings/Encoding;
            astore 6 /* enc */
        start local 6 // org.jcodings.Encoding enc
         5: .line 5149
            iload 5 /* end */
            istore 7 /* endp */
        start local 7 // int endp
         6: .line 5151
            goto 10
        start local 8 // int prev
         7: .line 5152
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.Ruby byte[] int int org.jcodings.Encoding int int
      StackMap stack:
            aload 2 /* runtime */
            aload 6 /* enc */
            aload 3 /* bytes */
            iload 8 /* prev */
            iload 5 /* end */
            invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;[BII)I
            istore 9 /* point */
        start local 9 // int point
         8: .line 5153
            iload 9 /* point */
            ifeq 9
            getstatic org.jruby.RubyString.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iload 9 /* point */
            invokevirtual org.jcodings.specific.ASCIIEncoding.isSpace:(I)Z
            ifne 9
            goto 12
         9: .line 5154
      StackMap locals: int
      StackMap stack:
            iload 8 /* prev */
            istore 7 /* endp */
        end local 9 // int point
        end local 8 // int prev
        10: .line 5151
      StackMap locals:
      StackMap stack:
            aload 6 /* enc */
            aload 3 /* bytes */
            iload 4 /* start */
            iload 7 /* endp */
            iload 5 /* end */
            invokevirtual org.jcodings.Encoding.prevCharHead:([BIII)I
            dup
            istore 8 /* prev */
        start local 8 // int prev
        11: iconst_m1
            if_icmpne 7
        12: .line 5157
      StackMap locals: int
      StackMap stack:
            iload 7 /* endp */
            iload 5 /* end */
            if_icmpge 15
        13: .line 5158
            aload 0 /* this */
            iconst_0
            iload 7 /* endp */
            iload 4 /* start */
            isub
            invokevirtual org.jruby.RubyString.view:(II)V
        14: .line 5159
            aload 0 /* this */
            areturn
        15: .line 5161
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 8 // int prev
        end local 7 // int endp
        end local 6 // org.jcodings.Encoding enc
        end local 5 // int end
        end local 4 // int start
        end local 3 // byte[] bytes
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/jruby/RubyString;
            0   16     1  context  Lorg/jruby/runtime/ThreadContext;
            1   16     2  runtime  Lorg/jruby/Ruby;
            2   16     3    bytes  [B
            3   16     4    start  I
            4   16     5      end  I
            5   16     6      enc  Lorg/jcodings/Encoding;
            6   16     7     endp  I
            7   10     8     prev  I
           11   16     8     prev  I
            8   10     9    point  I
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject strip19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5169
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.strip:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject strip_bang19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5172
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.strip_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject strip(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5176
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         1: .line 5177
            aload 2 /* str */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.strip_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 5178
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"strip"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject strip_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5183
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 5185
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.lstrip_bang19:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* left */
        start local 2 // org.jruby.runtime.builtin.IRubyObject left
         2: .line 5186
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.rstrip_bang19:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* right */
        start local 3 // org.jruby.runtime.builtin.IRubyObject right
         3: .line 5188
            aload 2 /* left */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 4
            aload 3 /* right */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 4
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 5
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         4: aload 0 /* this */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         5: areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject right
        end local 2 // org.jruby.runtime.builtin.IRubyObject left
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyString;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            2    6     2     left  Lorg/jruby/runtime/builtin/IRubyObject;
            3    6     3    right  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"strip!"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject count19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5192
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.count:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject count19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 5195
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.count:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject count19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 5198
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyString.count:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject count(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5202
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "wrong number of arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"count"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject count(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=16, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 5208
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 5210
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 4 /* countStr */
        start local 4 // org.jruby.RubyString countStr
         2: .line 5211
            aload 4 /* countStr */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 5 /* countValue */
        start local 5 // org.jruby.util.ByteList countValue
         3: .line 5212
            aload 0 /* this */
            aload 4 /* countStr */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 6 /* enc */
        start local 6 // org.jcodings.Encoding enc
         4: .line 5214
            aload 5 /* countValue */
            invokevirtual org.jruby.util.ByteList.length:()I
            iconst_1
            if_icmpne 20
            aload 6 /* enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifeq 20
         5: .line 5215
            aload 5 /* countValue */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 7 /* countBytes */
        start local 7 // byte[] countBytes
         6: .line 5216
            aload 5 /* countValue */
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 8 /* begin */
        start local 8 // int begin
         7: aload 5 /* countValue */
            invokevirtual org.jruby.util.ByteList.length:()I
            istore 9 /* size */
        start local 9 // int size
         8: .line 5217
            aload 6 /* enc */
            aload 7 /* countBytes */
            iload 8 /* begin */
            iload 8 /* begin */
            iload 9 /* size */
            iadd
            invokevirtual org.jcodings.Encoding.isReverseMatchAllowed:([BII)Z
            ifeq 20
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.isCodeRangeBroken:()Z
            ifne 20
         9: .line 5218
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            ifne 10
            aload 3 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        10: .line 5220
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyString org.jruby.util.ByteList org.jcodings.Encoding byte[] int int
      StackMap stack:
            iconst_0
            istore 10 /* n */
        start local 10 // int n
        11: .line 5221
            iconst_1
            newarray 10
            astore 11 /* len_p */
        start local 11 // int[] len_p
        12: .line 5222
            aload 3 /* runtime */
            aload 7 /* countBytes */
            iload 8 /* begin */
            iload 8 /* begin */
            iload 9 /* size */
            iadd
            aload 11 /* len_p */
            aload 6 /* enc */
            invokestatic org.jruby.util.io.EncodingUtils.encCodepointLength:(Lorg/jruby/Ruby;[BII[ILorg/jcodings/Encoding;)I
            istore 12 /* c */
        start local 12 // int c
        13: .line 5224
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 13 /* bytes */
        start local 13 // byte[] bytes
        14: .line 5225
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 14 /* i */
        start local 14 // int i
        15: .line 5226
            iload 14 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            iadd
            istore 15 /* end */
        start local 15 // int end
        16: .line 5227
            goto 18
        17: .line 5228
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyString org.jruby.util.ByteList org.jcodings.Encoding byte[] int int int int[] int byte[] int int
      StackMap stack:
            aload 13 /* bytes */
            iload 14 /* i */
            iinc 14 /* i */ 1
            baload
            sipush 255
            iand
            iload 12 /* c */
            if_icmpne 18
            iinc 10 /* n */ 1
        18: .line 5227
      StackMap locals:
      StackMap stack:
            iload 14 /* i */
            iload 15 /* end */
            if_icmplt 17
        19: .line 5230
            aload 3 /* runtime */
            iload 10 /* n */
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        end local 15 // int end
        end local 14 // int i
        end local 13 // byte[] bytes
        end local 12 // int c
        end local 11 // int[] len_p
        end local 10 // int n
        end local 9 // int size
        end local 8 // int begin
        end local 7 // byte[] countBytes
        20: .line 5234
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyString org.jruby.util.ByteList org.jcodings.Encoding
      StackMap stack:
            sipush 257
            newarray 4
            astore 7 /* table */
        start local 7 // boolean[] table
        21: .line 5235
            aload 5 /* countValue */
            aload 3 /* runtime */
            aload 7 /* table */
            aconst_null
            iconst_1
            aload 6 /* enc */
            invokestatic org.jruby.util.StringSupport.trSetupTable:(Lorg/jruby/util/ByteList;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;ZLorg/jcodings/Encoding;)Lorg/jruby/util/StringSupport$TrTables;
            astore 8 /* tables */
        start local 8 // org.jruby.util.StringSupport$TrTables tables
        22: .line 5236
            aload 3 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* runtime */
            aload 7 /* table */
            aload 8 /* tables */
            aload 6 /* enc */
            invokestatic org.jruby.util.StringSupport.strCount:(Lorg/jruby/util/ByteList;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;)I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 8 // org.jruby.util.StringSupport$TrTables tables
        end local 7 // boolean[] table
        end local 6 // org.jcodings.Encoding enc
        end local 5 // org.jruby.util.ByteList countValue
        end local 4 // org.jruby.RubyString countStr
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lorg/jruby/RubyString;
            0   23     1     context  Lorg/jruby/runtime/ThreadContext;
            0   23     2         arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1   23     3     runtime  Lorg/jruby/Ruby;
            2   23     4    countStr  Lorg/jruby/RubyString;
            3   23     5  countValue  Lorg/jruby/util/ByteList;
            4   23     6         enc  Lorg/jcodings/Encoding;
            6   20     7  countBytes  [B
            7   20     8       begin  I
            8   20     9        size  I
           11   20    10           n  I
           12   20    11       len_p  [I
           13   20    12           c  I
           14   20    13       bytes  [B
           15   20    14           i  I
           16   20    15         end  I
           21   23     7       table  [Z
           22   23     8      tables  Lorg/jruby/util/StringSupport$TrTables;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"count"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject count(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 5242
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 5244
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            ifne 2
            aload 3 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
         2: .line 5246
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 2 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 4 /* countStr */
        start local 4 // org.jruby.RubyString countStr
         3: .line 5247
            aload 0 /* this */
            aload 4 /* countStr */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 5 /* enc */
        start local 5 // org.jcodings.Encoding enc
         4: .line 5249
            sipush 257
            newarray 4
            astore 6 /* table */
        start local 6 // boolean[] table
         5: .line 5250
            aload 4 /* countStr */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* runtime */
            aload 6 /* table */
            aconst_null
            iconst_1
            aload 5 /* enc */
            invokestatic org.jruby.util.StringSupport.trSetupTable:(Lorg/jruby/util/ByteList;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;ZLorg/jcodings/Encoding;)Lorg/jruby/util/StringSupport$TrTables;
            astore 7 /* tables */
        start local 7 // org.jruby.util.StringSupport$TrTables tables
         6: .line 5251
            iconst_1
            istore 8 /* i */
        start local 8 // int i
         7: goto 12
         8: .line 5252
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.RubyString org.jcodings.Encoding boolean[] org.jruby.util.StringSupport$TrTables int
      StackMap stack:
            aload 2 /* args */
            iload 8 /* i */
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 4 /* countStr */
         9: .line 5253
            aload 0 /* this */
            aload 4 /* countStr */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 5 /* enc */
        10: .line 5254
            aload 4 /* countStr */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* runtime */
            aload 6 /* table */
            aload 7 /* tables */
            iconst_0
            aload 5 /* enc */
            invokestatic org.jruby.util.StringSupport.trSetupTable:(Lorg/jruby/util/ByteList;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;ZLorg/jcodings/Encoding;)Lorg/jruby/util/StringSupport$TrTables;
            astore 7 /* tables */
        11: .line 5251
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 8 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 8
        end local 8 // int i
        13: .line 5257
            aload 3 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* runtime */
            aload 6 /* table */
            aload 7 /* tables */
            aload 5 /* enc */
            invokestatic org.jruby.util.StringSupport.strCount:(Lorg/jruby/util/ByteList;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;)I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 7 // org.jruby.util.StringSupport$TrTables tables
        end local 6 // boolean[] table
        end local 5 // org.jcodings.Encoding enc
        end local 4 // org.jruby.RubyString countStr
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/jruby/RubyString;
            0   14     1   context  Lorg/jruby/runtime/ThreadContext;
            0   14     2      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   14     3   runtime  Lorg/jruby/Ruby;
            3   14     4  countStr  Lorg/jruby/RubyString;
            4   14     5       enc  Lorg/jcodings/Encoding;
            5   14     6     table  [Z
            6   14     7    tables  Lorg/jruby/util/StringSupport$TrTables;
            7   13     8         i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"count"}, required = 1, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject delete(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5266
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "wrong number of arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"delete"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject delete(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 5271
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         1: .line 5272
            aload 3 /* str */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.delete_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 5273
            aload 3 /* str */
            areturn
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"delete"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject delete(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 5278
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         1: .line 5279
            aload 3 /* str */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyString.delete_bang:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 5280
            aload 3 /* str */
            areturn
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"delete"}, required = 1, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject delete_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5285
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "wrong number of arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"delete!"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject delete_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 5290
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 5292
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         2: .line 5293
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 4 /* otherStr */
        start local 4 // org.jruby.RubyString otherStr
         3: .line 5294
            aload 0 /* this */
            aload 4 /* otherStr */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 5 /* enc */
        start local 5 // org.jcodings.Encoding enc
         4: .line 5295
            sipush 257
            newarray 4
            astore 6 /* squeeze */
        start local 6 // boolean[] squeeze
         5: .line 5296
            aload 4 /* otherStr */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* runtime */
            aload 6 /* squeeze */
            aconst_null
            iconst_1
            aload 5 /* enc */
            invokestatic org.jruby.util.StringSupport.trSetupTable:(Lorg/jruby/util/ByteList;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;ZLorg/jcodings/Encoding;)Lorg/jruby/util/StringSupport$TrTables;
            astore 7 /* tables */
        start local 7 // org.jruby.util.StringSupport$TrTables tables
         6: .line 5298
            aload 0 /* this */
            aload 3 /* runtime */
            aload 6 /* squeeze */
            aload 7 /* tables */
            aload 5 /* enc */
            invokestatic org.jruby.util.StringSupport.strDeleteBang:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;)Lorg/jruby/util/CodeRangeable;
            ifnonnull 8
         7: .line 5299
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         8: .line 5302
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyString org.jcodings.Encoding boolean[] org.jruby.util.StringSupport$TrTables
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 7 // org.jruby.util.StringSupport$TrTables tables
        end local 6 // boolean[] squeeze
        end local 5 // org.jcodings.Encoding enc
        end local 4 // org.jruby.RubyString otherStr
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/jruby/RubyString;
            0    9     1   context  Lorg/jruby/runtime/ThreadContext;
            0    9     2       arg  Lorg/jruby/runtime/builtin/IRubyObject;
            2    9     3   runtime  Lorg/jruby/Ruby;
            3    9     4  otherStr  Lorg/jruby/RubyString;
            4    9     5       enc  Lorg/jcodings/Encoding;
            5    9     6   squeeze  [Z
            6    9     7    tables  Lorg/jruby/util/StringSupport$TrTables;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"delete!"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject delete_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 5307
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 5309
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         2: .line 5311
            aconst_null
            astore 5 /* enc */
        start local 5 // org.jcodings.Encoding enc
         3: .line 5312
            sipush 257
            newarray 4
            astore 6 /* squeeze */
        start local 6 // boolean[] squeeze
         4: .line 5313
            aconst_null
            astore 7 /* tables */
        start local 7 // org.jruby.util.StringSupport$TrTables tables
         5: .line 5315
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         6: goto 13
         7: .line 5316
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby top org.jcodings.Encoding boolean[] org.jruby.util.StringSupport$TrTables int
      StackMap stack:
            aload 2 /* args */
            iload 8 /* i */
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 4 /* otherStr */
        start local 4 // org.jruby.RubyString otherStr
         8: .line 5317
            aload 0 /* this */
            aload 4 /* otherStr */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 5 /* enc */
         9: .line 5318
            aload 4 /* otherStr */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* runtime */
            aload 6 /* squeeze */
            aload 7 /* tables */
            iload 8 /* i */
            ifne 10
            iconst_1
            goto 11
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.RubyString org.jcodings.Encoding boolean[] org.jruby.util.StringSupport$TrTables int
      StackMap stack: org.jruby.util.ByteList org.jruby.Ruby boolean[] org.jruby.util.StringSupport$TrTables
        10: iconst_0
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.RubyString org.jcodings.Encoding boolean[] org.jruby.util.StringSupport$TrTables int
      StackMap stack: org.jruby.util.ByteList org.jruby.Ruby boolean[] org.jruby.util.StringSupport$TrTables int
        11: aload 5 /* enc */
            invokestatic org.jruby.util.StringSupport.trSetupTable:(Lorg/jruby/util/ByteList;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;ZLorg/jcodings/Encoding;)Lorg/jruby/util/StringSupport$TrTables;
            astore 7 /* tables */
        12: .line 5315
            iinc 8 /* i */ 1
        end local 4 // org.jruby.RubyString otherStr
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby top org.jcodings.Encoding boolean[] org.jruby.util.StringSupport$TrTables int
      StackMap stack:
        13: iload 8 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 7
        end local 8 // int i
        14: .line 5321
            aload 0 /* this */
            aload 3 /* runtime */
            aload 6 /* squeeze */
            aload 7 /* tables */
            aload 5 /* enc */
            invokestatic org.jruby.util.StringSupport.strDeleteBang:(Lorg/jruby/util/CodeRangeable;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;)Lorg/jruby/util/CodeRangeable;
            ifnonnull 16
        15: .line 5322
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        16: .line 5325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 7 // org.jruby.util.StringSupport$TrTables tables
        end local 6 // boolean[] squeeze
        end local 5 // org.jcodings.Encoding enc
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lorg/jruby/RubyString;
            0   17     1   context  Lorg/jruby/runtime/ThreadContext;
            0   17     2      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            2   17     3   runtime  Lorg/jruby/Ruby;
            8   13     4  otherStr  Lorg/jruby/RubyString;
            3   17     5       enc  Lorg/jcodings/Encoding;
            4   17     6   squeeze  [Z
            5   17     7    tables  Lorg/jruby/util/StringSupport$TrTables;
            6   14     8         i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"delete!"}, required = 1, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject delete19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5330
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.delete:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject delete19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 5335
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.delete:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject delete19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 5340
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyString.delete:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject delete_bang19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5345
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.delete_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject delete_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 5350
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.delete_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject delete_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 5355
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyString.delete_bang:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject squeeze(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5364
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 2 /* str */
        start local 2 // org.jruby.RubyString str
         1: .line 5365
            aload 2 /* str */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.squeeze_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 5366
            aload 2 /* str */
            areturn
        end local 2 // org.jruby.RubyString str
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"squeeze"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject squeeze(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 5371
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         1: .line 5372
            aload 3 /* str */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.squeeze_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 5373
            aload 3 /* str */
            areturn
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"squeeze"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject squeeze(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 5378
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         1: .line 5379
            aload 3 /* str */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyString.squeeze_bang:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 5380
            aload 3 /* str */
            areturn
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"squeeze"}, required = 1, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject squeeze_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5385
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 3
         1: .line 5386
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         2: .line 5387
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 5389
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         4: .line 5391
            sipush 256
            newarray 4
            astore 3 /* squeeze */
        start local 3 // boolean[] squeeze
         5: .line 5392
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 8
      StackMap locals: org.jruby.Ruby boolean[] int
      StackMap stack:
         7: aload 3 /* squeeze */
            iload 4 /* i */
            iconst_1
            bastore
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            sipush 256
            if_icmplt 7
        end local 4 // int i
         9: .line 5394
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyAndKeepCodeRange:()V
        10: .line 5395
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
            ifeq 13
        11: .line 5396
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* squeeze */
            invokestatic org.jruby.util.StringSupport.singleByteSqueeze:(Lorg/jruby/util/ByteList;[Z)Z
            ifne 15
        12: .line 5397
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        13: .line 5400
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* squeeze */
            aconst_null
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            iconst_0
            invokestatic org.jruby.util.StringSupport.multiByteSqueeze:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;Z)Z
            ifne 15
        14: .line 5401
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        15: .line 5405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // boolean[] squeeze
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/jruby/RubyString;
            0   16     1  context  Lorg/jruby/runtime/ThreadContext;
            4   16     2  runtime  Lorg/jruby/Ruby;
            5   16     3  squeeze  [Z
            6    9     4        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"squeeze!"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject squeeze_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 5410
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 5412
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 4 /* otherStr */
        start local 4 // org.jruby.RubyString otherStr
         2: .line 5413
            sipush 257
            newarray 4
            astore 5 /* squeeze */
        start local 5 // boolean[] squeeze
         3: .line 5414
            aload 4 /* otherStr */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* runtime */
            aload 5 /* squeeze */
            aconst_null
            iconst_1
            aload 0 /* this */
            aload 4 /* otherStr */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.StringSupport.trSetupTable:(Lorg/jruby/util/ByteList;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;ZLorg/jcodings/Encoding;)Lorg/jruby/util/StringSupport$TrTables;
            astore 6 /* tables */
        start local 6 // org.jruby.util.StringSupport$TrTables tables
         4: .line 5416
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyAndKeepCodeRange:()V
         5: .line 5417
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
            ifeq 8
            aload 4 /* otherStr */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
            ifeq 8
         6: .line 5418
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 5 /* squeeze */
            invokestatic org.jruby.util.StringSupport.singleByteSqueeze:(Lorg/jruby/util/ByteList;[Z)Z
            ifne 10
         7: .line 5419
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         8: .line 5422
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyString boolean[] org.jruby.util.StringSupport$TrTables
      StackMap stack:
            aload 3 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 5 /* squeeze */
            aload 6 /* tables */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            iconst_1
            invokestatic org.jruby.util.StringSupport.multiByteSqueeze:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;Z)Z
            ifne 10
         9: .line 5423
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        10: .line 5427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 6 // org.jruby.util.StringSupport$TrTables tables
        end local 5 // boolean[] squeeze
        end local 4 // org.jruby.RubyString otherStr
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/jruby/RubyString;
            0   11     1   context  Lorg/jruby/runtime/ThreadContext;
            0   11     2       arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1   11     3   runtime  Lorg/jruby/Ruby;
            2   11     4  otherStr  Lorg/jruby/RubyString;
            3   11     5   squeeze  [Z
            4   11     6    tables  Lorg/jruby/util/StringSupport$TrTables;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"squeeze!"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject squeeze_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 5432
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 3
         1: .line 5433
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         2: .line 5434
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 5436
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         4: .line 5438
            aload 2 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 4 /* otherStr */
        start local 4 // org.jruby.RubyString otherStr
         5: .line 5439
            aload 0 /* this */
            aload 4 /* otherStr */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 5 /* enc */
        start local 5 // org.jcodings.Encoding enc
         6: .line 5440
            sipush 257
            newarray 4
            astore 6 /* squeeze */
        start local 6 // boolean[] squeeze
         7: .line 5441
            aload 4 /* otherStr */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* runtime */
            aload 6 /* squeeze */
            aconst_null
            iconst_1
            aload 5 /* enc */
            invokestatic org.jruby.util.StringSupport.trSetupTable:(Lorg/jruby/util/ByteList;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;ZLorg/jcodings/Encoding;)Lorg/jruby/util/StringSupport$TrTables;
            astore 7 /* tables */
        start local 7 // org.jruby.util.StringSupport$TrTables tables
         8: .line 5443
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
            ifeq 9
            aload 4 /* otherStr */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
            ifeq 9
            iconst_1
            goto 10
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.RubyString org.jcodings.Encoding boolean[] org.jruby.util.StringSupport$TrTables
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 8 /* singleByte */
        start local 8 // boolean singleByte
        11: .line 5444
            iconst_1
            istore 9 /* i */
        start local 9 // int i
        12: goto 20
        13: .line 5445
      StackMap locals: int int
      StackMap stack:
            aload 2 /* args */
            iload 9 /* i */
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 4 /* otherStr */
        14: .line 5446
            aload 0 /* this */
            aload 4 /* otherStr */
            invokevirtual org.jruby.RubyString.checkEncoding:(Lorg/jruby/RubyString;)Lorg/jcodings/Encoding;
            astore 5 /* enc */
        15: .line 5447
            iload 8 /* singleByte */
            ifeq 16
            aload 4 /* otherStr */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
            ifeq 16
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: istore 8 /* singleByte */
        18: .line 5448
            aload 4 /* otherStr */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* runtime */
            aload 6 /* squeeze */
            aload 7 /* tables */
            iconst_0
            aload 5 /* enc */
            invokestatic org.jruby.util.StringSupport.trSetupTable:(Lorg/jruby/util/ByteList;Lorg/jruby/Ruby;[ZLorg/jruby/util/StringSupport$TrTables;ZLorg/jcodings/Encoding;)Lorg/jruby/util/StringSupport$TrTables;
            astore 7 /* tables */
        19: .line 5444
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 9 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 13
        end local 9 // int i
        21: .line 5451
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyAndKeepCodeRange:()V
        22: .line 5452
            iload 8 /* singleByte */
            ifeq 25
        23: .line 5453
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 6 /* squeeze */
            invokestatic org.jruby.util.StringSupport.singleByteSqueeze:(Lorg/jruby/util/ByteList;[Z)Z
            ifne 27
        24: .line 5454
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        25: .line 5457
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 6 /* squeeze */
            aload 7 /* tables */
            aload 5 /* enc */
            iconst_1
            invokestatic org.jruby.util.StringSupport.multiByteSqueeze:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[ZLorg/jruby/util/StringSupport$TrTables;Lorg/jcodings/Encoding;Z)Z
            ifne 27
        26: .line 5458
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        27: .line 5462
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 8 // boolean singleByte
        end local 7 // org.jruby.util.StringSupport$TrTables tables
        end local 6 // boolean[] squeeze
        end local 5 // org.jcodings.Encoding enc
        end local 4 // org.jruby.RubyString otherStr
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   28     0        this  Lorg/jruby/RubyString;
            0   28     1     context  Lorg/jruby/runtime/ThreadContext;
            0   28     2        args  [Lorg/jruby/runtime/builtin/IRubyObject;
            4   28     3     runtime  Lorg/jruby/Ruby;
            5   28     4    otherStr  Lorg/jruby/RubyString;
            6   28     5         enc  Lorg/jcodings/Encoding;
            7   28     6     squeeze  [Z
            8   28     7      tables  Lorg/jruby/util/StringSupport$TrTables;
           11   28     8  singleByte  Z
           12   21     9           i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"squeeze!"}, required = 1, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject squeeze19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5467
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.squeeze:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject squeeze19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 5472
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.squeeze:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject squeeze19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 5477
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyString.squeeze:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject squeeze_bang19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5482
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyString.squeeze_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject squeeze_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 5487
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.squeeze_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject squeeze_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 5492
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyString.squeeze_bang:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject tr(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject src
        start local 3 // org.jruby.runtime.builtin.IRubyObject repl
         0: .line 5499
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* src */
            aload 3 /* repl */
            invokevirtual org.jruby.RubyString.tr19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject repl
        end local 2 // org.jruby.runtime.builtin.IRubyObject src
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      src  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     repl  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      src      
      repl     

  public org.jruby.runtime.builtin.IRubyObject tr_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject src
        start local 3 // org.jruby.runtime.builtin.IRubyObject repl
         0: .line 5503
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* src */
            aload 3 /* repl */
            invokevirtual org.jruby.RubyString.tr_bang19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject repl
        end local 2 // org.jruby.runtime.builtin.IRubyObject src
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      src  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     repl  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      src      
      repl     

  public org.jruby.runtime.builtin.IRubyObject tr19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject src
        start local 3 // org.jruby.runtime.builtin.IRubyObject repl
         0: .line 5508
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 4 /* str */
        start local 4 // org.jruby.RubyString str
         1: .line 5509
            aload 4 /* str */
            aload 1 /* context */
            aload 2 /* src */
            aload 3 /* repl */
            iconst_0
            invokevirtual org.jruby.RubyString.trTrans19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 5510
            aload 4 /* str */
            areturn
        end local 4 // org.jruby.RubyString str
        end local 3 // org.jruby.runtime.builtin.IRubyObject repl
        end local 2 // org.jruby.runtime.builtin.IRubyObject src
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      src  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3     repl  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     4      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"tr"})
    MethodParameters:
         Name  Flags
      context  
      src      
      repl     

  public org.jruby.runtime.builtin.IRubyObject tr_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject src
        start local 3 // org.jruby.runtime.builtin.IRubyObject repl
         0: .line 5515
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* src */
            aload 3 /* repl */
            iconst_0
            invokevirtual org.jruby.RubyString.trTrans19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject repl
        end local 2 // org.jruby.runtime.builtin.IRubyObject src
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      src  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     repl  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"tr!"})
    MethodParameters:
         Name  Flags
      context  
      src      
      repl     

  private org.jruby.runtime.builtin.IRubyObject trTrans19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject src
        start local 3 // org.jruby.runtime.builtin.IRubyObject repl
        start local 4 // boolean sflag
         0: .line 5519
            aload 3 /* repl */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 5 /* replStr */
        start local 5 // org.jruby.RubyString replStr
         1: .line 5520
            aload 5 /* replStr */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 6 /* replList */
        start local 6 // org.jruby.util.ByteList replList
         2: .line 5521
            aload 2 /* src */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 7 /* srcStr */
        start local 7 // org.jruby.RubyString srcStr
         3: .line 5523
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 4
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 5524
      StackMap locals: org.jruby.RubyString org.jruby.util.ByteList org.jruby.RubyString
      StackMap stack:
            aload 6 /* replList */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            ifne 5
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* src */
            invokevirtual org.jruby.RubyString.delete_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 5526
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 7 /* srcStr */
            aload 5 /* replStr */
            iload 4 /* sflag */
            invokestatic org.jruby.util.StringSupport.trTransHelper:(Lorg/jruby/Ruby;Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;Lorg/jruby/util/CodeRangeable;Z)Lorg/jruby/util/CodeRangeable;
            astore 8 /* ret */
        start local 8 // org.jruby.util.CodeRangeable ret
         6: .line 5527
            aload 8 /* ret */
            ifnonnull 7
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 8
      StackMap locals: org.jruby.util.CodeRangeable
      StackMap stack:
         7: aload 8 /* ret */
            checkcast org.jruby.runtime.builtin.IRubyObject
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         8: areturn
        end local 8 // org.jruby.util.CodeRangeable ret
        end local 7 // org.jruby.RubyString srcStr
        end local 6 // org.jruby.util.ByteList replList
        end local 5 // org.jruby.RubyString replStr
        end local 4 // boolean sflag
        end local 3 // org.jruby.runtime.builtin.IRubyObject repl
        end local 2 // org.jruby.runtime.builtin.IRubyObject src
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/jruby/RubyString;
            0    9     1   context  Lorg/jruby/runtime/ThreadContext;
            0    9     2       src  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     3      repl  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     4     sflag  Z
            1    9     5   replStr  Lorg/jruby/RubyString;
            2    9     6  replList  Lorg/jruby/util/ByteList;
            3    9     7    srcStr  Lorg/jruby/RubyString;
            6    9     8       ret  Lorg/jruby/util/CodeRangeable;
    MethodParameters:
         Name  Flags
      context  
      src      
      repl     
      sflag    

  public org.jruby.runtime.builtin.IRubyObject tr_s(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject src
        start local 3 // org.jruby.runtime.builtin.IRubyObject repl
         0: .line 5534
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* src */
            aload 3 /* repl */
            invokevirtual org.jruby.RubyString.tr_s19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject repl
        end local 2 // org.jruby.runtime.builtin.IRubyObject src
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      src  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     repl  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      src      
      repl     

  public org.jruby.runtime.builtin.IRubyObject tr_s_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject src
        start local 3 // org.jruby.runtime.builtin.IRubyObject repl
         0: .line 5538
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* src */
            aload 3 /* repl */
            invokevirtual org.jruby.RubyString.tr_s_bang19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject repl
        end local 2 // org.jruby.runtime.builtin.IRubyObject src
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      src  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     repl  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      src      
      repl     

  public org.jruby.runtime.builtin.IRubyObject tr_s19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject src
        start local 3 // org.jruby.runtime.builtin.IRubyObject repl
         0: .line 5543
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 4 /* str */
        start local 4 // org.jruby.RubyString str
         1: .line 5544
            aload 4 /* str */
            aload 1 /* context */
            aload 2 /* src */
            aload 3 /* repl */
            iconst_1
            invokevirtual org.jruby.RubyString.trTrans19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 5545
            aload 4 /* str */
            areturn
        end local 4 // org.jruby.RubyString str
        end local 3 // org.jruby.runtime.builtin.IRubyObject repl
        end local 2 // org.jruby.runtime.builtin.IRubyObject src
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      src  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3     repl  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     4      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"tr_s"})
    MethodParameters:
         Name  Flags
      context  
      src      
      repl     

  public org.jruby.runtime.builtin.IRubyObject tr_s_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject src
        start local 3 // org.jruby.runtime.builtin.IRubyObject repl
         0: .line 5550
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* src */
            aload 3 /* repl */
            iconst_1
            invokevirtual org.jruby.RubyString.trTrans19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject repl
        end local 2 // org.jruby.runtime.builtin.IRubyObject src
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      src  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     repl  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"tr_s!"})
    MethodParameters:
         Name  Flags
      context  
      src      
      repl     

  public org.jruby.runtime.builtin.IRubyObject each_line(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 5558
            aload 0 /* this */
            aload 1 /* context */
            ldc "each_line"
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
            ldc "$/"
            invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* block */
            iconst_0
            invokestatic org.jruby.util.StringSupport.rbStrEnumerateLines:(Lorg/jruby/RubyString;Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"each_line"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject each_line(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
        start local 3 // org.jruby.runtime.Block block
         0: .line 5563
            aload 0 /* this */
            aload 1 /* context */
            ldc "each_line"
            aload 2 /* arg */
            aload 3 /* block */
            iconst_0
            invokestatic org.jruby.util.StringSupport.rbStrEnumerateLines:(Lorg/jruby/RubyString;Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"each_line"})
    MethodParameters:
         Name  Flags
      context  
      arg      
      block    

  public org.jruby.runtime.builtin.IRubyObject each_line(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
        start local 3 // org.jruby.runtime.builtin.IRubyObject opts
        start local 4 // org.jruby.runtime.Block block
         0: .line 5568
            aload 0 /* this */
            aload 1 /* context */
            ldc "each_line"
            aload 2 /* arg */
            aload 3 /* opts */
            aload 4 /* block */
            iconst_0
            invokestatic org.jruby.util.StringSupport.rbStrEnumerateLines:(Lorg/jruby/RubyString;Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject opts
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     opts  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"each_line"})
    MethodParameters:
         Name  Flags
      context  
      arg      
      opts     
      block    

  public org.jruby.runtime.builtin.IRubyObject each_lineCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=15, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject sep
        start local 3 // org.jruby.runtime.Block block
         0: .line 5573
            aload 2 /* sep */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 3
         1: .line 5574
            aload 3 /* block */
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 5575
            aload 0 /* this */
            areturn
         3: .line 5578
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         4: .line 5579
            aload 2 /* sep */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 5 /* sepStr */
        start local 5 // org.jruby.RubyString sepStr
         5: .line 5580
            aload 5 /* sepStr */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 6 /* sepValue */
        start local 6 // org.jruby.util.ByteList sepValue
         6: .line 5581
            aload 6 /* sepValue */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 7 /* rslen */
        start local 7 // int rslen
         7: .line 5584
            iload 7 /* rslen */
            ifne 10
         8: .line 5585
            bipush 10
            istore 8 /* newline */
        start local 8 // byte newline
         9: .line 5586
            goto 11
        end local 8 // byte newline
        10: .line 5587
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyString org.jruby.util.ByteList int
      StackMap stack:
            aload 6 /* sepValue */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 6 /* sepValue */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            iload 7 /* rslen */
            iadd
            iconst_1
            isub
            baload
            istore 8 /* newline */
        start local 8 // byte newline
        11: .line 5590
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 9 /* p */
        start local 9 // int p
        12: .line 5591
            iload 9 /* p */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 10 /* end */
        start local 10 // int end
        13: .line 5592
            iload 9 /* p */
            istore 11 /* ptr */
        start local 11 // int ptr
        14: iload 9 /* p */
            istore 12 /* s */
        start local 12 // int s
        15: .line 5593
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 13 /* len */
        start local 13 // int len
        16: .line 5594
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 14 /* bytes */
        start local 14 // byte[] bytes
        17: .line 5596
            iload 9 /* p */
            iload 7 /* rslen */
            iadd
            istore 9 /* p */
        18: .line 5598
            goto 30
        19: .line 5599
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyString org.jruby.util.ByteList int int int int int int int byte[]
      StackMap stack:
            iload 7 /* rslen */
            ifne 23
            aload 14 /* bytes */
            iload 9 /* p */
            baload
            bipush 10
            if_icmpne 23
        20: .line 5600
            iinc 9 /* p */ 1
            iload 9 /* p */
            iload 10 /* end */
            if_icmpeq 29
            aload 14 /* bytes */
            iload 9 /* p */
            baload
            bipush 10
            if_icmpeq 22
            goto 29
        21: .line 5601
      StackMap locals:
      StackMap stack:
            iinc 9 /* p */ 1
      StackMap locals:
      StackMap stack:
        22: iload 9 /* p */
            iload 10 /* end */
            if_icmpge 23
            aload 14 /* bytes */
            iload 9 /* p */
            baload
            bipush 10
            if_icmpeq 21
        23: .line 5603
      StackMap locals:
      StackMap stack:
            iload 11 /* ptr */
            iload 9 /* p */
            if_icmpge 29
            aload 14 /* bytes */
            iload 9 /* p */
            iconst_1
            isub
            baload
            iload 8 /* newline */
            if_icmpne 29
        24: .line 5604
            iload 7 /* rslen */
            iconst_1
            if_icmple 26
        25: .line 5605
            aload 6 /* sepValue */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 6 /* sepValue */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            iload 7 /* rslen */
            aload 14 /* bytes */
            iload 9 /* p */
            iload 7 /* rslen */
            isub
            iload 7 /* rslen */
            invokestatic org.jruby.util.ByteList.memcmp:([BII[BII)I
            ifne 29
        26: .line 5606
      StackMap locals:
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 0 /* this */
            aload 4 /* runtime */
            iload 12 /* s */
            iload 11 /* ptr */
            isub
            iload 9 /* p */
            iload 12 /* s */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        27: .line 5607
            aload 0 /* this */
            aload 14 /* bytes */
            iload 13 /* len */
            invokevirtual org.jruby.RubyString.modifyCheck:([BI)V
        28: .line 5608
            iload 9 /* p */
            istore 12 /* s */
        29: .line 5598
      StackMap locals:
      StackMap stack:
            iinc 9 /* p */ 1
      StackMap locals:
      StackMap stack:
        30: iload 9 /* p */
            iload 10 /* end */
            if_icmplt 19
        31: .line 5612
            iload 12 /* s */
            iload 10 /* end */
            if_icmpeq 34
        32: .line 5613
            iload 9 /* p */
            iload 10 /* end */
            if_icmple 33
            iload 10 /* end */
            istore 9 /* p */
        33: .line 5614
      StackMap locals:
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 0 /* this */
            aload 4 /* runtime */
            iload 12 /* s */
            iload 11 /* ptr */
            isub
            iload 9 /* p */
            iload 12 /* s */
            isub
            invokevirtual org.jruby.RubyString.makeShared:(Lorg/jruby/Ruby;II)Lorg/jruby/RubyString;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        34: .line 5617
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 14 // byte[] bytes
        end local 13 // int len
        end local 12 // int s
        end local 11 // int ptr
        end local 10 // int end
        end local 9 // int p
        end local 8 // byte newline
        end local 7 // int rslen
        end local 6 // org.jruby.util.ByteList sepValue
        end local 5 // org.jruby.RubyString sepStr
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject sep
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   35     0      this  Lorg/jruby/RubyString;
            0   35     1   context  Lorg/jruby/runtime/ThreadContext;
            0   35     2       sep  Lorg/jruby/runtime/builtin/IRubyObject;
            0   35     3     block  Lorg/jruby/runtime/Block;
            4   35     4   runtime  Lorg/jruby/Ruby;
            5   35     5    sepStr  Lorg/jruby/RubyString;
            6   35     6  sepValue  Lorg/jruby/util/ByteList;
            7   35     7     rslen  I
            9   10     8   newline  B
           11   35     8   newline  B
           12   35     9         p  I
           13   35    10       end  I
           14   35    11       ptr  I
           15   35    12         s  I
           16   35    13       len  I
           17   35    14     bytes  [B
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      sep      
      block    

  public org.jruby.runtime.builtin.IRubyObject each_line19(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 5622
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyString.each_line:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject each_line19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
        start local 3 // org.jruby.runtime.Block block
         0: .line 5627
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            aload 3 /* block */
            invokevirtual org.jruby.RubyString.each_line:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg      
      block    

  public org.jruby.runtime.builtin.IRubyObject lines(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 5632
            aload 0 /* this */
            aload 1 /* context */
            ldc "lines"
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
            ldc "$/"
            invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* block */
            iconst_1
            invokestatic org.jruby.util.StringSupport.rbStrEnumerateLines:(Lorg/jruby/RubyString;Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"lines"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject lines(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
        start local 3 // org.jruby.runtime.Block block
         0: .line 5637
            aload 0 /* this */
            aload 1 /* context */
            ldc "lines"
            aload 2 /* arg */
            aload 3 /* block */
            iconst_1
            invokestatic org.jruby.util.StringSupport.rbStrEnumerateLines:(Lorg/jruby/RubyString;Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"lines"})
    MethodParameters:
         Name  Flags
      context  
      arg      
      block    

  public org.jruby.runtime.builtin.IRubyObject each_byte(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 5645
            aload 0 /* this */
            aload 1 /* context */
            ldc "each_byte"
            aload 2 /* block */
            iconst_0
            invokevirtual org.jruby.RubyString.enumerateBytes:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"each_byte"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject each_byte19(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 5650
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyString.each_byte:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject bytes(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 5655
            aload 0 /* this */
            aload 1 /* context */
            ldc "bytes"
            aload 2 /* block */
            iconst_1
            invokevirtual org.jruby.RubyString.enumerateBytes:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject each_char(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 5660
            aload 0 /* this */
            aload 1 /* context */
            ldc "each_char"
            aload 2 /* block */
            iconst_0
            invokevirtual org.jruby.RubyString.enumerateChars:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"each_char"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject chars(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 5665
            aload 0 /* this */
            aload 1 /* context */
            ldc "chars"
            aload 2 /* block */
            iconst_1
            invokevirtual org.jruby.RubyString.enumerateChars:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"chars"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject each_char19(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 5670
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyString.each_char:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject chars19(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 5675
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyString.chars:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      block    

  private org.jruby.RubyEnumerator$SizeFn eachCharSizeFn();
    descriptor: ()Lorg/jruby/RubyEnumerator$SizeFn;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 5679
            aload 0 /* this */
            astore 1 /* self */
        start local 1 // org.jruby.RubyString self
         1: .line 5680
            new org.jruby.RubyString$3
            dup
            aload 0 /* this */
            aload 1 /* self */
            invokespecial org.jruby.RubyString$3.<init>:(Lorg/jruby/RubyString;Lorg/jruby/RubyString;)V
            areturn
        end local 1 // org.jruby.RubyString self
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyString;
            1    2     1  self  Lorg/jruby/RubyString;

  public org.jruby.runtime.builtin.IRubyObject each_codepoint(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 5693
            aload 0 /* this */
            aload 1 /* context */
            ldc "each_codepoint"
            aload 2 /* block */
            iconst_0
            invokevirtual org.jruby.RubyString.enumerateCodepoints:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject codepoints(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 5698
            aload 0 /* this */
            aload 1 /* context */
            ldc "codepoints"
            aload 2 /* block */
            iconst_1
            invokevirtual org.jruby.RubyString.enumerateCodepoints:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  private org.jruby.runtime.builtin.IRubyObject enumerateChars(org.jruby.runtime.ThreadContext, java.lang.String, org.jruby.runtime.Block, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=17, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.lang.String name
        start local 3 // org.jruby.runtime.Block block
        start local 4 // boolean wantarray
         0: .line 5703
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 5704
            aload 0 /* this */
            astore 6 /* str */
        start local 6 // org.jruby.RubyString str
         2: .line 5710
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 7
         3: .line 5711
            iload 4 /* wantarray */
            ifeq 9
         4: .line 5712
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            new java.lang.StringBuilder
            dup
            ldc "passing a block to String#"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is deprecated"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.common.RubyWarnings.warning:(Ljava/lang/String;)V
         5: .line 5713
            iconst_0
            istore 4 /* wantarray */
         6: .line 5715
            goto 9
         7: .line 5716
      StackMap locals: org.jruby.Ruby org.jruby.RubyString
      StackMap stack:
            iload 4 /* wantarray */
            ifne 9
         8: .line 5717
            aload 1 /* context */
            aload 6 /* str */
            aload 2 /* name */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.eachCharSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         9: .line 5720
      StackMap locals:
      StackMap stack:
            aload 6 /* str */
            invokevirtual org.jruby.RubyString.newFrozen:()Lorg/jruby/RubyString;
            astore 6 /* str */
        10: .line 5721
            aload 6 /* str */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 12 /* strByteList */
        start local 12 // org.jruby.util.ByteList strByteList
        11: .line 5722
            aload 12 /* strByteList */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 9 /* ptrBytes */
        start local 9 // byte[] ptrBytes
        12: .line 5723
            aload 12 /* strByteList */
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 10 /* ptr */
        start local 10 // int ptr
        13: .line 5724
            aload 12 /* strByteList */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 7 /* len */
        start local 7 // int len
        14: .line 5725
            aload 6 /* str */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            astore 11 /* enc */
        start local 11 // org.jcodings.Encoding enc
        15: .line 5727
            iload 4 /* wantarray */
            ifeq 16
            aload 6 /* str */
            invokevirtual org.jruby.RubyString.strLength:()I
            anewarray org.jruby.runtime.builtin.IRubyObject
            goto 17
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.Block int org.jruby.Ruby org.jruby.RubyString int top byte[] int org.jcodings.Encoding org.jruby.util.ByteList
      StackMap stack:
        16: aconst_null
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject[]
        17: astore 13 /* ary */
        start local 13 // org.jruby.runtime.builtin.IRubyObject[] ary
        18: iconst_0
            istore 14 /* a */
        start local 14 // int a
        19: .line 5729
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            lookupswitch { // 2
                   16: 20
                   32: 20
              default: 30
          }
        20: .line 5732
      StackMap locals: org.jruby.runtime.builtin.IRubyObject[] int
      StackMap stack:
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        21: goto 28
        22: .line 5733
      StackMap locals: int
      StackMap stack:
            aload 9 /* ptrBytes */
            iload 10 /* ptr */
            iload 15 /* i */
            iadd
            iload 10 /* ptr */
            iload 7 /* len */
            iadd
            aload 11 /* enc */
            invokestatic org.jruby.util.StringSupport.encFastMBCLen:([BIILorg/jcodings/Encoding;)I
            istore 8 /* n */
        start local 8 // int n
        23: .line 5734
            aload 6 /* str */
            aload 5 /* runtime */
            iload 15 /* i */
            iload 8 /* n */
            invokevirtual org.jruby.RubyString.substr:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 16 /* substr */
        start local 16 // org.jruby.runtime.builtin.IRubyObject substr
        24: .line 5735
            aload 16 /* substr */
            aload 6 /* str */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.infectBy:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        25: .line 5736
            iload 4 /* wantarray */
            ifeq 26
            aload 13 /* ary */
            iload 14 /* a */
            iinc 14 /* a */ 1
            aload 16 /* substr */
            aastore
            goto 27
        26: .line 5737
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.Block int org.jruby.Ruby org.jruby.RubyString int int byte[] int org.jcodings.Encoding org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject[] int int org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 16 /* substr */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 16 // org.jruby.runtime.builtin.IRubyObject substr
        27: .line 5732
      StackMap locals:
      StackMap stack:
            iload 15 /* i */
            iload 8 /* n */
            iadd
            istore 15 /* i */
        end local 8 // int n
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.Block int org.jruby.Ruby org.jruby.RubyString int top byte[] int org.jcodings.Encoding org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject[] int int
      StackMap stack:
        28: iload 15 /* i */
            iload 7 /* len */
            if_icmplt 22
        end local 15 // int i
        29: .line 5739
            goto 39
        30: .line 5741
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        31: goto 38
        32: .line 5742
      StackMap locals: int
      StackMap stack:
            aload 11 /* enc */
            aload 9 /* ptrBytes */
            iload 10 /* ptr */
            iload 15 /* i */
            iadd
            iload 10 /* ptr */
            iload 7 /* len */
            iadd
            invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
            istore 8 /* n */
        start local 8 // int n
        33: .line 5743
            aload 6 /* str */
            aload 5 /* runtime */
            iload 15 /* i */
            iload 8 /* n */
            invokevirtual org.jruby.RubyString.substr:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 16 /* substr */
        start local 16 // org.jruby.runtime.builtin.IRubyObject substr
        34: .line 5744
            aload 16 /* substr */
            aload 6 /* str */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.infectBy:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        35: .line 5745
            iload 4 /* wantarray */
            ifeq 36
            aload 13 /* ary */
            iload 14 /* a */
            iinc 14 /* a */ 1
            aload 16 /* substr */
            aastore
            goto 37
        36: .line 5746
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.Block int org.jruby.Ruby org.jruby.RubyString int int byte[] int org.jcodings.Encoding org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject[] int int org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 16 /* substr */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 16 // org.jruby.runtime.builtin.IRubyObject substr
        37: .line 5741
      StackMap locals:
      StackMap stack:
            iload 15 /* i */
            iload 8 /* n */
            iadd
            istore 15 /* i */
        end local 8 // int n
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.Block int org.jruby.Ruby org.jruby.RubyString int top byte[] int org.jcodings.Encoding org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject[] int int
      StackMap stack:
        38: iload 15 /* i */
            iload 7 /* len */
            if_icmplt 32
        end local 15 // int i
        39: .line 5750
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyString.$assertionsDisabled:Z
            ifne 40
            iload 4 /* wantarray */
            ifeq 40
            iload 14 /* a */
            aload 13 /* ary */
            arraylength
            if_icmpeq 40
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        40: .line 5752
      StackMap locals:
      StackMap stack:
            iload 4 /* wantarray */
            ifeq 41
            aload 5 /* runtime */
            aload 13 /* ary */
            invokestatic org.jruby.RubyArray.newArrayNoCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            goto 42
      StackMap locals:
      StackMap stack:
        41: aload 0 /* this */
      StackMap locals:
      StackMap stack: org.jruby.RubyObject
        42: areturn
        end local 14 // int a
        end local 13 // org.jruby.runtime.builtin.IRubyObject[] ary
        end local 12 // org.jruby.util.ByteList strByteList
        end local 11 // org.jcodings.Encoding enc
        end local 10 // int ptr
        end local 9 // byte[] ptrBytes
        end local 7 // int len
        end local 6 // org.jruby.RubyString str
        end local 5 // org.jruby.Ruby runtime
        end local 4 // boolean wantarray
        end local 3 // org.jruby.runtime.Block block
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   43     0         this  Lorg/jruby/RubyString;
            0   43     1      context  Lorg/jruby/runtime/ThreadContext;
            0   43     2         name  Ljava/lang/String;
            0   43     3        block  Lorg/jruby/runtime/Block;
            0   43     4    wantarray  Z
            1   43     5      runtime  Lorg/jruby/Ruby;
            2   43     6          str  Lorg/jruby/RubyString;
           14   43     7          len  I
           23   28     8            n  I
           33   38     8            n  I
           12   43     9     ptrBytes  [B
           13   43    10          ptr  I
           15   43    11          enc  Lorg/jcodings/Encoding;
           11   43    12  strByteList  Lorg/jruby/util/ByteList;
           18   43    13          ary  [Lorg/jruby/runtime/builtin/IRubyObject;
           19   43    14            a  I
           21   29    15            i  I
           24   27    16       substr  Lorg/jruby/runtime/builtin/IRubyObject;
           31   39    15            i  I
           34   37    16       substr  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
           Name  Flags
      context    
      name       
      block      
      wantarray  

  private org.jruby.runtime.builtin.IRubyObject enumerateCodepoints(org.jruby.runtime.ThreadContext, java.lang.String, org.jruby.runtime.Block, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.lang.String name
        start local 3 // org.jruby.runtime.Block block
        start local 4 // boolean wantarray
         0: .line 5757
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 5758
            aload 0 /* this */
            astore 6 /* str */
        start local 6 // org.jruby.RubyString str
         2: .line 5763
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.singleByteOptimizable:()Z
            ifeq 3
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* name */
            aload 3 /* block */
            iload 4 /* wantarray */
            invokevirtual org.jruby.RubyString.enumerateBytes:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 5765
      StackMap locals: org.jruby.Ruby org.jruby.RubyString
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 8
         4: .line 5766
            iload 4 /* wantarray */
            ifeq 10
         5: .line 5767
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            new java.lang.StringBuilder
            dup
            ldc "passing a block to String#"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is deprecated"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.common.RubyWarnings.warning:(Ljava/lang/String;)V
         6: .line 5768
            iconst_0
            istore 4 /* wantarray */
         7: .line 5770
            goto 10
         8: .line 5771
      StackMap locals:
      StackMap stack:
            iload 4 /* wantarray */
            ifne 10
         9: .line 5772
            aload 1 /* context */
            aload 6 /* str */
            aload 2 /* name */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.eachCodepointSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        10: .line 5775
      StackMap locals:
      StackMap stack:
            aload 6 /* str */
            invokevirtual org.jruby.RubyString.isFrozen:()Z
            ifne 11
            aload 6 /* str */
            invokevirtual org.jruby.RubyString.setByteListShared:()V
        11: .line 5776
      StackMap locals:
      StackMap stack:
            aload 6 /* str */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 11 /* strByteList */
        start local 11 // org.jruby.util.ByteList strByteList
        12: .line 5777
            aload 11 /* strByteList */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 7 /* ptrBytes */
        start local 7 // byte[] ptrBytes
        13: .line 5778
            aload 11 /* strByteList */
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 8 /* ptr */
        start local 8 // int ptr
        14: .line 5779
            iload 8 /* ptr */
            aload 11 /* strByteList */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 9 /* end */
        start local 9 // int end
        15: .line 5780
            aload 11 /* strByteList */
            invokestatic org.jruby.util.io.EncodingUtils.getEncoding:(Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
            astore 10 /* enc */
        start local 10 // org.jcodings.Encoding enc
        16: .line 5782
            iload 4 /* wantarray */
            ifeq 17
            aload 5 /* runtime */
            aload 6 /* str */
            aload 11 /* strByteList */
            aload 10 /* enc */
            invokevirtual org.jruby.RubyString.strLength:(Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)I
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            goto 18
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.Block int org.jruby.Ruby org.jruby.RubyString byte[] int int org.jcodings.Encoding org.jruby.util.ByteList
      StackMap stack:
        17: aconst_null
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
        18: astore 12 /* ary */
        start local 12 // org.jruby.RubyArray ary
        19: .line 5784
            goto 25
        20: .line 5785
      StackMap locals: org.jruby.RubyArray
      StackMap stack:
            aload 5 /* runtime */
            aload 10 /* enc */
            aload 7 /* ptrBytes */
            iload 8 /* ptr */
            iload 9 /* end */
            invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;[BII)I
            istore 13 /* c */
        start local 13 // int c
        21: .line 5786
            aload 10 /* enc */
            iload 13 /* c */
            invokestatic org.jruby.util.StringSupport.codeLength:(Lorg/jcodings/Encoding;I)I
            istore 14 /* n */
        start local 14 // int n
        22: .line 5787
            iload 4 /* wantarray */
            ifeq 23
            aload 12 /* ary */
            aload 5 /* runtime */
            iload 13 /* c */
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
            goto 24
        23: .line 5788
      StackMap locals: int int
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 5 /* runtime */
            iload 13 /* c */
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        24: .line 5789
      StackMap locals:
      StackMap stack:
            iload 8 /* ptr */
            iload 14 /* n */
            iadd
            istore 8 /* ptr */
        end local 14 // int n
        end local 13 // int c
        25: .line 5784
      StackMap locals:
      StackMap stack:
            iload 8 /* ptr */
            iload 9 /* end */
            if_icmplt 20
        26: .line 5792
            iload 4 /* wantarray */
            ifeq 27
            aload 12 /* ary */
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 0 /* this */
      StackMap locals:
      StackMap stack: org.jruby.RubyObject
        28: areturn
        end local 12 // org.jruby.RubyArray ary
        end local 11 // org.jruby.util.ByteList strByteList
        end local 10 // org.jcodings.Encoding enc
        end local 9 // int end
        end local 8 // int ptr
        end local 7 // byte[] ptrBytes
        end local 6 // org.jruby.RubyString str
        end local 5 // org.jruby.Ruby runtime
        end local 4 // boolean wantarray
        end local 3 // org.jruby.runtime.Block block
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0         this  Lorg/jruby/RubyString;
            0   29     1      context  Lorg/jruby/runtime/ThreadContext;
            0   29     2         name  Ljava/lang/String;
            0   29     3        block  Lorg/jruby/runtime/Block;
            0   29     4    wantarray  Z
            1   29     5      runtime  Lorg/jruby/Ruby;
            2   29     6          str  Lorg/jruby/RubyString;
           13   29     7     ptrBytes  [B
           14   29     8          ptr  I
           15   29     9          end  I
           16   29    10          enc  Lorg/jcodings/Encoding;
           12   29    11  strByteList  Lorg/jruby/util/ByteList;
           19   29    12          ary  Lorg/jruby/RubyArray;
           21   25    13            c  I
           22   25    14            n  I
    MethodParameters:
           Name  Flags
      context    
      name       
      block      
      wantarray  

  private org.jruby.runtime.builtin.IRubyObject enumerateBytes(org.jruby.runtime.ThreadContext, java.lang.String, org.jruby.runtime.Block, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.lang.String name
        start local 3 // org.jruby.runtime.Block block
        start local 4 // boolean wantarray
         0: .line 5796
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 5798
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 6
         2: .line 5799
            iload 4 /* wantarray */
            ifeq 8
         3: .line 5800
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            new java.lang.StringBuilder
            dup
            ldc "passing a block to String#"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is deprecated"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.common.RubyWarnings.warning:(Ljava/lang/String;)V
         4: .line 5801
            iconst_0
            istore 4 /* wantarray */
         5: .line 5803
            goto 8
         6: .line 5804
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            iload 4 /* wantarray */
            ifne 8
         7: .line 5805
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* name */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.eachByteSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         8: .line 5808
      StackMap locals:
      StackMap stack:
            iload 4 /* wantarray */
            ifeq 9
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            anewarray org.jruby.runtime.builtin.IRubyObject
            goto 10
      StackMap locals:
      StackMap stack:
         9: aconst_null
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject[]
        10: astore 6 /* ary */
        start local 6 // org.jruby.runtime.builtin.IRubyObject[] ary
        11: .line 5810
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        12: goto 17
        13: .line 5811
      StackMap locals: org.jruby.runtime.builtin.IRubyObject[] int
      StackMap stack:
            aload 5 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            iload 7 /* i */
            invokevirtual org.jruby.util.ByteList.get:(I)I
            sipush 255
            iand
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            astore 8 /* bite */
        start local 8 // org.jruby.RubyFixnum bite
        14: .line 5812
            iload 4 /* wantarray */
            ifeq 15
            aload 6 /* ary */
            iload 7 /* i */
            aload 8 /* bite */
            aastore
            goto 16
        15: .line 5813
      StackMap locals: org.jruby.RubyFixnum
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 8 /* bite */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 8 // org.jruby.RubyFixnum bite
        16: .line 5810
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            if_icmplt 13
        end local 7 // int i
        18: .line 5816
            iload 4 /* wantarray */
            ifeq 19
            aload 5 /* runtime */
            aload 6 /* ary */
            invokestatic org.jruby.RubyArray.newArrayNoCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 0 /* this */
      StackMap locals:
      StackMap stack: org.jruby.RubyObject
        20: areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject[] ary
        end local 5 // org.jruby.Ruby runtime
        end local 4 // boolean wantarray
        end local 3 // org.jruby.runtime.Block block
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Lorg/jruby/RubyString;
            0   21     1    context  Lorg/jruby/runtime/ThreadContext;
            0   21     2       name  Ljava/lang/String;
            0   21     3      block  Lorg/jruby/runtime/Block;
            0   21     4  wantarray  Z
            1   21     5    runtime  Lorg/jruby/Ruby;
           11   21     6        ary  [Lorg/jruby/runtime/builtin/IRubyObject;
           12   18     7          i  I
           14   16     8       bite  Lorg/jruby/RubyFixnum;
    MethodParameters:
           Name  Flags
      context    
      name       
      block      
      wantarray  

  private org.jruby.RubyEnumerator$SizeFn eachCodepointSizeFn();
    descriptor: ()Lorg/jruby/RubyEnumerator$SizeFn;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 5820
            new org.jruby.RubyString$4
            dup
            aload 0 /* this */
            invokespecial org.jruby.RubyString$4.<init>:(Lorg/jruby/RubyString;)V
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  private org.jruby.RubyEnumerator$SizeFn eachGraphemeClusterSizeFn();
    descriptor: ()Lorg/jruby/RubyEnumerator$SizeFn;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 5831
            new org.jruby.RubyString$5
            dup
            aload 0 /* this */
            invokespecial org.jruby.RubyString$5.<init>:(Lorg/jruby/RubyString;)V
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  private org.jruby.runtime.builtin.IRubyObject enumerateGraphemeClusters(org.jruby.runtime.ThreadContext, java.lang.String, org.jruby.runtime.Block, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=17, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // java.lang.String name
        start local 3 // org.jruby.runtime.Block block
        start local 4 // boolean wantarray
         0: .line 5857
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 5858
            aload 0 /* this */
            astore 6 /* str */
        start local 6 // org.jruby.RubyString str
         2: .line 5859
            aload 6 /* str */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            astore 7 /* enc */
        start local 7 // org.jcodings.Encoding enc
         3: .line 5860
            aload 7 /* enc */
            invokevirtual org.jcodings.Encoding.isUnicode:()Z
            ifne 5
         4: .line 5861
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* name */
            aload 3 /* block */
            iload 4 /* wantarray */
            invokevirtual org.jruby.RubyString.enumerateChars:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 5864
      StackMap locals: org.jruby.Ruby org.jruby.RubyString org.jcodings.Encoding
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 10
         6: .line 5865
            iload 4 /* wantarray */
            ifeq 12
         7: .line 5866
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            new java.lang.StringBuilder
            dup
            ldc "passing a block to String#"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is deprecated"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.common.RubyWarnings.warning:(Ljava/lang/String;)V
         8: .line 5867
            iconst_0
            istore 4 /* wantarray */
         9: .line 5869
            goto 12
        10: .line 5870
      StackMap locals:
      StackMap stack:
            iload 4 /* wantarray */
            ifne 12
        11: .line 5871
            aload 1 /* context */
            aload 6 /* str */
            aload 2 /* name */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.eachGraphemeClusterSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        12: .line 5874
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            getstatic org.jruby.RubyString.GRAPHEME_CLUSTER_PATTERN:Lorg/jruby/util/ByteList;
            aload 7 /* enc */
            getstatic org.jruby.util.RegexpOptions.NULL_OPTIONS:Lorg/jruby/util/RegexpOptions;
            invokestatic org.jruby.RubyRegexp.getRegexpFromCache:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;Lorg/jruby/util/RegexpOptions;)Lorg/joni/Regex;
            astore 8 /* reg */
        start local 8 // org.joni.Regex reg
        13: .line 5876
            iload 4 /* wantarray */
            ifne 14
            aload 6 /* str */
            invokevirtual org.jruby.RubyString.newFrozen:()Lorg/jruby/RubyString;
            astore 6 /* str */
        14: .line 5877
      StackMap locals: org.joni.Regex
      StackMap stack:
            aload 6 /* str */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            astore 9 /* strByteList */
        start local 9 // org.jruby.util.ByteList strByteList
        15: .line 5878
            aload 9 /* strByteList */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 10 /* ptrBytes */
        start local 10 // byte[] ptrBytes
        16: .line 5879
            aload 9 /* strByteList */
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 11 /* ptr */
        start local 11 // int ptr
        17: .line 5880
            iload 11 /* ptr */
            aload 9 /* strByteList */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 12 /* end */
        start local 12 // int end
        18: .line 5881
            aload 8 /* reg */
            aload 10 /* ptrBytes */
            iload 11 /* ptr */
            iload 12 /* end */
            invokevirtual org.joni.Regex.matcher:([BII)Lorg/joni/Matcher;
            astore 13 /* matcher */
        start local 13 // org.joni.Matcher matcher
        19: .line 5883
            iload 4 /* wantarray */
            ifeq 20
            aload 5 /* runtime */
            iload 12 /* end */
            iload 11 /* ptr */
            isub
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            goto 21
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext java.lang.String org.jruby.runtime.Block int org.jruby.Ruby org.jruby.RubyString org.jcodings.Encoding org.joni.Regex org.jruby.util.ByteList byte[] int int org.joni.Matcher
      StackMap stack:
        20: aconst_null
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
        21: astore 14 /* ary */
        start local 14 // org.jruby.RubyArray ary
        22: .line 5885
            goto 30
        23: .line 5886
      StackMap locals: org.jruby.RubyArray
      StackMap stack:
            aload 13 /* matcher */
            iload 11 /* ptr */
            iload 12 /* end */
            iconst_0
            invokevirtual org.joni.Matcher.match:(III)I
            istore 15 /* len */
        start local 15 // int len
        24: .line 5887
            iload 15 /* len */
            ifgt 25
            goto 31
        25: .line 5888
      StackMap locals: int
      StackMap stack:
            aload 5 /* runtime */
            aload 10 /* ptrBytes */
            iload 11 /* ptr */
            iload 15 /* len */
            aload 7 /* enc */
            invokestatic org.jruby.RubyString.newStringShared:(Lorg/jruby/Ruby;[BIILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            astore 16 /* result */
        start local 16 // org.jruby.RubyString result
        26: .line 5889
            aload 16 /* result */
            aload 6 /* str */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        27: .line 5890
            iload 4 /* wantarray */
            ifeq 28
            aload 14 /* ary */
            aload 16 /* result */
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
            goto 29
        28: .line 5891
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 16 /* result */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        29: .line 5892
      StackMap locals:
      StackMap stack:
            iload 11 /* ptr */
            iload 15 /* len */
            iadd
            istore 11 /* ptr */
        end local 16 // org.jruby.RubyString result
        end local 15 // int len
        30: .line 5885
      StackMap locals:
      StackMap stack:
            iload 11 /* ptr */
            iload 12 /* end */
            if_icmplt 23
        31: .line 5895
      StackMap locals:
      StackMap stack:
            iload 4 /* wantarray */
            ifeq 32
            aload 14 /* ary */
            goto 33
      StackMap locals:
      StackMap stack:
        32: aload 0 /* this */
      StackMap locals:
      StackMap stack: org.jruby.RubyObject
        33: areturn
        end local 14 // org.jruby.RubyArray ary
        end local 13 // org.joni.Matcher matcher
        end local 12 // int end
        end local 11 // int ptr
        end local 10 // byte[] ptrBytes
        end local 9 // org.jruby.util.ByteList strByteList
        end local 8 // org.joni.Regex reg
        end local 7 // org.jcodings.Encoding enc
        end local 6 // org.jruby.RubyString str
        end local 5 // org.jruby.Ruby runtime
        end local 4 // boolean wantarray
        end local 3 // org.jruby.runtime.Block block
        end local 2 // java.lang.String name
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   34     0         this  Lorg/jruby/RubyString;
            0   34     1      context  Lorg/jruby/runtime/ThreadContext;
            0   34     2         name  Ljava/lang/String;
            0   34     3        block  Lorg/jruby/runtime/Block;
            0   34     4    wantarray  Z
            1   34     5      runtime  Lorg/jruby/Ruby;
            2   34     6          str  Lorg/jruby/RubyString;
            3   34     7          enc  Lorg/jcodings/Encoding;
           13   34     8          reg  Lorg/joni/Regex;
           15   34     9  strByteList  Lorg/jruby/util/ByteList;
           16   34    10     ptrBytes  [B
           17   34    11          ptr  I
           18   34    12          end  I
           19   34    13      matcher  Lorg/joni/Matcher;
           22   34    14          ary  Lorg/jruby/RubyArray;
           24   30    15          len  I
           26   30    16       result  Lorg/jruby/RubyString;
    MethodParameters:
           Name  Flags
      context    
      name       
      block      
      wantarray  

  public org.jruby.runtime.builtin.IRubyObject grapheme_clusters(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 5900
            aload 0 /* this */
            aload 1 /* context */
            ldc "grapheme_clusters"
            aload 2 /* block */
            iconst_1
            invokevirtual org.jruby.RubyString.enumerateGraphemeClusters:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject each_grapheme_cluster(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 5905
            aload 0 /* this */
            aload 1 /* context */
            ldc "each_grapheme_cluster"
            aload 2 /* block */
            iconst_0
            invokevirtual org.jruby.RubyString.enumerateGraphemeClusters:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/Block;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.RubySymbol intern();
    descriptor: ()Lorg/jruby/RubySymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 5913
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            astore 1 /* runtime */
        start local 1 // org.jruby.Ruby runtime
         1: .line 5915
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.scanForCodeRange:()I
            bipush 48
            if_icmpne 3
         2: .line 5916
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "invalid symbol in encoding "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " :"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.inspect:()Lorg/jruby/RubyString;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newEncodingError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 5919
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getSymbolTable:()Lorg/jruby/RubySymbol$SymbolTable;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.RubySymbol$SymbolTable.getSymbol:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
            astore 2 /* symbol */
        start local 2 // org.jruby.RubySymbol symbol
         4: .line 5920
            aload 2 /* symbol */
            invokevirtual org.jruby.RubySymbol.getBytes:()Lorg/jruby/util/ByteList;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            if_acmpne 5
            aload 0 /* this */
            iconst_2
            putfield org.jruby.RubyString.shareLevel:I
         5: .line 5921
      StackMap locals: org.jruby.RubySymbol
      StackMap stack:
            aload 2 /* symbol */
            areturn
        end local 2 // org.jruby.RubySymbol symbol
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyString;
            1    6     1  runtime  Lorg/jruby/Ruby;
            4    6     2   symbol  Lorg/jruby/RubySymbol;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_sym", "intern"})

  public org.jruby.RubySymbol intern19();
    descriptor: ()Lorg/jruby/RubySymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 5926
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.intern:()Lorg/jruby/RubySymbol;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public org.jruby.runtime.builtin.IRubyObject ord(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5931
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 5932
            aload 2 /* runtime */
            aload 2 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)I
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyString;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            1    2     2  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject sum(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5937
            aload 0 /* this */
            aload 1 /* context */
            ldc 16
            invokevirtual org.jruby.RubyString.sumCommon:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject sum(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 5942
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            invokevirtual org.jruby.RubyString.sumCommon:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject sumCommon(org.jruby.runtime.ThreadContext, long);
    descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=14, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // long bits
         0: .line 5946
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 5948
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 5 /* bytes */
        start local 5 // byte[] bytes
         2: .line 5949
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 6 /* p */
        start local 6 // int p
         3: .line 5950
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 7 /* len */
        start local 7 // int len
         4: .line 5951
            iload 6 /* p */
            iload 7 /* len */
            iadd
            istore 8 /* end */
        start local 8 // int end
         5: .line 5953
            lload 2 /* bits */
            ldc 64
            lcmp
            iflt 18
         6: .line 5954
            aload 4 /* runtime */
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            astore 9 /* one */
        start local 9 // org.jruby.runtime.builtin.IRubyObject one
         7: .line 5955
            aload 4 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            astore 10 /* sum */
        start local 10 // org.jruby.runtime.builtin.IRubyObject sum
         8: .line 5956
            aload 1 /* context */
            invokestatic org.jruby.RubyString.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
            astore 11 /* sites */
        start local 11 // org.jruby.runtime.JavaSites$StringSites sites
         9: .line 5957
            aload 11 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.op_plus:Lorg/jruby/runtime/CallSite;
            astore 12 /* op_plus */
        start local 12 // org.jruby.runtime.CallSite op_plus
        10: .line 5958
            goto 13
        11: .line 5959
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext long org.jruby.Ruby byte[] int int int org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.JavaSites$StringSites org.jruby.runtime.CallSite
      StackMap stack:
            aload 0 /* this */
            aload 5 /* bytes */
            iload 7 /* len */
            invokevirtual org.jruby.RubyString.modifyCheck:([BI)V
        12: .line 5960
            aload 12 /* op_plus */
            aload 1 /* context */
            aload 10 /* sum */
            aload 10 /* sum */
            aload 4 /* runtime */
            aload 5 /* bytes */
            iload 6 /* p */
            iinc 6 /* p */ 1
            baload
            sipush 255
            iand
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* sum */
        13: .line 5958
      StackMap locals:
      StackMap stack:
            iload 6 /* p */
            iload 8 /* end */
            if_icmplt 11
        14: .line 5962
            lload 2 /* bits */
            lconst_0
            lcmp
            ifeq 17
        15: .line 5963
            aload 11 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.op_lshift:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 9 /* one */
            aload 9 /* one */
            aload 4 /* runtime */
            lload 2 /* bits */
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 13 /* mod */
        start local 13 // org.jruby.runtime.builtin.IRubyObject mod
        16: .line 5964
            aload 11 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.op_and:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 10 /* sum */
            aload 10 /* sum */
            aload 11 /* sites */
            getfield org.jruby.runtime.JavaSites$StringSites.op_minus:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 13 /* mod */
            aload 13 /* mod */
            aload 9 /* one */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* sum */
        end local 13 // org.jruby.runtime.builtin.IRubyObject mod
        17: .line 5966
      StackMap locals:
      StackMap stack:
            aload 10 /* sum */
            areturn
        end local 12 // org.jruby.runtime.CallSite op_plus
        end local 11 // org.jruby.runtime.JavaSites$StringSites sites
        end local 10 // org.jruby.runtime.builtin.IRubyObject sum
        end local 9 // org.jruby.runtime.builtin.IRubyObject one
        18: .line 5968
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext long org.jruby.Ruby byte[] int int int
      StackMap stack:
            lconst_0
            lstore 9 /* sum */
        start local 9 // long sum
        19: .line 5969
            goto 22
        20: .line 5970
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            aload 5 /* bytes */
            iload 7 /* len */
            invokevirtual org.jruby.RubyString.modifyCheck:([BI)V
        21: .line 5971
            lload 9 /* sum */
            aload 5 /* bytes */
            iload 6 /* p */
            iinc 6 /* p */ 1
            baload
            sipush 255
            iand
            i2l
            ladd
            lstore 9 /* sum */
        22: .line 5969
      StackMap locals:
      StackMap stack:
            iload 6 /* p */
            iload 8 /* end */
            if_icmplt 20
        23: .line 5973
            aload 4 /* runtime */
            lload 2 /* bits */
            lconst_0
            lcmp
            ifne 24
            lload 9 /* sum */
            goto 25
      StackMap locals:
      StackMap stack: org.jruby.Ruby
        24: lload 9 /* sum */
            lconst_1
            lload 2 /* bits */
            l2i
            lshl
            lconst_1
            lsub
            land
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext long org.jruby.Ruby byte[] int int int long
      StackMap stack: org.jruby.Ruby long
        25: invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        end local 9 // long sum
        end local 8 // int end
        end local 7 // int len
        end local 6 // int p
        end local 5 // byte[] bytes
        end local 4 // org.jruby.Ruby runtime
        end local 2 // long bits
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lorg/jruby/RubyString;
            0   26     1  context  Lorg/jruby/runtime/ThreadContext;
            0   26     2     bits  J
            1   26     4  runtime  Lorg/jruby/Ruby;
            2   26     5    bytes  [B
            3   26     6        p  I
            4   26     7      len  I
            5   26     8      end  I
            7   18     9      one  Lorg/jruby/runtime/builtin/IRubyObject;
            8   18    10      sum  Lorg/jruby/runtime/builtin/IRubyObject;
            9   18    11    sites  Lorg/jruby/runtime/JavaSites$StringSites;
           10   18    12  op_plus  Lorg/jruby/runtime/CallSite;
           16   17    13      mod  Lorg/jruby/runtime/builtin/IRubyObject;
           19   26     9      sum  J
    MethodParameters:
         Name  Flags
      context  
      bits     

  public org.jruby.runtime.builtin.IRubyObject to_c(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5982
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 5984
            aload 2 /* runtime */
            getstatic org.jruby.util.Numeric$ComplexPatterns.underscores_pat:Lorg/joni/Regex;
            invokestatic org.jruby.RubyRegexp.newDummyRegexp:(Lorg/jruby/Ruby;Lorg/joni/Regex;)Lorg/jruby/RubyRegexp;
            astore 3 /* underscore_pattern */
        start local 3 // org.jruby.RubyRegexp underscore_pattern
         2: .line 5985
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            aload 2 /* runtime */
            getstatic org.jruby.RubyString.UNDERSCORE:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.Ruby.newString:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            aconst_null
            aload 3 /* underscore_pattern */
            iconst_0
            iconst_0
            iconst_0
            invokevirtual org.jruby.RubyString.gsubCommon19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyString;Lorg/jruby/RubyHash;Lorg/jruby/RubyRegexp;ZIZ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* s */
        start local 4 // org.jruby.runtime.builtin.IRubyObject s
         3: .line 5987
            aload 1 /* context */
            aload 4 /* s */
            checkcast org.jruby.RubyString
            invokestatic org.jruby.RubyComplex.str_to_c_internal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* ary */
        start local 5 // org.jruby.runtime.builtin.IRubyObject[] ary
         4: .line 5989
            aload 5 /* ary */
            iconst_0
            aaload
            astore 6 /* first */
        start local 6 // org.jruby.runtime.builtin.IRubyObject first
         5: .line 5990
            aload 6 /* first */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 6
            aload 6 /* first */
            areturn
         6: .line 5992
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.RubyRegexp org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 1 /* context */
            aload 2 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            invokestatic org.jruby.RubyComplex.newComplexCanonicalize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject first
        end local 5 // org.jruby.runtime.builtin.IRubyObject[] ary
        end local 4 // org.jruby.runtime.builtin.IRubyObject s
        end local 3 // org.jruby.RubyRegexp underscore_pattern
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lorg/jruby/RubyString;
            0    7     1             context  Lorg/jruby/runtime/ThreadContext;
            1    7     2             runtime  Lorg/jruby/Ruby;
            2    7     3  underscore_pattern  Lorg/jruby/RubyRegexp;
            3    7     4                   s  Lorg/jruby/runtime/builtin/IRubyObject;
            4    7     5                 ary  [Lorg/jruby/runtime/builtin/IRubyObject;
            5    7     6               first  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject to_r(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 6002
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 6004
            aload 2 /* runtime */
            getstatic org.jruby.util.Numeric$ComplexPatterns.underscores_pat:Lorg/joni/Regex;
            invokestatic org.jruby.RubyRegexp.newDummyRegexp:(Lorg/jruby/Ruby;Lorg/joni/Regex;)Lorg/jruby/RubyRegexp;
            astore 3 /* underscore_pattern */
        start local 3 // org.jruby.RubyRegexp underscore_pattern
         2: .line 6005
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            aload 2 /* runtime */
            getstatic org.jruby.RubyString.UNDERSCORE:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.Ruby.newString:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            aconst_null
            aload 3 /* underscore_pattern */
            iconst_0
            iconst_0
            iconst_0
            invokevirtual org.jruby.RubyString.gsubCommon19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyString;Lorg/jruby/RubyHash;Lorg/jruby/RubyRegexp;ZIZ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* s */
        start local 4 // org.jruby.runtime.builtin.IRubyObject s
         3: .line 6007
            aload 1 /* context */
            aload 4 /* s */
            checkcast org.jruby.RubyString
            invokestatic org.jruby.RubyRational.str_to_r_internal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* ary */
        start local 5 // org.jruby.runtime.builtin.IRubyObject[] ary
         4: .line 6009
            aload 5 /* ary */
            iconst_0
            aaload
            astore 6 /* first */
        start local 6 // org.jruby.runtime.builtin.IRubyObject first
         5: .line 6010
            aload 6 /* first */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 6
            aload 6 /* first */
            areturn
         6: .line 6012
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.RubyRegexp org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 1 /* context */
            aload 2 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            aload 2 /* runtime */
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            invokestatic org.jruby.RubyRational.newRationalNoReduce:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject first
        end local 5 // org.jruby.runtime.builtin.IRubyObject[] ary
        end local 4 // org.jruby.runtime.builtin.IRubyObject s
        end local 3 // org.jruby.RubyRegexp underscore_pattern
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lorg/jruby/RubyString;
            0    7     1             context  Lorg/jruby/runtime/ThreadContext;
            1    7     2             runtime  Lorg/jruby/Ruby;
            2    7     3  underscore_pattern  Lorg/jruby/RubyRegexp;
            3    7     4                   s  Lorg/jruby/runtime/builtin/IRubyObject;
            4    7     5                 ary  [Lorg/jruby/runtime/builtin/IRubyObject;
            5    7     6               first  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public static org.jruby.RubyString unmarshalFrom(org.jruby.runtime.marshal.UnmarshalStream);
    descriptor: (Lorg/jruby/runtime/marshal/UnmarshalStream;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream input
         0: .line 6016
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalString:()Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 1 /* result */
        start local 1 // org.jruby.RubyString result
         1: .line 6017
            aload 0 /* input */
            aload 1 /* result */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 6018
            aload 1 /* result */
            areturn
        end local 1 // org.jruby.RubyString result
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream input
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0   input  Lorg/jruby/runtime/marshal/UnmarshalStream;
            1    3     1  result  Lorg/jruby/RubyString;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  public org.jruby.RubyArray unpack(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
        start local 3 // org.jruby.runtime.Block block
         0: .line 6026
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* obj */
            invokestatic org.jruby.RubyString.stringValue:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* block */
            invokestatic org.jruby.util.Pack.unpackWithBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      obj      
      block    

  public org.jruby.runtime.builtin.IRubyObject unpack1(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
        start local 3 // org.jruby.runtime.Block block
         0: .line 6031
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* obj */
            invokestatic org.jruby.RubyString.stringValue:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 3 /* block */
            invokestatic org.jruby.util.Pack.unpack1WithBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      obj      
      block    

  public org.jruby.RubyArray unpack(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 6036
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            aload 1 /* obj */
            invokestatic org.jruby.RubyString.stringValue:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.util.Pack.unpack:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1   obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      obj   

  public void empty();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 6040
            aload 0 /* this */
            getstatic org.jruby.util.ByteList.EMPTY_BYTELIST:Lorg/jruby/util/ByteList;
            putfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
         1: .line 6041
            aload 0 /* this */
            iconst_2
            putfield org.jruby.RubyString.shareLevel:I
         2: .line 6042
            return
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyString;

  public org.jruby.runtime.builtin.IRubyObject encoding(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 6046
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jruby.runtime.encoding.EncodingService.getEncoding:(Lorg/jcodings/Encoding;)Lorg/jruby/RubyEncoding;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject encode_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 6051
            aload 0 /* this */
            aload 1 /* context */
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* arg0 */
            aastore
            invokevirtual org.jruby.RubyString.encode_bang:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      arg0     

  public org.jruby.runtime.builtin.IRubyObject encode_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 6055
            aload 0 /* this */
            aload 1 /* context */
            iconst_2
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* arg0 */
            aastore
            dup
            iconst_1
            aload 3 /* arg1 */
            aastore
            invokevirtual org.jruby.RubyString.encode_bang:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  public org.jruby.runtime.builtin.IRubyObject encode_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 6059
            aload 0 /* this */
            aload 1 /* context */
            iconst_3
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* arg0 */
            aastore
            dup
            iconst_1
            aload 3 /* arg1 */
            aastore
            dup
            iconst_2
            aload 4 /* arg2 */
            aastore
            invokevirtual org.jruby.RubyString.encode_bang:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      arg2     

  public org.jruby.runtime.builtin.IRubyObject encode_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 6067
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modify19:()V
         1: .line 6069
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 0 /* this */
            aastore
            astore 3 /* newstr_p */
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] newstr_p
         2: .line 6070
            aload 1 /* context */
            aload 2 /* args */
            aload 3 /* newstr_p */
            invokestatic org.jruby.util.io.EncodingUtils.strTranscode:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
            astore 4 /* encindex */
        start local 4 // org.jcodings.Encoding encindex
         3: .line 6072
            aload 4 /* encindex */
            ifnonnull 4
            aload 0 /* this */
            areturn
         4: .line 6073
      StackMap locals: org.jruby.runtime.builtin.IRubyObject[] org.jcodings.Encoding
      StackMap stack:
            aload 3 /* newstr_p */
            iconst_0
            aaload
            aload 0 /* this */
            if_acmpne 7
         5: .line 6074
            aload 0 /* this */
            aload 4 /* encindex */
            invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
         6: .line 6075
            aload 0 /* this */
            areturn
         7: .line 6077
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* newstr_p */
            iconst_0
            aaload
            invokevirtual org.jruby.RubyString.replace:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         8: .line 6078
            aload 0 /* this */
            aload 4 /* encindex */
            invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
         9: .line 6079
            aload 0 /* this */
            areturn
        end local 4 // org.jcodings.Encoding encindex
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] newstr_p
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/jruby/RubyString;
            0   10     1   context  Lorg/jruby/runtime/ThreadContext;
            0   10     2      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            2   10     3  newstr_p  [Lorg/jruby/runtime/builtin/IRubyObject;
            3   10     4  encindex  Lorg/jcodings/Encoding;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"encode!"}, optional = 3)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject encode(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 6084
            aload 1 /* context */
            aload 0 /* this */
            iconst_0
            anewarray org.jruby.runtime.builtin.IRubyObject
            invokestatic org.jruby.util.io.EncodingUtils.strEncode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject encode(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 6089
            aload 1 /* context */
            aload 0 /* this */
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* arg */
            aastore
            invokestatic org.jruby.util.io.EncodingUtils.strEncode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject encode(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject toEncoding
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 6094
            aload 1 /* context */
            aload 0 /* this */
            iconst_2
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* toEncoding */
            aastore
            dup
            iconst_1
            aload 3 /* arg */
            aastore
            invokestatic org.jruby.util.io.EncodingUtils.strEncode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg
        end local 2 // org.jruby.runtime.builtin.IRubyObject toEncoding
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/jruby/RubyString;
            0    1     1     context  Lorg/jruby/runtime/ThreadContext;
            0    1     2  toEncoding  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3         arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
            Name  Flags
      context     
      toEncoding  
      arg         

  public org.jruby.runtime.builtin.IRubyObject encode(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject toEncoding
        start local 3 // org.jruby.runtime.builtin.IRubyObject forcedEncoding
        start local 4 // org.jruby.runtime.builtin.IRubyObject opts
         0: .line 6101
            aload 1 /* context */
            aload 0 /* this */
            iconst_3
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* toEncoding */
            aastore
            dup
            iconst_1
            aload 3 /* forcedEncoding */
            aastore
            dup
            iconst_2
            aload 4 /* opts */
            aastore
            invokestatic org.jruby.util.io.EncodingUtils.strEncode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject opts
        end local 3 // org.jruby.runtime.builtin.IRubyObject forcedEncoding
        end local 2 // org.jruby.runtime.builtin.IRubyObject toEncoding
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/jruby/RubyString;
            0    1     1         context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      toEncoding  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3  forcedEncoding  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4            opts  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
                Name  Flags
      context         
      toEncoding      
      forcedEncoding  
      opts            

  public org.jruby.runtime.builtin.IRubyObject force_encoding(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject enc
         0: .line 6106
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* enc */
            invokestatic org.jruby.util.io.EncodingUtils.rbToEncoding:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
            invokevirtual org.jruby.RubyString.force_encoding:(Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject enc
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      enc  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      enc      

  private org.jruby.runtime.builtin.IRubyObject force_encoding(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jcodings.Encoding encoding
         0: .line 6110
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modifyCheck:()V
         1: .line 6111
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.modify19:()V
         2: .line 6112
            aload 0 /* this */
            aload 1 /* encoding */
            invokevirtual org.jruby.RubyString.associateEncoding:(Lorg/jcodings/Encoding;)V
         3: .line 6113
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.clearCodeRange:()V
         4: .line 6114
            aload 0 /* this */
            areturn
        end local 1 // org.jcodings.Encoding encoding
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/RubyString;
            0    5     1  encoding  Lorg/jcodings/Encoding;
    MethodParameters:
          Name  Flags
      encoding  

  public org.jruby.runtime.builtin.IRubyObject valid_encoding_p(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 6119
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.scanForCodeRange:()I
            bipush 48
            if_icmpeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         1: iconst_0
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext
      StackMap stack: org.jruby.Ruby int
         2: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"valid_encoding?"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject ascii_only_p(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 6124
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.scanForCodeRange:()I
            bipush 16
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         1: iconst_0
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext
      StackMap stack: org.jruby.Ruby int
         2: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"ascii_only?"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject b(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 6129
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            astore 2 /* encoding */
        start local 2 // org.jcodings.Encoding encoding
         1: .line 6130
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            astore 3 /* dup */
        start local 3 // org.jruby.RubyString dup
         2: .line 6131
            aload 3 /* dup */
            invokevirtual org.jruby.RubyString.clearCodeRange:()V
         3: .line 6132
            aload 3 /* dup */
            aload 2 /* encoding */
            invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
         4: .line 6133
            aload 3 /* dup */
            areturn
        end local 3 // org.jruby.RubyString dup
        end local 2 // org.jcodings.Encoding encoding
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jruby/RubyString;
            0    5     1   context  Lorg/jruby/runtime/ThreadContext;
            1    5     2  encoding  Lorg/jcodings/Encoding;
            2    5     3       dup  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject scrub(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 6139
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* block */
            invokevirtual org.jruby.RubyString.scrub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject scrub(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject repl
        start local 3 // org.jruby.runtime.Block block
         0: .line 6145
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* repl */
            aload 3 /* block */
            invokevirtual org.jruby.RubyString.strScrub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* newStr */
        start local 4 // org.jruby.runtime.builtin.IRubyObject newStr
         1: .line 6146
            aload 4 /* newStr */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 2
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            areturn
         2: .line 6147
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 4 /* newStr */
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject newStr
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject repl
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     repl  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3    block  Lorg/jruby/runtime/Block;
            1    3     4   newStr  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      repl     
      block    

  public org.jruby.runtime.builtin.IRubyObject scrub_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 6152
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* block */
            invokevirtual org.jruby.RubyString.scrub_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"scrub!"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject scrub_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject repl
        start local 3 // org.jruby.runtime.Block block
         0: .line 6158
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* repl */
            aload 3 /* block */
            invokevirtual org.jruby.RubyString.strScrub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* newStr */
        start local 4 // org.jruby.runtime.builtin.IRubyObject newStr
         1: .line 6159
            aload 4 /* newStr */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 2
            aload 0 /* this */
            aload 4 /* newStr */
            invokevirtual org.jruby.RubyString.replace:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 6160
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject newStr
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject repl
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     repl  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3    block  Lorg/jruby/runtime/Block;
            1    3     4   newStr  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"scrub!"})
    MethodParameters:
         Name  Flags
      context  
      repl     
      block    

  public org.jruby.runtime.builtin.IRubyObject freeze(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 6165
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.isFrozen:()Z
            ifeq 1
            aload 0 /* this */
            areturn
         1: .line 6166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.size:()I
            invokevirtual org.jruby.RubyString.resize:(I)V
         2: .line 6167
            aload 0 /* this */
            aload 1 /* context */
            invokespecial org.jruby.RubyObject.freeze:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyString;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public void setValue(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // java.lang.CharSequence value
         0: .line 6177
            aload 0 /* this */
            aload 1 /* value */
            invokestatic org.jruby.util.ByteList.plain:(Ljava/lang/CharSequence;)[B
            iconst_0
            invokevirtual org.jruby.RubyString.view:([BZ)V
         1: .line 6178
            return
        end local 1 // java.lang.CharSequence value
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/RubyString;
            0    2     1  value  Ljava/lang/CharSequence;
    MethodParameters:
       Name  Flags
      value  

  public void setValue(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.util.ByteList value
         0: .line 6181
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.jruby.RubyString.view:(Lorg/jruby/util/ByteList;)V
         1: .line 6182
            return
        end local 1 // org.jruby.util.ByteList value
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/RubyString;
            0    2     1  value  Lorg/jruby/util/ByteList;
    MethodParameters:
       Name  Flags
      value  

  public java.lang.CharSequence getValue();
    descriptor: ()Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 6185
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public byte[] getBytes();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 6189
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.bytes:()[B
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public org.jruby.util.ByteList getByteList();
    descriptor: ()Lorg/jruby/util/ByteList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 6193
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public java.lang.String getUnicodeValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 6200
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            invokestatic org.jruby.RubyEncoding.decodeUTF8:([BII)Ljava/lang/String;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;

  public static org.jruby.util.ByteList encodeBytelist(java.lang.CharSequence, org.jcodings.Encoding);
    descriptor: (Ljava/lang/CharSequence;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.CharSequence value
        start local 1 // org.jcodings.Encoding encoding
         0: .line 6204
            aload 1 /* encoding */
            getstatic org.jruby.RubyString.UTF8:Lorg/jcodings/specific/UTF8Encoding;
            if_acmpne 2
         1: .line 6205
            aload 0 /* value */
            invokestatic org.jruby.RubyEncoding.doEncodeUTF8:(Ljava/lang/CharSequence;)Lorg/jruby/util/ByteList;
            areturn
         2: .line 6208
      StackMap locals:
      StackMap stack:
            aload 1 /* encoding */
            invokestatic org.jruby.util.io.EncodingUtils.charsetForEncoding:(Lorg/jcodings/Encoding;)Ljava/nio/charset/Charset;
            astore 2 /* charset */
        start local 2 // java.nio.charset.Charset charset
         3: .line 6211
            aload 2 /* charset */
            ifnonnull 5
         4: .line 6212
            aload 0 /* value */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            aload 1 /* encoding */
            iconst_0
            invokestatic org.jruby.util.io.EncodingUtils.transcodeString:(Ljava/lang/String;Lorg/jcodings/Encoding;I)Lorg/jruby/util/ByteList;
            areturn
         5: .line 6215
      StackMap locals: java.nio.charset.Charset
      StackMap stack:
            aload 2 /* charset */
            getstatic org.jruby.RubyEncoding.UTF16:Ljava/nio/charset/Charset;
            if_acmpne 8
         6: .line 6216
            aload 0 /* value */
            invokestatic org.jruby.RubyEncoding.encodeUTF16:(Ljava/lang/CharSequence;)[B
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         7: .line 6217
            new org.jruby.util.ByteList
            dup
            aload 3 /* bytes */
            aload 1 /* encoding */
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
            areturn
        end local 3 // byte[] bytes
         8: .line 6220
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            aload 2 /* charset */
            aload 1 /* encoding */
            invokestatic org.jruby.RubyEncoding.doEncode:(Ljava/lang/CharSequence;Ljava/nio/charset/Charset;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
            areturn
        end local 2 // java.nio.charset.Charset charset
        end local 1 // org.jcodings.Encoding encoding
        end local 0 // java.lang.CharSequence value
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0     value  Ljava/lang/CharSequence;
            0    9     1  encoding  Lorg/jcodings/Encoding;
            3    9     2   charset  Ljava/nio/charset/Charset;
            7    8     3     bytes  [B
    MethodParameters:
          Name  Flags
      value     
      encoding  

  static org.jruby.util.ByteList encodeBytelist(java.lang.String, org.jcodings.Encoding);
    descriptor: (Ljava/lang/String;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.String value
        start local 1 // org.jcodings.Encoding encoding
         0: .line 6224
            aload 1 /* encoding */
            getstatic org.jruby.RubyString.UTF8:Lorg/jcodings/specific/UTF8Encoding;
            if_acmpne 2
         1: .line 6225
            aload 0 /* value */
            invokestatic org.jruby.RubyEncoding.doEncodeUTF8:(Ljava/lang/String;)Lorg/jruby/util/ByteList;
            areturn
         2: .line 6228
      StackMap locals:
      StackMap stack:
            aload 1 /* encoding */
            invokestatic org.jruby.util.io.EncodingUtils.charsetForEncoding:(Lorg/jcodings/Encoding;)Ljava/nio/charset/Charset;
            astore 2 /* charset */
        start local 2 // java.nio.charset.Charset charset
         3: .line 6231
            aload 2 /* charset */
            ifnonnull 5
         4: .line 6232
            aload 0 /* value */
            aload 1 /* encoding */
            iconst_0
            invokestatic org.jruby.util.io.EncodingUtils.transcodeString:(Ljava/lang/String;Lorg/jcodings/Encoding;I)Lorg/jruby/util/ByteList;
            areturn
         5: .line 6235
      StackMap locals: java.nio.charset.Charset
      StackMap stack:
            aload 2 /* charset */
            getstatic org.jruby.RubyEncoding.UTF16:Ljava/nio/charset/Charset;
            if_acmpne 8
         6: .line 6236
            aload 0 /* value */
            invokestatic org.jruby.RubyEncoding.encodeUTF16:(Ljava/lang/String;)[B
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         7: .line 6237
            new org.jruby.util.ByteList
            dup
            aload 3 /* bytes */
            aload 1 /* encoding */
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
            areturn
        end local 3 // byte[] bytes
         8: .line 6240
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            aload 2 /* charset */
            aload 1 /* encoding */
            invokestatic org.jruby.RubyEncoding.doEncode:(Ljava/lang/String;Ljava/nio/charset/Charset;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
            areturn
        end local 2 // java.nio.charset.Charset charset
        end local 1 // org.jcodings.Encoding encoding
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0     value  Ljava/lang/String;
            0    9     1  encoding  Lorg/jcodings/Encoding;
            3    9     2   charset  Ljava/nio/charset/Charset;
            7    8     3     bytes  [B
    MethodParameters:
          Name  Flags
      value     
      encoding  

  public <T> T toJava(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // java.lang.Class target
         0: .line 6246
            aload 1 /* target */
            ldc Ljava/lang/String;
            if_acmpeq 1
            aload 1 /* target */
            ldc Ljava/lang/Comparable;
            if_acmpeq 1
            aload 1 /* target */
            ldc Ljava/lang/Object;
            if_acmpne 2
         1: .line 6247
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.decodeString:()Ljava/lang/String;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 6249
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            ldc Ljava/lang/CharSequence;
            if_acmpne 4
         3: .line 6250
            aload 0 /* this */
            areturn
         4: .line 6252
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            ldc Lorg/jruby/util/ByteList;
            if_acmpne 6
         5: .line 6253
            aload 1 /* target */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         6: .line 6255
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            ldc Ljava/lang/Character;
            if_acmpeq 7
            aload 1 /* target */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 8
         7: .line 6257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.util.StringSupport.codePoint:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)I
            i2c
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            areturn
         8: .line 6259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* target */
            invokespecial org.jruby.RubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class target
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/jruby/RubyString;
            0    9     1  target  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
        Name  Flags
      target  

  public org.jruby.runtime.builtin.IRubyObject strScrub(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=21, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject repl
        start local 3 // org.jruby.runtime.Block block
         0: .line 6268
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 6269
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            istore 5 /* cr */
        start local 5 // int cr
         2: .line 6272
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* buf */
        start local 8 // org.jruby.runtime.builtin.IRubyObject buf
         3: .line 6276
            iconst_0
            istore 12 /* tainted */
        start local 12 // boolean tainted
         4: .line 6278
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 7
         5: .line 6279
            aload 2 /* repl */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 7
         6: .line 6280
            aload 4 /* runtime */
            ldc "both of block and replacement given"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 6284
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby int top top org.jruby.runtime.builtin.IRubyObject top top top int
      StackMap stack:
            iload 5 /* cr */
            bipush 16
            if_icmpeq 8
            iload 5 /* cr */
            bipush 32
            if_icmpne 9
      StackMap locals:
      StackMap stack:
         8: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         9: .line 6286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.jruby.util.io.EncodingUtils.STR_ENC_GET:(Lorg/jruby/util/ByteListHolder;)Lorg/jcodings/Encoding;
            astore 6 /* enc */
        start local 6 // org.jcodings.Encoding enc
        10: .line 6287
            aload 2 /* repl */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 13
        11: .line 6288
            aload 1 /* context */
            aload 2 /* repl */
            aload 6 /* enc */
            invokestatic org.jruby.util.io.EncodingUtils.strCompatAndValid:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* repl */
        12: .line 6289
            iload 12 /* tainted */
            aload 2 /* repl */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ior
            istore 12 /* tainted */
        13: .line 6292
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby int org.jcodings.Encoding top org.jruby.runtime.builtin.IRubyObject top top top int
      StackMap stack:
            aload 6 /* enc */
            invokevirtual org.jcodings.Encoding.isDummy:()Z
            ifeq 14
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        14: .line 6294
      StackMap locals:
      StackMap stack:
            aload 6 /* enc */
            astore 7 /* encidx */
        start local 7 // org.jcodings.Encoding encidx
        15: .line 6296
            aload 6 /* enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifeq 109
        16: .line 6297
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 13 /* pBytes */
        start local 13 // byte[] pBytes
        17: .line 6298
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 14 /* p */
        start local 14 // int p
        18: .line 6299
            iload 14 /* p */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 15 /* e */
        start local 15 // int e
        19: .line 6300
            iload 14 /* p */
            istore 16 /* p1 */
        start local 16 // int p1
        20: .line 6302
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 26
        21: .line 6303
            aconst_null
            astore 9 /* repBytes */
        start local 9 // byte[] repBytes
        22: .line 6304
            iconst_0
            istore 10 /* rep */
        start local 10 // int rep
        23: .line 6305
            iconst_0
            istore 11 /* replen */
        start local 11 // int replen
        24: .line 6306
            iconst_0
            istore 17 /* rep7bit_p */
        start local 17 // boolean rep7bit_p
        25: .line 6307
            goto 44
        end local 17 // boolean rep7bit_p
        end local 11 // int replen
        end local 10 // int rep
        end local 9 // byte[] repBytes
        26: .line 6308
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby int org.jcodings.Encoding org.jcodings.Encoding org.jruby.runtime.builtin.IRubyObject top top top int byte[] int int int
      StackMap stack:
            aload 2 /* repl */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 34
        27: .line 6309
            aload 2 /* repl */
            checkcast org.jruby.RubyString
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 9 /* repBytes */
        start local 9 // byte[] repBytes
        28: .line 6310
            aload 2 /* repl */
            checkcast org.jruby.RubyString
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 10 /* rep */
        start local 10 // int rep
        29: .line 6311
            aload 2 /* repl */
            checkcast org.jruby.RubyString
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 11 /* replen */
        start local 11 // int replen
        30: .line 6312
            aload 2 /* repl */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            bipush 16
            if_icmpne 31
            iconst_1
            goto 32
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby int org.jcodings.Encoding org.jcodings.Encoding org.jruby.runtime.builtin.IRubyObject byte[] int int int byte[] int int int
      StackMap stack:
        31: iconst_0
      StackMap locals:
      StackMap stack: int
        32: istore 17 /* rep7bit_p */
        start local 17 // boolean rep7bit_p
        33: .line 6313
            goto 44
        end local 17 // boolean rep7bit_p
        end local 11 // int replen
        end local 10 // int rep
        end local 9 // byte[] repBytes
        34: .line 6314
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby int org.jcodings.Encoding org.jcodings.Encoding org.jruby.runtime.builtin.IRubyObject top top top int byte[] int int int
      StackMap stack:
            aload 7 /* encidx */
            getstatic org.jcodings.specific.UTF8Encoding.INSTANCE:Lorg/jcodings/specific/UTF8Encoding;
            if_acmpne 40
        35: .line 6315
            getstatic org.jruby.RubyString.SCRUB_REPL_UTF8:[B
            astore 9 /* repBytes */
        start local 9 // byte[] repBytes
        36: .line 6316
            iconst_0
            istore 10 /* rep */
        start local 10 // int rep
        37: .line 6317
            aload 9 /* repBytes */
            arraylength
            istore 11 /* replen */
        start local 11 // int replen
        38: .line 6318
            iconst_0
            istore 17 /* rep7bit_p */
        start local 17 // boolean rep7bit_p
        39: .line 6319
            goto 44
        end local 17 // boolean rep7bit_p
        end local 11 // int replen
        end local 10 // int rep
        end local 9 // byte[] repBytes
        40: .line 6321
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyString.SCRUB_REPL_ASCII:[B
            astore 9 /* repBytes */
        start local 9 // byte[] repBytes
        41: .line 6322
            iconst_0
            istore 10 /* rep */
        start local 10 // int rep
        42: .line 6323
            aload 9 /* repBytes */
            arraylength
            istore 11 /* replen */
        start local 11 // int replen
        43: .line 6324
            iconst_0
            istore 17 /* rep7bit_p */
        start local 17 // boolean rep7bit_p
        44: .line 6326
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby int org.jcodings.Encoding org.jcodings.Encoding org.jruby.runtime.builtin.IRubyObject byte[] int int int byte[] int int int int
      StackMap stack:
            bipush 16
            istore 5 /* cr */
        45: .line 6328
            aload 13 /* pBytes */
            iload 14 /* p */
            iload 15 /* e */
            invokestatic org.jruby.util.StringSupport.searchNonAscii:([BII)I
            istore 14 /* p */
        46: .line 6329
            iload 14 /* p */
            iconst_m1
            if_icmpne 89
        47: .line 6330
            iload 15 /* e */
            istore 14 /* p */
        48: .line 6332
            goto 89
        49: .line 6333
      StackMap locals:
      StackMap stack:
            aload 6 /* enc */
            aload 13 /* pBytes */
            iload 14 /* p */
            iload 15 /* e */
            invokevirtual org.jcodings.Encoding.length:([BII)I
            istore 18 /* ret */
        start local 18 // int ret
        50: .line 6334
            iload 18 /* ret */
            invokestatic org.jruby.util.StringSupport.MBCLEN_NEEDMORE_P:(I)Z
            ifeq 52
        51: .line 6335
            goto 90
        52: .line 6337
      StackMap locals: int
      StackMap stack:
            iload 18 /* ret */
            invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
            ifeq 56
        53: .line 6338
            bipush 32
            istore 5 /* cr */
        54: .line 6339
            iload 14 /* p */
            iload 18 /* ret */
            invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_LEN:(I)I
            iadd
            istore 14 /* p */
        55: .line 6340
            goto 89
        56: .line 6341
      StackMap locals:
      StackMap stack:
            iload 18 /* ret */
            invokestatic org.jruby.util.StringSupport.MBCLEN_INVALID_P:(I)Z
            ifeq 89
        57: .line 6346
            aload 6 /* enc */
            invokevirtual org.jcodings.Encoding.maxLength:()I
            istore 19 /* clen */
        start local 19 // int clen
        58: .line 6347
            aload 8 /* buf */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 59
            aload 4 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyString;
            astore 8 /* buf */
        59: .line 6348
      StackMap locals: int
      StackMap stack:
            iload 14 /* p */
            iload 16 /* p1 */
            if_icmple 61
        60: .line 6349
            aload 8 /* buf */
            checkcast org.jruby.RubyString
            aload 13 /* pBytes */
            iload 16 /* p1 */
            iload 14 /* p */
            iload 16 /* p1 */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        61: .line 6352
      StackMap locals:
      StackMap stack:
            iload 15 /* e */
            iload 14 /* p */
            isub
            iload 19 /* clen */
            if_icmpge 62
            iload 15 /* e */
            iload 14 /* p */
            isub
            istore 19 /* clen */
        62: .line 6353
      StackMap locals:
      StackMap stack:
            iload 19 /* clen */
            iconst_2
            if_icmpgt 65
        63: .line 6354
            iconst_1
            istore 19 /* clen */
        64: .line 6355
            goto 73
        65: .line 6357
      StackMap locals:
      StackMap stack:
            iload 14 /* p */
            istore 20 /* q */
        start local 20 // int q
        66: .line 6358
            iinc 19 /* clen */ -1
        67: .line 6359
            goto 72
        68: .line 6360
      StackMap locals: int
      StackMap stack:
            aload 6 /* enc */
            aload 13 /* pBytes */
            iload 20 /* q */
            iload 20 /* q */
            iload 19 /* clen */
            iadd
            invokevirtual org.jcodings.Encoding.length:([BII)I
            istore 18 /* ret */
        69: .line 6361
            iload 18 /* ret */
            invokestatic org.jruby.util.StringSupport.MBCLEN_NEEDMORE_P:(I)Z
            ifeq 70
            goto 73
        70: .line 6362
      StackMap locals:
      StackMap stack:
            iload 18 /* ret */
            invokestatic org.jruby.util.StringSupport.MBCLEN_INVALID_P:(I)Z
            ifeq 71
        71: .line 6359
      StackMap locals:
      StackMap stack:
            iinc 19 /* clen */ -1
      StackMap locals:
      StackMap stack:
        72: iload 19 /* clen */
            iconst_1
            if_icmpgt 68
        end local 20 // int q
        73: .line 6365
      StackMap locals:
      StackMap stack:
            aload 9 /* repBytes */
            ifnull 77
        74: .line 6366
            aload 8 /* buf */
            checkcast org.jruby.RubyString
            aload 9 /* repBytes */
            iload 10 /* rep */
            iload 11 /* replen */
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        75: .line 6367
            iload 17 /* rep7bit_p */
            ifne 83
            bipush 32
            istore 5 /* cr */
        76: .line 6368
            goto 83
        77: .line 6370
      StackMap locals:
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 4 /* runtime */
            aload 13 /* pBytes */
            iload 14 /* p */
            iload 19 /* clen */
            aload 6 /* enc */
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;[BIILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.runtime.Block.yieldSpecific:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* repl */
        78: .line 6371
            aload 1 /* context */
            aload 2 /* repl */
            aload 6 /* enc */
            invokestatic org.jruby.util.io.EncodingUtils.strCompatAndValid:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* repl */
        79: .line 6372
            iload 12 /* tainted */
            aload 2 /* repl */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ior
            istore 12 /* tainted */
        80: .line 6373
            aload 8 /* buf */
            checkcast org.jruby.RubyString
            aload 2 /* repl */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.cat:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
        81: .line 6374
            aload 2 /* repl */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            bipush 32
            if_icmpne 83
        82: .line 6375
            bipush 32
            istore 5 /* cr */
        83: .line 6377
      StackMap locals:
      StackMap stack:
            iload 14 /* p */
            iload 19 /* clen */
            iadd
            istore 14 /* p */
        84: .line 6378
            iload 14 /* p */
            istore 16 /* p1 */
        85: .line 6379
            aload 13 /* pBytes */
            iload 14 /* p */
            iload 15 /* e */
            invokestatic org.jruby.util.StringSupport.searchNonAscii:([BII)I
            istore 14 /* p */
        86: .line 6380
            iload 14 /* p */
            iconst_m1
            if_icmpne 89
        87: .line 6381
            iload 15 /* e */
            istore 14 /* p */
        88: .line 6382
            goto 90
        end local 19 // int clen
        end local 18 // int ret
        89: .line 6332
      StackMap locals:
      StackMap stack:
            iload 14 /* p */
            iload 15 /* e */
            if_icmplt 49
        90: .line 6386
      StackMap locals:
      StackMap stack:
            aload 8 /* buf */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 95
        91: .line 6387
            iload 14 /* p */
            iload 15 /* e */
            if_icmpne 94
        92: .line 6388
            aload 0 /* this */
            iload 5 /* cr */
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
        93: .line 6389
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        94: .line 6391
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyString;
            astore 8 /* buf */
        95: .line 6393
      StackMap locals:
      StackMap stack:
            iload 16 /* p1 */
            iload 14 /* p */
            if_icmpge 97
        96: .line 6394
            aload 8 /* buf */
            checkcast org.jruby.RubyString
            aload 13 /* pBytes */
            iload 16 /* p1 */
            iload 14 /* p */
            iload 16 /* p1 */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
        97: .line 6396
      StackMap locals:
      StackMap stack:
            iload 14 /* p */
            iload 15 /* e */
            if_icmpge 196
        98: .line 6397
            aload 9 /* repBytes */
            ifnull 102
        99: .line 6398
            aload 8 /* buf */
            checkcast org.jruby.RubyString
            aload 9 /* repBytes */
            iload 10 /* rep */
            iload 11 /* replen */
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
       100: .line 6399
            iload 17 /* rep7bit_p */
            ifne 196
            bipush 32
            istore 5 /* cr */
       101: .line 6400
            goto 196
       102: .line 6402
      StackMap locals:
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 4 /* runtime */
            aload 13 /* pBytes */
            iload 14 /* p */
            iload 15 /* e */
            iload 14 /* p */
            isub
            aload 6 /* enc */
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;[BIILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.runtime.Block.yieldSpecific:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* repl */
       103: .line 6403
            aload 1 /* context */
            aload 2 /* repl */
            aload 6 /* enc */
            invokestatic org.jruby.util.io.EncodingUtils.strCompatAndValid:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* repl */
       104: .line 6404
            iload 12 /* tainted */
            aload 2 /* repl */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ior
            istore 12 /* tainted */
       105: .line 6405
            aload 8 /* buf */
            checkcast org.jruby.RubyString
            aload 2 /* repl */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.cat:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
       106: .line 6406
            aload 2 /* repl */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.getCodeRange:()I
            bipush 32
            if_icmpne 196
       107: .line 6407
            bipush 32
            istore 5 /* cr */
        end local 17 // boolean rep7bit_p
        end local 16 // int p1
        end local 15 // int e
        end local 14 // int p
        end local 13 // byte[] pBytes
       108: .line 6410
            goto 196
        end local 11 // int replen
        end local 10 // int rep
        end local 9 // byte[] repBytes
       109: .line 6413
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby int org.jcodings.Encoding org.jcodings.Encoding org.jruby.runtime.builtin.IRubyObject top top top int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 13 /* pBytes */
        start local 13 // byte[] pBytes
       110: .line 6414
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 14 /* p */
        start local 14 // int p
       111: .line 6415
            iload 14 /* p */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 15 /* e */
        start local 15 // int e
       112: .line 6416
            iload 14 /* p */
            istore 16 /* p1 */
        start local 16 // int p1
       113: .line 6417
            aload 6 /* enc */
            invokevirtual org.jcodings.Encoding.minLength:()I
            istore 17 /* mbminlen */
        start local 17 // int mbminlen
       114: .line 6418
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 119
       115: .line 6419
            aconst_null
            astore 9 /* repBytes */
        start local 9 // byte[] repBytes
       116: .line 6420
            iconst_0
            istore 10 /* rep */
        start local 10 // int rep
       117: .line 6421
            iconst_0
            istore 11 /* replen */
        start local 11 // int replen
       118: .line 6422
            goto 179
        end local 11 // int replen
        end local 10 // int rep
        end local 9 // byte[] repBytes
       119: .line 6423
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby int org.jcodings.Encoding org.jcodings.Encoding org.jruby.runtime.builtin.IRubyObject top top top int byte[] int int int int
      StackMap stack:
            aload 2 /* repl */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 124
       120: .line 6424
            aload 2 /* repl */
            checkcast org.jruby.RubyString
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 9 /* repBytes */
        start local 9 // byte[] repBytes
       121: .line 6425
            aload 2 /* repl */
            checkcast org.jruby.RubyString
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 10 /* rep */
        start local 10 // int rep
       122: .line 6426
            aload 2 /* repl */
            checkcast org.jruby.RubyString
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 11 /* replen */
        start local 11 // int replen
       123: .line 6427
            goto 179
        end local 11 // int replen
        end local 10 // int rep
        end local 9 // byte[] repBytes
       124: .line 6428
      StackMap locals:
      StackMap stack:
            aload 7 /* encidx */
            getstatic org.jcodings.specific.UTF16BEEncoding.INSTANCE:Lorg/jcodings/specific/UTF16BEEncoding;
            if_acmpne 129
       125: .line 6429
            getstatic org.jruby.RubyString.SCRUB_REPL_UTF16BE:[B
            astore 9 /* repBytes */
        start local 9 // byte[] repBytes
       126: .line 6430
            iconst_0
            istore 10 /* rep */
        start local 10 // int rep
       127: .line 6431
            aload 9 /* repBytes */
            arraylength
            istore 11 /* replen */
        start local 11 // int replen
       128: .line 6432
            goto 179
        end local 11 // int replen
        end local 10 // int rep
        end local 9 // byte[] repBytes
       129: .line 6433
      StackMap locals:
      StackMap stack:
            aload 7 /* encidx */
            getstatic org.jcodings.specific.UTF16LEEncoding.INSTANCE:Lorg/jcodings/specific/UTF16LEEncoding;
            if_acmpne 134
       130: .line 6434
            getstatic org.jruby.RubyString.SCRUB_REPL_UTF16LE:[B
            astore 9 /* repBytes */
        start local 9 // byte[] repBytes
       131: .line 6435
            iconst_0
            istore 10 /* rep */
        start local 10 // int rep
       132: .line 6436
            aload 9 /* repBytes */
            arraylength
            istore 11 /* replen */
        start local 11 // int replen
       133: .line 6437
            goto 179
        end local 11 // int replen
        end local 10 // int rep
        end local 9 // byte[] repBytes
       134: .line 6438
      StackMap locals:
      StackMap stack:
            aload 7 /* encidx */
            getstatic org.jcodings.specific.UTF32BEEncoding.INSTANCE:Lorg/jcodings/specific/UTF32BEEncoding;
            if_acmpne 139
       135: .line 6439
            getstatic org.jruby.RubyString.SCRUB_REPL_UTF32BE:[B
            astore 9 /* repBytes */
        start local 9 // byte[] repBytes
       136: .line 6440
            iconst_0
            istore 10 /* rep */
        start local 10 // int rep
       137: .line 6441
            aload 9 /* repBytes */
            arraylength
            istore 11 /* replen */
        start local 11 // int replen
       138: .line 6442
            goto 179
        end local 11 // int replen
        end local 10 // int rep
        end local 9 // byte[] repBytes
       139: .line 6443
      StackMap locals:
      StackMap stack:
            aload 7 /* encidx */
            getstatic org.jcodings.specific.UTF32LEEncoding.INSTANCE:Lorg/jcodings/specific/UTF32LEEncoding;
            if_acmpne 144
       140: .line 6444
            getstatic org.jruby.RubyString.SCRUB_REPL_UTF32LE:[B
            astore 9 /* repBytes */
        start local 9 // byte[] repBytes
       141: .line 6445
            iconst_0
            istore 10 /* rep */
        start local 10 // int rep
       142: .line 6446
            aload 9 /* repBytes */
            arraylength
            istore 11 /* replen */
        start local 11 // int replen
       143: .line 6447
            goto 179
        end local 11 // int replen
        end local 10 // int rep
        end local 9 // byte[] repBytes
       144: .line 6449
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyString.SCRUB_REPL_ASCII:[B
            astore 9 /* repBytes */
        start local 9 // byte[] repBytes
       145: .line 6450
            iconst_0
            istore 10 /* rep */
        start local 10 // int rep
       146: .line 6451
            aload 9 /* repBytes */
            arraylength
            istore 11 /* replen */
        start local 11 // int replen
       147: .line 6454
            goto 179
       148: .line 6455
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby int org.jcodings.Encoding org.jcodings.Encoding org.jruby.runtime.builtin.IRubyObject byte[] int int int byte[] int int int int
      StackMap stack:
            aload 6 /* enc */
            aload 13 /* pBytes */
            iload 14 /* p */
            iload 15 /* e */
            invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
            istore 18 /* ret */
        start local 18 // int ret
       149: .line 6456
            iload 18 /* ret */
            invokestatic org.jruby.util.StringSupport.MBCLEN_NEEDMORE_P:(I)Z
            ifeq 151
       150: .line 6457
            goto 180
       151: .line 6459
      StackMap locals: int
      StackMap stack:
            iload 18 /* ret */
            invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_P:(I)Z
            ifeq 154
       152: .line 6460
            iload 14 /* p */
            iload 18 /* ret */
            invokestatic org.jruby.util.StringSupport.MBCLEN_CHARFOUND_LEN:(I)I
            iadd
            istore 14 /* p */
       153: .line 6461
            goto 179
       154: .line 6462
      StackMap locals:
      StackMap stack:
            iload 18 /* ret */
            invokestatic org.jruby.util.StringSupport.MBCLEN_INVALID_P:(I)Z
            ifeq 179
       155: .line 6463
            iload 14 /* p */
            istore 19 /* q */
        start local 19 // int q
       156: .line 6464
            aload 6 /* enc */
            invokevirtual org.jcodings.Encoding.maxLength:()I
            istore 20 /* clen */
        start local 20 // int clen
       157: .line 6465
            aload 8 /* buf */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 158
            aload 4 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyString;
            astore 8 /* buf */
       158: .line 6466
      StackMap locals: int int
      StackMap stack:
            iload 14 /* p */
            iload 16 /* p1 */
            if_icmple 159
            aload 8 /* buf */
            checkcast org.jruby.RubyString
            aload 13 /* pBytes */
            iload 16 /* p1 */
            iload 14 /* p */
            iload 16 /* p1 */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
       159: .line 6468
      StackMap locals:
      StackMap stack:
            iload 15 /* e */
            iload 14 /* p */
            isub
            iload 20 /* clen */
            if_icmpge 160
            iload 15 /* e */
            iload 14 /* p */
            isub
            istore 20 /* clen */
       160: .line 6469
      StackMap locals:
      StackMap stack:
            iload 20 /* clen */
            iload 17 /* mbminlen */
            iconst_2
            imul
            if_icmpgt 163
       161: .line 6470
            iload 17 /* mbminlen */
            istore 20 /* clen */
       162: .line 6471
            goto 170
       163: .line 6473
      StackMap locals:
      StackMap stack:
            iload 20 /* clen */
            iload 17 /* mbminlen */
            isub
            istore 20 /* clen */
       164: .line 6474
            goto 169
       165: .line 6475
      StackMap locals:
      StackMap stack:
            aload 6 /* enc */
            aload 13 /* pBytes */
            iload 19 /* q */
            iload 19 /* q */
            iload 20 /* clen */
            iadd
            invokevirtual org.jcodings.Encoding.length:([BII)I
            istore 18 /* ret */
       166: .line 6476
            iload 18 /* ret */
            invokestatic org.jruby.util.StringSupport.MBCLEN_NEEDMORE_P:(I)Z
            ifeq 167
            goto 170
       167: .line 6477
      StackMap locals:
      StackMap stack:
            iload 18 /* ret */
            invokestatic org.jruby.util.StringSupport.MBCLEN_INVALID_P:(I)Z
            ifeq 168
       168: .line 6474
      StackMap locals:
      StackMap stack:
            iload 20 /* clen */
            iload 17 /* mbminlen */
            isub
            istore 20 /* clen */
      StackMap locals:
      StackMap stack:
       169: iload 20 /* clen */
            iload 17 /* mbminlen */
            if_icmpgt 165
       170: .line 6480
      StackMap locals:
      StackMap stack:
            aload 9 /* repBytes */
            ifnull 173
       171: .line 6481
            aload 8 /* buf */
            checkcast org.jruby.RubyString
            aload 9 /* repBytes */
            iload 10 /* rep */
            iload 11 /* replen */
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
       172: .line 6482
            goto 177
       173: .line 6484
      StackMap locals:
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 4 /* runtime */
            aload 13 /* pBytes */
            iload 14 /* p */
            iload 20 /* clen */
            aload 6 /* enc */
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;[BIILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.runtime.Block.yieldSpecific:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* repl */
       174: .line 6485
            aload 1 /* context */
            aload 2 /* repl */
            aload 6 /* enc */
            invokestatic org.jruby.util.io.EncodingUtils.strCompatAndValid:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* repl */
       175: .line 6486
            iload 12 /* tainted */
            aload 2 /* repl */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ior
            istore 12 /* tainted */
       176: .line 6487
            aload 8 /* buf */
            checkcast org.jruby.RubyString
            aload 2 /* repl */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.cat:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
       177: .line 6489
      StackMap locals:
      StackMap stack:
            iload 14 /* p */
            iload 20 /* clen */
            iadd
            istore 14 /* p */
       178: .line 6490
            iload 14 /* p */
            istore 16 /* p1 */
        end local 20 // int clen
        end local 19 // int q
        end local 18 // int ret
       179: .line 6454
      StackMap locals:
      StackMap stack:
            iload 14 /* p */
            iload 15 /* e */
            if_icmplt 148
       180: .line 6493
      StackMap locals:
      StackMap stack:
            aload 8 /* buf */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 185
       181: .line 6494
            iload 14 /* p */
            iload 15 /* e */
            if_icmpne 184
       182: .line 6495
            aload 0 /* this */
            bipush 32
            invokevirtual org.jruby.RubyString.setCodeRange:(I)V
       183: .line 6496
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
       184: .line 6498
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyString;
            astore 8 /* buf */
       185: .line 6500
      StackMap locals:
      StackMap stack:
            iload 16 /* p1 */
            iload 14 /* p */
            if_icmpge 187
       186: .line 6501
            aload 8 /* buf */
            checkcast org.jruby.RubyString
            aload 13 /* pBytes */
            iload 16 /* p1 */
            iload 14 /* p */
            iload 16 /* p1 */
            isub
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
       187: .line 6503
      StackMap locals:
      StackMap stack:
            iload 14 /* p */
            iload 15 /* e */
            if_icmpge 195
       188: .line 6504
            aload 9 /* repBytes */
            ifnull 191
       189: .line 6505
            aload 8 /* buf */
            checkcast org.jruby.RubyString
            aload 9 /* repBytes */
            iload 10 /* rep */
            iload 11 /* replen */
            invokevirtual org.jruby.RubyString.cat:([BII)Lorg/jruby/RubyString;
            pop
       190: .line 6506
            goto 195
       191: .line 6508
      StackMap locals:
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 4 /* runtime */
            aload 13 /* pBytes */
            iload 14 /* p */
            iload 15 /* e */
            iload 14 /* p */
            isub
            aload 6 /* enc */
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;[BIILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            invokevirtual org.jruby.runtime.Block.yieldSpecific:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* repl */
       192: .line 6509
            aload 1 /* context */
            aload 2 /* repl */
            aload 6 /* enc */
            invokestatic org.jruby.util.io.EncodingUtils.strCompatAndValid:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* repl */
       193: .line 6510
            iload 12 /* tainted */
            aload 2 /* repl */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ior
            istore 12 /* tainted */
       194: .line 6511
            aload 8 /* buf */
            checkcast org.jruby.RubyString
            aload 2 /* repl */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.cat:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
       195: .line 6514
      StackMap locals:
      StackMap stack:
            bipush 32
            istore 5 /* cr */
        end local 17 // int mbminlen
        end local 16 // int p1
        end local 15 // int e
        end local 14 // int p
        end local 13 // byte[] pBytes
       196: .line 6517
      StackMap locals: org.jruby.RubyString org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby int org.jcodings.Encoding org.jcodings.Encoding org.jruby.runtime.builtin.IRubyObject byte[] int int int
      StackMap stack:
            aload 8 /* buf */
            iload 12 /* tainted */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.isTaint:()Z
            ior
            invokeinterface org.jruby.runtime.builtin.IRubyObject.setTaint:(Z)V
       197: .line 6518
            aload 8 /* buf */
            checkcast org.jruby.RubyString
            aload 6 /* enc */
            iload 5 /* cr */
            invokevirtual org.jruby.RubyString.setEncodingAndCodeRange:(Lorg/jcodings/Encoding;I)V
       198: .line 6519
            aload 8 /* buf */
            areturn
        end local 12 // boolean tainted
        end local 11 // int replen
        end local 10 // int rep
        end local 9 // byte[] repBytes
        end local 8 // org.jruby.runtime.builtin.IRubyObject buf
        end local 7 // org.jcodings.Encoding encidx
        end local 6 // org.jcodings.Encoding enc
        end local 5 // int cr
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject repl
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  199     0       this  Lorg/jruby/RubyString;
            0  199     1    context  Lorg/jruby/runtime/ThreadContext;
            0  199     2       repl  Lorg/jruby/runtime/builtin/IRubyObject;
            0  199     3      block  Lorg/jruby/runtime/Block;
            1  199     4    runtime  Lorg/jruby/Ruby;
            2  199     5         cr  I
           10  199     6        enc  Lorg/jcodings/Encoding;
           15  199     7     encidx  Lorg/jcodings/Encoding;
            3  199     8        buf  Lorg/jruby/runtime/builtin/IRubyObject;
           22   26     9   repBytes  [B
           28   34     9   repBytes  [B
           36   40     9   repBytes  [B
           41  109     9   repBytes  [B
          116  119     9   repBytes  [B
          121  124     9   repBytes  [B
          126  129     9   repBytes  [B
          131  134     9   repBytes  [B
          136  139     9   repBytes  [B
          141  144     9   repBytes  [B
          145  199     9   repBytes  [B
           23   26    10        rep  I
           29   34    10        rep  I
           37   40    10        rep  I
           42  109    10        rep  I
          117  119    10        rep  I
          122  124    10        rep  I
          127  129    10        rep  I
          132  134    10        rep  I
          137  139    10        rep  I
          142  144    10        rep  I
          146  199    10        rep  I
           24   26    11     replen  I
           30   34    11     replen  I
           38   40    11     replen  I
           43  109    11     replen  I
          118  119    11     replen  I
          123  124    11     replen  I
          128  129    11     replen  I
          133  134    11     replen  I
          138  139    11     replen  I
          143  144    11     replen  I
          147  199    11     replen  I
            4  199    12    tainted  Z
           17  108    13     pBytes  [B
           18  108    14          p  I
           19  108    15          e  I
           20  108    16         p1  I
           25   26    17  rep7bit_p  Z
           33   34    17  rep7bit_p  Z
           39   40    17  rep7bit_p  Z
           44  108    17  rep7bit_p  Z
           50   89    18        ret  I
           58   89    19       clen  I
           66   73    20          q  I
          110  196    13     pBytes  [B
          111  196    14          p  I
          112  196    15          e  I
          113  196    16         p1  I
          114  196    17   mbminlen  I
          149  179    18        ret  I
          156  179    19          q  I
          157  179    20       clen  I
    MethodParameters:
         Name  Flags
      context  
      repl     
      block    

  public int rbStrOffset(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int pos
         0: .line 6524
            aload 0 /* this */
            iload 1 /* pos */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.StringSupport.isSingleByteOptimizable:(Lorg/jruby/util/CodeRangeable;Lorg/jcodings/Encoding;)Z
            invokevirtual org.jruby.RubyString.strOffset:(IZ)I
            ireturn
        end local 1 // int pos
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
            0    1     1   pos  I
    MethodParameters:
      Name  Flags
      pos   

  private int strOffset(int, boolean);
    descriptor: (IZ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // int nth
        start local 2 // boolean singlebyte
         0: .line 6529
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 3 /* p */
        start local 3 // int p
         1: .line 6530
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.realSize:()I
            istore 4 /* size */
        start local 4 // int size
         2: .line 6531
            iload 3 /* p */
            iload 4 /* size */
            iadd
            istore 5 /* e */
        start local 5 // int e
         3: .line 6532
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            aload 0 /* this */
            getfield org.jruby.RubyString.value:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            iload 3 /* p */
            iload 5 /* e */
            iload 1 /* nth */
            iload 2 /* singlebyte */
            invokestatic org.jruby.util.StringSupport.nth:(Lorg/jcodings/Encoding;[BIIIZ)I
            istore 6 /* pp */
        start local 6 // int pp
         4: .line 6533
            iload 6 /* pp */
            iconst_m1
            if_icmpne 5
            iload 4 /* size */
            ireturn
         5: .line 6534
      StackMap locals: org.jruby.RubyString int int int int int int
      StackMap stack:
            iload 6 /* pp */
            iload 3 /* p */
            isub
            ireturn
        end local 6 // int pp
        end local 5 // int e
        end local 4 // int size
        end local 3 // int p
        end local 2 // boolean singlebyte
        end local 1 // int nth
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/jruby/RubyString;
            0    6     1         nth  I
            0    6     2  singlebyte  Z
            1    6     3           p  I
            2    6     4        size  I
            3    6     5           e  I
            4    6     6          pp  I
    MethodParameters:
            Name  Flags
      nth         
      singlebyte  

  private static org.jruby.runtime.JavaSites$StringSites sites(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$StringSites;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 6538
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.sites:Lorg/jruby/runtime/JavaSites;
            getfield org.jruby.runtime.JavaSites.String:Lorg/jruby/runtime/JavaSites$StringSites;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public final org.jruby.RubyString strDup();
    descriptor: ()Lorg/jruby/RubyString;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 6543
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyString.strDup:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)Lorg/jruby/RubyString;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public final void modify19(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString this
        start local 1 // int length
         0: .line 6548
            aload 0 /* this */
            iload 1 /* length */
            invokevirtual org.jruby.RubyString.modifyExpand:(I)V
         1: .line 6549
            return
        end local 1 // int length
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jruby/RubyString;
            0    2     1  length  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      length  

  public org.jruby.RubyArray split19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // boolean useBackref
         0: .line 6553
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            iload 3 /* useBackref */
            aload 0 /* this */
            getfield org.jruby.RubyString.flags:I
            aload 0 /* this */
            getfield org.jruby.RubyString.flags:I
            iload 3 /* useBackref */
            invokevirtual org.jruby.RubyString.splitCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;ZIIZ)Lorg/jruby/RubyArray;
            areturn
        end local 3 // boolean useBackref
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/jruby/RubyString;
            0    1     1     context  Lorg/jruby/runtime/ThreadContext;
            0    1     2        arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3  useBackref  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      context     
      arg0        
      useBackref  

  public org.jruby.runtime.builtin.IRubyObject lines20(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 6558
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyString.lines:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject lines20(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
        start local 3 // org.jruby.runtime.Block block
         0: .line 6563
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            aload 3 /* block */
            invokevirtual org.jruby.RubyString.lines:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg      
      block    

  public org.jruby.runtime.builtin.IRubyObject dump19();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyString this
         0: .line 6568
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.dump:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public org.jruby.runtime.builtin.IRubyObject insert19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject indexArg
        start local 3 // org.jruby.runtime.builtin.IRubyObject stringArg
         0: .line 6573
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* indexArg */
            aload 3 /* stringArg */
            invokevirtual org.jruby.RubyString.insert:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject stringArg
        end local 2 // org.jruby.runtime.builtin.IRubyObject indexArg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/jruby/RubyString;
            0    1     1    context  Lorg/jruby/runtime/ThreadContext;
            0    1     2   indexArg  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3  stringArg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
           Name  Flags
      context    
      indexArg   
      stringArg  

  public org.jruby.runtime.builtin.IRubyObject op_equal19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 6578
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyString.op_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject op_aref19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 6583
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg1 */
            aload 3 /* arg2 */
            invokevirtual org.jruby.RubyString.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg1     
      arg2     

  public org.jruby.runtime.builtin.IRubyObject op_aref19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 6588
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyString.op_aref:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject op_aset19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 6593
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            invokevirtual org.jruby.RubyString.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     

  public org.jruby.runtime.builtin.IRubyObject op_aset19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 6598
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 4 /* arg2 */
            invokevirtual org.jruby.RubyString.op_aset:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      arg2     

  public org.jruby.runtime.builtin.IRubyObject op_match19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 6603
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* other */
            invokevirtual org.jruby.RubyString.op_match:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject other
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    other  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      other    

  public org.jruby.runtime.builtin.IRubyObject scan19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyString this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
        start local 3 // org.jruby.runtime.Block block
         0: .line 6607
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            aload 3 /* block */
            invokevirtual org.jruby.RubyString.scan:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyString;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg      
      block    

  public org.jruby.runtime.builtin.IRubyObject initialize_copy(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.jruby.RubyString.initialize_copy:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.jruby.runtime.builtin.IRubyObject inspect();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.jruby.RubyString.inspect:()Lorg/jruby/RubyString;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "RubyString.java"
NestMembers:
  org.jruby.RubyString$1  org.jruby.RubyString$2  org.jruby.RubyString$3  org.jruby.RubyString$4  org.jruby.RubyString$5  org.jruby.RubyString$EmptyByteListHolder
InnerClasses:
  public abstract SizeFn = org.jruby.RubyEnumerator$SizeFn of org.jruby.RubyEnumerator
  public final JavaClassKindOf = org.jruby.RubyModule$JavaClassKindOf of org.jruby.RubyModule
  org.jruby.RubyString$1
  org.jruby.RubyString$2
  org.jruby.RubyString$3
  org.jruby.RubyString$4
  org.jruby.RubyString$5
  private final EmptyByteListHolder = org.jruby.RubyString$EmptyByteListHolder of org.jruby.RubyString
  public final SymbolTable = org.jruby.RubySymbol$SymbolTable of org.jruby.RubySymbol
  public CheckedSites = org.jruby.runtime.JavaSites$CheckedSites of org.jruby.runtime.JavaSites
  public StringSites = org.jruby.runtime.JavaSites$StringSites of org.jruby.runtime.JavaSites
  public abstract RecursiveFunctionEx = org.jruby.runtime.ThreadContext$RecursiveFunctionEx of org.jruby.runtime.ThreadContext
  public final ComplexPatterns = org.jruby.util.Numeric$ComplexPatterns of org.jruby.util.Numeric
  public final TrTables = org.jruby.util.StringSupport$TrTables of org.jruby.util.StringSupport
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyClass(name = {"String"}, include = {"Enumerable", "Comparable"})