class org.apache.batik.svggen.SVGFont$CharListHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.batik.svggen.SVGFont$CharListHelper
  super_class: java.lang.Object
{
  private int nUsed;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int[] charList;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.StringBuffer freshChars;
    descriptor: Ljava/lang/StringBuffer;
    flags: (0x0002) ACC_PRIVATE

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.batik.svggen.SVGFont$CharListHelper this
         0: .line 503
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 490
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.svggen.SVGFont$CharListHelper.nUsed:I
         2: .line 495
            aload 0 /* this */
            bipush 40
            newarray 10
            putfield org.apache.batik.svggen.SVGFont$CharListHelper.charList:[I
         3: .line 501
            aload 0 /* this */
            new java.lang.StringBuffer
            dup
            bipush 40
            invokespecial java.lang.StringBuffer.<init>:(I)V
            putfield org.apache.batik.svggen.SVGFont$CharListHelper.freshChars:Ljava/lang/StringBuffer;
         4: .line 505
            return
        end local 0 // org.apache.batik.svggen.SVGFont$CharListHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/batik/svggen/SVGFont$CharListHelper;

  java.lang.String getNewChars();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.svggen.SVGFont$CharListHelper this
         0: .line 512
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont$CharListHelper.freshChars:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.batik.svggen.SVGFont$CharListHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/svggen/SVGFont$CharListHelper;

  void clearNewChars();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.batik.svggen.SVGFont$CharListHelper this
         0: .line 519
            aload 0 /* this */
            new java.lang.StringBuffer
            dup
            bipush 40
            invokespecial java.lang.StringBuffer.<init>:(I)V
            putfield org.apache.batik.svggen.SVGFont$CharListHelper.freshChars:Ljava/lang/StringBuffer;
         1: .line 520
            return
        end local 0 // org.apache.batik.svggen.SVGFont$CharListHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/svggen/SVGFont$CharListHelper;

  boolean add(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.apache.batik.svggen.SVGFont$CharListHelper this
        start local 1 // int c
         0: .line 530
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont$CharListHelper.charList:[I
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont$CharListHelper.nUsed:I
            iload 1 /* c */
            invokestatic org.apache.batik.svggen.SVGFont$CharListHelper.binSearch:([III)I
            istore 2 /* pos */
        start local 2 // int pos
         1: .line 531
            iload 2 /* pos */
            iflt 3
         2: .line 533
            iconst_0
            ireturn
         3: .line 536
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont$CharListHelper.nUsed:I
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont$CharListHelper.charList:[I
            arraylength
            if_icmpne 7
         4: .line 538
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont$CharListHelper.nUsed:I
            bipush 20
            iadd
            newarray 10
            astore 3 /* t */
        start local 3 // int[] t
         5: .line 539
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont$CharListHelper.charList:[I
            iconst_0
            aload 3 /* t */
            iconst_0
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont$CharListHelper.nUsed:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 540
            aload 0 /* this */
            aload 3 /* t */
            putfield org.apache.batik.svggen.SVGFont$CharListHelper.charList:[I
        end local 3 // int[] t
         7: .line 543
      StackMap locals:
      StackMap stack:
            iload 2 /* pos */
            ineg
            iconst_1
            isub
            istore 2 /* pos */
         8: .line 544
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont$CharListHelper.charList:[I
            iload 2 /* pos */
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont$CharListHelper.charList:[I
            iload 2 /* pos */
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont$CharListHelper.nUsed:I
            iload 2 /* pos */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 545
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont$CharListHelper.charList:[I
            iload 2 /* pos */
            iload 1 /* c */
            iastore
        10: .line 546
            aload 0 /* this */
            getfield org.apache.batik.svggen.SVGFont$CharListHelper.freshChars:Ljava/lang/StringBuffer;
            iload 1 /* c */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        11: .line 547
            aload 0 /* this */
            dup
            getfield org.apache.batik.svggen.SVGFont$CharListHelper.nUsed:I
            iconst_1
            iadd
            putfield org.apache.batik.svggen.SVGFont$CharListHelper.nUsed:I
        12: .line 549
            iconst_1
            ireturn
        end local 2 // int pos
        end local 1 // int c
        end local 0 // org.apache.batik.svggen.SVGFont$CharListHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/apache/batik/svggen/SVGFont$CharListHelper;
            0   13     1     c  I
            1   13     2   pos  I
            5    7     3     t  [I
    MethodParameters:
      Name  Flags
      c     

  static int binSearch(int[], int, int);
    descriptor: ([III)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // int[] list
        start local 1 // int nUsed
        start local 2 // int chr
         0: .line 563
            iconst_0
            istore 3 /* low */
        start local 3 // int low
         1: .line 564
            iload 1 /* nUsed */
            iconst_1
            isub
            istore 4 /* high */
        start local 4 // int high
         2: .line 566
            goto 12
         3: .line 567
      StackMap locals: int int
      StackMap stack:
            iload 3 /* low */
            iload 4 /* high */
            iadd
            iconst_1
            iushr
            istore 5 /* mid */
        start local 5 // int mid
         4: .line 568
            aload 0 /* list */
            iload 5 /* mid */
            iaload
            istore 6 /* midVal */
        start local 6 // int midVal
         5: .line 570
            iload 6 /* midVal */
            iload 2 /* chr */
            if_icmpge 8
         6: .line 571
            iload 5 /* mid */
            iconst_1
            iadd
            istore 3 /* low */
         7: .line 572
            goto 12
      StackMap locals: int int
      StackMap stack:
         8: iload 6 /* midVal */
            iload 2 /* chr */
            if_icmple 11
         9: .line 573
            iload 5 /* mid */
            iconst_1
            isub
            istore 4 /* high */
        10: .line 574
            goto 12
        11: .line 575
      StackMap locals:
      StackMap stack:
            iload 5 /* mid */
            ireturn
        end local 6 // int midVal
        end local 5 // int mid
        12: .line 566
      StackMap locals:
      StackMap stack:
            iload 3 /* low */
            iload 4 /* high */
            if_icmple 3
        13: .line 578
            iload 3 /* low */
            iconst_1
            iadd
            ineg
            ireturn
        end local 4 // int high
        end local 3 // int low
        end local 2 // int chr
        end local 1 // int nUsed
        end local 0 // int[] list
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    list  [I
            0   14     1   nUsed  I
            0   14     2     chr  I
            1   14     3     low  I
            2   14     4    high  I
            4   12     5     mid  I
            5   12     6  midVal  I
    MethodParameters:
       Name  Flags
      list   
      nUsed  
      chr    
}
SourceFile: "SVGFont.java"
NestHost: org.apache.batik.svggen.SVGFont
InnerClasses:
  private CharListHelper = org.apache.batik.svggen.SVGFont$CharListHelper of org.apache.batik.svggen.SVGFont