public class org.apache.batik.gvt.flow.LineInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.gvt.flow.LineInfo
  super_class: java.lang.Object
{
  org.apache.batik.gvt.flow.FlowRegions fr;
    descriptor: Lorg/apache/batik/gvt/flow/FlowRegions;
    flags: (0x0000) 

  double lineHeight;
    descriptor: D
    flags: (0x0000) 

  double ascent;
    descriptor: D
    flags: (0x0000) 

  double descent;
    descriptor: D
    flags: (0x0000) 

  double hLeading;
    descriptor: D
    flags: (0x0000) 

  double baseline;
    descriptor: D
    flags: (0x0000) 

  int numGlyphs;
    descriptor: I
    flags: (0x0000) 

  int words;
    descriptor: I
    flags: (0x0000) 

  int size;
    descriptor: I
    flags: (0x0000) 

  org.apache.batik.gvt.flow.GlyphGroupInfo[] ggis;
    descriptor: [Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
    flags: (0x0000) 

  int newSize;
    descriptor: I
    flags: (0x0000) 

  org.apache.batik.gvt.flow.GlyphGroupInfo[] newGGIS;
    descriptor: [Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
    flags: (0x0000) 

  int numRanges;
    descriptor: I
    flags: (0x0000) 

  double[] ranges;
    descriptor: [D
    flags: (0x0000) 

  double[] rangeAdv;
    descriptor: [D
    flags: (0x0000) 

  org.apache.batik.gvt.flow.BlockInfo bi;
    descriptor: Lorg/apache/batik/gvt/flow/BlockInfo;
    flags: (0x0000) 

  boolean paraStart;
    descriptor: Z
    flags: (0x0000) 

  boolean paraEnd;
    descriptor: Z
    flags: (0x0000) 

  protected static final int FULL_WORD;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  protected static final int FULL_ADV;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final float MAX_COMPRESS;
    descriptor: F
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0.1

  static final float COMRESS_SCALE;
    descriptor: F
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3.0

  public void <init>(org.apache.batik.gvt.flow.FlowRegions, org.apache.batik.gvt.flow.BlockInfo, boolean);
    descriptor: (Lorg/apache/batik/gvt/flow/FlowRegions;Lorg/apache/batik/gvt/flow/BlockInfo;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.apache.batik.gvt.flow.LineInfo this
        start local 1 // org.apache.batik.gvt.flow.FlowRegions fr
        start local 2 // org.apache.batik.gvt.flow.BlockInfo bi
        start local 3 // boolean paraStart
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 35
            aload 0 /* this */
            ldc -1.0
            putfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
         2: .line 36
            aload 0 /* this */
            ldc -1.0
            putfield org.apache.batik.gvt.flow.LineInfo.ascent:D
         3: .line 37
            aload 0 /* this */
            ldc -1.0
            putfield org.apache.batik.gvt.flow.LineInfo.descent:D
         4: .line 38
            aload 0 /* this */
            ldc -1.0
            putfield org.apache.batik.gvt.flow.LineInfo.hLeading:D
         5: .line 41
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.gvt.flow.LineInfo.words:I
         6: .line 43
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.gvt.flow.LineInfo.size:I
         7: .line 44
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.flow.LineInfo.ggis:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
         8: .line 45
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.gvt.flow.LineInfo.newSize:I
         9: .line 46
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.flow.LineInfo.newGGIS:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
        10: .line 52
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.gvt.flow.LineInfo.bi:Lorg/apache/batik/gvt/flow/BlockInfo;
        11: .line 61
            aload 0 /* this */
            aload 1 /* fr */
            putfield org.apache.batik.gvt.flow.LineInfo.fr:Lorg/apache/batik/gvt/flow/FlowRegions;
        12: .line 62
            aload 0 /* this */
            aload 2 /* bi */
            putfield org.apache.batik.gvt.flow.LineInfo.bi:Lorg/apache/batik/gvt/flow/BlockInfo;
        13: .line 63
            aload 0 /* this */
            aload 2 /* bi */
            invokevirtual org.apache.batik.gvt.flow.BlockInfo.getLineHeight:()F
            f2d
            putfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
        14: .line 64
            aload 0 /* this */
            aload 2 /* bi */
            invokevirtual org.apache.batik.gvt.flow.BlockInfo.getAscent:()F
            f2d
            putfield org.apache.batik.gvt.flow.LineInfo.ascent:D
        15: .line 65
            aload 0 /* this */
            aload 2 /* bi */
            invokevirtual org.apache.batik.gvt.flow.BlockInfo.getDescent:()F
            f2d
            putfield org.apache.batik.gvt.flow.LineInfo.descent:D
        16: .line 66
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ascent:D
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.descent:D
            dadd
            dsub
            ldc 2.0
            ddiv
            putfield org.apache.batik.gvt.flow.LineInfo.hLeading:D
        17: .line 67
            aload 0 /* this */
            aload 1 /* fr */
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.getCurrentY:()D
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.hLeading:D
            dadd
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ascent:D
            dadd
            d2f
            f2d
            putfield org.apache.batik.gvt.flow.LineInfo.baseline:D
        18: .line 68
            aload 0 /* this */
            iload 3 /* paraStart */
            putfield org.apache.batik.gvt.flow.LineInfo.paraStart:Z
        19: .line 69
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.gvt.flow.LineInfo.paraEnd:Z
        20: .line 70
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
            dconst_0
            dcmpl
            ifle 23
        21: .line 71
            aload 1 /* fr */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.newLineHeight:(D)V
        22: .line 72
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.updateRangeInfo:()Z
            pop
        23: .line 75
      StackMap locals: org.apache.batik.gvt.flow.LineInfo org.apache.batik.gvt.flow.FlowRegions org.apache.batik.gvt.flow.BlockInfo int
      StackMap stack:
            return
        end local 3 // boolean paraStart
        end local 2 // org.apache.batik.gvt.flow.BlockInfo bi
        end local 1 // org.apache.batik.gvt.flow.FlowRegions fr
        end local 0 // org.apache.batik.gvt.flow.LineInfo this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Lorg/apache/batik/gvt/flow/LineInfo;
            0   24     1         fr  Lorg/apache/batik/gvt/flow/FlowRegions;
            0   24     2         bi  Lorg/apache/batik/gvt/flow/BlockInfo;
            0   24     3  paraStart  Z
    MethodParameters:
           Name  Flags
      fr         
      bi         
      paraStart  

  public void setParaEnd(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.gvt.flow.LineInfo this
        start local 1 // boolean paraEnd
         0: .line 78
            aload 0 /* this */
            iload 1 /* paraEnd */
            putfield org.apache.batik.gvt.flow.LineInfo.paraEnd:Z
         1: .line 79
            return
        end local 1 // boolean paraEnd
        end local 0 // org.apache.batik.gvt.flow.LineInfo this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/batik/gvt/flow/LineInfo;
            0    2     1  paraEnd  Z
    MethodParameters:
         Name  Flags
      paraEnd  

  public boolean addWord(org.apache.batik.gvt.flow.WordInfo);
    descriptor: (Lorg/apache/batik/gvt/flow/WordInfo;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.apache.batik.gvt.flow.LineInfo this
        start local 1 // org.apache.batik.gvt.flow.WordInfo wi
         0: .line 82
            aload 1 /* wi */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getLineHeight:()F
            f2d
            dstore 2 /* nlh */
        start local 2 // double nlh
         1: .line 83
            dload 2 /* nlh */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
            dcmpg
            ifgt 3
         2: .line 84
            aload 0 /* this */
            aload 1 /* wi */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.insertWord:(Lorg/apache/batik/gvt/flow/WordInfo;)Z
            ireturn
         3: .line 85
      StackMap locals: double
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.fr:Lorg/apache/batik/gvt/flow/FlowRegions;
            dload 2 /* nlh */
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.newLineHeight:(D)V
         4: .line 87
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.updateRangeInfo:()Z
            ifne 8
         5: .line 88
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
            dconst_0
            dcmpl
            ifle 7
         6: .line 89
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.fr:Lorg/apache/batik/gvt/flow/FlowRegions;
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.newLineHeight:(D)V
         7: .line 90
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         8: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* wi */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.insertWord:(Lorg/apache/batik/gvt/flow/WordInfo;)Z
            ifne 12
         9: .line 94
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
            dconst_0
            dcmpl
            ifle 11
        10: .line 95
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
            invokevirtual org.apache.batik.gvt.flow.LineInfo.setLineHeight:(D)Z
            pop
        11: .line 96
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        12: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 2 /* nlh */
            putfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
        13: .line 101
            aload 1 /* wi */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getAscent:()F
            f2d
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ascent:D
            dcmpl
            ifle 15
        14: .line 102
            aload 0 /* this */
            aload 1 /* wi */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getAscent:()F
            f2d
            putfield org.apache.batik.gvt.flow.LineInfo.ascent:D
        15: .line 103
      StackMap locals:
      StackMap stack:
            aload 1 /* wi */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getDescent:()F
            f2d
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.descent:D
            dcmpl
            ifle 17
        16: .line 104
            aload 0 /* this */
            aload 1 /* wi */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getDescent:()F
            f2d
            putfield org.apache.batik.gvt.flow.LineInfo.descent:D
        17: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 2 /* nlh */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ascent:D
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.descent:D
            dadd
            dsub
            ldc 2.0
            ddiv
            putfield org.apache.batik.gvt.flow.LineInfo.hLeading:D
        18: .line 106
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.fr:Lorg/apache/batik/gvt/flow/FlowRegions;
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.getCurrentY:()D
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.hLeading:D
            dadd
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ascent:D
            dadd
            d2f
            f2d
            putfield org.apache.batik.gvt.flow.LineInfo.baseline:D
        19: .line 107
            iconst_1
            ireturn
        end local 2 // double nlh
        end local 1 // org.apache.batik.gvt.flow.WordInfo wi
        end local 0 // org.apache.batik.gvt.flow.LineInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lorg/apache/batik/gvt/flow/LineInfo;
            0   20     1    wi  Lorg/apache/batik/gvt/flow/WordInfo;
            1   20     2   nlh  D
    MethodParameters:
      Name  Flags
      wi    

  public boolean insertWord(org.apache.batik.gvt.flow.WordInfo);
    descriptor: (Lorg/apache/batik/gvt/flow/WordInfo;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.batik.gvt.flow.LineInfo this
        start local 1 // org.apache.batik.gvt.flow.WordInfo wi
         0: .line 114
            aload 0 /* this */
            aload 1 /* wi */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.mergeGlyphGroups:(Lorg/apache/batik/gvt/flow/WordInfo;)V
         1: .line 116
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.newSize:I
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.newGGIS:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            invokevirtual org.apache.batik.gvt.flow.LineInfo.assignGlyphGroupRanges:(I[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;)Z
            ifne 3
         2: .line 117
            iconst_0
            ireturn
         3: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.swapGlyphGroupInfo:()V
         4: .line 122
            iconst_1
            ireturn
        end local 1 // org.apache.batik.gvt.flow.WordInfo wi
        end local 0 // org.apache.batik.gvt.flow.LineInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/batik/gvt/flow/LineInfo;
            0    5     1    wi  Lorg/apache/batik/gvt/flow/WordInfo;
    MethodParameters:
      Name  Flags
      wi    

  public boolean assignGlyphGroupRanges(int, org.apache.batik.gvt.flow.GlyphGroupInfo[]);
    descriptor: (I[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=3
        start local 0 // org.apache.batik.gvt.flow.LineInfo this
        start local 1 // int ggSz
        start local 2 // org.apache.batik.gvt.flow.GlyphGroupInfo[] ggis
         0: .line 128
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: iconst_0
            istore 4 /* r */
        start local 4 // int r
         2: .line 129
            goto 34
         3: .line 130
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ranges:[D
            iconst_2
            iload 4 /* r */
            imul
            iconst_1
            iadd
            daload
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ranges:[D
            iconst_2
            iload 4 /* r */
            imul
            daload
            dsub
            dstore 5 /* range */
        start local 5 // double range
         4: .line 131
            fconst_0
            fstore 7 /* adv */
        start local 7 // float adv
         5: .line 132
            fconst_0
            fstore 8 /* rangeAdvance */
        start local 8 // float rangeAdvance
         6: .line 134
            goto 14
         7: .line 135
      StackMap locals: double float float
      StackMap stack:
            aload 2 /* ggis */
            iload 3 /* i */
            aaload
            astore 9 /* ggi */
        start local 9 // org.apache.batik.gvt.flow.GlyphGroupInfo ggi
         8: .line 136
            aload 9 /* ggi */
            iload 4 /* r */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.setRange:(I)V
         9: .line 137
            aload 9 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getAdvance:()F
            fstore 7 /* adv */
        10: .line 138
            dload 5 /* range */
            fload 8 /* rangeAdvance */
            fload 7 /* adv */
            fadd
            f2d
            dsub
            dstore 10 /* delta */
        start local 10 // double delta
        11: .line 139
            dload 10 /* delta */
            dconst_0
            dcmpg
            ifge 12
            goto 15
        12: .line 141
      StackMap locals: org.apache.batik.gvt.flow.GlyphGroupInfo double
      StackMap stack:
            iinc 3 /* i */ 1
        13: .line 142
            fload 8 /* rangeAdvance */
            fload 7 /* adv */
            fadd
            fstore 8 /* rangeAdvance */
        end local 10 // double delta
        end local 9 // org.apache.batik.gvt.flow.GlyphGroupInfo ggi
        14: .line 134
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 1 /* ggSz */
            if_icmplt 7
        15: .line 146
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 1 /* ggSz */
            if_icmpne 18
        16: .line 147
            iinc 3 /* i */ -1
        17: .line 148
            fload 8 /* rangeAdvance */
            fload 7 /* adv */
            fsub
            fstore 8 /* rangeAdvance */
        18: .line 151
      StackMap locals:
      StackMap stack:
            aload 2 /* ggis */
            iload 3 /* i */
            aaload
            astore 9 /* ggi */
        start local 9 // org.apache.batik.gvt.flow.GlyphGroupInfo ggi
        19: .line 152
            aload 9 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getLastAdvance:()F
            fstore 10 /* ladv */
        start local 10 // float ladv
        20: .line 153
            goto 29
        21: .line 155
      StackMap locals: org.apache.batik.gvt.flow.GlyphGroupInfo float
      StackMap stack:
            iinc 3 /* i */ -1
        22: .line 156
            fconst_0
            fstore 10 /* ladv */
        23: .line 157
            iload 3 /* i */
            ifge 24
            goto 30
        24: .line 158
      StackMap locals:
      StackMap stack:
            aload 2 /* ggis */
            iload 3 /* i */
            aaload
            astore 9 /* ggi */
        25: .line 159
            iload 4 /* r */
            aload 9 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getRange:()I
            if_icmpeq 27
        26: .line 160
            goto 30
        27: .line 162
      StackMap locals:
      StackMap stack:
            fload 8 /* rangeAdvance */
            aload 9 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getAdvance:()F
            fsub
            fstore 8 /* rangeAdvance */
        28: .line 163
            aload 9 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getLastAdvance:()F
            fstore 10 /* ladv */
        29: .line 153
      StackMap locals:
      StackMap stack:
            fload 8 /* rangeAdvance */
            fload 10 /* ladv */
            fadd
            f2d
            dload 5 /* range */
            dcmpl
            ifgt 21
        30: .line 166
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        31: .line 167
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.rangeAdv:[D
            iload 4 /* r */
            fload 8 /* rangeAdvance */
            fload 10 /* ladv */
            fadd
            f2d
            dastore
        32: .line 168
            iinc 4 /* r */ 1
        33: .line 169
            iload 3 /* i */
            iload 1 /* ggSz */
            if_icmpne 34
            iconst_1
            ireturn
        end local 10 // float ladv
        end local 9 // org.apache.batik.gvt.flow.GlyphGroupInfo ggi
        end local 8 // float rangeAdvance
        end local 7 // float adv
        end local 5 // double range
        34: .line 129
      StackMap locals: org.apache.batik.gvt.flow.LineInfo int org.apache.batik.gvt.flow.GlyphGroupInfo[] int int
      StackMap stack:
            iload 4 /* r */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.numRanges:I
            if_icmplt 3
        35: .line 171
            iconst_0
            ireturn
        end local 4 // int r
        end local 3 // int i
        end local 2 // org.apache.batik.gvt.flow.GlyphGroupInfo[] ggis
        end local 1 // int ggSz
        end local 0 // org.apache.batik.gvt.flow.LineInfo this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   36     0          this  Lorg/apache/batik/gvt/flow/LineInfo;
            0   36     1          ggSz  I
            0   36     2          ggis  [Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            1   36     3             i  I
            2   36     4             r  I
            4   34     5         range  D
            5   34     7           adv  F
            6   34     8  rangeAdvance  F
            8   14     9           ggi  Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
           11   14    10         delta  D
           19   34     9           ggi  Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
           20   34    10          ladv  F
    MethodParameters:
      Name  Flags
      ggSz  
      ggis  

  public boolean setLineHeight(double);
    descriptor: (D)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.batik.gvt.flow.LineInfo this
        start local 1 // double lh
         0: .line 179
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.fr:Lorg/apache/batik/gvt/flow/FlowRegions;
            dload 1 /* lh */
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.newLineHeight:(D)V
         1: .line 181
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.updateRangeInfo:()Z
            ifeq 4
         2: .line 182
            aload 0 /* this */
            dload 1 /* lh */
            putfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
         3: .line 183
            iconst_1
            ireturn
         4: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
            dconst_0
            dcmpl
            ifle 6
         5: .line 188
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.fr:Lorg/apache/batik/gvt/flow/FlowRegions;
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.newLineHeight:(D)V
         6: .line 189
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // double lh
        end local 0 // org.apache.batik.gvt.flow.LineInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/batik/gvt/flow/LineInfo;
            0    7     1    lh  D
    MethodParameters:
      Name  Flags
      lh    

  public double getCurrentY();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.flow.LineInfo this
         0: .line 193
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.fr:Lorg/apache/batik/gvt/flow/FlowRegions;
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.getCurrentY:()D
            dreturn
        end local 0 // org.apache.batik.gvt.flow.LineInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/gvt/flow/LineInfo;

  public boolean gotoY(double);
    descriptor: (D)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.batik.gvt.flow.LineInfo this
        start local 1 // double y
         0: .line 197
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.fr:Lorg/apache/batik/gvt/flow/FlowRegions;
            dload 1 /* y */
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.gotoY:(D)Z
            ifeq 2
         1: .line 198
            iconst_1
            ireturn
         2: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.lineHeight:D
            dconst_0
            dcmpl
            ifle 4
         3: .line 200
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.flow.LineInfo.updateRangeInfo:()Z
            pop
         4: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.fr:Lorg/apache/batik/gvt/flow/FlowRegions;
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.getCurrentY:()D
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.hLeading:D
            dadd
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ascent:D
            dadd
            d2f
            f2d
            putfield org.apache.batik.gvt.flow.LineInfo.baseline:D
         5: .line 202
            iconst_0
            ireturn
        end local 1 // double y
        end local 0 // org.apache.batik.gvt.flow.LineInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/batik/gvt/flow/LineInfo;
            0    6     1     y  D
    MethodParameters:
      Name  Flags
      y     

  protected boolean updateRangeInfo();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // org.apache.batik.gvt.flow.LineInfo this
         0: .line 206
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.fr:Lorg/apache/batik/gvt/flow/FlowRegions;
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.resetRange:()V
         1: .line 207
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.fr:Lorg/apache/batik/gvt/flow/FlowRegions;
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.getNumRangeOnLine:()I
            istore 1 /* nr */
        start local 1 // int nr
         2: .line 208
            iload 1 /* nr */
            ifne 4
         3: .line 209
            iconst_0
            ireturn
         4: .line 211
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* nr */
            putfield org.apache.batik.gvt.flow.LineInfo.numRanges:I
         5: .line 213
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ranges:[D
            ifnonnull 9
         6: .line 214
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.numRanges:I
            newarray 7
            putfield org.apache.batik.gvt.flow.LineInfo.rangeAdv:[D
         7: .line 215
            aload 0 /* this */
            iconst_2
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.numRanges:I
            imul
            newarray 7
            putfield org.apache.batik.gvt.flow.LineInfo.ranges:[D
         8: .line 216
            goto 14
      StackMap locals:
      StackMap stack:
         9: aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.numRanges:I
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.rangeAdv:[D
            arraylength
            if_icmple 14
        10: .line 217
            iconst_2
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.rangeAdv:[D
            arraylength
            imul
            istore 2 /* sz */
        start local 2 // int sz
        11: .line 218
            iload 2 /* sz */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.numRanges:I
            if_icmpge 12
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.numRanges:I
            istore 2 /* sz */
        12: .line 219
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* sz */
            newarray 7
            putfield org.apache.batik.gvt.flow.LineInfo.rangeAdv:[D
        13: .line 220
            aload 0 /* this */
            iconst_2
            iload 2 /* sz */
            imul
            newarray 7
            putfield org.apache.batik.gvt.flow.LineInfo.ranges:[D
        end local 2 // int sz
        14: .line 223
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* r */
        start local 2 // int r
        15: goto 31
        16: .line 224
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.fr:Lorg/apache/batik/gvt/flow/FlowRegions;
            invokevirtual org.apache.batik.gvt.flow.FlowRegions.nextRange:()[D
            astore 3 /* rangeBounds */
        start local 3 // double[] rangeBounds
        17: .line 227
            aload 3 /* rangeBounds */
            iconst_0
            daload
            dstore 4 /* r0 */
        start local 4 // double r0
        18: .line 228
            iload 2 /* r */
            ifne 25
        19: .line 229
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.bi:Lorg/apache/batik/gvt/flow/BlockInfo;
            invokevirtual org.apache.batik.gvt.flow.BlockInfo.getLeftMargin:()F
            f2d
            dstore 6 /* delta */
        start local 6 // double delta
        20: .line 230
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.paraStart:Z
            ifeq 24
        21: .line 231
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.bi:Lorg/apache/batik/gvt/flow/BlockInfo;
            invokevirtual org.apache.batik.gvt.flow.BlockInfo.getIndent:()F
            f2d
            dstore 8 /* indent */
        start local 8 // double indent
        22: .line 233
            dload 6 /* delta */
            dload 8 /* indent */
            dneg
            dcmpg
            ifge 23
            dconst_0
            dstore 6 /* delta */
            goto 24
        23: .line 234
      StackMap locals: org.apache.batik.gvt.flow.LineInfo int int double[] double double double
      StackMap stack:
            dload 6 /* delta */
            dload 8 /* indent */
            dadd
            dstore 6 /* delta */
        end local 8 // double indent
        24: .line 236
      StackMap locals:
      StackMap stack:
            dload 4 /* r0 */
            dload 6 /* delta */
            dadd
            dstore 4 /* r0 */
        end local 6 // double delta
        25: .line 239
      StackMap locals:
      StackMap stack:
            aload 3 /* rangeBounds */
            iconst_1
            daload
            dstore 6 /* r1 */
        start local 6 // double r1
        26: .line 240
            iload 2 /* r */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.numRanges:I
            iconst_1
            isub
            if_icmpne 28
        27: .line 241
            dload 6 /* r1 */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.bi:Lorg/apache/batik/gvt/flow/BlockInfo;
            invokevirtual org.apache.batik.gvt.flow.BlockInfo.getRightMargin:()F
            f2d
            dsub
            dstore 6 /* r1 */
        28: .line 242
      StackMap locals: double
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ranges:[D
            iconst_2
            iload 2 /* r */
            imul
            dload 4 /* r0 */
            dastore
        29: .line 243
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ranges:[D
            iconst_2
            iload 2 /* r */
            imul
            iconst_1
            iadd
            dload 6 /* r1 */
            dastore
        end local 6 // double r1
        end local 4 // double r0
        end local 3 // double[] rangeBounds
        30: .line 223
            iinc 2 /* r */ 1
      StackMap locals:
      StackMap stack:
        31: iload 2 /* r */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.numRanges:I
            if_icmplt 16
        end local 2 // int r
        32: .line 246
            iconst_1
            ireturn
        end local 1 // int nr
        end local 0 // org.apache.batik.gvt.flow.LineInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   33     0         this  Lorg/apache/batik/gvt/flow/LineInfo;
            2   33     1           nr  I
           11   14     2           sz  I
           15   32     2            r  I
           17   30     3  rangeBounds  [D
           18   30     4           r0  D
           20   25     6        delta  D
           22   24     8       indent  D
           26   30     6           r1  D

  protected void swapGlyphGroupInfo();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.batik.gvt.flow.LineInfo this
         0: .line 250
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ggis:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            astore 1 /* tmp */
        start local 1 // org.apache.batik.gvt.flow.GlyphGroupInfo[] tmp
         1: .line 251
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.newGGIS:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            putfield org.apache.batik.gvt.flow.LineInfo.ggis:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
         2: .line 252
            aload 0 /* this */
            aload 1 /* tmp */
            putfield org.apache.batik.gvt.flow.LineInfo.newGGIS:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
         3: .line 254
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.newSize:I
            putfield org.apache.batik.gvt.flow.LineInfo.size:I
         4: .line 255
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.gvt.flow.LineInfo.newSize:I
         5: .line 256
            return
        end local 1 // org.apache.batik.gvt.flow.GlyphGroupInfo[] tmp
        end local 0 // org.apache.batik.gvt.flow.LineInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/batik/gvt/flow/LineInfo;
            1    6     1   tmp  [Lorg/apache/batik/gvt/flow/GlyphGroupInfo;

  protected void mergeGlyphGroups(org.apache.batik.gvt.flow.WordInfo);
    descriptor: (Lorg/apache/batik/gvt/flow/WordInfo;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.apache.batik.gvt.flow.LineInfo this
        start local 1 // org.apache.batik.gvt.flow.WordInfo wi
         0: .line 265
            aload 1 /* wi */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getNumGlyphGroups:()I
            istore 2 /* numGG */
        start local 2 // int numGG
         1: .line 266
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.gvt.flow.LineInfo.newSize:I
         2: .line 267
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ggis:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            ifnonnull 11
         3: .line 269
            aload 0 /* this */
            iload 2 /* numGG */
            putfield org.apache.batik.gvt.flow.LineInfo.newSize:I
         4: .line 270
            aload 0 /* this */
            iload 2 /* numGG */
            anewarray org.apache.batik.gvt.flow.GlyphGroupInfo
            putfield org.apache.batik.gvt.flow.LineInfo.newGGIS:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
         5: .line 271
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 9
         7: .line 272
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.newGGIS:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            iload 3 /* i */
            aload 1 /* wi */
            iload 3 /* i */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getGlyphGroup:(I)Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            aastore
         8: .line 271
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* numGG */
            if_icmplt 7
        end local 3 // int i
        10: .line 273
            goto 41
        11: .line 276
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* s */
        start local 3 // int s
        12: .line 277
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        13: .line 278
            aload 1 /* wi */
            iload 4 /* i */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getGlyphGroup:(I)Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            astore 5 /* nggi */
        start local 5 // org.apache.batik.gvt.flow.GlyphGroupInfo nggi
        14: .line 279
            aload 5 /* nggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getStart:()I
            istore 6 /* nStart */
        start local 6 // int nStart
        15: .line 281
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ggis:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.size:I
            iconst_1
            isub
            aaload
            astore 7 /* oggi */
        start local 7 // org.apache.batik.gvt.flow.GlyphGroupInfo oggi
        16: .line 282
            aload 7 /* oggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getStart:()I
            istore 8 /* oStart */
        start local 8 // int oStart
        17: .line 284
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.newGGIS:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.size:I
            iload 2 /* numGG */
            iadd
            invokestatic org.apache.batik.gvt.flow.LineInfo.assureSize:([Lorg/apache/batik/gvt/flow/GlyphGroupInfo;I)[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            putfield org.apache.batik.gvt.flow.LineInfo.newGGIS:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
        18: .line 285
            iload 6 /* nStart */
            iload 8 /* oStart */
            if_icmpge 37
        19: .line 286
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ggis:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            iload 3 /* s */
            aaload
            astore 7 /* oggi */
        20: .line 287
            aload 7 /* oggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getStart:()I
            istore 8 /* oStart */
        21: .line 288
            goto 34
        22: .line 289
      StackMap locals: org.apache.batik.gvt.flow.LineInfo org.apache.batik.gvt.flow.WordInfo int int int org.apache.batik.gvt.flow.GlyphGroupInfo int org.apache.batik.gvt.flow.GlyphGroupInfo int
      StackMap stack:
            iload 6 /* nStart */
            iload 8 /* oStart */
            if_icmpge 29
        23: .line 290
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.newGGIS:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            aload 0 /* this */
            dup
            getfield org.apache.batik.gvt.flow.LineInfo.newSize:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.batik.gvt.flow.LineInfo.newSize:I
            aload 5 /* nggi */
            aastore
        24: .line 291
            iinc 4 /* i */ 1
        25: .line 292
            iload 4 /* i */
            iload 2 /* numGG */
            if_icmpge 34
        26: .line 293
            aload 1 /* wi */
            iload 4 /* i */
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getGlyphGroup:(I)Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            astore 5 /* nggi */
        27: .line 294
            aload 5 /* nggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getStart:()I
            istore 6 /* nStart */
        28: .line 296
            goto 34
        29: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.newGGIS:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            aload 0 /* this */
            dup
            getfield org.apache.batik.gvt.flow.LineInfo.newSize:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.batik.gvt.flow.LineInfo.newSize:I
            aload 7 /* oggi */
            aastore
        30: .line 298
            iinc 3 /* s */ 1
        31: .line 299
            iload 3 /* s */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.size:I
            if_icmpge 34
        32: .line 300
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ggis:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            iload 3 /* s */
            aaload
            astore 7 /* oggi */
        33: .line 301
            aload 7 /* oggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getStart:()I
            istore 8 /* oStart */
        34: .line 288
      StackMap locals:
      StackMap stack:
            iload 3 /* s */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.size:I
            if_icmpge 37
            iload 4 /* i */
            iload 2 /* numGG */
            if_icmplt 22
        35: .line 306
            goto 37
        36: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.newGGIS:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            aload 0 /* this */
            dup
            getfield org.apache.batik.gvt.flow.LineInfo.newSize:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.batik.gvt.flow.LineInfo.newSize:I
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ggis:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            iload 3 /* s */
            iinc 3 /* s */ 1
            aaload
            aastore
        37: .line 306
      StackMap locals:
      StackMap stack:
            iload 3 /* s */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.size:I
            if_icmplt 36
        38: .line 309
            goto 40
        39: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.newGGIS:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            aload 0 /* this */
            dup
            getfield org.apache.batik.gvt.flow.LineInfo.newSize:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.batik.gvt.flow.LineInfo.newSize:I
            aload 1 /* wi */
            iload 4 /* i */
            iinc 4 /* i */ 1
            invokevirtual org.apache.batik.gvt.flow.WordInfo.getGlyphGroup:(I)Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            aastore
        40: .line 309
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 2 /* numGG */
            if_icmplt 39
        end local 8 // int oStart
        end local 7 // org.apache.batik.gvt.flow.GlyphGroupInfo oggi
        end local 6 // int nStart
        end local 5 // org.apache.batik.gvt.flow.GlyphGroupInfo nggi
        end local 4 // int i
        end local 3 // int s
        41: .line 317
      StackMap locals: org.apache.batik.gvt.flow.LineInfo org.apache.batik.gvt.flow.WordInfo int
      StackMap stack:
            return
        end local 2 // int numGG
        end local 1 // org.apache.batik.gvt.flow.WordInfo wi
        end local 0 // org.apache.batik.gvt.flow.LineInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   42     0    this  Lorg/apache/batik/gvt/flow/LineInfo;
            0   42     1      wi  Lorg/apache/batik/gvt/flow/WordInfo;
            1   42     2   numGG  I
            6   10     3       i  I
           12   41     3       s  I
           13   41     4       i  I
           14   41     5    nggi  Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
           15   41     6  nStart  I
           16   41     7    oggi  Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
           17   41     8  oStart  I
    MethodParameters:
      Name  Flags
      wi    

  public void layout();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=32, args_size=1
        start local 0 // org.apache.batik.gvt.flow.LineInfo this
         0: .line 321
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.size:I
            ifne 1
            return
         1: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.size:I
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ggis:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            invokevirtual org.apache.batik.gvt.flow.LineInfo.assignGlyphGroupRanges:(I[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;)Z
            pop
         2: .line 330
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ggis:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            iconst_0
            aaload
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getGlyphVector:()Lorg/apache/batik/gvt/font/GVTGlyphVector;
            astore 1 /* gv */
        start local 1 // org.apache.batik.gvt.font.GVTGlyphVector gv
         3: .line 331
            iconst_0
            istore 2 /* justType */
        start local 2 // int justType
         4: .line 332
            dconst_0
            dstore 3 /* ggAdv */
        start local 3 // double ggAdv
         5: .line 333
            dconst_0
            dstore 5 /* gAdv */
        start local 5 // double gAdv
         6: .line 337
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.numRanges:I
            newarray 10
            astore 7 /* rangeGG */
        start local 7 // int[] rangeGG
         7: .line 338
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.numRanges:I
            newarray 10
            astore 8 /* rangeG */
        start local 8 // int[] rangeG
         8: .line 339
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.numRanges:I
            anewarray org.apache.batik.gvt.flow.GlyphGroupInfo
            astore 9 /* rangeLastGGI */
        start local 9 // org.apache.batik.gvt.flow.GlyphGroupInfo[] rangeLastGGI
         9: .line 340
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ggis:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            iconst_0
            aaload
            astore 10 /* ggi */
        start local 10 // org.apache.batik.gvt.flow.GlyphGroupInfo ggi
        10: .line 341
            aload 10 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getRange:()I
            istore 11 /* r */
        start local 11 // int r
        11: .line 342
            aload 7 /* rangeGG */
            iload 11 /* r */
            dup2
            iaload
            iconst_1
            iadd
            iastore
        12: .line 343
            aload 8 /* rangeG */
            iload 11 /* r */
            dup2
            iaload
            aload 10 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getGlyphCount:()I
            iadd
            iastore
        13: .line 344
            iconst_1
            istore 12 /* i */
        start local 12 // int i
        14: goto 26
        15: .line 345
      StackMap locals: org.apache.batik.gvt.flow.LineInfo org.apache.batik.gvt.font.GVTGlyphVector int double double int[] int[] org.apache.batik.gvt.flow.GlyphGroupInfo[] org.apache.batik.gvt.flow.GlyphGroupInfo int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ggis:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            iload 12 /* i */
            aaload
            astore 10 /* ggi */
        16: .line 346
            aload 10 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getRange:()I
            istore 11 /* r */
        17: .line 347
            aload 9 /* rangeLastGGI */
            iload 11 /* r */
            aaload
            ifnull 18
            aload 9 /* rangeLastGGI */
            iload 11 /* r */
            aaload
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getHideLast:()Z
            ifne 19
        18: .line 348
      StackMap locals:
      StackMap stack:
            aload 7 /* rangeGG */
            iload 11 /* r */
            dup2
            iaload
            iconst_1
            iadd
            iastore
        19: .line 349
      StackMap locals:
      StackMap stack:
            aload 9 /* rangeLastGGI */
            iload 11 /* r */
            aload 10 /* ggi */
            aastore
        20: .line 351
            aload 8 /* rangeG */
            iload 11 /* r */
            dup2
            iaload
            aload 10 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getGlyphCount:()I
            iadd
            iastore
        21: .line 353
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ggis:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            iload 12 /* i */
            iconst_1
            isub
            aaload
            astore 13 /* pggi */
        start local 13 // org.apache.batik.gvt.flow.GlyphGroupInfo pggi
        22: .line 354
            aload 13 /* pggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getRange:()I
            istore 14 /* pr */
        start local 14 // int pr
        23: .line 355
            iload 11 /* r */
            iload 14 /* pr */
            if_icmpeq 25
        24: .line 356
            aload 8 /* rangeG */
            iload 14 /* pr */
            dup2
            iaload
            aload 13 /* pggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getLastGlyphCount:()I
            aload 13 /* pggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getGlyphCount:()I
            isub
            iadd
            iastore
        end local 14 // int pr
        end local 13 // org.apache.batik.gvt.flow.GlyphGroupInfo pggi
        25: .line 344
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 12 /* i */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.size:I
            if_icmplt 15
        end local 12 // int i
        27: .line 358
            aload 8 /* rangeG */
            iload 11 /* r */
            dup2
            iaload
            aload 10 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getLastGlyphCount:()I
            aload 10 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getGlyphCount:()I
            isub
            iadd
            iastore
        28: .line 360
            iconst_m1
            istore 12 /* currRange */
        start local 12 // int currRange
        29: .line 361
            dconst_0
            dstore 13 /* locX */
        start local 13 // double locX
        30: dconst_0
            dstore 15 /* range */
        start local 15 // double range
        31: dconst_0
            dstore 17 /* rAdv */
        start local 17 // double rAdv
        32: .line 362
            iconst_m1
            istore 11 /* r */
        33: .line 363
            aconst_null
            astore 10 /* ggi */
        34: .line 364
            iconst_0
            istore 19 /* i */
        start local 19 // int i
        35: goto 89
        36: .line 365
      StackMap locals: org.apache.batik.gvt.flow.LineInfo org.apache.batik.gvt.font.GVTGlyphVector int double double int[] int[] org.apache.batik.gvt.flow.GlyphGroupInfo[] org.apache.batik.gvt.flow.GlyphGroupInfo int int double double double int
      StackMap stack:
            aload 10 /* ggi */
            astore 20 /* pggi */
        start local 20 // org.apache.batik.gvt.flow.GlyphGroupInfo pggi
        37: .line 366
            iload 12 /* currRange */
            istore 21 /* prevRange */
        start local 21 // int prevRange
        38: .line 368
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ggis:[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            iload 19 /* i */
            aaload
            astore 10 /* ggi */
        39: .line 369
            aload 10 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getRange:()I
            istore 12 /* currRange */
        40: .line 371
            iload 12 /* currRange */
            iload 21 /* prevRange */
            if_icmpeq 61
        41: .line 372
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ranges:[D
            iconst_2
            iload 12 /* currRange */
            imul
            daload
            dstore 13 /* locX */
        42: .line 373
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.ranges:[D
            iconst_2
            iload 12 /* currRange */
            imul
            iconst_1
            iadd
            daload
            dload 13 /* locX */
            dsub
            dstore 15 /* range */
        43: .line 374
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.rangeAdv:[D
            iload 12 /* currRange */
            daload
            dstore 17 /* rAdv */
        44: .line 375
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.bi:Lorg/apache/batik/gvt/flow/BlockInfo;
            invokevirtual org.apache.batik.gvt.flow.BlockInfo.getTextAlignment:()I
            istore 22 /* textAlign */
        start local 22 // int textAlign
        45: .line 376
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.paraEnd:Z
            ifeq 47
            iload 22 /* textAlign */
            iconst_3
            if_icmpne 47
        46: .line 377
            iconst_0
            istore 22 /* textAlign */
        47: .line 379
      StackMap locals: org.apache.batik.gvt.flow.GlyphGroupInfo int int
      StackMap stack:
            iload 22 /* textAlign */
            tableswitch { // 0 - 3
                    0: 57
                    1: 58
                    2: 59
                    3: 48
              default: 48
          }
        48: .line 382
      StackMap locals:
      StackMap stack:
            dload 15 /* range */
            dload 17 /* rAdv */
            dsub
            dstore 23 /* delta */
        start local 23 // double delta
        49: .line 383
            iload 2 /* justType */
            ifne 54
        50: .line 384
            aload 7 /* rangeGG */
            iload 12 /* currRange */
            iaload
            iconst_1
            isub
            istore 25 /* numSp */
        start local 25 // int numSp
        51: .line 385
            iload 25 /* numSp */
            iconst_1
            if_icmplt 63
        52: .line 386
            dload 23 /* delta */
            iload 25 /* numSp */
            i2d
            ddiv
            dstore 3 /* ggAdv */
        end local 25 // int numSp
        53: .line 387
            goto 63
        54: .line 388
      StackMap locals: double
      StackMap stack:
            aload 8 /* rangeG */
            iload 12 /* currRange */
            iaload
            iconst_1
            isub
            istore 25 /* numSp */
        start local 25 // int numSp
        55: .line 389
            iload 25 /* numSp */
            iconst_1
            if_icmplt 63
            dload 23 /* delta */
            iload 25 /* numSp */
            i2d
            ddiv
            dstore 5 /* gAdv */
        end local 25 // int numSp
        end local 23 // double delta
        56: .line 391
            goto 63
        57: .line 392
      StackMap locals:
      StackMap stack:
            goto 63
        58: .line 393
      StackMap locals:
      StackMap stack:
            dload 13 /* locX */
            dload 15 /* range */
            dload 17 /* rAdv */
            dsub
            ldc 2.0
            ddiv
            dadd
            dstore 13 /* locX */
            goto 63
        59: .line 394
      StackMap locals:
      StackMap stack:
            dload 13 /* locX */
            dload 15 /* range */
            dload 17 /* rAdv */
            dsub
            dadd
            dstore 13 /* locX */
        end local 22 // int textAlign
        60: .line 396
            goto 63
      StackMap locals:
      StackMap stack:
        61: aload 20 /* pggi */
            ifnull 63
            aload 20 /* pggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getHideLast:()Z
            ifeq 63
        62: .line 398
            aload 1 /* gv */
            aload 20 /* pggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getEnd:()I
            iconst_0
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphVisible:(IZ)V
        63: .line 401
      StackMap locals:
      StackMap stack:
            aload 10 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getStart:()I
            istore 22 /* start */
        start local 22 // int start
        64: .line 402
            aload 10 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getEnd:()I
            istore 23 /* end */
        start local 23 // int end
        65: .line 403
            aload 10 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getHide:()[Z
            astore 24 /* hide */
        start local 24 // boolean[] hide
        66: .line 404
            aload 1 /* gv */
            iload 22 /* start */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            astore 25 /* p2d */
        start local 25 // java.awt.geom.Point2D p2d
        67: .line 405
            aload 25 /* p2d */
            invokevirtual java.awt.geom.Point2D.getX:()D
            dstore 26 /* deltaX */
        start local 26 // double deltaX
        68: .line 406
            dconst_0
            dstore 28 /* advAdj */
        start local 28 // double advAdj
        69: .line 407
            iload 22 /* start */
            istore 30 /* g */
        start local 30 // int g
        70: goto 84
        71: .line 408
      StackMap locals: org.apache.batik.gvt.flow.LineInfo org.apache.batik.gvt.font.GVTGlyphVector int double double int[] int[] org.apache.batik.gvt.flow.GlyphGroupInfo[] org.apache.batik.gvt.flow.GlyphGroupInfo int int double double double int org.apache.batik.gvt.flow.GlyphGroupInfo int int int boolean[] java.awt.geom.Point2D double double int
      StackMap stack:
            aload 1 /* gv */
            iload 30 /* g */
            iconst_1
            iadd
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
            astore 31 /* np2d */
        start local 31 // java.awt.geom.Point2D np2d
        72: .line 409
            aload 24 /* hide */
            iload 30 /* g */
            iload 22 /* start */
            isub
            baload
            ifeq 76
        73: .line 410
            aload 1 /* gv */
            iload 30 /* g */
            iconst_0
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphVisible:(IZ)V
        74: .line 411
            dload 28 /* advAdj */
            aload 31 /* np2d */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 25 /* p2d */
            invokevirtual java.awt.geom.Point2D.getX:()D
            dsub
            dadd
            dstore 28 /* advAdj */
        75: .line 412
            goto 77
        76: .line 413
      StackMap locals: java.awt.geom.Point2D
      StackMap stack:
            aload 1 /* gv */
            iload 30 /* g */
            iconst_1
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphVisible:(IZ)V
        77: .line 415
      StackMap locals:
      StackMap stack:
            aload 25 /* p2d */
            aload 25 /* p2d */
            invokevirtual java.awt.geom.Point2D.getX:()D
            dload 26 /* deltaX */
            dsub
            dload 28 /* advAdj */
            dsub
            dload 13 /* locX */
            dadd
        78: .line 416
            aload 25 /* p2d */
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.baseline:D
            dadd
        79: .line 415
            invokevirtual java.awt.geom.Point2D.setLocation:(DD)V
        80: .line 417
            aload 1 /* gv */
            iload 30 /* g */
            aload 25 /* p2d */
            invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphPosition:(ILjava/awt/geom/Point2D;)V
        81: .line 418
            aload 31 /* np2d */
            astore 25 /* p2d */
        82: .line 419
            dload 28 /* advAdj */
            dload 5 /* gAdv */
            dsub
            dstore 28 /* advAdj */
        end local 31 // java.awt.geom.Point2D np2d
        83: .line 407
            iinc 30 /* g */ 1
      StackMap locals:
      StackMap stack:
        84: iload 30 /* g */
            iload 23 /* end */
            if_icmple 71
        end local 30 // int g
        85: .line 421
            aload 10 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getHideLast:()Z
            ifeq 87
        86: .line 422
            dload 13 /* locX */
            aload 10 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getAdvance:()F
            f2d
            dload 28 /* advAdj */
            dsub
            dadd
            dstore 13 /* locX */
            goto 88
        87: .line 424
      StackMap locals:
      StackMap stack:
            dload 13 /* locX */
            aload 10 /* ggi */
            invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getAdvance:()F
            f2d
            dload 28 /* advAdj */
            dsub
            dload 3 /* ggAdv */
            dadd
            dadd
            dstore 13 /* locX */
        end local 28 // double advAdj
        end local 26 // double deltaX
        end local 25 // java.awt.geom.Point2D p2d
        end local 24 // boolean[] hide
        end local 23 // int end
        end local 22 // int start
        end local 21 // int prevRange
        end local 20 // org.apache.batik.gvt.flow.GlyphGroupInfo pggi
        88: .line 364
      StackMap locals: org.apache.batik.gvt.flow.LineInfo org.apache.batik.gvt.font.GVTGlyphVector int double double int[] int[] org.apache.batik.gvt.flow.GlyphGroupInfo[] org.apache.batik.gvt.flow.GlyphGroupInfo int int double double double int
      StackMap stack:
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
        89: iload 19 /* i */
            aload 0 /* this */
            getfield org.apache.batik.gvt.flow.LineInfo.size:I
            if_icmplt 36
        end local 19 // int i
        90: .line 426
            return
        end local 17 // double rAdv
        end local 15 // double range
        end local 13 // double locX
        end local 12 // int currRange
        end local 11 // int r
        end local 10 // org.apache.batik.gvt.flow.GlyphGroupInfo ggi
        end local 9 // org.apache.batik.gvt.flow.GlyphGroupInfo[] rangeLastGGI
        end local 8 // int[] rangeG
        end local 7 // int[] rangeGG
        end local 5 // double gAdv
        end local 3 // double ggAdv
        end local 2 // int justType
        end local 1 // org.apache.batik.gvt.font.GVTGlyphVector gv
        end local 0 // org.apache.batik.gvt.flow.LineInfo this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   91     0          this  Lorg/apache/batik/gvt/flow/LineInfo;
            3   91     1            gv  Lorg/apache/batik/gvt/font/GVTGlyphVector;
            4   91     2      justType  I
            5   91     3         ggAdv  D
            6   91     5          gAdv  D
            7   91     7       rangeGG  [I
            8   91     8        rangeG  [I
            9   91     9  rangeLastGGI  [Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
           10   91    10           ggi  Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
           11   91    11             r  I
           14   27    12             i  I
           22   25    13          pggi  Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
           23   25    14            pr  I
           29   91    12     currRange  I
           30   91    13          locX  D
           31   91    15         range  D
           32   91    17          rAdv  D
           35   90    19             i  I
           37   88    20          pggi  Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
           38   88    21     prevRange  I
           45   60    22     textAlign  I
           49   56    23         delta  D
           51   53    25         numSp  I
           55   56    25         numSp  I
           64   88    22         start  I
           65   88    23           end  I
           66   88    24          hide  [Z
           67   88    25           p2d  Ljava/awt/geom/Point2D;
           68   88    26        deltaX  D
           69   88    28        advAdj  D
           70   85    30             g  I
           72   83    31          np2d  Ljava/awt/geom/Point2D;

  public static org.apache.batik.gvt.flow.GlyphGroupInfo[] assureSize(org.apache.batik.gvt.flow.GlyphGroupInfo[], int);
    descriptor: ([Lorg/apache/batik/gvt/flow/GlyphGroupInfo;I)[Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.batik.gvt.flow.GlyphGroupInfo[] ggis
        start local 1 // int sz
         0: .line 430
            aload 0 /* ggis */
            ifnonnull 3
         1: .line 431
            iload 1 /* sz */
            bipush 10
            if_icmpge 2
            bipush 10
            istore 1 /* sz */
         2: .line 432
      StackMap locals:
      StackMap stack:
            iload 1 /* sz */
            anewarray org.apache.batik.gvt.flow.GlyphGroupInfo
            areturn
         3: .line 434
      StackMap locals:
      StackMap stack:
            iload 1 /* sz */
            aload 0 /* ggis */
            arraylength
            if_icmpgt 5
         4: .line 435
            aload 0 /* ggis */
            areturn
         5: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* ggis */
            arraylength
            iconst_2
            imul
            istore 2 /* nsz */
        start local 2 // int nsz
         6: .line 438
            iload 2 /* nsz */
            iload 1 /* sz */
            if_icmpge 7
            iload 1 /* sz */
            istore 2 /* nsz */
         7: .line 439
      StackMap locals: int
      StackMap stack:
            iload 2 /* nsz */
            anewarray org.apache.batik.gvt.flow.GlyphGroupInfo
            areturn
        end local 2 // int nsz
        end local 1 // int sz
        end local 0 // org.apache.batik.gvt.flow.GlyphGroupInfo[] ggis
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  ggis  [Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
            0    8     1    sz  I
            6    8     2   nsz  I
    MethodParameters:
      Name  Flags
      ggis  
      sz    
}
SourceFile: "LineInfo.java"