class com.sun.javafx.font.coretext.CTGlyphLayout extends com.sun.javafx.text.GlyphLayout
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.javafx.font.coretext.CTGlyphLayout
  super_class: com.sun.javafx.text.GlyphLayout
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.font.coretext.CTGlyphLayout this
         0: .line 36
            aload 0 /* this */
            invokespecial com.sun.javafx.text.GlyphLayout.<init>:()V
            return
        end local 0 // com.sun.javafx.font.coretext.CTGlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/font/coretext/CTGlyphLayout;

  private long createCTLine(long, char[], boolean, int, int);
    descriptor: (J[CZII)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=17, args_size=6
        start local 0 // com.sun.javafx.font.coretext.CTGlyphLayout this
        start local 1 // long fontRef
        start local 3 // char[] chars
        start local 4 // boolean rtl
        start local 5 // int start
        start local 6 // int length
         0: .line 41
            invokestatic com.sun.javafx.font.coretext.OS.kCFAllocatorDefault:()J
            lstore 7 /* alloc */
        start local 7 // long alloc
         1: .line 42
            lload 7 /* alloc */
            aload 3 /* chars */
            iload 5 /* start */
            i2l
            iload 6 /* length */
            i2l
            invokestatic com.sun.javafx.font.coretext.OS.CFStringCreateWithCharacters:(J[CJJ)J
            lstore 9 /* textRef */
        start local 9 // long textRef
         2: .line 43
            lconst_0
            lstore 11 /* lineRef */
        start local 11 // long lineRef
         3: .line 44
            lload 9 /* textRef */
            lconst_0
            lcmp
            ifeq 21
         4: .line 45
            lload 7 /* alloc */
            ldc 4
         5: .line 46
            invokestatic com.sun.javafx.font.coretext.OS.kCFTypeDictionaryKeyCallBacks:()J
         6: .line 47
            invokestatic com.sun.javafx.font.coretext.OS.kCFTypeDictionaryValueCallBacks:()J
         7: .line 45
            invokestatic com.sun.javafx.font.coretext.OS.CFDictionaryCreateMutable:(JJJJ)J
            lstore 13 /* attributes */
        start local 13 // long attributes
         8: .line 48
            lload 13 /* attributes */
            lconst_0
            lcmp
            ifeq 20
         9: .line 49
            lload 13 /* attributes */
            invokestatic com.sun.javafx.font.coretext.OS.kCTFontAttributeName:()J
            lload 1 /* fontRef */
            invokestatic com.sun.javafx.font.coretext.OS.CFDictionaryAddValue:(JJJ)V
        10: .line 50
            iload 4 /* rtl */
            ifeq 15
        11: .line 51
            iconst_1
            invokestatic com.sun.javafx.font.coretext.OS.CTParagraphStyleCreate:(I)J
            lstore 15 /* paragraphStyleRef */
        start local 15 // long paragraphStyleRef
        12: .line 52
            lload 15 /* paragraphStyleRef */
            lconst_0
            lcmp
            ifeq 15
        13: .line 53
            lload 13 /* attributes */
            invokestatic com.sun.javafx.font.coretext.OS.kCTParagraphStyleAttributeName:()J
            lload 15 /* paragraphStyleRef */
            invokestatic com.sun.javafx.font.coretext.OS.CFDictionaryAddValue:(JJJ)V
        14: .line 54
            lload 15 /* paragraphStyleRef */
            invokestatic com.sun.javafx.font.coretext.OS.CFRelease:(J)V
        end local 15 // long paragraphStyleRef
        15: .line 58
      StackMap locals: com.sun.javafx.font.coretext.CTGlyphLayout long char[] int int int long long long long
      StackMap stack:
            lload 7 /* alloc */
            lload 9 /* textRef */
            lload 13 /* attributes */
            invokestatic com.sun.javafx.font.coretext.OS.CFAttributedStringCreate:(JJJ)J
            lstore 15 /* attString */
        start local 15 // long attString
        16: .line 59
            lload 15 /* attString */
            lconst_0
            lcmp
            ifeq 19
        17: .line 60
            lload 15 /* attString */
            invokestatic com.sun.javafx.font.coretext.OS.CTLineCreateWithAttributedString:(J)J
            lstore 11 /* lineRef */
        18: .line 61
            lload 15 /* attString */
            invokestatic com.sun.javafx.font.coretext.OS.CFRelease:(J)V
        19: .line 63
      StackMap locals: long
      StackMap stack:
            lload 13 /* attributes */
            invokestatic com.sun.javafx.font.coretext.OS.CFRelease:(J)V
        end local 15 // long attString
        20: .line 65
      StackMap locals:
      StackMap stack:
            lload 9 /* textRef */
            invokestatic com.sun.javafx.font.coretext.OS.CFRelease:(J)V
        end local 13 // long attributes
        21: .line 67
      StackMap locals:
      StackMap stack:
            lload 11 /* lineRef */
            lreturn
        end local 11 // long lineRef
        end local 9 // long textRef
        end local 7 // long alloc
        end local 6 // int length
        end local 5 // int start
        end local 4 // boolean rtl
        end local 3 // char[] chars
        end local 1 // long fontRef
        end local 0 // com.sun.javafx.font.coretext.CTGlyphLayout this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0               this  Lcom/sun/javafx/font/coretext/CTGlyphLayout;
            0   22     1            fontRef  J
            0   22     3              chars  [C
            0   22     4                rtl  Z
            0   22     5              start  I
            0   22     6             length  I
            1   22     7              alloc  J
            2   22     9            textRef  J
            3   22    11            lineRef  J
            8   21    13         attributes  J
           12   15    15  paragraphStyleRef  J
           16   20    15          attString  J
    MethodParameters:
         Name  Flags
      fontRef  
      chars    
      rtl      
      start    
      length   

  private int getFontSlot(long, com.sun.javafx.font.CompositeFontResource, java.lang.String, int);
    descriptor: (JLcom/sun/javafx/font/CompositeFontResource;Ljava/lang/String;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=5
        start local 0 // com.sun.javafx.font.coretext.CTGlyphLayout this
        start local 1 // long runRef
        start local 3 // com.sun.javafx.font.CompositeFontResource fr
        start local 4 // java.lang.String name
        start local 5 // int slot
         0: .line 71
            lload 1 /* runRef */
            invokestatic com.sun.javafx.font.coretext.OS.CTRunGetAttributes:(J)J
            lstore 6 /* runAttrs */
        start local 6 // long runAttrs
         1: .line 72
            lload 6 /* runAttrs */
            lconst_0
            lcmp
            ifne 2
            iconst_m1
            ireturn
         2: .line 73
      StackMap locals: long
      StackMap stack:
            lload 6 /* runAttrs */
            invokestatic com.sun.javafx.font.coretext.OS.kCTFontAttributeName:()J
            invokestatic com.sun.javafx.font.coretext.OS.CFDictionaryGetValue:(JJ)J
            lstore 8 /* actualFont */
        start local 8 // long actualFont
         3: .line 74
            lload 8 /* actualFont */
            lconst_0
            lcmp
            ifne 4
            iconst_m1
            ireturn
         4: .line 78
      StackMap locals: long
      StackMap stack:
            lload 8 /* actualFont */
            invokestatic com.sun.javafx.font.coretext.OS.CTFontCopyAttributeDisplayName:(J)Ljava/lang/String;
            astore 10 /* fontName */
        start local 10 // java.lang.String fontName
         5: .line 79
            aload 10 /* fontName */
            ifnonnull 6
            iconst_m1
            ireturn
         6: .line 80
      StackMap locals: java.lang.String
      StackMap stack:
            aload 10 /* fontName */
            aload 4 /* name */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 11
         7: .line 81
            aload 3 /* fr */
            ifnonnull 8
            iconst_m1
            ireturn
         8: .line 82
      StackMap locals:
      StackMap stack:
            aload 3 /* fr */
            aload 10 /* fontName */
            invokeinterface com.sun.javafx.font.CompositeFontResource.getSlotForFont:(Ljava/lang/String;)I
            istore 5 /* slot */
         9: .line 83
            getstatic com.sun.javafx.font.PrismFontFactory.debugFonts:Z
            ifeq 11
        10: .line 84
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "\tFallback font= "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* fontName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " slot="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* slot */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 87
      StackMap locals:
      StackMap stack:
            iload 5 /* slot */
            ireturn
        end local 10 // java.lang.String fontName
        end local 8 // long actualFont
        end local 6 // long runAttrs
        end local 5 // int slot
        end local 4 // java.lang.String name
        end local 3 // com.sun.javafx.font.CompositeFontResource fr
        end local 1 // long runRef
        end local 0 // com.sun.javafx.font.coretext.CTGlyphLayout this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/sun/javafx/font/coretext/CTGlyphLayout;
            0   12     1      runRef  J
            0   12     3          fr  Lcom/sun/javafx/font/CompositeFontResource;
            0   12     4        name  Ljava/lang/String;
            0   12     5        slot  I
            1   12     6    runAttrs  J
            3   12     8  actualFont  J
            5   12    10    fontName  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      runRef  
      fr      
      name    
      slot    

  public void layout(com.sun.javafx.text.TextRun, com.sun.javafx.font.PGFont, com.sun.javafx.font.FontStrike, char[]);
    descriptor: (Lcom/sun/javafx/text/TextRun;Lcom/sun/javafx/font/PGFont;Lcom/sun/javafx/font/FontStrike;[C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=29, args_size=5
        start local 0 // com.sun.javafx.font.coretext.CTGlyphLayout this
        start local 1 // com.sun.javafx.text.TextRun run
        start local 2 // com.sun.javafx.font.PGFont font
        start local 3 // com.sun.javafx.font.FontStrike strike
        start local 4 // char[] text
         0: .line 92
            iconst_0
            istore 5 /* baseSlot */
        start local 5 // int baseSlot
         1: .line 93
            aconst_null
            astore 6 /* composite */
        start local 6 // com.sun.javafx.font.CompositeFontResource composite
         2: .line 94
            aload 3 /* strike */
            instanceof com.sun.javafx.font.CompositeStrike
            ifeq 6
         3: .line 95
            aload 3 /* strike */
            invokeinterface com.sun.javafx.font.FontStrike.getFontResource:()Lcom/sun/javafx/font/FontResource;
            checkcast com.sun.javafx.font.CompositeFontResource
            astore 6 /* composite */
         4: .line 96
            aload 0 /* this */
            aload 6 /* composite */
            invokevirtual com.sun.javafx.font.coretext.CTGlyphLayout.getInitialSlot:(Lcom/sun/javafx/font/FontResource;)I
            istore 5 /* baseSlot */
         5: .line 97
            aload 3 /* strike */
            checkcast com.sun.javafx.font.CompositeStrike
            iload 5 /* baseSlot */
            invokevirtual com.sun.javafx.font.CompositeStrike.getStrikeSlot:(I)Lcom/sun/javafx/font/FontStrike;
            astore 3 /* strike */
         6: .line 99
      StackMap locals: int com.sun.javafx.font.CompositeFontResource
      StackMap stack:
            aload 3 /* strike */
            invokeinterface com.sun.javafx.font.FontStrike.getSize:()F
            fstore 7 /* size */
        start local 7 // float size
         7: .line 100
            aload 3 /* strike */
            invokeinterface com.sun.javafx.font.FontStrike.getFontResource:()Lcom/sun/javafx/font/FontResource;
            invokeinterface com.sun.javafx.font.FontResource.getFullName:()Ljava/lang/String;
            astore 8 /* fontName */
        start local 8 // java.lang.String fontName
         8: .line 101
            aload 3 /* strike */
            checkcast com.sun.javafx.font.coretext.CTFontStrike
            invokevirtual com.sun.javafx.font.coretext.CTFontStrike.getFontRef:()J
            lstore 9 /* fontRef */
        start local 9 // long fontRef
         9: .line 102
            lload 9 /* fontRef */
            lconst_0
            lcmp
            ifne 10
            return
        10: .line 103
      StackMap locals: float java.lang.String long
      StackMap stack:
            aload 1 /* run */
            invokevirtual com.sun.javafx.text.TextRun.getLevel:()B
            iconst_1
            iand
            ifeq 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 11 /* rtl */
        start local 11 // boolean rtl
        13: .line 104
            aload 0 /* this */
            lload 9 /* fontRef */
            aload 4 /* text */
            iload 11 /* rtl */
            aload 1 /* run */
            invokevirtual com.sun.javafx.text.TextRun.getStart:()I
            aload 1 /* run */
            invokevirtual com.sun.javafx.text.TextRun.getLength:()I
            invokevirtual com.sun.javafx.font.coretext.CTGlyphLayout.createCTLine:(J[CZII)J
            lstore 12 /* lineRef */
        start local 12 // long lineRef
        14: .line 105
            lload 12 /* lineRef */
            lconst_0
            lcmp
            ifne 15
            return
        15: .line 106
      StackMap locals: int long
      StackMap stack:
            lload 12 /* lineRef */
            invokestatic com.sun.javafx.font.coretext.OS.CTLineGetGlyphRuns:(J)J
            lstore 14 /* runs */
        start local 14 // long runs
        16: .line 107
            lload 14 /* runs */
            lconst_0
            lcmp
            ifeq 42
        17: .line 108
            lload 12 /* lineRef */
            invokestatic com.sun.javafx.font.coretext.OS.CTLineGetGlyphCount:(J)J
            l2i
            istore 16 /* glyphCount */
        start local 16 // int glyphCount
        18: .line 109
            iload 16 /* glyphCount */
            newarray 10
            astore 17 /* glyphs */
        start local 17 // int[] glyphs
        19: .line 110
            iload 16 /* glyphCount */
            iconst_2
            imul
            iconst_2
            iadd
            newarray 6
            astore 18 /* positions */
        start local 18 // float[] positions
        20: .line 111
            iload 16 /* glyphCount */
            newarray 10
            astore 19 /* indices */
        start local 19 // int[] indices
        21: .line 112
            lload 14 /* runs */
            invokestatic com.sun.javafx.font.coretext.OS.CFArrayGetCount:(J)J
            lstore 20 /* runCount */
        start local 20 // long runCount
        22: .line 113
            iconst_0
            istore 22 /* glyphStart */
        start local 22 // int glyphStart
        23: iconst_0
            istore 23 /* posStart */
        start local 23 // int posStart
        24: iconst_0
            istore 24 /* indicesStart */
        start local 24 // int indicesStart
        25: .line 114
            iconst_0
            istore 25 /* i */
        start local 25 // int i
        26: goto 38
        27: .line 115
      StackMap locals: com.sun.javafx.font.coretext.CTGlyphLayout com.sun.javafx.text.TextRun com.sun.javafx.font.PGFont com.sun.javafx.font.FontStrike char[] int com.sun.javafx.font.CompositeFontResource float java.lang.String long int long long int int[] float[] int[] long int int int int
      StackMap stack:
            lload 14 /* runs */
            iload 25 /* i */
            i2l
            invokestatic com.sun.javafx.font.coretext.OS.CFArrayGetValueAtIndex:(JJ)J
            lstore 26 /* runRef */
        start local 26 // long runRef
        28: .line 116
            lload 26 /* runRef */
            lconst_0
            lcmp
            ifne 29
            goto 37
        29: .line 117
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            lload 26 /* runRef */
            aload 6 /* composite */
            aload 8 /* fontName */
            iload 5 /* baseSlot */
            invokevirtual com.sun.javafx.font.coretext.CTGlyphLayout.getFontSlot:(JLcom/sun/javafx/font/CompositeFontResource;Ljava/lang/String;I)I
            istore 28 /* slot */
        start local 28 // int slot
        30: .line 118
            iload 28 /* slot */
            iconst_m1
            if_icmpeq 33
        31: .line 119
            iload 22 /* glyphStart */
            lload 26 /* runRef */
            iload 28 /* slot */
            bipush 24
            ishl
            iload 22 /* glyphStart */
            aload 17 /* glyphs */
            invokestatic com.sun.javafx.font.coretext.OS.CTRunGetGlyphs:(JII[I)I
            iadd
            istore 22 /* glyphStart */
        32: .line 120
            goto 34
        33: .line 121
      StackMap locals: int
      StackMap stack:
            iload 22 /* glyphStart */
            lload 26 /* runRef */
            iconst_0
            iload 22 /* glyphStart */
            aload 17 /* glyphs */
            invokestatic com.sun.javafx.font.coretext.OS.CTRunGetGlyphs:(JII[I)I
            iadd
            istore 22 /* glyphStart */
        34: .line 123
      StackMap locals:
      StackMap stack:
            fload 7 /* size */
            fconst_0
            fcmpl
            ifle 36
        35: .line 124
            iload 23 /* posStart */
            lload 26 /* runRef */
            iload 23 /* posStart */
            aload 18 /* positions */
            invokestatic com.sun.javafx.font.coretext.OS.CTRunGetPositions:(JI[F)I
            iadd
            istore 23 /* posStart */
        36: .line 126
      StackMap locals:
      StackMap stack:
            iload 24 /* indicesStart */
            lload 26 /* runRef */
            iload 24 /* indicesStart */
            aload 19 /* indices */
            invokestatic com.sun.javafx.font.coretext.OS.CTRunGetStringIndices:(JI[I)I
            iadd
            istore 24 /* indicesStart */
        end local 28 // int slot
        end local 26 // long runRef
        37: .line 114
      StackMap locals:
      StackMap stack:
            iinc 25 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 25 /* i */
            i2l
            lload 20 /* runCount */
            lcmp
            iflt 27
        end local 25 // int i
        39: .line 129
            fload 7 /* size */
            fconst_0
            fcmpl
            ifle 41
        40: .line 130
            aload 18 /* positions */
            iload 23 /* posStart */
            lload 12 /* lineRef */
            invokestatic com.sun.javafx.font.coretext.OS.CTLineGetTypographicBounds:(J)D
            d2f
            fastore
        41: .line 132
      StackMap locals:
      StackMap stack:
            aload 1 /* run */
            iload 16 /* glyphCount */
            aload 17 /* glyphs */
            aload 18 /* positions */
            aload 19 /* indices */
            invokevirtual com.sun.javafx.text.TextRun.shape:(I[I[F[I)V
        end local 24 // int indicesStart
        end local 23 // int posStart
        end local 22 // int glyphStart
        end local 20 // long runCount
        end local 19 // int[] indices
        end local 18 // float[] positions
        end local 17 // int[] glyphs
        end local 16 // int glyphCount
        42: .line 134
      StackMap locals: com.sun.javafx.font.coretext.CTGlyphLayout com.sun.javafx.text.TextRun com.sun.javafx.font.PGFont com.sun.javafx.font.FontStrike char[] int com.sun.javafx.font.CompositeFontResource float java.lang.String long int long long
      StackMap stack:
            lload 12 /* lineRef */
            invokestatic com.sun.javafx.font.coretext.OS.CFRelease:(J)V
        43: .line 135
            return
        end local 14 // long runs
        end local 12 // long lineRef
        end local 11 // boolean rtl
        end local 9 // long fontRef
        end local 8 // java.lang.String fontName
        end local 7 // float size
        end local 6 // com.sun.javafx.font.CompositeFontResource composite
        end local 5 // int baseSlot
        end local 4 // char[] text
        end local 3 // com.sun.javafx.font.FontStrike strike
        end local 2 // com.sun.javafx.font.PGFont font
        end local 1 // com.sun.javafx.text.TextRun run
        end local 0 // com.sun.javafx.font.coretext.CTGlyphLayout this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   44     0          this  Lcom/sun/javafx/font/coretext/CTGlyphLayout;
            0   44     1           run  Lcom/sun/javafx/text/TextRun;
            0   44     2          font  Lcom/sun/javafx/font/PGFont;
            0   44     3        strike  Lcom/sun/javafx/font/FontStrike;
            0   44     4          text  [C
            1   44     5      baseSlot  I
            2   44     6     composite  Lcom/sun/javafx/font/CompositeFontResource;
            7   44     7          size  F
            8   44     8      fontName  Ljava/lang/String;
            9   44     9       fontRef  J
           13   44    11           rtl  Z
           14   44    12       lineRef  J
           16   44    14          runs  J
           18   42    16    glyphCount  I
           19   42    17        glyphs  [I
           20   42    18     positions  [F
           21   42    19       indices  [I
           22   42    20      runCount  J
           23   42    22    glyphStart  I
           24   42    23      posStart  I
           25   42    24  indicesStart  I
           26   39    25             i  I
           28   37    26        runRef  J
           30   37    28          slot  I
    MethodParameters:
        Name  Flags
      run     
      font    
      strike  
      text    
}
SourceFile: "CTGlyphLayout.java"