class org.jruby.RubyString$5 implements org.jruby.RubyEnumerator$SizeFn
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.jruby.RubyString$5
  super_class: java.lang.Object
{
  final org.jruby.RubyString this$0;
    descriptor: Lorg/jruby/RubyString;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.jruby.RubyString);
    descriptor: (Lorg/jruby/RubyString;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyString$5 this
         0: .line 5831
            aload 0 /* this */
            aload 1
            putfield org.jruby.RubyString$5.this$0:Lorg/jruby/RubyString;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.RubyString$5 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyString$5;
    MethodParameters:
        Name  Flags
      this$0  final

  public org.jruby.runtime.builtin.IRubyObject size(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // org.jruby.RubyString$5 this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 5834
            aload 0 /* this */
            getfield org.jruby.RubyString$5.this$0:Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 5835
            aload 0 /* this */
            getfield org.jruby.RubyString$5.this$0:Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 3 /* value */
        start local 3 // org.jruby.util.ByteList value
         2: .line 5836
            aload 3 /* value */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            astore 4 /* enc */
        start local 4 // org.jcodings.Encoding enc
         3: .line 5837
            aload 4 /* enc */
            invokevirtual org.jcodings.Encoding.isUnicode:()Z
            ifne 4
            aload 0 /* this */
            getfield org.jruby.RubyString$5.this$0:Lorg/jruby/RubyString;
            aload 2 /* runtime */
            invokevirtual org.jruby.RubyString.rubyLength:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
         4: .line 5839
      StackMap locals: org.jruby.Ruby org.jruby.util.ByteList org.jcodings.Encoding
      StackMap stack:
            aload 2 /* runtime */
            getstatic org.jruby.RubyString.GRAPHEME_CLUSTER_PATTERN:Lorg/jruby/util/ByteList;
            aload 4 /* 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 5 /* reg */
        start local 5 // org.joni.Regex reg
         5: .line 5840
            aload 3 /* value */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            istore 6 /* beg */
        start local 6 // int beg
         6: .line 5841
            iload 6 /* beg */
            aload 3 /* value */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            istore 7 /* end */
        start local 7 // int end
         7: .line 5842
            aload 5 /* reg */
            aload 3 /* value */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 6 /* beg */
            iload 7 /* end */
            invokevirtual org.joni.Regex.matcher:([BII)Lorg/joni/Matcher;
            astore 8 /* matcher */
        start local 8 // org.joni.Matcher matcher
         8: .line 5843
            iconst_0
            istore 9 /* count */
        start local 9 // int count
         9: .line 5845
            goto 14
        10: .line 5846
      StackMap locals: org.jruby.RubyString$5 org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.util.ByteList org.jcodings.Encoding org.joni.Regex int int org.joni.Matcher int
      StackMap stack:
            aload 8 /* matcher */
            iload 6 /* beg */
            iload 7 /* end */
            iconst_0
            invokevirtual org.joni.Matcher.match:(III)I
            istore 10 /* len */
        start local 10 // int len
        11: .line 5847
            iload 10 /* len */
            ifgt 12
            goto 15
        12: .line 5848
      StackMap locals: int
      StackMap stack:
            iinc 9 /* count */ 1
        13: .line 5849
            iload 6 /* beg */
            iload 10 /* len */
            iadd
            istore 6 /* beg */
        end local 10 // int len
        14: .line 5845
      StackMap locals:
      StackMap stack:
            iload 6 /* beg */
            iload 7 /* end */
            if_icmplt 10
        15: .line 5851
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            iload 9 /* count */
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        end local 9 // int count
        end local 8 // org.joni.Matcher matcher
        end local 7 // int end
        end local 6 // int beg
        end local 5 // org.joni.Regex reg
        end local 4 // org.jcodings.Encoding enc
        end local 3 // org.jruby.util.ByteList value
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyString$5 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/jruby/RubyString$5;
            0   16     1     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   16     2  runtime  Lorg/jruby/Ruby;
            2   16     3    value  Lorg/jruby/util/ByteList;
            3   16     4      enc  Lorg/jcodings/Encoding;
            5   16     5      reg  Lorg/joni/Regex;
            6   16     6      beg  I
            7   16     7      end  I
            8   16     8  matcher  Lorg/joni/Matcher;
            9   16     9    count  I
           11   14    10      len  I
    MethodParameters:
      Name  Flags
      args  
}
SourceFile: "RubyString.java"
EnclosingMethod: org.jruby.RubyString.eachGraphemeClusterSizeFn:()Lorg/jruby/RubyEnumerator$SizeFn;
NestHost: org.jruby.RubyString
InnerClasses:
  public abstract SizeFn = org.jruby.RubyEnumerator$SizeFn of org.jruby.RubyEnumerator
  org.jruby.RubyString$5