final class java.awt.font.TextLine
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.awt.font.TextLine
  super_class: java.lang.Object
{
  private sun.font.TextLineComponent[] fComponents;
    descriptor: [Lsun/font/TextLineComponent;
    flags: (0x0002) ACC_PRIVATE

  private float[] fBaselineOffsets;
    descriptor: [F
    flags: (0x0002) ACC_PRIVATE

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

  private float[] locs;
    descriptor: [F
    flags: (0x0002) ACC_PRIVATE

  private char[] fChars;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private int fCharsStart;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int fCharsLimit;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

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

  private byte[] fCharLevels;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private boolean fIsDirectionLTR;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private sun.font.LayoutPathImpl lp;
    descriptor: Lsun/font/LayoutPathImpl;
    flags: (0x0002) ACC_PRIVATE

  private boolean isSimple;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Rectangle pixelBounds;
    descriptor: Ljava/awt/Rectangle;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.font.FontRenderContext frc;
    descriptor: Ljava/awt/font/FontRenderContext;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.font.TextLine$TextLineMetrics fMetrics;
    descriptor: Ljava/awt/font/TextLine$TextLineMetrics;
    flags: (0x0002) ACC_PRIVATE

  private static java.awt.font.TextLine$Function fgPosAdvF;
    descriptor: Ljava/awt/font/TextLine$Function;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.awt.font.TextLine$Function fgAdvanceF;
    descriptor: Ljava/awt/font/TextLine$Function;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.awt.font.TextLine$Function fgXPositionF;
    descriptor: Ljava/awt/font/TextLine$Function;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.awt.font.TextLine$Function fgYPositionF;
    descriptor: Ljava/awt/font/TextLine$Function;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 487
            new java.awt.font.TextLine$1
            dup
            invokespecial java.awt.font.TextLine$1.<init>:()V
            putstatic java.awt.font.TextLine.fgPosAdvF:Ljava/awt/font/TextLine$Function;
         1: .line 498
            new java.awt.font.TextLine$2
            dup
            invokespecial java.awt.font.TextLine$2.<init>:()V
            putstatic java.awt.font.TextLine.fgAdvanceF:Ljava/awt/font/TextLine$Function;
         2: .line 509
            new java.awt.font.TextLine$3
            dup
            invokespecial java.awt.font.TextLine$3.<init>:()V
            putstatic java.awt.font.TextLine.fgXPositionF:Ljava/awt/font/TextLine$Function;
         3: .line 521
            new java.awt.font.TextLine$4
            dup
            invokespecial java.awt.font.TextLine$4.<init>:()V
            putstatic java.awt.font.TextLine.fgYPositionF:Ljava/awt/font/TextLine$Function;
         4: .line 535
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.awt.font.FontRenderContext, sun.font.TextLineComponent[], float[], char[], int, int, int[], byte[], boolean);
    descriptor: (Ljava/awt/font/FontRenderContext;[Lsun/font/TextLineComponent;[F[CII[I[BZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=11, args_size=10
        start local 0 // java.awt.font.TextLine this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // sun.font.TextLineComponent[] components
        start local 3 // float[] baselineOffsets
        start local 4 // char[] chars
        start local 5 // int charsStart
        start local 6 // int charsLimit
        start local 7 // int[] charLogicalOrder
        start local 8 // byte[] charLevels
        start local 9 // boolean isDirectionLTR
         0: .line 104
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 102
            aload 0 /* this */
            aconst_null
            putfield java.awt.font.TextLine.fMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
         2: .line 114
            aload 2 /* components */
         3: .line 115
            aload 7 /* charLogicalOrder */
         4: .line 114
            invokestatic java.awt.font.TextLine.computeComponentOrder:([Lsun/font/TextLineComponent;[I)[I
            astore 10 /* componentVisualOrder */
        start local 10 // int[] componentVisualOrder
         5: .line 117
            aload 0 /* this */
            aload 1 /* frc */
            putfield java.awt.font.TextLine.frc:Ljava/awt/font/FontRenderContext;
         6: .line 118
            aload 0 /* this */
            aload 2 /* components */
            putfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
         7: .line 119
            aload 0 /* this */
            aload 3 /* baselineOffsets */
            putfield java.awt.font.TextLine.fBaselineOffsets:[F
         8: .line 120
            aload 0 /* this */
            aload 10 /* componentVisualOrder */
            putfield java.awt.font.TextLine.fComponentVisualOrder:[I
         9: .line 121
            aload 0 /* this */
            aload 4 /* chars */
            putfield java.awt.font.TextLine.fChars:[C
        10: .line 122
            aload 0 /* this */
            iload 5 /* charsStart */
            putfield java.awt.font.TextLine.fCharsStart:I
        11: .line 123
            aload 0 /* this */
            iload 6 /* charsLimit */
            putfield java.awt.font.TextLine.fCharsLimit:I
        12: .line 124
            aload 0 /* this */
            aload 7 /* charLogicalOrder */
            putfield java.awt.font.TextLine.fCharLogicalOrder:[I
        13: .line 125
            aload 0 /* this */
            aload 8 /* charLevels */
            putfield java.awt.font.TextLine.fCharLevels:[B
        14: .line 126
            aload 0 /* this */
            iload 9 /* isDirectionLTR */
            putfield java.awt.font.TextLine.fIsDirectionLTR:Z
        15: .line 127
            aload 0 /* this */
            invokevirtual java.awt.font.TextLine.checkCtorArgs:()V
        16: .line 129
            aload 0 /* this */
            invokevirtual java.awt.font.TextLine.init:()V
        17: .line 130
            return
        end local 10 // int[] componentVisualOrder
        end local 9 // boolean isDirectionLTR
        end local 8 // byte[] charLevels
        end local 7 // int[] charLogicalOrder
        end local 6 // int charsLimit
        end local 5 // int charsStart
        end local 4 // char[] chars
        end local 3 // float[] baselineOffsets
        end local 2 // sun.font.TextLineComponent[] components
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   18     0                  this  Ljava/awt/font/TextLine;
            0   18     1                   frc  Ljava/awt/font/FontRenderContext;
            0   18     2            components  [Lsun/font/TextLineComponent;
            0   18     3       baselineOffsets  [F
            0   18     4                 chars  [C
            0   18     5            charsStart  I
            0   18     6            charsLimit  I
            0   18     7      charLogicalOrder  [I
            0   18     8            charLevels  [B
            0   18     9        isDirectionLTR  Z
            5   18    10  componentVisualOrder  [I
    MethodParameters:
                  Name  Flags
      frc               
      components        
      baselineOffsets   
      chars             
      charsStart        
      charsLimit        
      charLogicalOrder  
      charLevels        
      isDirectionLTR    

  private void checkCtorArgs();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.awt.font.TextLine this
         0: .line 134
            iconst_0
            istore 1 /* checkCharCount */
        start local 1 // int checkCharCount
         1: .line 135
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 136
      StackMap locals: int int
      StackMap stack:
            iload 1 /* checkCharCount */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            iload 2 /* i */
            aaload
            invokeinterface sun.font.TextLineComponent.getNumCharacters:()I
            iadd
            istore 1 /* checkCharCount */
         4: .line 135
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 139
            iload 1 /* checkCharCount */
            aload 0 /* this */
            invokevirtual java.awt.font.TextLine.characterCount:()I
            if_icmpeq 8
         7: .line 140
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid TextLine!  char count is different from sum of char counts of components."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 144
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int checkCharCount
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Ljava/awt/font/TextLine;
            1    9     1  checkCharCount  I
            2    6     2               i  I

  private void init();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=31, args_size=1
        start local 0 // java.awt.font.TextLine this
         0: .line 151
            fconst_0
            fstore 1 /* ascent */
        start local 1 // float ascent
         1: .line 152
            fconst_0
            fstore 2 /* descent */
        start local 2 // float descent
         2: .line 153
            fconst_0
            fstore 3 /* leading */
        start local 3 // float leading
         3: .line 154
            fconst_0
            fstore 4 /* advance */
        start local 4 // float advance
         4: .line 157
            fconst_0
            fstore 5 /* maxGraphicHeight */
        start local 5 // float maxGraphicHeight
         5: .line 158
            fconst_0
            fstore 6 /* maxGraphicHeightWithLeading */
        start local 6 // float maxGraphicHeightWithLeading
         6: .line 162
            iconst_0
            istore 8 /* fitTopAndBottomGraphics */
        start local 8 // boolean fitTopAndBottomGraphics
         7: .line 164
            aload 0 /* this */
            iconst_1
            putfield java.awt.font.TextLine.isSimple:Z
         8: .line 166
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         9: goto 29
        10: .line 167
      StackMap locals: java.awt.font.TextLine float float float float float float top int int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            iload 9 /* i */
            aaload
            astore 7 /* tlc */
        start local 7 // sun.font.TextLineComponent tlc
        11: .line 169
            aload 0 /* this */
            dup
            getfield java.awt.font.TextLine.isSimple:Z
            aload 7 /* tlc */
            invokeinterface sun.font.TextLineComponent.isSimple:()Z
            iand
            putfield java.awt.font.TextLine.isSimple:Z
        12: .line 171
            aload 7 /* tlc */
            invokeinterface sun.font.TextLineComponent.getCoreMetrics:()Lsun/font/CoreMetrics;
            astore 10 /* cm */
        start local 10 // sun.font.CoreMetrics cm
        13: .line 173
            aload 10 /* cm */
            getfield sun.font.CoreMetrics.baselineIndex:I
            i2b
            istore 11 /* baseline */
        start local 11 // byte baseline
        14: .line 175
            iload 11 /* baseline */
            iflt 21
        15: .line 176
            aload 0 /* this */
            getfield java.awt.font.TextLine.fBaselineOffsets:[F
            iload 11 /* baseline */
            faload
            fstore 12 /* baselineOffset */
        start local 12 // float baselineOffset
        16: .line 178
            fload 1 /* ascent */
            fload 12 /* baselineOffset */
            fneg
            aload 10 /* cm */
            getfield sun.font.CoreMetrics.ascent:F
            fadd
            invokestatic java.lang.Math.max:(FF)F
            fstore 1 /* ascent */
        17: .line 180
            fload 12 /* baselineOffset */
            aload 10 /* cm */
            getfield sun.font.CoreMetrics.descent:F
            fadd
            fstore 13 /* gd */
        start local 13 // float gd
        18: .line 181
            fload 2 /* descent */
            fload 13 /* gd */
            invokestatic java.lang.Math.max:(FF)F
            fstore 2 /* descent */
        19: .line 183
            fload 3 /* leading */
            fload 13 /* gd */
            aload 10 /* cm */
            getfield sun.font.CoreMetrics.leading:F
            fadd
            invokestatic java.lang.Math.max:(FF)F
            fstore 3 /* leading */
        end local 13 // float gd
        end local 12 // float baselineOffset
        20: .line 184
            goto 28
        21: .line 186
      StackMap locals: java.awt.font.TextLine float float float float float float sun.font.TextLineComponent int int sun.font.CoreMetrics int
      StackMap stack:
            iconst_1
            istore 8 /* fitTopAndBottomGraphics */
        22: .line 187
            aload 10 /* cm */
            getfield sun.font.CoreMetrics.ascent:F
            aload 10 /* cm */
            getfield sun.font.CoreMetrics.descent:F
            fadd
            fstore 12 /* graphicHeight */
        start local 12 // float graphicHeight
        23: .line 188
            fload 12 /* graphicHeight */
            aload 10 /* cm */
            getfield sun.font.CoreMetrics.leading:F
            fadd
            fstore 13 /* graphicHeightWithLeading */
        start local 13 // float graphicHeightWithLeading
        24: .line 189
            fload 5 /* maxGraphicHeight */
            fload 12 /* graphicHeight */
            invokestatic java.lang.Math.max:(FF)F
            fstore 5 /* maxGraphicHeight */
        25: .line 190
            fload 6 /* maxGraphicHeightWithLeading */
        26: .line 191
            fload 13 /* graphicHeightWithLeading */
        27: .line 190
            invokestatic java.lang.Math.max:(FF)F
            fstore 6 /* maxGraphicHeightWithLeading */
        end local 13 // float graphicHeightWithLeading
        end local 12 // float graphicHeight
        end local 11 // byte baseline
        end local 10 // sun.font.CoreMetrics cm
        28: .line 166
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
        end local 7 // sun.font.TextLineComponent tlc
      StackMap locals: java.awt.font.TextLine float float float float float float top int int
      StackMap stack:
        29: iload 9 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            if_icmplt 10
        end local 9 // int i
        30: .line 195
            iload 8 /* fitTopAndBottomGraphics */
            ifeq 35
        31: .line 196
            fload 5 /* maxGraphicHeight */
            fload 1 /* ascent */
            fload 2 /* descent */
            fadd
            fcmpl
            ifle 33
        32: .line 197
            fload 5 /* maxGraphicHeight */
            fload 1 /* ascent */
            fsub
            fstore 2 /* descent */
        33: .line 199
      StackMap locals:
      StackMap stack:
            fload 6 /* maxGraphicHeightWithLeading */
            fload 1 /* ascent */
            fload 3 /* leading */
            fadd
            fcmpl
            ifle 35
        34: .line 200
            fload 6 /* maxGraphicHeightWithLeading */
            fload 1 /* ascent */
            fsub
            fstore 3 /* leading */
        35: .line 204
      StackMap locals:
      StackMap stack:
            fload 3 /* leading */
            fload 2 /* descent */
            fsub
            fstore 3 /* leading */
        36: .line 209
            iload 8 /* fitTopAndBottomGraphics */
            ifeq 44
        37: .line 212
            aload 0 /* this */
            iconst_5
            newarray 6
            dup
            iconst_0
        38: .line 213
            aload 0 /* this */
            getfield java.awt.font.TextLine.fBaselineOffsets:[F
            iconst_0
            faload
            fastore
            dup
            iconst_1
        39: .line 214
            aload 0 /* this */
            getfield java.awt.font.TextLine.fBaselineOffsets:[F
            iconst_1
            faload
            fastore
            dup
            iconst_2
        40: .line 215
            aload 0 /* this */
            getfield java.awt.font.TextLine.fBaselineOffsets:[F
            iconst_2
            faload
            fastore
            dup
            iconst_3
        41: .line 216
            fload 2 /* descent */
            fastore
            dup
            iconst_4
        42: .line 217
            fload 1 /* ascent */
            fneg
            fastore
        43: .line 212
            putfield java.awt.font.TextLine.fBaselineOffsets:[F
        44: .line 221
      StackMap locals:
      StackMap stack:
            fconst_0
            fstore 9 /* x */
        start local 9 // float x
        45: .line 222
            fconst_0
            fstore 10 /* y */
        start local 10 // float y
        46: .line 223
            aconst_null
            astore 11 /* pcm */
        start local 11 // sun.font.CoreMetrics pcm
        47: .line 225
            iconst_0
            istore 12 /* needPath */
        start local 12 // boolean needPath
        48: .line 226
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            iconst_2
            imul
            iconst_2
            iadd
            newarray 6
            putfield java.awt.font.TextLine.locs:[F
        49: .line 228
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        50: iconst_0
            istore 14 /* n */
        start local 14 // int n
        51: goto 86
        52: .line 229
      StackMap locals: java.awt.font.TextLine float float float float float float top int float float sun.font.CoreMetrics int int int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            aload 0 /* this */
            iload 13 /* i */
            invokevirtual java.awt.font.TextLine.getComponentLogicalIndex:(I)I
            aaload
            astore 7 /* tlc */
        start local 7 // sun.font.TextLineComponent tlc
        53: .line 230
            aload 7 /* tlc */
            invokeinterface sun.font.TextLineComponent.getCoreMetrics:()Lsun/font/CoreMetrics;
            astore 15 /* cm */
        start local 15 // sun.font.CoreMetrics cm
        54: .line 232
            aload 11 /* pcm */
            ifnull 77
        55: .line 233
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.italicAngle:F
            fconst_0
            fcmpl
            ifne 56
            aload 15 /* cm */
            getfield sun.font.CoreMetrics.italicAngle:F
            fconst_0
            fcmpl
            ifeq 77
        56: .line 234
      StackMap locals: java.awt.font.TextLine float float float float float float sun.font.TextLineComponent int float float sun.font.CoreMetrics int int int sun.font.CoreMetrics
      StackMap stack:
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.italicAngle:F
            aload 15 /* cm */
            getfield sun.font.CoreMetrics.italicAngle:F
            fcmpl
            ifne 59
        57: .line 235
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.baselineIndex:I
            aload 15 /* cm */
            getfield sun.font.CoreMetrics.baselineIndex:I
            if_icmpne 59
        58: .line 236
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.ssOffset:F
            aload 15 /* cm */
            getfield sun.font.CoreMetrics.ssOffset:F
            fcmpl
            ifeq 77
        59: .line 246
      StackMap locals:
      StackMap stack:
            aload 11 /* pcm */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fBaselineOffsets:[F
            invokevirtual sun.font.CoreMetrics.effectiveBaselineOffset:([F)F
            fstore 16 /* pb */
        start local 16 // float pb
        60: .line 247
            fload 16 /* pb */
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.ascent:F
            fsub
            fstore 17 /* pa */
        start local 17 // float pa
        61: .line 248
            fload 16 /* pb */
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.descent:F
            fadd
            fstore 18 /* pd */
        start local 18 // float pd
        62: .line 251
            aload 15 /* cm */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fBaselineOffsets:[F
            invokevirtual sun.font.CoreMetrics.effectiveBaselineOffset:([F)F
            fstore 19 /* cb */
        start local 19 // float cb
        63: .line 252
            fload 19 /* cb */
            aload 15 /* cm */
            getfield sun.font.CoreMetrics.ascent:F
            fsub
            fstore 20 /* ca */
        start local 20 // float ca
        64: .line 253
            fload 19 /* cb */
            aload 15 /* cm */
            getfield sun.font.CoreMetrics.descent:F
            fadd
            fstore 21 /* cd */
        start local 21 // float cd
        65: .line 256
            fload 17 /* pa */
            fload 20 /* ca */
            invokestatic java.lang.Math.max:(FF)F
            fstore 22 /* a */
        start local 22 // float a
        66: .line 257
            fload 18 /* pd */
            fload 21 /* cd */
            invokestatic java.lang.Math.min:(FF)F
            fstore 23 /* d */
        start local 23 // float d
        67: .line 260
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.italicAngle:F
            fload 16 /* pb */
            fload 22 /* a */
            fsub
            fmul
            fstore 24 /* pax */
        start local 24 // float pax
        68: .line 261
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.italicAngle:F
            fload 16 /* pb */
            fload 23 /* d */
            fsub
            fmul
            fstore 25 /* pdx */
        start local 25 // float pdx
        69: .line 263
            aload 15 /* cm */
            getfield sun.font.CoreMetrics.italicAngle:F
            fload 19 /* cb */
            fload 22 /* a */
            fsub
            fmul
            fstore 26 /* cax */
        start local 26 // float cax
        70: .line 264
            aload 15 /* cm */
            getfield sun.font.CoreMetrics.italicAngle:F
            fload 19 /* cb */
            fload 23 /* d */
            fsub
            fmul
            fstore 27 /* cdx */
        start local 27 // float cdx
        71: .line 267
            fload 24 /* pax */
            fload 26 /* cax */
            fsub
            fstore 28 /* dax */
        start local 28 // float dax
        72: .line 268
            fload 25 /* pdx */
            fload 27 /* cdx */
            fsub
            fstore 29 /* ddx */
        start local 29 // float ddx
        73: .line 269
            fload 28 /* dax */
            fload 29 /* ddx */
            invokestatic java.lang.Math.max:(FF)F
            fstore 30 /* dx */
        start local 30 // float dx
        74: .line 271
            fload 9 /* x */
            fload 30 /* dx */
            fadd
            fstore 9 /* x */
        75: .line 272
            fload 19 /* cb */
            fstore 10 /* y */
        end local 30 // float dx
        end local 29 // float ddx
        end local 28 // float dax
        end local 27 // float cdx
        end local 26 // float cax
        end local 25 // float pdx
        end local 24 // float pax
        end local 23 // float d
        end local 22 // float a
        end local 21 // float cd
        end local 20 // float ca
        end local 19 // float cb
        end local 18 // float pd
        end local 17 // float pa
        end local 16 // float pb
        76: .line 273
            goto 78
        77: .line 275
      StackMap locals:
      StackMap stack:
            aload 15 /* cm */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fBaselineOffsets:[F
            invokevirtual sun.font.CoreMetrics.effectiveBaselineOffset:([F)F
            fstore 10 /* y */
        78: .line 278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 14 /* n */
            fload 9 /* x */
            fastore
        79: .line 279
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 14 /* n */
            iconst_1
            iadd
            fload 10 /* y */
            fastore
        80: .line 281
            fload 9 /* x */
            aload 7 /* tlc */
            invokeinterface sun.font.TextLineComponent.getAdvance:()F
            fadd
            fstore 9 /* x */
        81: .line 282
            aload 15 /* cm */
            astore 11 /* pcm */
        82: .line 284
            iload 12 /* needPath */
            aload 7 /* tlc */
            invokeinterface sun.font.TextLineComponent.getBaselineTransform:()Ljava/awt/geom/AffineTransform;
            ifnull 83
            iconst_1
            goto 84
      StackMap locals:
      StackMap stack: int
        83: iconst_0
      StackMap locals: java.awt.font.TextLine float float float float float float sun.font.TextLineComponent int float float sun.font.CoreMetrics int int int sun.font.CoreMetrics
      StackMap stack: int int
        84: ior
            istore 12 /* needPath */
        end local 15 // sun.font.CoreMetrics cm
        85: .line 228
            iinc 13 /* i */ 1
            iinc 14 /* n */ 2
        end local 7 // sun.font.TextLineComponent tlc
      StackMap locals: java.awt.font.TextLine float float float float float float top int float float sun.font.CoreMetrics int int int
      StackMap stack:
        86: iload 13 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            if_icmplt 52
        end local 14 // int n
        end local 13 // int i
        87: .line 288
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.italicAngle:F
            fconst_0
            fcmpl
            ifeq 98
        88: .line 289
            aload 11 /* pcm */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fBaselineOffsets:[F
            invokevirtual sun.font.CoreMetrics.effectiveBaselineOffset:([F)F
            fstore 13 /* pb */
        start local 13 // float pb
        89: .line 290
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.ascent:F
            pop
        90: .line 291
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.descent:F
            pop
        91: .line 292
            fload 13 /* pb */
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.ssOffset:F
            fadd
            fstore 13 /* pb */
        92: .line 295
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.italicAngle:F
            fconst_0
            fcmpl
            ifle 95
        93: .line 296
            fload 13 /* pb */
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.ascent:F
            fadd
            fstore 14 /* d */
        start local 14 // float d
        94: .line 297
            goto 96
        end local 14 // float d
        95: .line 298
      StackMap locals: java.awt.font.TextLine float float float float float float top int float float sun.font.CoreMetrics int float
      StackMap stack:
            fload 13 /* pb */
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.descent:F
            fsub
            fstore 14 /* d */
        start local 14 // float d
        96: .line 300
      StackMap locals: float
      StackMap stack:
            fload 14 /* d */
            aload 11 /* pcm */
            getfield sun.font.CoreMetrics.italicAngle:F
            fmul
            fstore 14 /* d */
        97: .line 302
            fload 9 /* x */
            fload 14 /* d */
            fadd
            fstore 9 /* x */
        end local 14 // float d
        end local 13 // float pb
        98: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            arraylength
            iconst_2
            isub
            fload 9 /* x */
            fastore
        99: .line 308
            fload 9 /* x */
            fstore 4 /* advance */
       100: .line 309
            aload 0 /* this */
            new java.awt.font.TextLine$TextLineMetrics
            dup
            fload 1 /* ascent */
            fload 2 /* descent */
            fload 3 /* leading */
            fload 4 /* advance */
            invokespecial java.awt.font.TextLine$TextLineMetrics.<init>:(FFFF)V
            putfield java.awt.font.TextLine.fMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
       101: .line 312
            iload 12 /* needPath */
            ifeq 131
       102: .line 313
            aload 0 /* this */
            iconst_0
            putfield java.awt.font.TextLine.isSimple:Z
       103: .line 315
            new java.awt.geom.Point2D$Double
            dup
            invokespecial java.awt.geom.Point2D$Double.<init>:()V
            astore 13 /* pt */
        start local 13 // java.awt.geom.Point2D$Double pt
       104: .line 316
            dconst_0
            dstore 14 /* tx */
        start local 14 // double tx
       105: dconst_0
            dstore 16 /* ty */
        start local 16 // double ty
       106: .line 317
            new sun.font.LayoutPathImpl$SegmentPathBuilder
            dup
            invokespecial sun.font.LayoutPathImpl$SegmentPathBuilder.<init>:()V
            astore 18 /* builder */
        start local 18 // sun.font.LayoutPathImpl$SegmentPathBuilder builder
       107: .line 318
            aload 18 /* builder */
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iconst_0
            faload
            f2d
            dconst_0
            invokevirtual sun.font.LayoutPathImpl$SegmentPathBuilder.moveTo:(DD)V
       108: .line 319
            iconst_0
            istore 19 /* i */
        start local 19 // int i
       109: iconst_0
            istore 20 /* n */
        start local 20 // int n
       110: goto 124
       111: .line 320
      StackMap locals: java.awt.font.TextLine float float float float float float top int float float sun.font.CoreMetrics int java.awt.geom.Point2D$Double double double sun.font.LayoutPathImpl$SegmentPathBuilder int int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            aload 0 /* this */
            iload 19 /* i */
            invokevirtual java.awt.font.TextLine.getComponentLogicalIndex:(I)I
            aaload
            astore 7 /* tlc */
        start local 7 // sun.font.TextLineComponent tlc
       112: .line 321
            aload 7 /* tlc */
            invokeinterface sun.font.TextLineComponent.getBaselineTransform:()Ljava/awt/geom/AffineTransform;
            astore 21 /* at */
        start local 21 // java.awt.geom.AffineTransform at
       113: .line 322
            aload 21 /* at */
            ifnull 118
       114: .line 323
            aload 21 /* at */
            invokevirtual java.awt.geom.AffineTransform.getType:()I
            iconst_1
            iand
            ifeq 118
       115: .line 324
            aload 21 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            dstore 22 /* dx */
        start local 22 // double dx
       116: .line 325
            aload 21 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            dstore 24 /* dy */
        start local 24 // double dy
       117: .line 326
            aload 18 /* builder */
            dload 14 /* tx */
            dload 22 /* dx */
            dadd
            dup2
            dstore 14 /* tx */
            dload 16 /* ty */
            dload 24 /* dy */
            dadd
            dup2
            dstore 16 /* ty */
            invokevirtual sun.font.LayoutPathImpl$SegmentPathBuilder.moveTo:(DD)V
        end local 24 // double dy
        end local 22 // double dx
       118: .line 328
      StackMap locals: java.awt.font.TextLine float float float float float float sun.font.TextLineComponent int float float sun.font.CoreMetrics int java.awt.geom.Point2D$Double double double sun.font.LayoutPathImpl$SegmentPathBuilder int int java.awt.geom.AffineTransform
      StackMap stack:
            aload 13 /* pt */
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 20 /* n */
            iconst_2
            iadd
            faload
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 20 /* n */
            faload
            fsub
            f2d
            putfield java.awt.geom.Point2D$Double.x:D
       119: .line 329
            aload 13 /* pt */
            dconst_0
            putfield java.awt.geom.Point2D$Double.y:D
       120: .line 330
            aload 21 /* at */
            ifnull 122
       121: .line 331
            aload 21 /* at */
            aload 13 /* pt */
            aload 13 /* pt */
            invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
            pop
       122: .line 333
      StackMap locals:
      StackMap stack:
            aload 18 /* builder */
            dload 14 /* tx */
            aload 13 /* pt */
            getfield java.awt.geom.Point2D$Double.x:D
            dadd
            dup2
            dstore 14 /* tx */
            dload 16 /* ty */
            aload 13 /* pt */
            getfield java.awt.geom.Point2D$Double.y:D
            dadd
            dup2
            dstore 16 /* ty */
            invokevirtual sun.font.LayoutPathImpl$SegmentPathBuilder.lineTo:(DD)V
        end local 21 // java.awt.geom.AffineTransform at
       123: .line 319
            iinc 19 /* i */ 1
            iinc 20 /* n */ 2
        end local 7 // sun.font.TextLineComponent tlc
      StackMap locals: java.awt.font.TextLine float float float float float float top int float float sun.font.CoreMetrics int java.awt.geom.Point2D$Double double double sun.font.LayoutPathImpl$SegmentPathBuilder int int
      StackMap stack:
       124: iload 19 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            if_icmplt 111
        end local 20 // int n
        end local 19 // int i
       125: .line 335
            aload 0 /* this */
            aload 18 /* builder */
            invokevirtual sun.font.LayoutPathImpl$SegmentPathBuilder.complete:()Lsun/font/LayoutPathImpl$SegmentPath;
            putfield java.awt.font.TextLine.lp:Lsun/font/LayoutPathImpl;
       126: .line 337
            aload 0 /* this */
            getfield java.awt.font.TextLine.lp:Lsun/font/LayoutPathImpl;
            ifnonnull 131
       127: .line 338
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            aload 0 /* this */
            iconst_0
            invokevirtual java.awt.font.TextLine.getComponentLogicalIndex:(I)I
            aaload
            astore 7 /* tlc */
        start local 7 // sun.font.TextLineComponent tlc
       128: .line 339
            aload 7 /* tlc */
            invokeinterface sun.font.TextLineComponent.getBaselineTransform:()Ljava/awt/geom/AffineTransform;
            astore 19 /* at */
        start local 19 // java.awt.geom.AffineTransform at
       129: .line 340
            aload 19 /* at */
            ifnull 131
       130: .line 341
            aload 0 /* this */
            new sun.font.LayoutPathImpl$EmptyPath
            dup
            aload 19 /* at */
            invokespecial sun.font.LayoutPathImpl$EmptyPath.<init>:(Ljava/awt/geom/AffineTransform;)V
            putfield java.awt.font.TextLine.lp:Lsun/font/LayoutPathImpl;
        end local 19 // java.awt.geom.AffineTransform at
        end local 18 // sun.font.LayoutPathImpl$SegmentPathBuilder builder
        end local 16 // double ty
        end local 14 // double tx
        end local 13 // java.awt.geom.Point2D$Double pt
        end local 7 // sun.font.TextLineComponent tlc
       131: .line 345
      StackMap locals: java.awt.font.TextLine float float float float float float top int float float sun.font.CoreMetrics int
      StackMap stack:
            return
        end local 12 // boolean needPath
        end local 11 // sun.font.CoreMetrics pcm
        end local 10 // float y
        end local 9 // float x
        end local 8 // boolean fitTopAndBottomGraphics
        end local 6 // float maxGraphicHeightWithLeading
        end local 5 // float maxGraphicHeight
        end local 4 // float advance
        end local 3 // float leading
        end local 2 // float descent
        end local 1 // float ascent
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0  132     0                         this  Ljava/awt/font/TextLine;
            1  132     1                       ascent  F
            2  132     2                      descent  F
            3  132     3                      leading  F
            4  132     4                      advance  F
            5  132     5             maxGraphicHeight  F
            6  132     6  maxGraphicHeightWithLeading  F
           11   29     7                          tlc  Lsun/font/TextLineComponent;
           53   86     7                          tlc  Lsun/font/TextLineComponent;
          112  124     7                          tlc  Lsun/font/TextLineComponent;
          128  131     7                          tlc  Lsun/font/TextLineComponent;
            7  132     8      fitTopAndBottomGraphics  Z
            9   30     9                            i  I
           13   28    10                           cm  Lsun/font/CoreMetrics;
           14   28    11                     baseline  B
           16   20    12               baselineOffset  F
           18   20    13                           gd  F
           23   28    12                graphicHeight  F
           24   28    13     graphicHeightWithLeading  F
           45  132     9                            x  F
           46  132    10                            y  F
           47  132    11                          pcm  Lsun/font/CoreMetrics;
           48  132    12                     needPath  Z
           50   87    13                            i  I
           51   87    14                            n  I
           54   85    15                           cm  Lsun/font/CoreMetrics;
           60   76    16                           pb  F
           61   76    17                           pa  F
           62   76    18                           pd  F
           63   76    19                           cb  F
           64   76    20                           ca  F
           65   76    21                           cd  F
           66   76    22                            a  F
           67   76    23                            d  F
           68   76    24                          pax  F
           69   76    25                          pdx  F
           70   76    26                          cax  F
           71   76    27                          cdx  F
           72   76    28                          dax  F
           73   76    29                          ddx  F
           74   76    30                           dx  F
           89   98    13                           pb  F
           94   95    14                            d  F
           96   98    14                            d  F
          104  131    13                           pt  Ljava/awt/geom/Point2D$Double;
          105  131    14                           tx  D
          106  131    16                           ty  D
          107  131    18                      builder  Lsun/font/LayoutPathImpl$SegmentPathBuilder;
          109  125    19                            i  I
          110  125    20                            n  I
          113  123    21                           at  Ljava/awt/geom/AffineTransform;
          116  118    22                           dx  D
          117  118    24                           dy  D
          129  131    19                           at  Ljava/awt/geom/AffineTransform;

  public java.awt.Rectangle getPixelBounds(java.awt.font.FontRenderContext, float, float);
    descriptor: (Ljava/awt/font/FontRenderContext;FF)Ljava/awt/Rectangle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=4
        start local 0 // java.awt.font.TextLine this
        start local 1 // java.awt.font.FontRenderContext frc
        start local 2 // float x
        start local 3 // float y
         0: .line 348
            aconst_null
            astore 4 /* result */
        start local 4 // java.awt.Rectangle result
         1: .line 352
            aload 1 /* frc */
            ifnull 3
            aload 1 /* frc */
            aload 0 /* this */
            getfield java.awt.font.TextLine.frc:Ljava/awt/font/FontRenderContext;
            invokevirtual java.awt.font.FontRenderContext.equals:(Ljava/awt/font/FontRenderContext;)Z
            ifeq 3
         2: .line 353
            aconst_null
            astore 1 /* frc */
         3: .line 357
      StackMap locals: java.awt.Rectangle
      StackMap stack:
            fload 2 /* x */
            f2d
            invokestatic java.lang.Math.floor:(D)D
            d2i
            istore 5 /* ix */
        start local 5 // int ix
         4: .line 358
            fload 3 /* y */
            f2d
            invokestatic java.lang.Math.floor:(D)D
            d2i
            istore 6 /* iy */
        start local 6 // int iy
         5: .line 359
            fload 2 /* x */
            iload 5 /* ix */
            i2f
            fsub
            fstore 7 /* rx */
        start local 7 // float rx
         6: .line 360
            fload 3 /* y */
            iload 6 /* iy */
            i2f
            fsub
            fstore 8 /* ry */
        start local 8 // float ry
         7: .line 361
            aload 1 /* frc */
            ifnonnull 8
            fload 7 /* rx */
            fconst_0
            fcmpl
            ifne 8
            fload 8 /* ry */
            fconst_0
            fcmpl
            ifne 8
            iconst_1
            goto 9
      StackMap locals: java.awt.font.TextLine java.awt.font.FontRenderContext float float java.awt.Rectangle int int float float
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 9 /* canCache */
        start local 9 // boolean canCache
        10: .line 363
            iload 9 /* canCache */
            ifeq 15
            aload 0 /* this */
            getfield java.awt.font.TextLine.pixelBounds:Ljava/awt/Rectangle;
            ifnull 15
        11: .line 364
            new java.awt.Rectangle
            dup
            aload 0 /* this */
            getfield java.awt.font.TextLine.pixelBounds:Ljava/awt/Rectangle;
            invokespecial java.awt.Rectangle.<init>:(Ljava/awt/Rectangle;)V
            astore 4 /* result */
        12: .line 365
            aload 4 /* result */
            dup
            getfield java.awt.Rectangle.x:I
            iload 5 /* ix */
            iadd
            putfield java.awt.Rectangle.x:I
        13: .line 366
            aload 4 /* result */
            dup
            getfield java.awt.Rectangle.y:I
            iload 6 /* iy */
            iadd
            putfield java.awt.Rectangle.y:I
        14: .line 367
            aload 4 /* result */
            areturn
        15: .line 372
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.isSimple:Z
            ifeq 31
        16: .line 373
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        17: iconst_0
            istore 11 /* n */
        start local 11 // int n
        18: goto 27
        19: .line 374
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            aload 0 /* this */
            iload 10 /* i */
            invokevirtual java.awt.font.TextLine.getComponentLogicalIndex:(I)I
            aaload
            astore 12 /* tlc */
        start local 12 // sun.font.TextLineComponent tlc
        20: .line 375
            aload 12 /* tlc */
            aload 1 /* frc */
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 11 /* n */
            faload
            fload 7 /* rx */
            fadd
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 11 /* n */
            iconst_1
            iadd
            faload
            fload 8 /* ry */
            fadd
            invokeinterface sun.font.TextLineComponent.getPixelBounds:(Ljava/awt/font/FontRenderContext;FF)Ljava/awt/Rectangle;
            astore 13 /* pb */
        start local 13 // java.awt.Rectangle pb
        21: .line 376
            aload 13 /* pb */
            invokevirtual java.awt.Rectangle.isEmpty:()Z
            ifne 26
        22: .line 377
            aload 4 /* result */
            ifnonnull 25
        23: .line 378
            aload 13 /* pb */
            astore 4 /* result */
        24: .line 379
            goto 26
        25: .line 380
      StackMap locals: sun.font.TextLineComponent java.awt.Rectangle
      StackMap stack:
            aload 4 /* result */
            aload 13 /* pb */
            invokevirtual java.awt.Rectangle.add:(Ljava/awt/Rectangle;)V
        end local 13 // java.awt.Rectangle pb
        end local 12 // sun.font.TextLineComponent tlc
        26: .line 373
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
            iinc 11 /* n */ 2
      StackMap locals:
      StackMap stack:
        27: iload 10 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            if_icmplt 19
        end local 11 // int n
        end local 10 // int i
        28: .line 384
            aload 4 /* result */
            ifnonnull 47
        29: .line 385
            new java.awt.Rectangle
            dup
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 4 /* result */
        30: .line 387
            goto 47
        31: .line 389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.font.TextLine.getVisualBounds:()Ljava/awt/geom/Rectangle2D;
            astore 10 /* r2d */
        start local 10 // java.awt.geom.Rectangle2D r2d
        32: .line 390
            aload 0 /* this */
            getfield java.awt.font.TextLine.lp:Lsun/font/LayoutPathImpl;
            ifnull 34
        33: .line 391
            aload 0 /* this */
            getfield java.awt.font.TextLine.lp:Lsun/font/LayoutPathImpl;
            aload 10 /* r2d */
            invokevirtual sun.font.LayoutPathImpl.mapShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            invokeinterface java.awt.Shape.getBounds:()Ljava/awt/Rectangle;
            astore 10 /* r2d */
        34: .line 393
      StackMap locals: java.awt.geom.Rectangle2D
      StackMap stack:
            aload 10 /* r2d */
            invokevirtual java.awt.geom.Rectangle2D.getBounds:()Ljava/awt/Rectangle;
            astore 11 /* bounds */
        start local 11 // java.awt.Rectangle bounds
        35: .line 394
            new java.awt.image.BufferedImage
            dup
            aload 11 /* bounds */
            getfield java.awt.Rectangle.width:I
            bipush 6
            iadd
        36: .line 395
            aload 11 /* bounds */
            getfield java.awt.Rectangle.height:I
            bipush 6
            iadd
        37: .line 396
            iconst_2
        38: .line 394
            invokespecial java.awt.image.BufferedImage.<init>:(III)V
            astore 12 /* im */
        start local 12 // java.awt.image.BufferedImage im
        39: .line 398
            aload 12 /* im */
            invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
            astore 13 /* g2d */
        start local 13 // java.awt.Graphics2D g2d
        40: .line 399
            aload 13 /* g2d */
            getstatic java.awt.Color.WHITE:Ljava/awt/Color;
            invokevirtual java.awt.Graphics2D.setColor:(Ljava/awt/Color;)V
        41: .line 400
            aload 13 /* g2d */
            iconst_0
            iconst_0
            aload 12 /* im */
            invokevirtual java.awt.image.BufferedImage.getWidth:()I
            aload 12 /* im */
            invokevirtual java.awt.image.BufferedImage.getHeight:()I
            invokevirtual java.awt.Graphics2D.fillRect:(IIII)V
        42: .line 402
            aload 13 /* g2d */
            getstatic java.awt.Color.BLACK:Ljava/awt/Color;
            invokevirtual java.awt.Graphics2D.setColor:(Ljava/awt/Color;)V
        43: .line 403
            aload 0 /* this */
            aload 13 /* g2d */
            fload 7 /* rx */
            ldc 3.0
            fadd
            aload 11 /* bounds */
            getfield java.awt.Rectangle.x:I
            i2f
            fsub
            fload 8 /* ry */
            ldc 3.0
            fadd
            aload 11 /* bounds */
            getfield java.awt.Rectangle.y:I
            i2f
            fsub
            invokevirtual java.awt.font.TextLine.draw:(Ljava/awt/Graphics2D;FF)V
        44: .line 405
            aload 12 /* im */
            invokestatic java.awt.font.TextLine.computePixelBounds:(Ljava/awt/image/BufferedImage;)Ljava/awt/Rectangle;
            astore 4 /* result */
        45: .line 406
            aload 4 /* result */
            dup
            getfield java.awt.Rectangle.x:I
            iconst_3
            aload 11 /* bounds */
            getfield java.awt.Rectangle.x:I
            isub
            isub
            putfield java.awt.Rectangle.x:I
        46: .line 407
            aload 4 /* result */
            dup
            getfield java.awt.Rectangle.y:I
            iconst_3
            aload 11 /* bounds */
            getfield java.awt.Rectangle.y:I
            isub
            isub
            putfield java.awt.Rectangle.y:I
        end local 13 // java.awt.Graphics2D g2d
        end local 12 // java.awt.image.BufferedImage im
        end local 11 // java.awt.Rectangle bounds
        end local 10 // java.awt.geom.Rectangle2D r2d
        47: .line 410
      StackMap locals:
      StackMap stack:
            iload 9 /* canCache */
            ifeq 49
        48: .line 411
            aload 0 /* this */
            new java.awt.Rectangle
            dup
            aload 4 /* result */
            invokespecial java.awt.Rectangle.<init>:(Ljava/awt/Rectangle;)V
            putfield java.awt.font.TextLine.pixelBounds:Ljava/awt/Rectangle;
        49: .line 414
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            dup
            getfield java.awt.Rectangle.x:I
            iload 5 /* ix */
            iadd
            putfield java.awt.Rectangle.x:I
        50: .line 415
            aload 4 /* result */
            dup
            getfield java.awt.Rectangle.y:I
            iload 6 /* iy */
            iadd
            putfield java.awt.Rectangle.y:I
        51: .line 416
            aload 4 /* result */
            areturn
        end local 9 // boolean canCache
        end local 8 // float ry
        end local 7 // float rx
        end local 6 // int iy
        end local 5 // int ix
        end local 4 // java.awt.Rectangle result
        end local 3 // float y
        end local 2 // float x
        end local 1 // java.awt.font.FontRenderContext frc
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   52     0      this  Ljava/awt/font/TextLine;
            0   52     1       frc  Ljava/awt/font/FontRenderContext;
            0   52     2         x  F
            0   52     3         y  F
            1   52     4    result  Ljava/awt/Rectangle;
            4   52     5        ix  I
            5   52     6        iy  I
            6   52     7        rx  F
            7   52     8        ry  F
           10   52     9  canCache  Z
           17   28    10         i  I
           18   28    11         n  I
           20   26    12       tlc  Lsun/font/TextLineComponent;
           21   26    13        pb  Ljava/awt/Rectangle;
           32   47    10       r2d  Ljava/awt/geom/Rectangle2D;
           35   47    11    bounds  Ljava/awt/Rectangle;
           39   47    12        im  Ljava/awt/image/BufferedImage;
           40   47    13       g2d  Ljava/awt/Graphics2D;
    MethodParameters:
      Name  Flags
      frc   
      x     
      y     

  static java.awt.Rectangle computePixelBounds(java.awt.image.BufferedImage);
    descriptor: (Ljava/awt/image/BufferedImage;)Ljava/awt/Rectangle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=9, args_size=1
        start local 0 // java.awt.image.BufferedImage im
         0: .line 420
            aload 0 /* im */
            invokevirtual java.awt.image.BufferedImage.getWidth:()I
            istore 1 /* w */
        start local 1 // int w
         1: .line 421
            aload 0 /* im */
            invokevirtual java.awt.image.BufferedImage.getHeight:()I
            istore 2 /* h */
        start local 2 // int h
         2: .line 423
            iconst_m1
            istore 3 /* l */
        start local 3 // int l
         3: iconst_m1
            istore 4 /* t */
        start local 4 // int t
         4: iload 1 /* w */
            istore 5 /* r */
        start local 5 // int r
         5: iload 2 /* h */
            istore 6 /* b */
        start local 6 // int b
         6: .line 427
            iload 1 /* w */
            newarray 10
            astore 7 /* buf */
        start local 7 // int[] buf
         7: .line 428
            goto 15
         8: .line 429
      StackMap locals: java.awt.image.BufferedImage int int int int int int int[]
      StackMap stack:
            aload 0 /* im */
            iconst_0
            iload 4 /* t */
            aload 7 /* buf */
            arraylength
            iconst_1
            aload 7 /* buf */
            iconst_0
            iload 1 /* w */
            invokevirtual java.awt.image.BufferedImage.getRGB:(IIII[III)[I
            pop
         9: .line 430
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        10: goto 14
        11: .line 431
      StackMap locals: int
      StackMap stack:
            aload 7 /* buf */
            iload 8 /* i */
            iaload
            iconst_m1
            if_icmpeq 13
        12: .line 432
            goto 16
        13: .line 430
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 8 /* i */
            aload 7 /* buf */
            arraylength
            if_icmplt 11
        end local 8 // int i
        15: .line 428
      StackMap locals:
      StackMap stack:
            iinc 4 /* t */ 1
            iload 4 /* t */
            iload 2 /* h */
            if_icmplt 8
        end local 7 // int[] buf
        16: .line 440
      StackMap locals:
      StackMap stack:
            iload 1 /* w */
            newarray 10
            astore 7 /* buf */
        start local 7 // int[] buf
        17: .line 441
            goto 25
        18: .line 442
      StackMap locals: int[]
      StackMap stack:
            aload 0 /* im */
            iconst_0
            iload 6 /* b */
            aload 7 /* buf */
            arraylength
            iconst_1
            aload 7 /* buf */
            iconst_0
            iload 1 /* w */
            invokevirtual java.awt.image.BufferedImage.getRGB:(IIII[III)[I
            pop
        19: .line 443
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        20: goto 24
        21: .line 444
      StackMap locals: int
      StackMap stack:
            aload 7 /* buf */
            iload 8 /* i */
            iaload
            iconst_m1
            if_icmpeq 23
        22: .line 445
            goto 26
        23: .line 443
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 8 /* i */
            aload 7 /* buf */
            arraylength
            if_icmplt 21
        end local 8 // int i
        25: .line 441
      StackMap locals:
      StackMap stack:
            iinc 6 /* b */ -1
            iload 6 /* b */
            iload 4 /* t */
            if_icmpgt 18
        26: .line 449
      StackMap locals:
      StackMap stack:
            iinc 6 /* b */ 1
        end local 7 // int[] buf
        27: .line 454
            goto 35
        28: .line 455
      StackMap locals:
      StackMap stack:
            iload 4 /* t */
            istore 7 /* i */
        start local 7 // int i
        29: goto 34
        30: .line 456
      StackMap locals: int
      StackMap stack:
            aload 0 /* im */
            iload 3 /* l */
            iload 7 /* i */
            invokevirtual java.awt.image.BufferedImage.getRGB:(II)I
            istore 8 /* v */
        start local 8 // int v
        31: .line 457
            iload 8 /* v */
            iconst_m1
            if_icmpeq 33
        32: .line 458
            goto 44
        end local 8 // int v
        33: .line 455
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 7 /* i */
            iload 6 /* b */
            if_icmplt 30
        end local 7 // int i
        35: .line 454
      StackMap locals:
      StackMap stack:
            iinc 3 /* l */ 1
            iload 3 /* l */
            iload 5 /* r */
            if_icmplt 28
        36: .line 466
            goto 44
        37: .line 467
      StackMap locals:
      StackMap stack:
            iload 4 /* t */
            istore 7 /* i */
        start local 7 // int i
        38: goto 43
        39: .line 468
      StackMap locals: int
      StackMap stack:
            aload 0 /* im */
            iload 5 /* r */
            iload 7 /* i */
            invokevirtual java.awt.image.BufferedImage.getRGB:(II)I
            istore 8 /* v */
        start local 8 // int v
        40: .line 469
            iload 8 /* v */
            iconst_m1
            if_icmpeq 42
        41: .line 470
            goto 45
        end local 8 // int v
        42: .line 467
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 7 /* i */
            iload 6 /* b */
            if_icmplt 39
        end local 7 // int i
        44: .line 466
      StackMap locals:
      StackMap stack:
            iinc 5 /* r */ -1
            iload 5 /* r */
            iload 3 /* l */
            if_icmpgt 37
        45: .line 474
      StackMap locals:
      StackMap stack:
            iinc 5 /* r */ 1
        46: .line 477
            new java.awt.Rectangle
            dup
            iload 3 /* l */
            iload 4 /* t */
            iload 5 /* r */
            iload 3 /* l */
            isub
            iload 6 /* b */
            iload 4 /* t */
            isub
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            areturn
        end local 6 // int b
        end local 5 // int r
        end local 4 // int t
        end local 3 // int l
        end local 2 // int h
        end local 1 // int w
        end local 0 // java.awt.image.BufferedImage im
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   47     0    im  Ljava/awt/image/BufferedImage;
            1   47     1     w  I
            2   47     2     h  I
            3   47     3     l  I
            4   47     4     t  I
            5   47     5     r  I
            6   47     6     b  I
            7   16     7   buf  [I
           10   15     8     i  I
           17   27     7   buf  [I
           20   25     8     i  I
           29   35     7     i  I
           31   33     8     v  I
           38   44     7     i  I
           40   42     8     v  I
    MethodParameters:
      Name  Flags
      im    

  public int characterCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.font.TextLine this
         0: .line 539
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharsLimit:I
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharsStart:I
            isub
            ireturn
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/font/TextLine;

  public boolean isDirectionLTR();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.font.TextLine this
         0: .line 544
            aload 0 /* this */
            getfield java.awt.font.TextLine.fIsDirectionLTR:Z
            ireturn
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/font/TextLine;

  public java.awt.font.TextLine$TextLineMetrics getMetrics();
    descriptor: ()Ljava/awt/font/TextLine$TextLineMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.font.TextLine this
         0: .line 548
            aload 0 /* this */
            getfield java.awt.font.TextLine.fMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
            areturn
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/font/TextLine;

  public int visualToLogical(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int visualIndex
         0: .line 553
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharLogicalOrder:[I
            ifnonnull 2
         1: .line 554
            iload 1 /* visualIndex */
            ireturn
         2: .line 557
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharVisualOrder:[I
            ifnonnull 4
         3: .line 558
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharLogicalOrder:[I
            invokestatic sun.font.BidiUtils.createInverseMap:([I)[I
            putfield java.awt.font.TextLine.fCharVisualOrder:[I
         4: .line 561
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharVisualOrder:[I
            iload 1 /* visualIndex */
            iaload
            ireturn
        end local 1 // int visualIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Ljava/awt/font/TextLine;
            0    5     1  visualIndex  I
    MethodParameters:
             Name  Flags
      visualIndex  

  public int logicalToVisual(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 566
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharLogicalOrder:[I
            ifnonnull 2
         1: .line 567
            iload 1 /* logicalIndex */
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield java.awt.font.TextLine.fCharLogicalOrder:[I
            iload 1 /* logicalIndex */
            iaload
         3: .line 566
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljava/awt/font/TextLine;
            0    4     1  logicalIndex  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  public byte getCharLevel(int);
    descriptor: (I)B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 572
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharLevels:[B
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield java.awt.font.TextLine.fCharLevels:[B
            iload 1 /* logicalIndex */
            baload
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Ljava/awt/font/TextLine;
            0    3     1  logicalIndex  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  public boolean isCharLTR(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 577
            aload 0 /* this */
            iload 1 /* logicalIndex */
            invokevirtual java.awt.font.TextLine.getCharLevel:(I)B
            iconst_1
            iand
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljava/awt/font/TextLine;
            0    2     1  logicalIndex  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  public int getCharType(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 582
            aload 0 /* this */
            getfield java.awt.font.TextLine.fChars:[C
            iload 1 /* logicalIndex */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharsStart:I
            iadd
            caload
            invokestatic java.lang.Character.getType:(C)I
            ireturn
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/awt/font/TextLine;
            0    1     1  logicalIndex  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  public boolean isCharSpace(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 587
            aload 0 /* this */
            getfield java.awt.font.TextLine.fChars:[C
            iload 1 /* logicalIndex */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharsStart:I
            iadd
            caload
            invokestatic java.lang.Character.isSpaceChar:(C)Z
            ireturn
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/awt/font/TextLine;
            0    1     1  logicalIndex  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  public boolean isCharWhitespace(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 592
            aload 0 /* this */
            getfield java.awt.font.TextLine.fChars:[C
            iload 1 /* logicalIndex */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharsStart:I
            iadd
            caload
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ireturn
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/awt/font/TextLine;
            0    1     1  logicalIndex  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  public float getCharAngle(int);
    descriptor: (I)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 597
            aload 0 /* this */
            iload 1 /* logicalIndex */
            invokevirtual java.awt.font.TextLine.getCoreMetricsAt:(I)Lsun/font/CoreMetrics;
            getfield sun.font.CoreMetrics.italicAngle:F
            freturn
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/awt/font/TextLine;
            0    1     1  logicalIndex  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  public sun.font.CoreMetrics getCoreMetricsAt(int);
    descriptor: (I)Lsun/font/CoreMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 602
            iload 1 /* logicalIndex */
            ifge 2
         1: .line 603
            new java.lang.IllegalArgumentException
            dup
            ldc "Negative logicalIndex."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 606
      StackMap locals:
      StackMap stack:
            iload 1 /* logicalIndex */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharsLimit:I
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharsStart:I
            isub
            if_icmple 4
         3: .line 607
            new java.lang.IllegalArgumentException
            dup
            ldc "logicalIndex too large."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 610
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* currentTlc */
        start local 2 // int currentTlc
         5: .line 612
            iconst_0
            istore 3 /* tlcLimit */
        start local 3 // int tlcLimit
         6: .line 615
      StackMap locals: int int
      StackMap stack:
            iload 3 /* tlcLimit */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            iload 2 /* currentTlc */
            aaload
            invokeinterface sun.font.TextLineComponent.getNumCharacters:()I
            iadd
            istore 3 /* tlcLimit */
         7: .line 616
            iload 3 /* tlcLimit */
            iload 1 /* logicalIndex */
            if_icmple 9
         8: .line 617
            goto 13
         9: .line 619
      StackMap locals:
      StackMap stack:
            iinc 2 /* currentTlc */ 1
        10: .line 620
            iload 3 /* tlcLimit */
            pop
        11: .line 621
            iload 2 /* currentTlc */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
        12: .line 614
            if_icmplt 6
        13: .line 623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            iload 2 /* currentTlc */
            aaload
            invokeinterface sun.font.TextLineComponent.getCoreMetrics:()Lsun/font/CoreMetrics;
            areturn
        end local 3 // int tlcLimit
        end local 2 // int currentTlc
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Ljava/awt/font/TextLine;
            0   14     1  logicalIndex  I
            5   14     2    currentTlc  I
            6   14     3      tlcLimit  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  public float getCharAscent(int);
    descriptor: (I)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 628
            aload 0 /* this */
            iload 1 /* logicalIndex */
            invokevirtual java.awt.font.TextLine.getCoreMetricsAt:(I)Lsun/font/CoreMetrics;
            getfield sun.font.CoreMetrics.ascent:F
            freturn
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/awt/font/TextLine;
            0    1     1  logicalIndex  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  public float getCharDescent(int);
    descriptor: (I)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 633
            aload 0 /* this */
            iload 1 /* logicalIndex */
            invokevirtual java.awt.font.TextLine.getCoreMetricsAt:(I)Lsun/font/CoreMetrics;
            getfield sun.font.CoreMetrics.descent:F
            freturn
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/awt/font/TextLine;
            0    1     1  logicalIndex  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  public float getCharShift(int);
    descriptor: (I)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 638
            aload 0 /* this */
            iload 1 /* logicalIndex */
            invokevirtual java.awt.font.TextLine.getCoreMetricsAt:(I)Lsun/font/CoreMetrics;
            getfield sun.font.CoreMetrics.ssOffset:F
            freturn
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/awt/font/TextLine;
            0    1     1  logicalIndex  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  private float applyFunctionAtIndex(int, java.awt.font.TextLine$Function);
    descriptor: (ILjava/awt/font/TextLine$Function;)F
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
        start local 2 // java.awt.font.TextLine$Function f
         0: .line 643
            iload 1 /* logicalIndex */
            ifge 2
         1: .line 644
            new java.lang.IllegalArgumentException
            dup
            ldc "Negative logicalIndex."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 647
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* tlcStart */
        start local 3 // int tlcStart
         3: .line 649
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 10
         5: .line 651
      StackMap locals: int int
      StackMap stack:
            iload 3 /* tlcStart */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            iload 4 /* i */
            aaload
            invokeinterface sun.font.TextLineComponent.getNumCharacters:()I
            iadd
            istore 5 /* tlcLimit */
        start local 5 // int tlcLimit
         6: .line 652
            iload 5 /* tlcLimit */
            iload 1 /* logicalIndex */
            if_icmple 8
         7: .line 653
            aload 2 /* f */
            aload 0 /* this */
            iload 4 /* i */
            iload 1 /* logicalIndex */
            iload 3 /* tlcStart */
            isub
            invokevirtual java.awt.font.TextLine$Function.computeFunction:(Ljava/awt/font/TextLine;II)F
            freturn
         8: .line 656
      StackMap locals: int
      StackMap stack:
            iload 5 /* tlcLimit */
            istore 3 /* tlcStart */
        end local 5 // int tlcLimit
         9: .line 649
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            if_icmplt 5
        end local 4 // int i
        11: .line 660
            new java.lang.IllegalArgumentException
            dup
            ldc "logicalIndex too large."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int tlcStart
        end local 2 // java.awt.font.TextLine$Function f
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Ljava/awt/font/TextLine;
            0   12     1  logicalIndex  I
            0   12     2             f  Ljava/awt/font/TextLine$Function;
            3   12     3      tlcStart  I
            4   11     4             i  I
            6    9     5      tlcLimit  I
    MethodParameters:
              Name  Flags
      logicalIndex  
      f             

  public float getCharAdvance(int);
    descriptor: (I)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 665
            aload 0 /* this */
            iload 1 /* logicalIndex */
            getstatic java.awt.font.TextLine.fgAdvanceF:Ljava/awt/font/TextLine$Function;
            invokevirtual java.awt.font.TextLine.applyFunctionAtIndex:(ILjava/awt/font/TextLine$Function;)F
            freturn
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/awt/font/TextLine;
            0    1     1  logicalIndex  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  public float getCharXPosition(int);
    descriptor: (I)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 670
            aload 0 /* this */
            iload 1 /* logicalIndex */
            getstatic java.awt.font.TextLine.fgXPositionF:Ljava/awt/font/TextLine$Function;
            invokevirtual java.awt.font.TextLine.applyFunctionAtIndex:(ILjava/awt/font/TextLine$Function;)F
            freturn
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/awt/font/TextLine;
            0    1     1  logicalIndex  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  public float getCharYPosition(int);
    descriptor: (I)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 675
            aload 0 /* this */
            iload 1 /* logicalIndex */
            getstatic java.awt.font.TextLine.fgYPositionF:Ljava/awt/font/TextLine$Function;
            invokevirtual java.awt.font.TextLine.applyFunctionAtIndex:(ILjava/awt/font/TextLine$Function;)F
            freturn
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/awt/font/TextLine;
            0    1     1  logicalIndex  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  public float getCharLinePosition(int);
    descriptor: (I)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 680
            aload 0 /* this */
            iload 1 /* logicalIndex */
            invokevirtual java.awt.font.TextLine.getCharXPosition:(I)F
            freturn
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/awt/font/TextLine;
            0    1     1  logicalIndex  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  public float getCharLinePosition(int, boolean);
    descriptor: (IZ)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
        start local 2 // boolean leading
         0: .line 684
            aload 0 /* this */
            iload 1 /* logicalIndex */
            invokevirtual java.awt.font.TextLine.isCharLTR:(I)Z
            iload 2 /* leading */
            if_icmpne 1
            getstatic java.awt.font.TextLine.fgXPositionF:Ljava/awt/font/TextLine$Function;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic java.awt.font.TextLine.fgPosAdvF:Ljava/awt/font/TextLine$Function;
      StackMap locals:
      StackMap stack: java.awt.font.TextLine$Function
         2: astore 3 /* f */
        start local 3 // java.awt.font.TextLine$Function f
         3: .line 685
            aload 0 /* this */
            iload 1 /* logicalIndex */
            aload 3 /* f */
            invokevirtual java.awt.font.TextLine.applyFunctionAtIndex:(ILjava/awt/font/TextLine$Function;)F
            freturn
        end local 3 // java.awt.font.TextLine$Function f
        end local 2 // boolean leading
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljava/awt/font/TextLine;
            0    4     1  logicalIndex  I
            0    4     2       leading  Z
            3    4     3             f  Ljava/awt/font/TextLine$Function;
    MethodParameters:
              Name  Flags
      logicalIndex  
      leading       

  public boolean caretAtOffsetIsValid(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int offset
         0: .line 690
            iload 1 /* offset */
            ifge 2
         1: .line 691
            new java.lang.IllegalArgumentException
            dup
            ldc "Negative offset."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 694
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* tlcStart */
        start local 2 // int tlcStart
         3: .line 696
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 10
         5: .line 698
      StackMap locals: int int
      StackMap stack:
            iload 2 /* tlcStart */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            iload 3 /* i */
            aaload
            invokeinterface sun.font.TextLineComponent.getNumCharacters:()I
            iadd
            istore 4 /* tlcLimit */
        start local 4 // int tlcLimit
         6: .line 699
            iload 4 /* tlcLimit */
            iload 1 /* offset */
            if_icmple 8
         7: .line 700
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            iload 3 /* i */
            aaload
            iload 1 /* offset */
            iload 2 /* tlcStart */
            isub
            invokeinterface sun.font.TextLineComponent.caretAtOffsetIsValid:(I)Z
            ireturn
         8: .line 703
      StackMap locals: int
      StackMap stack:
            iload 4 /* tlcLimit */
            istore 2 /* tlcStart */
        end local 4 // int tlcLimit
         9: .line 696
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            if_icmplt 5
        end local 3 // int i
        11: .line 707
            new java.lang.IllegalArgumentException
            dup
            ldc "logicalIndex too large."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // int tlcStart
        end local 1 // int offset
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Ljava/awt/font/TextLine;
            0   12     1    offset  I
            3   12     2  tlcStart  I
            4   11     3         i  I
            6    9     4  tlcLimit  I
    MethodParameters:
        Name  Flags
      offset  

  private int getComponentLogicalIndex(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int vi
         0: .line 714
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponentVisualOrder:[I
            ifnonnull 2
         1: .line 715
            iload 1 /* vi */
            ireturn
         2: .line 717
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponentVisualOrder:[I
            iload 1 /* vi */
            iaload
            ireturn
        end local 1 // int vi
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/awt/font/TextLine;
            0    3     1    vi  I
    MethodParameters:
      Name  Flags
      vi    

  private int getComponentVisualIndex(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int li
         0: .line 724
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponentVisualOrder:[I
            ifnonnull 2
         1: .line 725
            iload 1 /* li */
            ireturn
         2: .line 727
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 728
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponentVisualOrder:[I
            iload 2 /* i */
            iaload
            iload 1 /* li */
            if_icmpne 6
         5: .line 729
            iload 2 /* i */
            ireturn
         6: .line 727
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponentVisualOrder:[I
            arraylength
            if_icmplt 4
        end local 2 // int i
         8: .line 732
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "bad component index: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* li */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int li
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/awt/font/TextLine;
            0    9     1    li  I
            3    8     2     i  I
    MethodParameters:
      Name  Flags
      li    

  public java.awt.geom.Rectangle2D getCharBounds(int);
    descriptor: (I)Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int logicalIndex
         0: .line 737
            iload 1 /* logicalIndex */
            ifge 2
         1: .line 738
            new java.lang.IllegalArgumentException
            dup
            ldc "Negative logicalIndex."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 741
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* tlcStart */
        start local 2 // int tlcStart
         3: .line 743
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 19
         5: .line 745
      StackMap locals: int int
      StackMap stack:
            iload 2 /* tlcStart */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            iload 3 /* i */
            aaload
            invokeinterface sun.font.TextLineComponent.getNumCharacters:()I
            iadd
            istore 4 /* tlcLimit */
        start local 4 // int tlcLimit
         6: .line 746
            iload 4 /* tlcLimit */
            iload 1 /* logicalIndex */
            if_icmple 17
         7: .line 748
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            iload 3 /* i */
            aaload
            astore 5 /* tlc */
        start local 5 // sun.font.TextLineComponent tlc
         8: .line 749
            iload 1 /* logicalIndex */
            iload 2 /* tlcStart */
            isub
            istore 6 /* indexInTlc */
        start local 6 // int indexInTlc
         9: .line 750
            aload 5 /* tlc */
            iload 6 /* indexInTlc */
            invokeinterface sun.font.TextLineComponent.getCharVisualBounds:(I)Ljava/awt/geom/Rectangle2D;
            astore 7 /* chBounds */
        start local 7 // java.awt.geom.Rectangle2D chBounds
        10: .line 752
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual java.awt.font.TextLine.getComponentVisualIndex:(I)I
            istore 8 /* vi */
        start local 8 // int vi
        11: .line 753
            aload 7 /* chBounds */
            aload 7 /* chBounds */
            invokevirtual java.awt.geom.Rectangle2D.getX:()D
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 8 /* vi */
            iconst_2
            imul
            faload
            f2d
            dadd
        12: .line 754
            aload 7 /* chBounds */
            invokevirtual java.awt.geom.Rectangle2D.getY:()D
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 8 /* vi */
            iconst_2
            imul
            iconst_1
            iadd
            faload
            f2d
            dadd
        13: .line 755
            aload 7 /* chBounds */
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
        14: .line 756
            aload 7 /* chBounds */
            invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
        15: .line 753
            invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
        16: .line 757
            aload 7 /* chBounds */
            areturn
        end local 8 // int vi
        end local 7 // java.awt.geom.Rectangle2D chBounds
        end local 6 // int indexInTlc
        end local 5 // sun.font.TextLineComponent tlc
        17: .line 760
      StackMap locals: int
      StackMap stack:
            iload 4 /* tlcLimit */
            istore 2 /* tlcStart */
        end local 4 // int tlcLimit
        18: .line 743
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 3 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            if_icmplt 5
        end local 3 // int i
        20: .line 764
            new java.lang.IllegalArgumentException
            dup
            ldc "logicalIndex too large."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // int tlcStart
        end local 1 // int logicalIndex
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Ljava/awt/font/TextLine;
            0   21     1  logicalIndex  I
            3   21     2      tlcStart  I
            4   20     3             i  I
            6   18     4      tlcLimit  I
            8   17     5           tlc  Lsun/font/TextLineComponent;
            9   17     6    indexInTlc  I
           10   17     7      chBounds  Ljava/awt/geom/Rectangle2D;
           11   17     8            vi  I
    MethodParameters:
              Name  Flags
      logicalIndex  

  private float getComponentShift(int);
    descriptor: (I)F
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // int index
         0: .line 768
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            iload 1 /* index */
            aaload
            invokeinterface sun.font.TextLineComponent.getCoreMetrics:()Lsun/font/CoreMetrics;
            astore 2 /* cm */
        start local 2 // sun.font.CoreMetrics cm
         1: .line 769
            aload 2 /* cm */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fBaselineOffsets:[F
            invokevirtual sun.font.CoreMetrics.effectiveBaselineOffset:([F)F
            freturn
        end local 2 // sun.font.CoreMetrics cm
        end local 1 // int index
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/awt/font/TextLine;
            0    2     1  index  I
            1    2     2     cm  Lsun/font/CoreMetrics;
    MethodParameters:
       Name  Flags
      index  

  public void draw(java.awt.Graphics2D, float, float);
    descriptor: (Ljava/awt/Graphics2D;FF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=4
        start local 0 // java.awt.font.TextLine this
        start local 1 // java.awt.Graphics2D g2
        start local 2 // float x
        start local 3 // float y
         0: .line 773
            aload 0 /* this */
            getfield java.awt.font.TextLine.lp:Lsun/font/LayoutPathImpl;
            ifnonnull 9
         1: .line 774
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: iconst_0
            istore 5 /* n */
        start local 5 // int n
         3: goto 7
         4: .line 775
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual java.awt.font.TextLine.getComponentLogicalIndex:(I)I
            aaload
            astore 6 /* tlc */
        start local 6 // sun.font.TextLineComponent tlc
         5: .line 776
            aload 6 /* tlc */
            aload 1 /* g2 */
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 5 /* n */
            faload
            fload 2 /* x */
            fadd
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 5 /* n */
            iconst_1
            iadd
            faload
            fload 3 /* y */
            fadd
            invokeinterface sun.font.TextLineComponent.draw:(Ljava/awt/Graphics2D;FF)V
        end local 6 // sun.font.TextLineComponent tlc
         6: .line 774
            iinc 4 /* i */ 1
            iinc 5 /* n */ 2
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            if_icmplt 4
        end local 5 // int n
        end local 4 // int i
         8: .line 778
            goto 28
         9: .line 779
      StackMap locals:
      StackMap stack:
            aload 1 /* g2 */
            invokevirtual java.awt.Graphics2D.getTransform:()Ljava/awt/geom/AffineTransform;
            astore 4 /* oldTx */
        start local 4 // java.awt.geom.AffineTransform oldTx
        10: .line 780
            new java.awt.geom.Point2D$Float
            dup
            invokespecial java.awt.geom.Point2D$Float.<init>:()V
            astore 5 /* pt */
        start local 5 // java.awt.geom.Point2D$Float pt
        11: .line 781
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        12: iconst_0
            istore 7 /* n */
        start local 7 // int n
        13: goto 27
        14: .line 782
      StackMap locals: java.awt.font.TextLine java.awt.Graphics2D float float java.awt.geom.AffineTransform java.awt.geom.Point2D$Float int int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            aload 0 /* this */
            iload 6 /* i */
            invokevirtual java.awt.font.TextLine.getComponentLogicalIndex:(I)I
            aaload
            astore 8 /* tlc */
        start local 8 // sun.font.TextLineComponent tlc
        15: .line 783
            aload 0 /* this */
            getfield java.awt.font.TextLine.lp:Lsun/font/LayoutPathImpl;
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 7 /* n */
            faload
            f2d
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 7 /* n */
            iconst_1
            iadd
            faload
            f2d
            iconst_0
            aload 5 /* pt */
            invokevirtual sun.font.LayoutPathImpl.pathToPoint:(DDZLjava/awt/geom/Point2D;)V
        16: .line 784
            aload 5 /* pt */
            dup
            getfield java.awt.geom.Point2D$Float.x:F
            fload 2 /* x */
            fadd
            putfield java.awt.geom.Point2D$Float.x:F
        17: .line 785
            aload 5 /* pt */
            dup
            getfield java.awt.geom.Point2D$Float.y:F
            fload 3 /* y */
            fadd
            putfield java.awt.geom.Point2D$Float.y:F
        18: .line 786
            aload 8 /* tlc */
            invokeinterface sun.font.TextLineComponent.getBaselineTransform:()Ljava/awt/geom/AffineTransform;
            astore 9 /* at */
        start local 9 // java.awt.geom.AffineTransform at
        19: .line 788
            aload 9 /* at */
            ifnull 25
        20: .line 789
            aload 1 /* g2 */
            aload 5 /* pt */
            getfield java.awt.geom.Point2D$Float.x:F
            f2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            dsub
            aload 5 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            f2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            dsub
            invokevirtual java.awt.Graphics2D.translate:(DD)V
        21: .line 790
            aload 1 /* g2 */
            aload 9 /* at */
            invokevirtual java.awt.Graphics2D.transform:(Ljava/awt/geom/AffineTransform;)V
        22: .line 791
            aload 8 /* tlc */
            aload 1 /* g2 */
            fconst_0
            fconst_0
            invokeinterface sun.font.TextLineComponent.draw:(Ljava/awt/Graphics2D;FF)V
        23: .line 792
            aload 1 /* g2 */
            aload 4 /* oldTx */
            invokevirtual java.awt.Graphics2D.setTransform:(Ljava/awt/geom/AffineTransform;)V
        24: .line 793
            goto 26
        25: .line 794
      StackMap locals: sun.font.TextLineComponent java.awt.geom.AffineTransform
      StackMap stack:
            aload 8 /* tlc */
            aload 1 /* g2 */
            aload 5 /* pt */
            getfield java.awt.geom.Point2D$Float.x:F
            aload 5 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            invokeinterface sun.font.TextLineComponent.draw:(Ljava/awt/Graphics2D;FF)V
        end local 9 // java.awt.geom.AffineTransform at
        end local 8 // sun.font.TextLineComponent tlc
        26: .line 781
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
            iinc 7 /* n */ 2
      StackMap locals:
      StackMap stack:
        27: iload 6 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            if_icmplt 14
        end local 7 // int n
        end local 6 // int i
        end local 5 // java.awt.geom.Point2D$Float pt
        end local 4 // java.awt.geom.AffineTransform oldTx
        28: .line 798
      StackMap locals: java.awt.font.TextLine java.awt.Graphics2D float float
      StackMap stack:
            return
        end local 3 // float y
        end local 2 // float x
        end local 1 // java.awt.Graphics2D g2
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   29     0   this  Ljava/awt/font/TextLine;
            0   29     1     g2  Ljava/awt/Graphics2D;
            0   29     2      x  F
            0   29     3      y  F
            2    8     4      i  I
            3    8     5      n  I
            5    6     6    tlc  Lsun/font/TextLineComponent;
           10   28     4  oldTx  Ljava/awt/geom/AffineTransform;
           11   28     5     pt  Ljava/awt/geom/Point2D$Float;
           12   28     6      i  I
           13   28     7      n  I
           15   26     8    tlc  Lsun/font/TextLineComponent;
           19   26     9     at  Ljava/awt/geom/AffineTransform;
    MethodParameters:
      Name  Flags
      g2    
      x     
      y     

  public java.awt.geom.Rectangle2D getVisualBounds();
    descriptor: ()Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=1
        start local 0 // java.awt.font.TextLine this
         0: .line 806
            aconst_null
            astore 1 /* result */
        start local 1 // java.awt.geom.Rectangle2D result
         1: .line 808
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: iconst_0
            istore 3 /* n */
        start local 3 // int n
         3: goto 28
         4: .line 809
      StackMap locals: java.awt.geom.Rectangle2D int int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual java.awt.font.TextLine.getComponentLogicalIndex:(I)I
            aaload
            astore 4 /* tlc */
        start local 4 // sun.font.TextLineComponent tlc
         5: .line 810
            aload 4 /* tlc */
            invokeinterface sun.font.TextLineComponent.getVisualBounds:()Ljava/awt/geom/Rectangle2D;
            astore 5 /* r */
        start local 5 // java.awt.geom.Rectangle2D r
         6: .line 812
            new java.awt.geom.Point2D$Float
            dup
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 3 /* n */
            faload
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 3 /* n */
            iconst_1
            iadd
            faload
            invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
            astore 6 /* pt */
        start local 6 // java.awt.geom.Point2D$Float pt
         7: .line 813
            aload 0 /* this */
            getfield java.awt.font.TextLine.lp:Lsun/font/LayoutPathImpl;
            ifnonnull 12
         8: .line 814
            aload 5 /* r */
            aload 5 /* r */
            invokevirtual java.awt.geom.Rectangle2D.getMinX:()D
            aload 6 /* pt */
            getfield java.awt.geom.Point2D$Float.x:F
            f2d
            dadd
            aload 5 /* r */
            invokevirtual java.awt.geom.Rectangle2D.getMinY:()D
            aload 6 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            f2d
            dadd
         9: .line 815
            aload 5 /* r */
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            aload 5 /* r */
            invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
        10: .line 814
            invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
        11: .line 816
            goto 23
        12: .line 817
      StackMap locals: sun.font.TextLineComponent java.awt.geom.Rectangle2D java.awt.geom.Point2D$Float
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.lp:Lsun/font/LayoutPathImpl;
            aload 6 /* pt */
            iconst_0
            aload 6 /* pt */
            invokevirtual sun.font.LayoutPathImpl.pathToPoint:(Ljava/awt/geom/Point2D;ZLjava/awt/geom/Point2D;)V
        13: .line 819
            aload 4 /* tlc */
            invokeinterface sun.font.TextLineComponent.getBaselineTransform:()Ljava/awt/geom/AffineTransform;
            astore 7 /* at */
        start local 7 // java.awt.geom.AffineTransform at
        14: .line 820
            aload 7 /* at */
            ifnull 20
        15: .line 822
            aload 6 /* pt */
            getfield java.awt.geom.Point2D$Float.x:F
            f2d
            aload 7 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            dsub
            aload 6 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            f2d
            aload 7 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            dsub
        16: .line 821
            invokestatic java.awt.geom.AffineTransform.getTranslateInstance:(DD)Ljava/awt/geom/AffineTransform;
            astore 8 /* tx */
        start local 8 // java.awt.geom.AffineTransform tx
        17: .line 823
            aload 8 /* tx */
            aload 7 /* at */
            invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
        18: .line 824
            aload 8 /* tx */
            aload 5 /* r */
            invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
            invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            astore 5 /* r */
        end local 8 // java.awt.geom.AffineTransform tx
        19: .line 825
            goto 23
        20: .line 826
      StackMap locals: java.awt.geom.AffineTransform
      StackMap stack:
            aload 5 /* r */
            aload 5 /* r */
            invokevirtual java.awt.geom.Rectangle2D.getMinX:()D
            aload 6 /* pt */
            getfield java.awt.geom.Point2D$Float.x:F
            f2d
            dadd
            aload 5 /* r */
            invokevirtual java.awt.geom.Rectangle2D.getMinY:()D
            aload 6 /* pt */
            getfield java.awt.geom.Point2D$Float.y:F
            f2d
            dadd
        21: .line 827
            aload 5 /* r */
            invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
            aload 5 /* r */
            invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
        22: .line 826
            invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
        end local 7 // java.awt.geom.AffineTransform at
        23: .line 831
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            ifnonnull 26
        24: .line 832
            aload 5 /* r */
            astore 1 /* result */
        25: .line 833
            goto 27
        26: .line 834
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            aload 5 /* r */
            invokevirtual java.awt.geom.Rectangle2D.add:(Ljava/awt/geom/Rectangle2D;)V
        end local 6 // java.awt.geom.Point2D$Float pt
        end local 5 // java.awt.geom.Rectangle2D r
        end local 4 // sun.font.TextLineComponent tlc
        27: .line 808
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
            iinc 3 /* n */ 2
      StackMap locals:
      StackMap stack:
        28: iload 2 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            if_icmplt 4
        end local 3 // int n
        end local 2 // int i
        29: .line 838
            aload 1 /* result */
            ifnonnull 31
        30: .line 839
            new java.awt.geom.Rectangle2D$Float
            dup
            ldc 3.4028235E38
            ldc 3.4028235E38
            ldc 1.4E-45
            ldc 1.4E-45
            invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
            astore 1 /* result */
        31: .line 842
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.awt.geom.Rectangle2D result
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   32     0    this  Ljava/awt/font/TextLine;
            1   32     1  result  Ljava/awt/geom/Rectangle2D;
            2   29     2       i  I
            3   29     3       n  I
            5   27     4     tlc  Lsun/font/TextLineComponent;
            6   27     5       r  Ljava/awt/geom/Rectangle2D;
            7   27     6      pt  Ljava/awt/geom/Point2D$Float;
           14   23     7      at  Ljava/awt/geom/AffineTransform;
           17   19     8      tx  Ljava/awt/geom/AffineTransform;

  public java.awt.geom.Rectangle2D getItalicBounds();
    descriptor: ()Ljava/awt/geom/Rectangle2D;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=1
        start local 0 // java.awt.font.TextLine this
         0: .line 847
            ldc 3.4028235E38
            fstore 1 /* left */
        start local 1 // float left
         1: ldc -3.4028235E38
            fstore 2 /* right */
        start local 2 // float right
         2: .line 848
            ldc 3.4028235E38
            fstore 3 /* top */
        start local 3 // float top
         3: ldc -3.4028235E38
            fstore 4 /* bottom */
        start local 4 // float bottom
         4: .line 850
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: iconst_0
            istore 6 /* n */
        start local 6 // int n
         6: goto 16
         7: .line 851
      StackMap locals: java.awt.font.TextLine float float float float int int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            aload 0 /* this */
            iload 5 /* i */
            invokevirtual java.awt.font.TextLine.getComponentLogicalIndex:(I)I
            aaload
            astore 7 /* tlc */
        start local 7 // sun.font.TextLineComponent tlc
         8: .line 853
            aload 7 /* tlc */
            invokeinterface sun.font.TextLineComponent.getItalicBounds:()Ljava/awt/geom/Rectangle2D;
            astore 8 /* tlcBounds */
        start local 8 // java.awt.geom.Rectangle2D tlcBounds
         9: .line 854
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 6 /* n */
            faload
            fstore 9 /* x */
        start local 9 // float x
        10: .line 855
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 6 /* n */
            iconst_1
            iadd
            faload
            fstore 10 /* y */
        start local 10 // float y
        11: .line 857
            fload 1 /* left */
            fload 9 /* x */
            aload 8 /* tlcBounds */
            invokevirtual java.awt.geom.Rectangle2D.getX:()D
            d2f
            fadd
            invokestatic java.lang.Math.min:(FF)F
            fstore 1 /* left */
        12: .line 858
            fload 2 /* right */
            fload 9 /* x */
            aload 8 /* tlcBounds */
            invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
            d2f
            fadd
            invokestatic java.lang.Math.max:(FF)F
            fstore 2 /* right */
        13: .line 860
            fload 3 /* top */
            fload 10 /* y */
            aload 8 /* tlcBounds */
            invokevirtual java.awt.geom.Rectangle2D.getY:()D
            d2f
            fadd
            invokestatic java.lang.Math.min:(FF)F
            fstore 3 /* top */
        14: .line 861
            fload 4 /* bottom */
            fload 10 /* y */
            aload 8 /* tlcBounds */
            invokevirtual java.awt.geom.Rectangle2D.getMaxY:()D
            d2f
            fadd
            invokestatic java.lang.Math.max:(FF)F
            fstore 4 /* bottom */
        end local 10 // float y
        end local 9 // float x
        end local 8 // java.awt.geom.Rectangle2D tlcBounds
        end local 7 // sun.font.TextLineComponent tlc
        15: .line 850
            iinc 5 /* i */ 1
            iinc 6 /* n */ 2
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            if_icmplt 7
        end local 6 // int n
        end local 5 // int i
        17: .line 864
            new java.awt.geom.Rectangle2D$Float
            dup
            fload 1 /* left */
            fload 3 /* top */
            fload 2 /* right */
            fload 1 /* left */
            fsub
            fload 4 /* bottom */
            fload 3 /* top */
            fsub
            invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
            areturn
        end local 4 // float bottom
        end local 3 // float top
        end local 2 // float right
        end local 1 // float left
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Ljava/awt/font/TextLine;
            1   18     1       left  F
            2   18     2      right  F
            3   18     3        top  F
            4   18     4     bottom  F
            5   17     5          i  I
            6   17     6          n  I
            8   15     7        tlc  Lsun/font/TextLineComponent;
            9   15     8  tlcBounds  Ljava/awt/geom/Rectangle2D;
           10   15     9          x  F
           11   15    10          y  F

  public java.awt.Shape getOutline(java.awt.geom.AffineTransform);
    descriptor: (Ljava/awt/geom/AffineTransform;)Ljava/awt/Shape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // java.awt.font.TextLine this
        start local 1 // java.awt.geom.AffineTransform tx
         0: .line 869
            new java.awt.geom.GeneralPath
            dup
            iconst_1
            invokespecial java.awt.geom.GeneralPath.<init>:(I)V
            astore 2 /* dstShape */
        start local 2 // java.awt.geom.GeneralPath dstShape
         1: .line 871
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: iconst_0
            istore 4 /* n */
        start local 4 // int n
         3: goto 7
         4: .line 872
      StackMap locals: java.awt.geom.GeneralPath int int
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual java.awt.font.TextLine.getComponentLogicalIndex:(I)I
            aaload
            astore 5 /* tlc */
        start local 5 // sun.font.TextLineComponent tlc
         5: .line 874
            aload 2 /* dstShape */
            aload 5 /* tlc */
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 4 /* n */
            faload
            aload 0 /* this */
            getfield java.awt.font.TextLine.locs:[F
            iload 4 /* n */
            iconst_1
            iadd
            faload
            invokeinterface sun.font.TextLineComponent.getOutline:(FF)Ljava/awt/Shape;
            iconst_0
            invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
        end local 5 // sun.font.TextLineComponent tlc
         6: .line 871
            iinc 3 /* i */ 1
            iinc 4 /* n */ 2
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            if_icmplt 4
        end local 4 // int n
        end local 3 // int i
         8: .line 877
            aload 1 /* tx */
            ifnull 10
         9: .line 878
            aload 2 /* dstShape */
            aload 1 /* tx */
            invokevirtual java.awt.geom.GeneralPath.transform:(Ljava/awt/geom/AffineTransform;)V
        10: .line 880
      StackMap locals:
      StackMap stack:
            aload 2 /* dstShape */
            areturn
        end local 2 // java.awt.geom.GeneralPath dstShape
        end local 1 // java.awt.geom.AffineTransform tx
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Ljava/awt/font/TextLine;
            0   11     1        tx  Ljava/awt/geom/AffineTransform;
            1   11     2  dstShape  Ljava/awt/geom/GeneralPath;
            2    8     3         i  I
            3    8     4         n  I
            5    6     5       tlc  Lsun/font/TextLineComponent;
    MethodParameters:
      Name  Flags
      tx    

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.awt.font.TextLine this
         0: .line 884
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            bipush 16
            ishl
         1: .line 885
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            iconst_0
            aaload
            invokevirtual java.lang.Object.hashCode:()I
            iconst_3
            ishl
         2: .line 884
            ixor
         3: .line 885
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharsLimit:I
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharsStart:I
            isub
         4: .line 884
            ixor
            ireturn
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/awt/font/TextLine;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.awt.font.TextLine this
         0: .line 889
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 891
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 892
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* buf */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         4: .line 891
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 895
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/awt/font/TextLine;
            1    7     1   buf  Ljava/lang/StringBuilder;
            2    6     2     i  I

  public static java.awt.font.TextLine fastCreateTextLine(java.awt.font.FontRenderContext, char[], java.awt.Font, sun.font.CoreMetrics, java.util.Map<? extends java.text.AttributedCharacterIterator$Attribute, ?>);
    descriptor: (Ljava/awt/font/FontRenderContext;[CLjava/awt/Font;Lsun/font/CoreMetrics;Ljava/util/Map;)Ljava/awt/font/TextLine;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=19, args_size=5
        start local 0 // java.awt.font.FontRenderContext frc
        start local 1 // char[] chars
        start local 2 // java.awt.Font font
        start local 3 // sun.font.CoreMetrics lm
        start local 4 // java.util.Map attributes
         0: .line 910
            iconst_1
            istore 5 /* isDirectionLTR */
        start local 5 // boolean isDirectionLTR
         1: .line 911
            aconst_null
            astore 6 /* levels */
        start local 6 // byte[] levels
         2: .line 912
            aconst_null
            astore 7 /* charsLtoV */
        start local 7 // int[] charsLtoV
         3: .line 913
            aconst_null
            astore 8 /* bidi */
        start local 8 // java.text.Bidi bidi
         4: .line 914
            aload 1 /* chars */
            arraylength
            istore 9 /* characterCount */
        start local 9 // int characterCount
         5: .line 916
            iconst_0
            istore 10 /* requiresBidi */
        start local 10 // boolean requiresBidi
         6: .line 917
            aconst_null
            astore 11 /* embs */
        start local 11 // byte[] embs
         7: .line 919
            aconst_null
            astore 12 /* values */
        start local 12 // sun.font.AttributeValues values
         8: .line 920
            aload 4 /* attributes */
            ifnull 26
         9: .line 921
            aload 4 /* attributes */
            invokestatic sun.font.AttributeValues.fromMap:(Ljava/util/Map;)Lsun/font/AttributeValues;
            astore 12 /* values */
        10: .line 922
            aload 12 /* values */
            invokevirtual sun.font.AttributeValues.getRunDirection:()I
            iflt 17
        11: .line 923
            aload 12 /* values */
            invokevirtual sun.font.AttributeValues.getRunDirection:()I
            ifne 12
            iconst_1
            goto 13
      StackMap locals: java.awt.font.FontRenderContext char[] java.awt.Font sun.font.CoreMetrics java.util.Map int byte[] int[] java.text.Bidi int int byte[] sun.font.AttributeValues
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 5 /* isDirectionLTR */
        14: .line 924
            iload 5 /* isDirectionLTR */
            ifeq 15
            iconst_0
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_1
      StackMap locals:
      StackMap stack: int
        16: istore 10 /* requiresBidi */
        17: .line 926
      StackMap locals:
      StackMap stack:
            aload 12 /* values */
            invokevirtual sun.font.AttributeValues.getBidiEmbedding:()I
            ifeq 26
        18: .line 927
            iconst_1
            istore 10 /* requiresBidi */
        19: .line 928
            aload 12 /* values */
            invokevirtual sun.font.AttributeValues.getBidiEmbedding:()I
            i2b
            istore 13 /* level */
        start local 13 // byte level
        20: .line 929
            iload 9 /* characterCount */
            newarray 8
            astore 11 /* embs */
        21: .line 930
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        22: goto 25
        23: .line 931
      StackMap locals: int int
      StackMap stack:
            aload 11 /* embs */
            iload 14 /* i */
            iload 13 /* level */
            bastore
        24: .line 930
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 14 /* i */
            aload 11 /* embs */
            arraylength
            if_icmplt 23
        end local 14 // int i
        end local 13 // byte level
        26: .line 938
      StackMap locals:
      StackMap stack:
            iload 10 /* requiresBidi */
            ifne 28
        27: .line 939
            aload 1 /* chars */
            iconst_0
            aload 1 /* chars */
            arraylength
            invokestatic java.text.Bidi.requiresBidi:([CII)Z
            istore 10 /* requiresBidi */
        28: .line 942
      StackMap locals:
      StackMap stack:
            iload 10 /* requiresBidi */
            ifeq 39
        29: .line 943
            aload 12 /* values */
            ifnonnull 31
        30: .line 944
            bipush -2
            goto 32
        31: .line 945
      StackMap locals:
      StackMap stack:
            aload 12 /* values */
            invokevirtual sun.font.AttributeValues.getRunDirection:()I
        32: .line 943
      StackMap locals:
      StackMap stack: int
            istore 13 /* bidiflags */
        start local 13 // int bidiflags
        33: .line 947
            new java.text.Bidi
            dup
            aload 1 /* chars */
            iconst_0
            aload 11 /* embs */
            iconst_0
            aload 1 /* chars */
            arraylength
            iload 13 /* bidiflags */
            invokespecial java.text.Bidi.<init>:([CI[BIII)V
            astore 8 /* bidi */
        34: .line 948
            aload 8 /* bidi */
            invokevirtual java.text.Bidi.isLeftToRight:()Z
            ifne 39
        35: .line 949
            aload 8 /* bidi */
            invokestatic sun.font.BidiUtils.getLevels:(Ljava/text/Bidi;)[B
            astore 6 /* levels */
        36: .line 950
            aload 6 /* levels */
            invokestatic sun.font.BidiUtils.createVisualToLogicalMap:([B)[I
            astore 14 /* charsVtoL */
        start local 14 // int[] charsVtoL
        37: .line 951
            aload 14 /* charsVtoL */
            invokestatic sun.font.BidiUtils.createInverseMap:([I)[I
            astore 7 /* charsLtoV */
        38: .line 952
            aload 8 /* bidi */
            invokevirtual java.text.Bidi.baseIsLeftToRight:()Z
            istore 5 /* isDirectionLTR */
        end local 14 // int[] charsVtoL
        end local 13 // int bidiflags
        39: .line 956
      StackMap locals:
      StackMap stack:
            aload 12 /* values */
            invokestatic sun.font.Decoration.getDecoration:(Lsun/font/AttributeValues;)Lsun/font/Decoration;
            astore 13 /* decorator */
        start local 13 // sun.font.Decoration decorator
        40: .line 958
            iconst_0
            istore 14 /* layoutFlags */
        start local 14 // int layoutFlags
        41: .line 959
            new sun.font.TextLabelFactory
            dup
            aload 0 /* frc */
            aload 1 /* chars */
            aload 8 /* bidi */
            iload 14 /* layoutFlags */
            invokespecial sun.font.TextLabelFactory.<init>:(Ljava/awt/font/FontRenderContext;[CLjava/text/Bidi;I)V
            astore 15 /* factory */
        start local 15 // sun.font.TextLabelFactory factory
        42: .line 961
            iconst_1
            anewarray sun.font.TextLineComponent
            astore 16 /* components */
        start local 16 // sun.font.TextLineComponent[] components
        43: .line 963
            iconst_0
            aload 1 /* chars */
            arraylength
        44: .line 964
            aload 1 /* chars */
        45: .line 965
            aload 7 /* charsLtoV */
            aload 6 /* levels */
        46: .line 966
            aload 15 /* factory */
            aload 2 /* font */
            aload 3 /* lm */
        47: .line 967
            aload 0 /* frc */
        48: .line 968
            aload 13 /* decorator */
        49: .line 969
            aload 16 /* components */
        50: .line 970
            iconst_0
        51: .line 963
            invokestatic java.awt.font.TextLine.createComponentsOnRun:(II[C[I[BLsun/font/TextLabelFactory;Ljava/awt/Font;Lsun/font/CoreMetrics;Ljava/awt/font/FontRenderContext;Lsun/font/Decoration;[Lsun/font/TextLineComponent;I)[Lsun/font/TextLineComponent;
            astore 16 /* components */
        52: .line 972
            aload 16 /* components */
            arraylength
            istore 17 /* numComponents */
        start local 17 // int numComponents
        53: .line 973
            goto 55
        54: .line 974
      StackMap locals: java.awt.font.FontRenderContext char[] java.awt.Font sun.font.CoreMetrics java.util.Map int byte[] int[] java.text.Bidi int int byte[] sun.font.AttributeValues sun.font.Decoration int sun.font.TextLabelFactory sun.font.TextLineComponent[] int
      StackMap stack:
            iinc 17 /* numComponents */ -1
        55: .line 973
      StackMap locals:
      StackMap stack:
            aload 16 /* components */
            iload 17 /* numComponents */
            iconst_1
            isub
            aaload
            ifnull 54
        56: .line 977
            iload 17 /* numComponents */
            aload 16 /* components */
            arraylength
            if_icmpeq 60
        57: .line 978
            iload 17 /* numComponents */
            anewarray sun.font.TextLineComponent
            astore 18 /* temp */
        start local 18 // sun.font.TextLineComponent[] temp
        58: .line 979
            aload 16 /* components */
            iconst_0
            aload 18 /* temp */
            iconst_0
            iload 17 /* numComponents */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        59: .line 980
            aload 18 /* temp */
            astore 16 /* components */
        end local 18 // sun.font.TextLineComponent[] temp
        60: .line 983
      StackMap locals:
      StackMap stack:
            new java.awt.font.TextLine
            dup
            aload 0 /* frc */
            aload 16 /* components */
            aload 3 /* lm */
            getfield sun.font.CoreMetrics.baselineOffsets:[F
        61: .line 984
            aload 1 /* chars */
            iconst_0
            aload 1 /* chars */
            arraylength
            aload 7 /* charsLtoV */
            aload 6 /* levels */
            iload 5 /* isDirectionLTR */
        62: .line 983
            invokespecial java.awt.font.TextLine.<init>:(Ljava/awt/font/FontRenderContext;[Lsun/font/TextLineComponent;[F[CII[I[BZ)V
            areturn
        end local 17 // int numComponents
        end local 16 // sun.font.TextLineComponent[] components
        end local 15 // sun.font.TextLabelFactory factory
        end local 14 // int layoutFlags
        end local 13 // sun.font.Decoration decorator
        end local 12 // sun.font.AttributeValues values
        end local 11 // byte[] embs
        end local 10 // boolean requiresBidi
        end local 9 // int characterCount
        end local 8 // java.text.Bidi bidi
        end local 7 // int[] charsLtoV
        end local 6 // byte[] levels
        end local 5 // boolean isDirectionLTR
        end local 4 // java.util.Map attributes
        end local 3 // sun.font.CoreMetrics lm
        end local 2 // java.awt.Font font
        end local 1 // char[] chars
        end local 0 // java.awt.font.FontRenderContext frc
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   63     0             frc  Ljava/awt/font/FontRenderContext;
            0   63     1           chars  [C
            0   63     2            font  Ljava/awt/Font;
            0   63     3              lm  Lsun/font/CoreMetrics;
            0   63     4      attributes  Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
            1   63     5  isDirectionLTR  Z
            2   63     6          levels  [B
            3   63     7       charsLtoV  [I
            4   63     8            bidi  Ljava/text/Bidi;
            5   63     9  characterCount  I
            6   63    10    requiresBidi  Z
            7   63    11            embs  [B
            8   63    12          values  Lsun/font/AttributeValues;
           20   26    13           level  B
           22   26    14               i  I
           33   39    13       bidiflags  I
           37   39    14       charsVtoL  [I
           40   63    13       decorator  Lsun/font/Decoration;
           41   63    14     layoutFlags  I
           42   63    15         factory  Lsun/font/TextLabelFactory;
           43   63    16      components  [Lsun/font/TextLineComponent;
           53   63    17   numComponents  I
           58   60    18            temp  [Lsun/font/TextLineComponent;
    Signature: (Ljava/awt/font/FontRenderContext;[CLjava/awt/Font;Lsun/font/CoreMetrics;Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;)Ljava/awt/font/TextLine;
    MethodParameters:
            Name  Flags
      frc         
      chars       
      font        
      lm          
      attributes  

  private static sun.font.TextLineComponent[] expandArray(sun.font.TextLineComponent[]);
    descriptor: ([Lsun/font/TextLineComponent;)[Lsun/font/TextLineComponent;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // sun.font.TextLineComponent[] orig
         0: .line 989
            aload 0 /* orig */
            arraylength
            bipush 8
            iadd
            anewarray sun.font.TextLineComponent
            astore 1 /* newComponents */
        start local 1 // sun.font.TextLineComponent[] newComponents
         1: .line 990
            aload 0 /* orig */
            iconst_0
            aload 1 /* newComponents */
            iconst_0
            aload 0 /* orig */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 992
            aload 1 /* newComponents */
            areturn
        end local 1 // sun.font.TextLineComponent[] newComponents
        end local 0 // sun.font.TextLineComponent[] orig
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           orig  [Lsun/font/TextLineComponent;
            1    3     1  newComponents  [Lsun/font/TextLineComponent;
    MethodParameters:
      Name  Flags
      orig  

  public static sun.font.TextLineComponent[] createComponentsOnRun(int, int, char[], int[], byte[], sun.font.TextLabelFactory, java.awt.Font, sun.font.CoreMetrics, java.awt.font.FontRenderContext, sun.font.Decoration, sun.font.TextLineComponent[], int);
    descriptor: (II[C[I[BLsun/font/TextLabelFactory;Ljava/awt/Font;Lsun/font/CoreMetrics;Ljava/awt/font/FontRenderContext;Lsun/font/Decoration;[Lsun/font/TextLineComponent;I)[Lsun/font/TextLineComponent;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=17, args_size=12
        start local 0 // int runStart
        start local 1 // int runLimit
        start local 2 // char[] chars
        start local 3 // int[] charsLtoV
        start local 4 // byte[] levels
        start local 5 // sun.font.TextLabelFactory factory
        start local 6 // java.awt.Font font
        start local 7 // sun.font.CoreMetrics cm
        start local 8 // java.awt.font.FontRenderContext frc
        start local 9 // sun.font.Decoration decorator
        start local 10 // sun.font.TextLineComponent[] components
        start local 11 // int numComponents
         0: .line 1012
            iload 0 /* runStart */
            istore 12 /* pos */
        start local 12 // int pos
         1: .line 1014
      StackMap locals: int
      StackMap stack:
            aload 3 /* charsLtoV */
            aload 4 /* levels */
            iload 12 /* pos */
            iload 1 /* runLimit */
            invokestatic java.awt.font.TextLine.firstVisualChunk:([I[BII)I
            istore 13 /* chunkLimit */
        start local 13 // int chunkLimit
         2: .line 1017
      StackMap locals: int
      StackMap stack:
            iload 12 /* pos */
            istore 14 /* startPos */
        start local 14 // int startPos
         3: .line 1020
            aload 7 /* cm */
            ifnonnull 8
         4: .line 1021
            aload 6 /* font */
            aload 2 /* chars */
            iload 14 /* startPos */
            iload 13 /* chunkLimit */
            aload 8 /* frc */
            invokevirtual java.awt.Font.getLineMetrics:([CIILjava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
            astore 16 /* lineMetrics */
        start local 16 // java.awt.font.LineMetrics lineMetrics
         5: .line 1022
            aload 16 /* lineMetrics */
            invokestatic sun.font.CoreMetrics.get:(Ljava/awt/font/LineMetrics;)Lsun/font/CoreMetrics;
            astore 7 /* cm */
         6: .line 1023
            aload 16 /* lineMetrics */
            invokevirtual java.awt.font.LineMetrics.getNumChars:()I
            istore 15 /* lmCount */
        end local 16 // java.awt.font.LineMetrics lineMetrics
        start local 15 // int lmCount
         7: .line 1024
            goto 9
        end local 15 // int lmCount
         8: .line 1026
      StackMap locals: int
      StackMap stack:
            iload 13 /* chunkLimit */
            iload 14 /* startPos */
            isub
            istore 15 /* lmCount */
        start local 15 // int lmCount
         9: .line 1030
      StackMap locals: int
      StackMap stack:
            aload 5 /* factory */
            aload 6 /* font */
            aload 7 /* cm */
            aload 9 /* decorator */
            iload 14 /* startPos */
            iload 14 /* startPos */
            iload 15 /* lmCount */
            iadd
            invokevirtual sun.font.TextLabelFactory.createExtended:(Ljava/awt/Font;Lsun/font/CoreMetrics;Lsun/font/Decoration;II)Lsun/font/ExtendedTextLabel;
        10: .line 1029
            astore 16 /* nextComponent */
        start local 16 // sun.font.TextLineComponent nextComponent
        11: .line 1032
            iinc 11 /* numComponents */ 1
        12: .line 1033
            iload 11 /* numComponents */
            aload 10 /* components */
            arraylength
            if_icmplt 14
        13: .line 1034
            aload 10 /* components */
            invokestatic java.awt.font.TextLine.expandArray:([Lsun/font/TextLineComponent;)[Lsun/font/TextLineComponent;
            astore 10 /* components */
        14: .line 1037
      StackMap locals: sun.font.TextLineComponent
      StackMap stack:
            aload 10 /* components */
            iload 11 /* numComponents */
            iconst_1
            isub
            aload 16 /* nextComponent */
            aastore
        15: .line 1039
            iload 12 /* pos */
            iload 15 /* lmCount */
            iadd
            istore 12 /* pos */
        end local 16 // sun.font.TextLineComponent nextComponent
        end local 15 // int lmCount
        end local 14 // int startPos
        16: .line 1040
            iload 12 /* pos */
            iload 13 /* chunkLimit */
        17: .line 1016
            if_icmplt 2
        end local 13 // int chunkLimit
        18: .line 1042
            iload 12 /* pos */
            iload 1 /* runLimit */
        19: .line 1013
            if_icmplt 1
        20: .line 1044
            aload 10 /* components */
            areturn
        end local 12 // int pos
        end local 11 // int numComponents
        end local 10 // sun.font.TextLineComponent[] components
        end local 9 // sun.font.Decoration decorator
        end local 8 // java.awt.font.FontRenderContext frc
        end local 7 // sun.font.CoreMetrics cm
        end local 6 // java.awt.Font font
        end local 5 // sun.font.TextLabelFactory factory
        end local 4 // byte[] levels
        end local 3 // int[] charsLtoV
        end local 2 // char[] chars
        end local 1 // int runLimit
        end local 0 // int runStart
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0       runStart  I
            0   21     1       runLimit  I
            0   21     2          chars  [C
            0   21     3      charsLtoV  [I
            0   21     4         levels  [B
            0   21     5        factory  Lsun/font/TextLabelFactory;
            0   21     6           font  Ljava/awt/Font;
            0   21     7             cm  Lsun/font/CoreMetrics;
            0   21     8            frc  Ljava/awt/font/FontRenderContext;
            0   21     9      decorator  Lsun/font/Decoration;
            0   21    10     components  [Lsun/font/TextLineComponent;
            0   21    11  numComponents  I
            1   21    12            pos  I
            2   18    13     chunkLimit  I
            3   16    14       startPos  I
            7    8    15        lmCount  I
            9   16    15        lmCount  I
            5    7    16    lineMetrics  Ljava/awt/font/LineMetrics;
           11   16    16  nextComponent  Lsun/font/TextLineComponent;
    MethodParameters:
               Name  Flags
      runStart       
      runLimit       
      chars          
      charsLtoV      
      levels         
      factory        
      font           
      cm             
      frc            
      decorator      
      components     
      numComponents  

  public static sun.font.TextLineComponent[] getComponents(java.awt.font.StyledParagraph, char[], int, int, int[], byte[], sun.font.TextLabelFactory);
    descriptor: (Ljava/awt/font/StyledParagraph;[CII[I[BLsun/font/TextLabelFactory;)[Lsun/font/TextLineComponent;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=18, args_size=7
        start local 0 // java.awt.font.StyledParagraph styledParagraph
        start local 1 // char[] chars
        start local 2 // int textStart
        start local 3 // int textLimit
        start local 4 // int[] charsLtoV
        start local 5 // byte[] levels
        start local 6 // sun.font.TextLabelFactory factory
         0: .line 1059
            aload 6 /* factory */
            invokevirtual sun.font.TextLabelFactory.getFontRenderContext:()Ljava/awt/font/FontRenderContext;
            astore 7 /* frc */
        start local 7 // java.awt.font.FontRenderContext frc
         1: .line 1061
            iconst_0
            istore 8 /* numComponents */
        start local 8 // int numComponents
         2: .line 1062
            iconst_1
            anewarray sun.font.TextLineComponent
            astore 9 /* tempComponents */
        start local 9 // sun.font.TextLineComponent[] tempComponents
         3: .line 1064
            iload 2 /* textStart */
            istore 10 /* pos */
        start local 10 // int pos
         4: .line 1066
      StackMap locals: java.awt.font.StyledParagraph char[] int int int[] byte[] sun.font.TextLabelFactory java.awt.font.FontRenderContext int sun.font.TextLineComponent[] int
      StackMap stack:
            aload 0 /* styledParagraph */
            iload 10 /* pos */
            invokevirtual java.awt.font.StyledParagraph.getRunLimit:(I)I
            iload 3 /* textLimit */
            invokestatic java.lang.Math.min:(II)I
            istore 11 /* runLimit */
        start local 11 // int runLimit
         5: .line 1068
            aload 0 /* styledParagraph */
            iload 10 /* pos */
            invokevirtual java.awt.font.StyledParagraph.getDecorationAt:(I)Lsun/font/Decoration;
            astore 12 /* decorator */
        start local 12 // sun.font.Decoration decorator
         6: .line 1070
            aload 0 /* styledParagraph */
            iload 10 /* pos */
            invokevirtual java.awt.font.StyledParagraph.getFontOrGraphicAt:(I)Ljava/lang/Object;
            astore 13 /* graphicOrFont */
        start local 13 // java.lang.Object graphicOrFont
         7: .line 1072
            aload 13 /* graphicOrFont */
            instanceof java.awt.font.GraphicAttribute
            ifeq 23
         8: .line 1077
            aconst_null
            astore 14 /* baseRot */
        start local 14 // java.awt.geom.AffineTransform baseRot
         9: .line 1078
            aload 13 /* graphicOrFont */
            checkcast java.awt.font.GraphicAttribute
            astore 15 /* graphicAttribute */
        start local 15 // java.awt.font.GraphicAttribute graphicAttribute
        10: .line 1080
      StackMap locals: java.awt.font.StyledParagraph char[] int int int[] byte[] sun.font.TextLabelFactory java.awt.font.FontRenderContext int sun.font.TextLineComponent[] int int sun.font.Decoration java.lang.Object java.awt.geom.AffineTransform java.awt.font.GraphicAttribute
      StackMap stack:
            aload 4 /* charsLtoV */
            aload 5 /* levels */
        11: .line 1081
            iload 10 /* pos */
            iload 11 /* runLimit */
        12: .line 1080
            invokestatic java.awt.font.TextLine.firstVisualChunk:([I[BII)I
            istore 16 /* chunkLimit */
        start local 16 // int chunkLimit
        13: .line 1084
            new sun.font.GraphicComponent
            dup
            aload 15 /* graphicAttribute */
            aload 12 /* decorator */
            aload 4 /* charsLtoV */
            aload 5 /* levels */
            iload 10 /* pos */
            iload 16 /* chunkLimit */
            aload 14 /* baseRot */
            invokespecial sun.font.GraphicComponent.<init>:(Ljava/awt/font/GraphicAttribute;Lsun/font/Decoration;[I[BIILjava/awt/geom/AffineTransform;)V
        14: .line 1083
            astore 17 /* nextGraphic */
        start local 17 // sun.font.GraphicComponent nextGraphic
        15: .line 1085
            iload 16 /* chunkLimit */
            istore 10 /* pos */
        16: .line 1087
            iinc 8 /* numComponents */ 1
        17: .line 1088
            iload 8 /* numComponents */
            aload 9 /* tempComponents */
            arraylength
            if_icmplt 19
        18: .line 1089
            aload 9 /* tempComponents */
            invokestatic java.awt.font.TextLine.expandArray:([Lsun/font/TextLineComponent;)[Lsun/font/TextLineComponent;
            astore 9 /* tempComponents */
        19: .line 1092
      StackMap locals: int sun.font.GraphicComponent
      StackMap stack:
            aload 9 /* tempComponents */
            iload 8 /* numComponents */
            iconst_1
            isub
            aload 17 /* nextGraphic */
            aastore
        end local 17 // sun.font.GraphicComponent nextGraphic
        end local 16 // int chunkLimit
        20: .line 1094
            iload 10 /* pos */
            iload 11 /* runLimit */
        21: .line 1079
            if_icmplt 10
        end local 15 // java.awt.font.GraphicAttribute graphicAttribute
        end local 14 // java.awt.geom.AffineTransform baseRot
        22: .line 1095
            goto 38
        23: .line 1097
      StackMap locals: java.awt.font.StyledParagraph char[] int int int[] byte[] sun.font.TextLabelFactory java.awt.font.FontRenderContext int sun.font.TextLineComponent[] int int sun.font.Decoration java.lang.Object
      StackMap stack:
            aload 13 /* graphicOrFont */
            checkcast java.awt.Font
            astore 14 /* font */
        start local 14 // java.awt.Font font
        24: .line 1099
            iload 10 /* pos */
            iload 11 /* runLimit */
        25: .line 1100
            aload 1 /* chars */
        26: .line 1101
            aload 4 /* charsLtoV */
            aload 5 /* levels */
        27: .line 1102
            aload 6 /* factory */
            aload 14 /* font */
            aconst_null
        28: .line 1103
            aload 7 /* frc */
        29: .line 1104
            aload 12 /* decorator */
        30: .line 1105
            aload 9 /* tempComponents */
        31: .line 1106
            iload 8 /* numComponents */
        32: .line 1099
            invokestatic java.awt.font.TextLine.createComponentsOnRun:(II[C[I[BLsun/font/TextLabelFactory;Ljava/awt/Font;Lsun/font/CoreMetrics;Ljava/awt/font/FontRenderContext;Lsun/font/Decoration;[Lsun/font/TextLineComponent;I)[Lsun/font/TextLineComponent;
            astore 9 /* tempComponents */
        33: .line 1107
            iload 11 /* runLimit */
            istore 10 /* pos */
        34: .line 1108
            aload 9 /* tempComponents */
            arraylength
            istore 8 /* numComponents */
        35: .line 1109
            goto 37
        36: .line 1110
      StackMap locals: java.awt.Font
      StackMap stack:
            iinc 8 /* numComponents */ -1
        37: .line 1109
      StackMap locals:
      StackMap stack:
            aload 9 /* tempComponents */
            iload 8 /* numComponents */
            iconst_1
            isub
            aaload
            ifnull 36
        end local 14 // java.awt.Font font
        end local 13 // java.lang.Object graphicOrFont
        end local 12 // sun.font.Decoration decorator
        end local 11 // int runLimit
        38: .line 1114
      StackMap locals: java.awt.font.StyledParagraph char[] int int int[] byte[] sun.font.TextLabelFactory java.awt.font.FontRenderContext int sun.font.TextLineComponent[] int
      StackMap stack:
            iload 10 /* pos */
            iload 3 /* textLimit */
        39: .line 1065
            if_icmplt 4
        40: .line 1117
            aload 9 /* tempComponents */
            arraylength
            iload 8 /* numComponents */
            if_icmpne 43
        41: .line 1118
            aload 9 /* tempComponents */
            astore 11 /* components */
        start local 11 // sun.font.TextLineComponent[] components
        42: .line 1119
            goto 45
        end local 11 // sun.font.TextLineComponent[] components
        43: .line 1121
      StackMap locals:
      StackMap stack:
            iload 8 /* numComponents */
            anewarray sun.font.TextLineComponent
            astore 11 /* components */
        start local 11 // sun.font.TextLineComponent[] components
        44: .line 1122
            aload 9 /* tempComponents */
            iconst_0
            aload 11 /* components */
            iconst_0
            iload 8 /* numComponents */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        45: .line 1125
      StackMap locals: sun.font.TextLineComponent[]
      StackMap stack:
            aload 11 /* components */
            areturn
        end local 11 // sun.font.TextLineComponent[] components
        end local 10 // int pos
        end local 9 // sun.font.TextLineComponent[] tempComponents
        end local 8 // int numComponents
        end local 7 // java.awt.font.FontRenderContext frc
        end local 6 // sun.font.TextLabelFactory factory
        end local 5 // byte[] levels
        end local 4 // int[] charsLtoV
        end local 3 // int textLimit
        end local 2 // int textStart
        end local 1 // char[] chars
        end local 0 // java.awt.font.StyledParagraph styledParagraph
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   46     0   styledParagraph  Ljava/awt/font/StyledParagraph;
            0   46     1             chars  [C
            0   46     2         textStart  I
            0   46     3         textLimit  I
            0   46     4         charsLtoV  [I
            0   46     5            levels  [B
            0   46     6           factory  Lsun/font/TextLabelFactory;
            1   46     7               frc  Ljava/awt/font/FontRenderContext;
            2   46     8     numComponents  I
            3   46     9    tempComponents  [Lsun/font/TextLineComponent;
            4   46    10               pos  I
            5   38    11          runLimit  I
            6   38    12         decorator  Lsun/font/Decoration;
            7   38    13     graphicOrFont  Ljava/lang/Object;
            9   22    14           baseRot  Ljava/awt/geom/AffineTransform;
           10   22    15  graphicAttribute  Ljava/awt/font/GraphicAttribute;
           13   20    16        chunkLimit  I
           15   20    17       nextGraphic  Lsun/font/GraphicComponent;
           24   38    14              font  Ljava/awt/Font;
           42   43    11        components  [Lsun/font/TextLineComponent;
           44   46    11        components  [Lsun/font/TextLineComponent;
    MethodParameters:
                 Name  Flags
      styledParagraph  
      chars            
      textStart        
      textLimit        
      charsLtoV        
      levels           
      factory          

  public static java.awt.font.TextLine createLineFromText(char[], java.awt.font.StyledParagraph, sun.font.TextLabelFactory, boolean, float[]);
    descriptor: ([CLjava/awt/font/StyledParagraph;Lsun/font/TextLabelFactory;Z[F)Ljava/awt/font/TextLine;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=9, args_size=5
        start local 0 // char[] chars
        start local 1 // java.awt.font.StyledParagraph styledParagraph
        start local 2 // sun.font.TextLabelFactory factory
        start local 3 // boolean isDirectionLTR
        start local 4 // float[] baselineOffsets
         0: .line 1139
            aload 2 /* factory */
            iconst_0
            aload 0 /* chars */
            arraylength
            invokevirtual sun.font.TextLabelFactory.setLineContext:(II)V
         1: .line 1141
            aload 2 /* factory */
            invokevirtual sun.font.TextLabelFactory.getLineBidi:()Ljava/text/Bidi;
            astore 5 /* lineBidi */
        start local 5 // java.text.Bidi lineBidi
         2: .line 1142
            aconst_null
            astore 6 /* charsLtoV */
        start local 6 // int[] charsLtoV
         3: .line 1143
            aconst_null
            astore 7 /* levels */
        start local 7 // byte[] levels
         4: .line 1145
            aload 5 /* lineBidi */
            ifnull 8
         5: .line 1146
            aload 5 /* lineBidi */
            invokestatic sun.font.BidiUtils.getLevels:(Ljava/text/Bidi;)[B
            astore 7 /* levels */
         6: .line 1147
            aload 7 /* levels */
            invokestatic sun.font.BidiUtils.createVisualToLogicalMap:([B)[I
            astore 8 /* charsVtoL */
        start local 8 // int[] charsVtoL
         7: .line 1148
            aload 8 /* charsVtoL */
            invokestatic sun.font.BidiUtils.createInverseMap:([I)[I
            astore 6 /* charsLtoV */
        end local 8 // int[] charsVtoL
         8: .line 1152
      StackMap locals: java.text.Bidi int[] byte[]
      StackMap stack:
            aload 1 /* styledParagraph */
            aload 0 /* chars */
            iconst_0
            aload 0 /* chars */
            arraylength
            aload 6 /* charsLtoV */
            aload 7 /* levels */
            aload 2 /* factory */
            invokestatic java.awt.font.TextLine.getComponents:(Ljava/awt/font/StyledParagraph;[CII[I[BLsun/font/TextLabelFactory;)[Lsun/font/TextLineComponent;
         9: .line 1151
            astore 8 /* components */
        start local 8 // sun.font.TextLineComponent[] components
        10: .line 1154
            new java.awt.font.TextLine
            dup
            aload 2 /* factory */
            invokevirtual sun.font.TextLabelFactory.getFontRenderContext:()Ljava/awt/font/FontRenderContext;
            aload 8 /* components */
            aload 4 /* baselineOffsets */
        11: .line 1155
            aload 0 /* chars */
            iconst_0
            aload 0 /* chars */
            arraylength
            aload 6 /* charsLtoV */
            aload 7 /* levels */
            iload 3 /* isDirectionLTR */
        12: .line 1154
            invokespecial java.awt.font.TextLine.<init>:(Ljava/awt/font/FontRenderContext;[Lsun/font/TextLineComponent;[F[CII[I[BZ)V
            areturn
        end local 8 // sun.font.TextLineComponent[] components
        end local 7 // byte[] levels
        end local 6 // int[] charsLtoV
        end local 5 // java.text.Bidi lineBidi
        end local 4 // float[] baselineOffsets
        end local 3 // boolean isDirectionLTR
        end local 2 // sun.font.TextLabelFactory factory
        end local 1 // java.awt.font.StyledParagraph styledParagraph
        end local 0 // char[] chars
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0            chars  [C
            0   13     1  styledParagraph  Ljava/awt/font/StyledParagraph;
            0   13     2          factory  Lsun/font/TextLabelFactory;
            0   13     3   isDirectionLTR  Z
            0   13     4  baselineOffsets  [F
            2   13     5         lineBidi  Ljava/text/Bidi;
            3   13     6        charsLtoV  [I
            4   13     7           levels  [B
            7    8     8        charsVtoL  [I
           10   13     8       components  [Lsun/font/TextLineComponent;
    MethodParameters:
                 Name  Flags
      chars            
      styledParagraph  
      factory          
      isDirectionLTR   
      baselineOffsets  

  private static int[] computeComponentOrder(sun.font.TextLineComponent[], int[]);
    descriptor: ([Lsun/font/TextLineComponent;[I)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.font.TextLineComponent[] components
        start local 1 // int[] charsLtoV
         0: .line 1174
            aconst_null
            astore 2 /* componentOrder */
        start local 2 // int[] componentOrder
         1: .line 1175
            aload 1 /* charsLtoV */
            ifnull 12
            aload 0 /* components */
            arraylength
            iconst_1
            if_icmple 12
         2: .line 1176
            aload 0 /* components */
            arraylength
            newarray 10
            astore 2 /* componentOrder */
         3: .line 1177
            iconst_0
            istore 3 /* gStart */
        start local 3 // int gStart
         4: .line 1178
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 1179
      StackMap locals: int[] int int
      StackMap stack:
            aload 2 /* componentOrder */
            iload 4 /* i */
            aload 1 /* charsLtoV */
            iload 3 /* gStart */
            iaload
            iastore
         7: .line 1180
            iload 3 /* gStart */
            aload 0 /* components */
            iload 4 /* i */
            aaload
            invokeinterface sun.font.TextLineComponent.getNumCharacters:()I
            iadd
            istore 3 /* gStart */
         8: .line 1178
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 0 /* components */
            arraylength
            if_icmplt 6
        end local 4 // int i
        10: .line 1183
            aload 2 /* componentOrder */
            invokestatic sun.font.BidiUtils.createContiguousOrder:([I)[I
            astore 2 /* componentOrder */
        11: .line 1184
            aload 2 /* componentOrder */
            invokestatic sun.font.BidiUtils.createInverseMap:([I)[I
            astore 2 /* componentOrder */
        end local 3 // int gStart
        12: .line 1186
      StackMap locals:
      StackMap stack:
            aload 2 /* componentOrder */
            areturn
        end local 2 // int[] componentOrder
        end local 1 // int[] charsLtoV
        end local 0 // sun.font.TextLineComponent[] components
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0      components  [Lsun/font/TextLineComponent;
            0   13     1       charsLtoV  [I
            1   13     2  componentOrder  [I
            4   12     3          gStart  I
            5   10     4               i  I
    MethodParameters:
            Name  Flags
      components  
      charsLtoV   

  public static java.awt.font.TextLine standardCreateTextLine(java.awt.font.FontRenderContext, java.text.AttributedCharacterIterator, char[], float[]);
    descriptor: (Ljava/awt/font/FontRenderContext;Ljava/text/AttributedCharacterIterator;[C[F)Ljava/awt/font/TextLine;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // java.awt.font.FontRenderContext frc
        start local 1 // java.text.AttributedCharacterIterator text
        start local 2 // char[] chars
        start local 3 // float[] baselineOffsets
         0: .line 1198
            new java.awt.font.StyledParagraph
            dup
            aload 1 /* text */
            aload 2 /* chars */
            invokespecial java.awt.font.StyledParagraph.<init>:(Ljava/text/AttributedCharacterIterator;[C)V
            astore 4 /* styledParagraph */
        start local 4 // java.awt.font.StyledParagraph styledParagraph
         1: .line 1199
            new java.text.Bidi
            dup
            aload 1 /* text */
            invokespecial java.text.Bidi.<init>:(Ljava/text/AttributedCharacterIterator;)V
            astore 5 /* bidi */
        start local 5 // java.text.Bidi bidi
         2: .line 1200
            aload 5 /* bidi */
            invokevirtual java.text.Bidi.isLeftToRight:()Z
            ifeq 4
         3: .line 1201
            aconst_null
            astore 5 /* bidi */
         4: .line 1203
      StackMap locals: java.awt.font.StyledParagraph java.text.Bidi
      StackMap stack:
            iconst_0
            istore 6 /* layoutFlags */
        start local 6 // int layoutFlags
         5: .line 1204
            new sun.font.TextLabelFactory
            dup
            aload 0 /* frc */
            aload 2 /* chars */
            aload 5 /* bidi */
            iload 6 /* layoutFlags */
            invokespecial sun.font.TextLabelFactory.<init>:(Ljava/awt/font/FontRenderContext;[CLjava/text/Bidi;I)V
            astore 7 /* factory */
        start local 7 // sun.font.TextLabelFactory factory
         6: .line 1206
            iconst_1
            istore 8 /* isDirectionLTR */
        start local 8 // boolean isDirectionLTR
         7: .line 1207
            aload 5 /* bidi */
            ifnull 9
         8: .line 1208
            aload 5 /* bidi */
            invokevirtual java.text.Bidi.baseIsLeftToRight:()Z
            istore 8 /* isDirectionLTR */
         9: .line 1210
      StackMap locals: int sun.font.TextLabelFactory int
      StackMap stack:
            aload 2 /* chars */
            aload 4 /* styledParagraph */
            aload 7 /* factory */
            iload 8 /* isDirectionLTR */
            aload 3 /* baselineOffsets */
            invokestatic java.awt.font.TextLine.createLineFromText:([CLjava/awt/font/StyledParagraph;Lsun/font/TextLabelFactory;Z[F)Ljava/awt/font/TextLine;
            areturn
        end local 8 // boolean isDirectionLTR
        end local 7 // sun.font.TextLabelFactory factory
        end local 6 // int layoutFlags
        end local 5 // java.text.Bidi bidi
        end local 4 // java.awt.font.StyledParagraph styledParagraph
        end local 3 // float[] baselineOffsets
        end local 2 // char[] chars
        end local 1 // java.text.AttributedCharacterIterator text
        end local 0 // java.awt.font.FontRenderContext frc
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0              frc  Ljava/awt/font/FontRenderContext;
            0   10     1             text  Ljava/text/AttributedCharacterIterator;
            0   10     2            chars  [C
            0   10     3  baselineOffsets  [F
            1   10     4  styledParagraph  Ljava/awt/font/StyledParagraph;
            2   10     5             bidi  Ljava/text/Bidi;
            5   10     6      layoutFlags  I
            6   10     7          factory  Lsun/font/TextLabelFactory;
            7   10     8   isDirectionLTR  Z
    MethodParameters:
                 Name  Flags
      frc              
      text             
      chars            
      baselineOffsets  

  static boolean advanceToFirstFont(java.text.AttributedCharacterIterator);
    descriptor: (Ljava/text/AttributedCharacterIterator;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.text.AttributedCharacterIterator aci
         0: .line 1255
            aload 0 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            istore 1 /* ch */
        start local 1 // char ch
         1: .line 1256
            goto 5
         2: .line 1260
      StackMap locals: int
      StackMap stack:
            aload 0 /* aci */
            getstatic java.awt.font.TextAttribute.CHAR_REPLACEMENT:Ljava/awt/font/TextAttribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            ifnonnull 4
         3: .line 1261
            iconst_1
            ireturn
         4: .line 1257
      StackMap locals:
      StackMap stack:
            aload 0 /* aci */
            aload 0 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getRunLimit:()I
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            istore 1 /* ch */
         5: .line 1256
      StackMap locals:
      StackMap stack:
            iload 1 /* ch */
            ldc 65535
            if_icmpne 2
        end local 1 // char ch
         6: .line 1265
            iconst_0
            ireturn
        end local 0 // java.text.AttributedCharacterIterator aci
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   aci  Ljava/text/AttributedCharacterIterator;
            1    6     1    ch  C
    MethodParameters:
      Name  Flags
      aci   

  static float[] getNormalizedOffsets(float[], byte);
    descriptor: ([FB)[F
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // float[] baselineOffsets
        start local 1 // byte baseline
         0: .line 1270
            aload 0 /* baselineOffsets */
            iload 1 /* baseline */
            faload
            fconst_0
            fcmpl
            ifeq 9
         1: .line 1271
            aload 0 /* baselineOffsets */
            iload 1 /* baseline */
            faload
            fstore 2 /* base */
        start local 2 // float base
         2: .line 1272
            aload 0 /* baselineOffsets */
            arraylength
            newarray 6
            astore 3 /* temp */
        start local 3 // float[] temp
         3: .line 1273
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 1274
      StackMap locals: float float[] int
      StackMap stack:
            aload 3 /* temp */
            iload 4 /* i */
            aload 0 /* baselineOffsets */
            iload 4 /* i */
            faload
            fload 2 /* base */
            fsub
            fastore
         6: .line 1273
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 3 /* temp */
            arraylength
            if_icmplt 5
        end local 4 // int i
         8: .line 1275
            aload 3 /* temp */
            astore 0 /* baselineOffsets */
        end local 3 // float[] temp
        end local 2 // float base
         9: .line 1277
      StackMap locals:
      StackMap stack:
            aload 0 /* baselineOffsets */
            areturn
        end local 1 // byte baseline
        end local 0 // float[] baselineOffsets
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0  baselineOffsets  [F
            0   10     1         baseline  B
            2    9     2             base  F
            3    9     3             temp  [F
            4    8     4                i  I
    MethodParameters:
                 Name  Flags
      baselineOffsets  
      baseline         

  static java.awt.Font getFontAtCurrentPos(java.text.AttributedCharacterIterator);
    descriptor: (Ljava/text/AttributedCharacterIterator;)Ljava/awt/Font;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.text.AttributedCharacterIterator aci
         0: .line 1282
            aload 0 /* aci */
            getstatic java.awt.font.TextAttribute.FONT:Ljava/awt/font/TextAttribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            astore 1 /* value */
        start local 1 // java.lang.Object value
         1: .line 1283
            aload 1 /* value */
            ifnull 3
         2: .line 1284
            aload 1 /* value */
            checkcast java.awt.Font
            areturn
         3: .line 1286
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* aci */
            getstatic java.awt.font.TextAttribute.FAMILY:Ljava/awt/font/TextAttribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            ifnull 5
         4: .line 1287
            aload 0 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getAttributes:()Ljava/util/Map;
            invokestatic java.awt.Font.getFont:(Ljava/util/Map;)Ljava/awt/Font;
            areturn
         5: .line 1290
      StackMap locals:
      StackMap stack:
            aload 0 /* aci */
            invokestatic sun.text.CodePointIterator.create:(Ljava/text/CharacterIterator;)Lsun/text/CodePointIterator;
            invokevirtual sun.text.CodePointIterator.next:()I
            istore 2 /* ch */
        start local 2 // int ch
         6: .line 1291
            iload 2 /* ch */
            iconst_m1
            if_icmpeq 9
         7: .line 1292
            invokestatic sun.font.FontResolver.getInstance:()Lsun/font/FontResolver;
            astore 3 /* resolver */
        start local 3 // sun.font.FontResolver resolver
         8: .line 1293
            aload 3 /* resolver */
            aload 3 /* resolver */
            iload 2 /* ch */
            invokevirtual sun.font.FontResolver.getFontIndex:(I)I
            aload 0 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getAttributes:()Ljava/util/Map;
            invokevirtual sun.font.FontResolver.getFont:(ILjava/util/Map;)Ljava/awt/Font;
            areturn
        end local 3 // sun.font.FontResolver resolver
         9: .line 1295
      StackMap locals: int
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int ch
        end local 1 // java.lang.Object value
        end local 0 // java.text.AttributedCharacterIterator aci
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0       aci  Ljava/text/AttributedCharacterIterator;
            1   10     1     value  Ljava/lang/Object;
            6   10     2        ch  I
            8    9     3  resolver  Lsun/font/FontResolver;
    MethodParameters:
      Name  Flags
      aci   

  private static int firstVisualChunk(int[], byte[], int, int);
    descriptor: ([I[BII)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // int[] order
        start local 1 // byte[] direction
        start local 2 // int start
        start local 3 // int limit
         0: .line 1304
            aload 0 /* order */
            ifnull 4
            aload 1 /* direction */
            ifnull 4
         1: .line 1305
            aload 1 /* direction */
            iload 2 /* start */
            baload
            istore 4 /* dir */
        start local 4 // byte dir
         2: .line 1306
      StackMap locals: int
      StackMap stack:
            iinc 2 /* start */ 1
            iload 2 /* start */
            iload 3 /* limit */
            if_icmpge 3
            aload 1 /* direction */
            iload 2 /* start */
            baload
            iload 4 /* dir */
            if_icmpeq 2
         3: .line 1307
      StackMap locals:
      StackMap stack:
            iload 2 /* start */
            ireturn
        end local 4 // byte dir
         4: .line 1309
      StackMap locals:
      StackMap stack:
            iload 3 /* limit */
            ireturn
        end local 3 // int limit
        end local 2 // int start
        end local 1 // byte[] direction
        end local 0 // int[] order
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0      order  [I
            0    5     1  direction  [B
            0    5     2      start  I
            0    5     3      limit  I
            2    4     4        dir  B
    MethodParameters:
           Name  Flags
      order      
      direction  
      start      
      limit      

  public java.awt.font.TextLine getJustifiedLine(float, float, int, int);
    descriptor: (FFII)Ljava/awt/font/TextLine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=23, args_size=5
        start local 0 // java.awt.font.TextLine this
        start local 1 // float justificationWidth
        start local 2 // float justifyRatio
        start local 3 // int justStart
        start local 4 // int justLimit
         0: .line 1318
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            anewarray sun.font.TextLineComponent
            astore 5 /* newComponents */
        start local 5 // sun.font.TextLineComponent[] newComponents
         1: .line 1319
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            iconst_0
            aload 5 /* newComponents */
            iconst_0
            aload 0 /* this */
            getfield java.awt.font.TextLine.fComponents:[Lsun/font/TextLineComponent;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 1323
            fconst_0
            fstore 6 /* justifyDelta */
        start local 6 // float justifyDelta
         3: .line 1324
            iconst_0
            istore 7 /* rejustify */
        start local 7 // boolean rejustify
         4: .line 1326
      StackMap locals: sun.font.TextLineComponent[] float int
      StackMap stack:
            aload 5 /* newComponents */
            iconst_0
            aload 0 /* this */
            invokevirtual java.awt.font.TextLine.characterCount:()I
            invokestatic java.awt.font.TextLine.getAdvanceBetween:([Lsun/font/TextLineComponent;II)F
            pop
         5: .line 1331
            aload 5 /* newComponents */
            iload 3 /* justStart */
            iload 4 /* justLimit */
            invokestatic java.awt.font.TextLine.getAdvanceBetween:([Lsun/font/TextLineComponent;II)F
            fstore 8 /* justifyAdvance */
        start local 8 // float justifyAdvance
         6: .line 1334
            fload 1 /* justificationWidth */
            fload 8 /* justifyAdvance */
            fsub
            fload 2 /* justifyRatio */
            fmul
            fstore 6 /* justifyDelta */
         7: .line 1340
            aload 5 /* newComponents */
            arraylength
            newarray 10
            astore 9 /* infoPositions */
        start local 9 // int[] infoPositions
         8: .line 1341
            iconst_0
            istore 10 /* infoCount */
        start local 10 // int infoCount
         9: .line 1342
            iconst_0
            istore 11 /* visIndex */
        start local 11 // int visIndex
        10: goto 15
        11: .line 1343
      StackMap locals: java.awt.font.TextLine float float int int sun.font.TextLineComponent[] float int float int[] int int
      StackMap stack:
            aload 0 /* this */
            iload 11 /* visIndex */
            invokevirtual java.awt.font.TextLine.getComponentLogicalIndex:(I)I
            istore 12 /* logIndex */
        start local 12 // int logIndex
        12: .line 1344
            aload 9 /* infoPositions */
            iload 12 /* logIndex */
            iload 10 /* infoCount */
            iastore
        13: .line 1345
            iload 10 /* infoCount */
            aload 5 /* newComponents */
            iload 12 /* logIndex */
            aaload
            invokeinterface sun.font.TextLineComponent.getNumJustificationInfos:()I
            iadd
            istore 10 /* infoCount */
        end local 12 // int logIndex
        14: .line 1342
            iinc 11 /* visIndex */ 1
      StackMap locals:
      StackMap stack:
        15: iload 11 /* visIndex */
            aload 5 /* newComponents */
            arraylength
            if_icmplt 11
        end local 11 // int visIndex
        16: .line 1347
            iload 10 /* infoCount */
            anewarray java.awt.font.GlyphJustificationInfo
            astore 11 /* infos */
        start local 11 // java.awt.font.GlyphJustificationInfo[] infos
        17: .line 1350
            iconst_0
            istore 12 /* compStart */
        start local 12 // int compStart
        18: .line 1351
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        19: goto 30
        20: .line 1352
      StackMap locals: java.awt.font.TextLine float float int int sun.font.TextLineComponent[] float int float int[] int java.awt.font.GlyphJustificationInfo[] int int
      StackMap stack:
            aload 5 /* newComponents */
            iload 13 /* i */
            aaload
            astore 14 /* comp */
        start local 14 // sun.font.TextLineComponent comp
        21: .line 1353
            aload 14 /* comp */
            invokeinterface sun.font.TextLineComponent.getNumCharacters:()I
            istore 15 /* compLength */
        start local 15 // int compLength
        22: .line 1354
            iload 12 /* compStart */
            iload 15 /* compLength */
            iadd
            istore 16 /* compLimit */
        start local 16 // int compLimit
        23: .line 1355
            iload 16 /* compLimit */
            iload 3 /* justStart */
            if_icmple 29
        24: .line 1356
            iconst_0
            iload 3 /* justStart */
            iload 12 /* compStart */
            isub
            invokestatic java.lang.Math.max:(II)I
            istore 17 /* rangeMin */
        start local 17 // int rangeMin
        25: .line 1357
            iload 15 /* compLength */
            iload 4 /* justLimit */
            iload 12 /* compStart */
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 18 /* rangeMax */
        start local 18 // int rangeMax
        26: .line 1358
            aload 14 /* comp */
            aload 11 /* infos */
            aload 9 /* infoPositions */
            iload 13 /* i */
            iaload
            iload 17 /* rangeMin */
            iload 18 /* rangeMax */
            invokeinterface sun.font.TextLineComponent.getJustificationInfos:([Ljava/awt/font/GlyphJustificationInfo;III)V
        27: .line 1360
            iload 16 /* compLimit */
            iload 4 /* justLimit */
            if_icmplt 29
        28: .line 1361
            goto 31
        end local 18 // int rangeMax
        end local 17 // int rangeMin
        end local 16 // int compLimit
        end local 15 // int compLength
        end local 14 // sun.font.TextLineComponent comp
        29: .line 1351
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 13 /* i */
            aload 5 /* newComponents */
            arraylength
            if_icmplt 20
        end local 13 // int i
        31: .line 1368
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* infoStart */
        start local 13 // int infoStart
        32: .line 1369
            iload 10 /* infoCount */
            istore 14 /* infoLimit */
        start local 14 // int infoLimit
        33: .line 1370
            goto 35
        34: .line 1371
      StackMap locals: int int
      StackMap stack:
            iinc 13 /* infoStart */ 1
        35: .line 1370
      StackMap locals:
      StackMap stack:
            iload 13 /* infoStart */
            iload 14 /* infoLimit */
            if_icmpge 38
            aload 11 /* infos */
            iload 13 /* infoStart */
            aaload
            ifnull 34
        36: .line 1374
            goto 38
        37: .line 1375
      StackMap locals:
      StackMap stack:
            iinc 14 /* infoLimit */ -1
        38: .line 1374
      StackMap locals:
      StackMap stack:
            iload 14 /* infoLimit */
            iload 13 /* infoStart */
            if_icmple 39
            aload 11 /* infos */
            iload 14 /* infoLimit */
            iconst_1
            isub
            aaload
            ifnull 37
        39: .line 1379
      StackMap locals:
      StackMap stack:
            new java.awt.font.TextJustifier
            dup
            aload 11 /* infos */
            iload 13 /* infoStart */
            iload 14 /* infoLimit */
            invokespecial java.awt.font.TextJustifier.<init>:([Ljava/awt/font/GlyphJustificationInfo;II)V
            astore 15 /* justifier */
        start local 15 // java.awt.font.TextJustifier justifier
        40: .line 1381
            aload 15 /* justifier */
            fload 6 /* justifyDelta */
            invokevirtual java.awt.font.TextJustifier.justify:(F)[F
            astore 16 /* deltas */
        start local 16 // float[] deltas
        41: .line 1384
            iconst_0
            istore 17 /* wantRejustify */
        start local 17 // boolean wantRejustify
        42: .line 1385
            iconst_1
            newarray 4
            astore 18 /* flags */
        start local 18 // boolean[] flags
        43: .line 1388
            iconst_0
            istore 12 /* compStart */
        44: .line 1389
            iconst_0
            istore 19 /* i */
        start local 19 // int i
        45: goto 57
        46: .line 1390
      StackMap locals: java.awt.font.TextLine float float int int sun.font.TextLineComponent[] float int float int[] int java.awt.font.GlyphJustificationInfo[] int int int java.awt.font.TextJustifier float[] int boolean[] int
      StackMap stack:
            aload 5 /* newComponents */
            iload 19 /* i */
            aaload
            astore 20 /* comp */
        start local 20 // sun.font.TextLineComponent comp
        47: .line 1391
            aload 20 /* comp */
            invokeinterface sun.font.TextLineComponent.getNumCharacters:()I
            istore 21 /* compLength */
        start local 21 // int compLength
        48: .line 1392
            iload 12 /* compStart */
            iload 21 /* compLength */
            iadd
            istore 22 /* compLimit */
        start local 22 // int compLimit
        49: .line 1393
            iload 22 /* compLimit */
            iload 3 /* justStart */
            if_icmple 56
        50: .line 1394
            iconst_0
            iload 3 /* justStart */
            iload 12 /* compStart */
            isub
            invokestatic java.lang.Math.max:(II)I
            pop
        51: .line 1395
            iload 21 /* compLength */
            iload 4 /* justLimit */
            iload 12 /* compStart */
            isub
            invokestatic java.lang.Math.min:(II)I
            pop
        52: .line 1396
            aload 5 /* newComponents */
            iload 19 /* i */
            aload 20 /* comp */
            aload 16 /* deltas */
            aload 9 /* infoPositions */
            iload 19 /* i */
            iaload
            iconst_2
            imul
            aload 18 /* flags */
            invokeinterface sun.font.TextLineComponent.applyJustificationDeltas:([FI[Z)Lsun/font/TextLineComponent;
            aastore
        53: .line 1398
            iload 17 /* wantRejustify */
            aload 18 /* flags */
            iconst_0
            baload
            ior
            istore 17 /* wantRejustify */
        54: .line 1400
            iload 22 /* compLimit */
            iload 4 /* justLimit */
            if_icmplt 56
        55: .line 1401
            goto 58
        end local 22 // int compLimit
        end local 21 // int compLength
        end local 20 // sun.font.TextLineComponent comp
        56: .line 1389
      StackMap locals:
      StackMap stack:
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
        57: iload 19 /* i */
            aload 5 /* newComponents */
            arraylength
            if_icmplt 46
        end local 19 // int i
        58: .line 1406
      StackMap locals:
      StackMap stack:
            iload 17 /* wantRejustify */
            ifeq 59
            iload 7 /* rejustify */
            ifne 59
            iconst_1
            goto 60
      StackMap locals:
      StackMap stack:
        59: iconst_0
      StackMap locals:
      StackMap stack: int
        60: istore 7 /* rejustify */
        end local 18 // boolean[] flags
        end local 17 // boolean wantRejustify
        end local 16 // float[] deltas
        end local 15 // java.awt.font.TextJustifier justifier
        end local 14 // int infoLimit
        end local 13 // int infoStart
        end local 12 // int compStart
        end local 11 // java.awt.font.GlyphJustificationInfo[] infos
        end local 10 // int infoCount
        end local 9 // int[] infoPositions
        end local 8 // float justifyAdvance
        61: .line 1407
            iload 7 /* rejustify */
            ifne 4
        62: .line 1409
            new java.awt.font.TextLine
            dup
            aload 0 /* this */
            getfield java.awt.font.TextLine.frc:Ljava/awt/font/FontRenderContext;
            aload 5 /* newComponents */
            aload 0 /* this */
            getfield java.awt.font.TextLine.fBaselineOffsets:[F
            aload 0 /* this */
            getfield java.awt.font.TextLine.fChars:[C
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharsStart:I
        63: .line 1410
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharsLimit:I
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharLogicalOrder:[I
            aload 0 /* this */
            getfield java.awt.font.TextLine.fCharLevels:[B
        64: .line 1411
            aload 0 /* this */
            getfield java.awt.font.TextLine.fIsDirectionLTR:Z
        65: .line 1409
            invokespecial java.awt.font.TextLine.<init>:(Ljava/awt/font/FontRenderContext;[Lsun/font/TextLineComponent;[F[CII[I[BZ)V
            areturn
        end local 7 // boolean rejustify
        end local 6 // float justifyDelta
        end local 5 // sun.font.TextLineComponent[] newComponents
        end local 4 // int justLimit
        end local 3 // int justStart
        end local 2 // float justifyRatio
        end local 1 // float justificationWidth
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   66     0                this  Ljava/awt/font/TextLine;
            0   66     1  justificationWidth  F
            0   66     2        justifyRatio  F
            0   66     3           justStart  I
            0   66     4           justLimit  I
            1   66     5       newComponents  [Lsun/font/TextLineComponent;
            3   66     6        justifyDelta  F
            4   66     7           rejustify  Z
            6   61     8      justifyAdvance  F
            8   61     9       infoPositions  [I
            9   61    10           infoCount  I
           10   16    11            visIndex  I
           12   14    12            logIndex  I
           17   61    11               infos  [Ljava/awt/font/GlyphJustificationInfo;
           18   61    12           compStart  I
           19   31    13                   i  I
           21   29    14                comp  Lsun/font/TextLineComponent;
           22   29    15          compLength  I
           23   29    16           compLimit  I
           25   29    17            rangeMin  I
           26   29    18            rangeMax  I
           32   61    13           infoStart  I
           33   61    14           infoLimit  I
           40   61    15           justifier  Ljava/awt/font/TextJustifier;
           41   61    16              deltas  [F
           42   61    17       wantRejustify  Z
           43   61    18               flags  [Z
           45   58    19                   i  I
           47   56    20                comp  Lsun/font/TextLineComponent;
           48   56    21          compLength  I
           49   56    22           compLimit  I
    MethodParameters:
                    Name  Flags
      justificationWidth  
      justifyRatio        
      justStart           
      justLimit           

  public static float getAdvanceBetween(sun.font.TextLineComponent[], int, int);
    descriptor: ([Lsun/font/TextLineComponent;II)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // sun.font.TextLineComponent[] components
        start local 1 // int start
        start local 2 // int limit
         0: .line 1416
            fconst_0
            fstore 3 /* advance */
        start local 3 // float advance
         1: .line 1418
            iconst_0
            istore 4 /* tlcStart */
        start local 4 // int tlcStart
         2: .line 1419
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 15
         4: .line 1420
      StackMap locals: float int int
      StackMap stack:
            aload 0 /* components */
            iload 5 /* i */
            aaload
            astore 6 /* comp */
        start local 6 // sun.font.TextLineComponent comp
         5: .line 1422
            aload 6 /* comp */
            invokeinterface sun.font.TextLineComponent.getNumCharacters:()I
            istore 7 /* tlcLength */
        start local 7 // int tlcLength
         6: .line 1423
            iload 4 /* tlcStart */
            iload 7 /* tlcLength */
            iadd
            istore 8 /* tlcLimit */
        start local 8 // int tlcLimit
         7: .line 1424
            iload 8 /* tlcLimit */
            iload 1 /* start */
            if_icmple 13
         8: .line 1425
            iconst_0
            iload 1 /* start */
            iload 4 /* tlcStart */
            isub
            invokestatic java.lang.Math.max:(II)I
            istore 9 /* measureStart */
        start local 9 // int measureStart
         9: .line 1426
            iload 7 /* tlcLength */
            iload 2 /* limit */
            iload 4 /* tlcStart */
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 10 /* measureLimit */
        start local 10 // int measureLimit
        10: .line 1427
            fload 3 /* advance */
            aload 6 /* comp */
            iload 9 /* measureStart */
            iload 10 /* measureLimit */
            invokeinterface sun.font.TextLineComponent.getAdvanceBetween:(II)F
            fadd
            fstore 3 /* advance */
        11: .line 1428
            iload 8 /* tlcLimit */
            iload 2 /* limit */
            if_icmplt 13
        12: .line 1429
            goto 16
        end local 10 // int measureLimit
        end local 9 // int measureStart
        13: .line 1433
      StackMap locals: sun.font.TextLineComponent int int
      StackMap stack:
            iload 8 /* tlcLimit */
            istore 4 /* tlcStart */
        end local 8 // int tlcLimit
        end local 7 // int tlcLength
        end local 6 // sun.font.TextLineComponent comp
        14: .line 1419
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            aload 0 /* components */
            arraylength
            if_icmplt 4
        end local 5 // int i
        16: .line 1436
      StackMap locals:
      StackMap stack:
            fload 3 /* advance */
            freturn
        end local 4 // int tlcStart
        end local 3 // float advance
        end local 2 // int limit
        end local 1 // int start
        end local 0 // sun.font.TextLineComponent[] components
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0    components  [Lsun/font/TextLineComponent;
            0   17     1         start  I
            0   17     2         limit  I
            1   17     3       advance  F
            2   17     4      tlcStart  I
            3   16     5             i  I
            5   14     6          comp  Lsun/font/TextLineComponent;
            6   14     7     tlcLength  I
            7   14     8      tlcLimit  I
            9   13     9  measureStart  I
           10   13    10  measureLimit  I
    MethodParameters:
            Name  Flags
      components  
      start       
      limit       

  sun.font.LayoutPathImpl getLayoutPath();
    descriptor: ()Lsun/font/LayoutPathImpl;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.font.TextLine this
         0: .line 1440
            aload 0 /* this */
            getfield java.awt.font.TextLine.lp:Lsun/font/LayoutPathImpl;
            areturn
        end local 0 // java.awt.font.TextLine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/font/TextLine;
}
SourceFile: "TextLine.java"
NestMembers:
  java.awt.font.TextLine$1  java.awt.font.TextLine$2  java.awt.font.TextLine$3  java.awt.font.TextLine$4  java.awt.font.TextLine$Function  java.awt.font.TextLine$TextLineMetrics
InnerClasses:
  java.awt.font.TextLine$1
  java.awt.font.TextLine$2
  java.awt.font.TextLine$3
  java.awt.font.TextLine$4
  private abstract Function = java.awt.font.TextLine$Function of java.awt.font.TextLine
  final TextLineMetrics = java.awt.font.TextLine$TextLineMetrics of java.awt.font.TextLine
  public Double = java.awt.geom.Point2D$Double of java.awt.geom.Point2D
  public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
  public Float = java.awt.geom.Rectangle2D$Float of java.awt.geom.Rectangle2D
  public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
  public EmptyPath = sun.font.LayoutPathImpl$EmptyPath of sun.font.LayoutPathImpl
  public final SegmentPath = sun.font.LayoutPathImpl$SegmentPath of sun.font.LayoutPathImpl
  public final SegmentPathBuilder = sun.font.LayoutPathImpl$SegmentPathBuilder of sun.font.LayoutPathImpl