public class com.sun.javafx.text.PrismTextLayout implements com.sun.javafx.scene.text.TextLayout
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.javafx.text.PrismTextLayout
super_class: java.lang.Object
{
private static final com.sun.javafx.geom.transform.BaseTransform IDENTITY;
descriptor: Lcom/sun/javafx/geom/transform/BaseTransform;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int X_MIN_INDEX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int Y_MIN_INDEX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int X_MAX_INDEX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int Y_MAX_INDEX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final java.util.Hashtable<java.lang.Integer, com.sun.javafx.text.LayoutCache> stringCache;
descriptor: Ljava/util/Hashtable;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Hashtable<Ljava/lang/Integer;Lcom/sun/javafx/text/LayoutCache;>;
private static final java.lang.Object CACHE_SIZE_LOCK;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static int cacheSize;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final int MAX_STRING_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 256
private static final int MAX_CACHE_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private char[] text;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private com.sun.javafx.scene.text.TextSpan[] spans;
descriptor: [Lcom/sun/javafx/scene/text/TextSpan;
flags: (0x0002) ACC_PRIVATE
private com.sun.javafx.font.PGFont font;
descriptor: Lcom/sun/javafx/font/PGFont;
flags: (0x0002) ACC_PRIVATE
private com.sun.javafx.font.FontStrike strike;
descriptor: Lcom/sun/javafx/font/FontStrike;
flags: (0x0002) ACC_PRIVATE
private java.lang.Integer cacheKey;
descriptor: Ljava/lang/Integer;
flags: (0x0002) ACC_PRIVATE
private com.sun.javafx.text.TextLine[] lines;
descriptor: [Lcom/sun/javafx/text/TextLine;
flags: (0x0002) ACC_PRIVATE
private com.sun.javafx.text.TextRun[] runs;
descriptor: [Lcom/sun/javafx/text/TextRun;
flags: (0x0002) ACC_PRIVATE
private int runCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private com.sun.javafx.geom.BaseBounds logicalBounds;
descriptor: Lcom/sun/javafx/geom/BaseBounds;
flags: (0x0002) ACC_PRIVATE
private com.sun.javafx.geom.RectBounds visualBounds;
descriptor: Lcom/sun/javafx/geom/RectBounds;
flags: (0x0002) ACC_PRIVATE
private float layoutWidth;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float layoutHeight;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float wrapWidth;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float spacing;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private com.sun.javafx.text.LayoutCache layoutCache;
descriptor: Lcom/sun/javafx/text/LayoutCache;
flags: (0x0002) ACC_PRIVATE
private com.sun.javafx.geom.Shape shape;
descriptor: Lcom/sun/javafx/geom/Shape;
flags: (0x0002) ACC_PRIVATE
private int flags;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
putstatic com.sun.javafx.text.PrismTextLayout.IDENTITY:Lcom/sun/javafx/geom/transform/BaseTransform;
1: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putstatic com.sun.javafx.text.PrismTextLayout.stringCache:Ljava/util/Hashtable;
2: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic com.sun.javafx.text.PrismTextLayout.CACHE_SIZE_LOCK:Ljava/lang/Object;
3: iconst_0
putstatic com.sun.javafx.text.PrismTextLayout.cacheSize:I
4: getstatic com.sun.javafx.font.PrismFontFactory.cacheLayoutSize:I
putstatic com.sun.javafx.text.PrismTextLayout.MAX_CACHE_SIZE:I
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new com.sun.javafx.geom.RectBounds
dup
invokespecial com.sun.javafx.geom.RectBounds.<init>:()V
putfield com.sun.javafx.text.PrismTextLayout.logicalBounds:Lcom/sun/javafx/geom/BaseBounds;
2: aload 0
ldc 262144
putfield com.sun.javafx.text.PrismTextLayout.flags:I
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/javafx/text/PrismTextLayout;
private void reset();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
1: aload 0
aconst_null
putfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
2: aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush -2048
iand
putfield com.sun.javafx.text.PrismTextLayout.flags:I
3: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.relayout:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/javafx/text/PrismTextLayout;
private void relayout();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.logicalBounds:Lcom/sun/javafx/geom/BaseBounds;
invokevirtual com.sun.javafx.geom.BaseBounds.makeEmpty:()Lcom/sun/javafx/geom/BaseBounds;
pop
1: aload 0
aconst_null
putfield com.sun.javafx.text.PrismTextLayout.visualBounds:Lcom/sun/javafx/geom/RectBounds;
2: aload 0
aload 0
fconst_0
dup_x1
putfield com.sun.javafx.text.PrismTextLayout.layoutHeight:F
putfield com.sun.javafx.text.PrismTextLayout.layoutWidth:F
3: aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush -1665
iand
putfield com.sun.javafx.text.PrismTextLayout.flags:I
4: aload 0
aconst_null
putfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
5: aload 0
aconst_null
putfield com.sun.javafx.text.PrismTextLayout.shape:Lcom/sun/javafx/geom/Shape;
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/javafx/text/PrismTextLayout;
public boolean setContent(com.sun.javafx.scene.text.TextSpan[]);
descriptor: ([Lcom/sun/javafx/scene/text/TextSpan;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
ifnonnull 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 1
ifnull 9
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
ifnull 9
2: aload 1
arraylength
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
arraylength
if_icmpne 9
3: iconst_0
istore 2
start local 2 4: goto 7
5: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
iload 2
aaload
if_acmpeq 6
goto 8
6: StackMap locals:
StackMap stack:
iinc 2 1
7: StackMap locals:
StackMap stack:
iload 2
aload 1
arraylength
if_icmplt 5
8: StackMap locals:
StackMap stack:
iload 2
aload 1
arraylength
if_icmpne 9
iconst_0
ireturn
end local 2 9: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.reset:()V
10: aload 0
aload 1
putfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
11: aload 0
aconst_null
putfield com.sun.javafx.text.PrismTextLayout.font:Lcom/sun/javafx/font/PGFont;
12: aload 0
aconst_null
putfield com.sun.javafx.text.PrismTextLayout.strike:Lcom/sun/javafx/font/FontStrike;
13: aload 0
aconst_null
putfield com.sun.javafx.text.PrismTextLayout.text:[C
14: aload 0
aconst_null
putfield com.sun.javafx.text.PrismTextLayout.cacheKey:Ljava/lang/Integer;
15: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 16 1 spans [Lcom/sun/javafx/scene/text/TextSpan;
4 9 2 i I
MethodParameters:
Name Flags
spans
public boolean setContent(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.reset:()V
1: aload 0
aconst_null
putfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
2: aload 0
aload 2
checkcast com.sun.javafx.font.PGFont
putfield com.sun.javafx.text.PrismTextLayout.font:Lcom/sun/javafx/font/PGFont;
3: aload 0
aload 2
checkcast com.sun.javafx.font.PGFont
getstatic com.sun.javafx.text.PrismTextLayout.IDENTITY:Lcom/sun/javafx/geom/transform/BaseTransform;
invokeinterface com.sun.javafx.font.PGFont.getStrike:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/font/FontStrike;
putfield com.sun.javafx.text.PrismTextLayout.strike:Lcom/sun/javafx/font/FontStrike;
4: aload 0
aload 1
invokevirtual java.lang.String.toCharArray:()[C
putfield com.sun.javafx.text.PrismTextLayout.text:[C
5: getstatic com.sun.javafx.text.PrismTextLayout.MAX_CACHE_SIZE:I
ifle 9
6: aload 1
invokevirtual java.lang.String.length:()I
istore 3
start local 3 7: iload 3
ifle 9
iload 3
sipush 256
if_icmpgt 9
8: aload 0
aload 1
invokevirtual java.lang.String.hashCode:()I
aload 0
getfield com.sun.javafx.text.PrismTextLayout.strike:Lcom/sun/javafx/font/FontStrike;
invokevirtual java.lang.Object.hashCode:()I
imul
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putfield com.sun.javafx.text.PrismTextLayout.cacheKey:Ljava/lang/Integer;
end local 3 9: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 10 1 text Ljava/lang/String;
0 10 2 font Ljava/lang/Object;
7 9 3 length I
MethodParameters:
Name Flags
text
font
public boolean setDirection(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 15360
iand
iload 1
if_icmpne 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush -15361
iand
putfield com.sun.javafx.text.PrismTextLayout.flags:I
2: aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.flags:I
iload 1
sipush 15360
iand
ior
putfield com.sun.javafx.text.PrismTextLayout.flags:I
3: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.reset:()V
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 5 1 direction I
MethodParameters:
Name Flags
direction
public boolean setBoundsType(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 16384
iand
iload 1
if_icmpne 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush -16385
iand
putfield com.sun.javafx.text.PrismTextLayout.flags:I
2: aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.flags:I
iload 1
sipush 16384
iand
ior
putfield com.sun.javafx.text.PrismTextLayout.flags:I
3: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.reset:()V
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 5 1 type I
MethodParameters:
Name Flags
type
public boolean setAlignment(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: ldc 262144
istore 2
start local 2 1: iload 1
tableswitch { // 0 - 3
0: 2
1: 3
2: 4
3: 5
default: 6
}
2: StackMap locals: int
StackMap stack:
ldc 262144
istore 2
goto 6
3: StackMap locals:
StackMap stack:
ldc 524288
istore 2
goto 6
4: StackMap locals:
StackMap stack:
ldc 1048576
istore 2
goto 6
5: StackMap locals:
StackMap stack:
ldc 2097152
istore 2
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
ldc 3932160
iand
iload 2
if_icmpne 7
iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iload 2
ldc 2097152
if_icmpeq 8
aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
ldc 2097152
iand
ifeq 9
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.reset:()V
9: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.flags:I
ldc -3932161
iand
putfield com.sun.javafx.text.PrismTextLayout.flags:I
10: aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.flags:I
iload 2
ior
putfield com.sun.javafx.text.PrismTextLayout.flags:I
11: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.relayout:()V
12: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 13 1 alignment I
1 13 2 align I
MethodParameters:
Name Flags
alignment
public boolean setWrapWidth(float);
descriptor: (F)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: fload 1
invokestatic java.lang.Float.isInfinite:(F)Z
ifeq 1
fconst_0
fstore 1
1: StackMap locals:
StackMap stack:
fload 1
invokestatic java.lang.Float.isNaN:(F)Z
ifeq 2
fconst_0
fstore 1
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.wrapWidth:F
fstore 2
start local 2 3: aload 0
fconst_0
fload 1
invokestatic java.lang.Math.max:(FF)F
putfield com.sun.javafx.text.PrismTextLayout.wrapWidth:F
4: iconst_1
istore 3
start local 3 5: aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
ifnull 13
fload 2
fconst_0
fcmpl
ifeq 13
fload 1
fconst_0
fcmpl
ifeq 13
6: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
ldc 262144
iand
ifeq 13
7: fload 1
fload 2
fcmpl
ifle 11
8: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 128
iand
ifne 13
9: iconst_0
istore 3
10: goto 13
11: StackMap locals: float int
StackMap stack:
fload 1
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutWidth:F
fcmpl
iflt 13
12: iconst_0
istore 3
13: StackMap locals:
StackMap stack:
iload 3
ifeq 14
aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.relayout:()V
14: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 15 1 newWidth F
3 15 2 oldWidth F
5 15 3 needsLayout Z
MethodParameters:
Name Flags
newWidth
public boolean setLineSpacing(float);
descriptor: (F)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.spacing:F
fload 1
fcmpl
ifne 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 0
fload 1
putfield com.sun.javafx.text.PrismTextLayout.spacing:F
2: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.relayout:()V
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 4 1 spacing F
MethodParameters:
Name Flags
spacing
private void ensureLayout();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
ifnonnull 2
1: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.layout:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/text/PrismTextLayout;
public com.sun.javafx.scene.text.TextLine[] getLines();
descriptor: ()[Lcom/sun/javafx/scene/text/TextLine;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.ensureLayout:()V
1: aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/javafx/text/PrismTextLayout;
public com.sun.javafx.scene.text.GlyphList[] getRuns();
descriptor: ()[Lcom/sun/javafx/scene/text/GlyphList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.ensureLayout:()V
1: aload 0
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
anewarray com.sun.javafx.scene.text.GlyphList
astore 1
start local 1 2: iconst_0
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 10
5: StackMap locals: com.sun.javafx.scene.text.GlyphList[] int int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iload 3
aaload
invokevirtual com.sun.javafx.text.TextLine.getRuns:()[Lcom/sun/javafx/text/TextRun;
astore 4
start local 4 6: aload 4
arraylength
istore 5
start local 5 7: aload 4
iconst_0
aload 1
iload 2
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: iload 2
iload 5
iadd
istore 2
end local 5 end local 4 9: iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
arraylength
if_icmplt 5
end local 3 11: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/javafx/text/PrismTextLayout;
2 12 1 result [Lcom/sun/javafx/scene/text/GlyphList;
3 12 2 count I
4 11 3 i I
6 9 4 lineRuns [Lcom/sun/javafx/scene/text/GlyphList;
7 9 5 length I
public com.sun.javafx.geom.BaseBounds getBounds();
descriptor: ()Lcom/sun/javafx/geom/BaseBounds;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.ensureLayout:()V
1: aload 0
getfield com.sun.javafx.text.PrismTextLayout.logicalBounds:Lcom/sun/javafx/geom/BaseBounds;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/javafx/text/PrismTextLayout;
public com.sun.javafx.geom.BaseBounds getBounds(com.sun.javafx.scene.text.TextSpan, com.sun.javafx.geom.BaseBounds);
descriptor: (Lcom/sun/javafx/scene/text/TextSpan;Lcom/sun/javafx/geom/BaseBounds;)Lcom/sun/javafx/geom/BaseBounds;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=18, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.ensureLayout:()V
1: ldc Infinity
fstore 3
start local 3 2: ldc Infinity
fstore 4
start local 4 3: ldc -Infinity
fstore 5
start local 5 4: ldc -Infinity
fstore 6
start local 6 5: aload 1
ifnull 33
6: iconst_0
istore 7
start local 7 7: goto 31
8: StackMap locals: com.sun.javafx.text.PrismTextLayout com.sun.javafx.scene.text.TextSpan com.sun.javafx.geom.BaseBounds float float float float int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iload 7
aaload
astore 8
start local 8 9: aload 8
invokevirtual com.sun.javafx.text.TextLine.getRuns:()[Lcom/sun/javafx/text/TextRun;
astore 9
start local 9 10: iconst_0
istore 10
start local 10 11: goto 29
12: StackMap locals: com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] int
StackMap stack:
aload 9
iload 10
aaload
astore 11
start local 11 13: aload 11
invokevirtual com.sun.javafx.text.TextRun.getTextSpan:()Lcom/sun/javafx/scene/text/TextSpan;
astore 12
start local 12 14: aload 12
aload 1
if_acmpeq 15
goto 28
15: StackMap locals: com.sun.javafx.text.TextRun com.sun.javafx.scene.text.TextSpan
StackMap stack:
aload 11
invokevirtual com.sun.javafx.text.TextRun.getLocation:()Lcom/sun/javafx/geom/Point2D;
astore 13
start local 13 16: aload 13
getfield com.sun.javafx.geom.Point2D.x:F
fstore 14
start local 14 17: aload 11
invokevirtual com.sun.javafx.text.TextRun.isLeftBearing:()Z
ifeq 19
18: fload 14
aload 8
invokevirtual com.sun.javafx.text.TextLine.getLeftSideBearing:()F
fadd
fstore 14
19: StackMap locals: com.sun.javafx.geom.Point2D float
StackMap stack:
aload 13
getfield com.sun.javafx.geom.Point2D.x:F
aload 11
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
fadd
fstore 15
start local 15 20: aload 11
invokevirtual com.sun.javafx.text.TextRun.isRightBearing:()Z
ifeq 22
21: fload 15
aload 8
invokevirtual com.sun.javafx.text.TextLine.getRightSideBearing:()F
fadd
fstore 15
22: StackMap locals: float
StackMap stack:
aload 13
getfield com.sun.javafx.geom.Point2D.y:F
fstore 16
start local 16 23: aload 13
getfield com.sun.javafx.geom.Point2D.y:F
aload 8
invokevirtual com.sun.javafx.text.TextLine.getBounds:()Lcom/sun/javafx/geom/RectBounds;
invokevirtual com.sun.javafx.geom.RectBounds.getHeight:()F
fadd
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spacing:F
fadd
fstore 17
start local 17 24: fload 14
fload 3
fcmpg
ifge 25
fload 14
fstore 3
25: StackMap locals: float float
StackMap stack:
fload 16
fload 4
fcmpg
ifge 26
fload 16
fstore 4
26: StackMap locals:
StackMap stack:
fload 15
fload 5
fcmpl
ifle 27
fload 15
fstore 5
27: StackMap locals:
StackMap stack:
fload 17
fload 6
fcmpl
ifle 28
fload 17
fstore 6
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 28: StackMap locals: com.sun.javafx.text.PrismTextLayout com.sun.javafx.scene.text.TextSpan com.sun.javafx.geom.BaseBounds float float float float int com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] int
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
29: iload 10
aload 9
arraylength
if_icmplt 12
end local 10 end local 9 end local 8 30: iinc 7 1
StackMap locals:
StackMap stack:
31: iload 7
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
arraylength
if_icmplt 8
end local 7 32: goto 50
33: StackMap locals:
StackMap stack:
fconst_0
dup
fstore 6
fstore 4
34: iconst_0
istore 7
start local 7 35: goto 44
36: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iload 7
aaload
astore 8
start local 8 37: aload 8
invokevirtual com.sun.javafx.text.TextLine.getBounds:()Lcom/sun/javafx/geom/RectBounds;
astore 9
start local 9 38: aload 9
invokevirtual com.sun.javafx.geom.RectBounds.getMinX:()F
aload 8
invokevirtual com.sun.javafx.text.TextLine.getLeftSideBearing:()F
fadd
fstore 10
start local 10 39: fload 10
fload 3
fcmpg
ifge 40
fload 10
fstore 3
40: StackMap locals: com.sun.javafx.text.TextLine com.sun.javafx.geom.RectBounds float
StackMap stack:
aload 9
invokevirtual com.sun.javafx.geom.RectBounds.getMaxX:()F
aload 8
invokevirtual com.sun.javafx.text.TextLine.getRightSideBearing:()F
fadd
fstore 11
start local 11 41: fload 11
fload 5
fcmpl
ifle 42
fload 11
fstore 5
42: StackMap locals: float
StackMap stack:
fload 6
aload 9
invokevirtual com.sun.javafx.geom.RectBounds.getHeight:()F
fadd
fstore 6
end local 11 end local 10 end local 9 end local 8 43: iinc 7 1
StackMap locals: com.sun.javafx.text.PrismTextLayout com.sun.javafx.scene.text.TextSpan com.sun.javafx.geom.BaseBounds float float float float int
StackMap stack:
44: iload 7
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
arraylength
if_icmplt 36
end local 7 45: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.isMirrored:()Z
ifeq 50
46: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.getMirroringWidth:()F
fstore 7
start local 7 47: fload 3
fstore 8
start local 8 48: fload 7
fload 5
fsub
fstore 3
49: fload 7
fload 8
fsub
fstore 5
end local 8 end local 7 50: StackMap locals:
StackMap stack:
aload 2
fload 3
fload 4
fconst_0
fload 5
fload 6
fconst_0
invokevirtual com.sun.javafx.geom.BaseBounds.deriveWithNewBounds:(FFFFFF)Lcom/sun/javafx/geom/BaseBounds;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 51 1 filter Lcom/sun/javafx/scene/text/TextSpan;
0 51 2 bounds Lcom/sun/javafx/geom/BaseBounds;
2 51 3 left F
3 51 4 top F
4 51 5 right F
5 51 6 bottom F
7 32 7 i I
9 30 8 line Lcom/sun/javafx/text/TextLine;
10 30 9 lineRuns [Lcom/sun/javafx/text/TextRun;
11 30 10 j I
13 28 11 run Lcom/sun/javafx/text/TextRun;
14 28 12 span Lcom/sun/javafx/scene/text/TextSpan;
16 28 13 location Lcom/sun/javafx/geom/Point2D;
17 28 14 runLeft F
20 28 15 runRight F
23 28 16 runTop F
24 28 17 runBottom F
35 45 7 i I
37 43 8 line Lcom/sun/javafx/text/TextLine;
38 43 9 lineBounds Lcom/sun/javafx/geom/RectBounds;
39 43 10 lineLeft F
41 43 11 lineRight F
47 50 7 width F
48 50 8 bearing F
MethodParameters:
Name Flags
filter
bounds
public javafx.scene.shape.PathElement[] getCaretShape(int, boolean, float, float);
descriptor: (IZFF)[Ljavafx/scene/shape/PathElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=23, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.ensureLayout:()V
1: iconst_0
istore 5
start local 5 2: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.getLineCount:()I
istore 6
start local 6 3: goto 8
4: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iload 5
aaload
astore 7
start local 7 5: aload 7
invokevirtual com.sun.javafx.text.TextLine.getStart:()I
aload 7
invokevirtual com.sun.javafx.text.TextLine.getLength:()I
iadd
istore 8
start local 8 6: iload 8
iload 1
if_icmple 7
goto 9
7: StackMap locals: com.sun.javafx.text.TextLine int
StackMap stack:
iinc 5 1
end local 8 end local 7 8: StackMap locals:
StackMap stack:
iload 5
iload 6
iconst_1
isub
if_icmplt 4
9: StackMap locals:
StackMap stack:
iconst_m1
istore 7
start local 7 10: iconst_0
istore 8
start local 8 11: fconst_0
fstore 9
start local 9 12: fconst_0
fstore 10
start local 10 13: fconst_0
fstore 11
start local 11 14: aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iload 5
aaload
astore 12
start local 12 15: aload 12
invokevirtual com.sun.javafx.text.TextLine.getRuns:()[Lcom/sun/javafx/text/TextRun;
astore 13
start local 13 16: aload 13
arraylength
istore 14
start local 14 17: iconst_m1
istore 15
start local 15 18: iconst_0
istore 16
start local 16 19: goto 28
20: StackMap locals: com.sun.javafx.text.PrismTextLayout int int float float int int int int float float float com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] int int int
StackMap stack:
aload 13
iload 16
aaload
astore 17
start local 17 21: aload 17
invokevirtual com.sun.javafx.text.TextRun.getStart:()I
istore 18
start local 18 22: aload 17
invokevirtual com.sun.javafx.text.TextRun.getEnd:()I
istore 19
start local 19 23: iload 18
iload 1
if_icmpgt 27
iload 1
iload 19
if_icmpge 27
24: aload 17
invokevirtual com.sun.javafx.text.TextRun.isLinebreak:()Z
ifne 29
25: iload 16
istore 15
26: goto 29
end local 19 end local 18 end local 17 27: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
28: iload 16
iload 14
if_icmplt 20
end local 16 29: StackMap locals:
StackMap stack:
iload 15
iconst_m1
if_icmpeq 46
30: aload 13
iload 15
aaload
astore 16
start local 16 31: aload 16
invokevirtual com.sun.javafx.text.TextRun.getStart:()I
istore 17
start local 17 32: aload 16
invokevirtual com.sun.javafx.text.TextRun.getLocation:()Lcom/sun/javafx/geom/Point2D;
astore 18
start local 18 33: aload 18
getfield com.sun.javafx.geom.Point2D.x:F
aload 16
iload 1
iload 17
isub
iload 2
invokevirtual com.sun.javafx.text.TextRun.getXAtOffset:(IZ)F
fadd
fstore 9
34: aload 18
getfield com.sun.javafx.geom.Point2D.y:F
fstore 10
35: aload 12
invokevirtual com.sun.javafx.text.TextLine.getBounds:()Lcom/sun/javafx/geom/RectBounds;
invokevirtual com.sun.javafx.geom.RectBounds.getHeight:()F
fstore 11
36: iload 2
ifeq 41
37: iload 15
ifle 63
iload 1
iload 17
if_icmpne 63
38: aload 16
invokevirtual com.sun.javafx.text.TextRun.getLevel:()B
istore 8
39: iload 1
iconst_1
isub
istore 7
40: goto 63
41: StackMap locals: com.sun.javafx.text.TextRun int com.sun.javafx.geom.Point2D
StackMap stack:
aload 16
invokevirtual com.sun.javafx.text.TextRun.getEnd:()I
istore 19
start local 19 42: iload 15
iconst_1
iadd
aload 13
arraylength
if_icmpge 63
iload 1
iconst_1
iadd
iload 19
if_icmpne 63
43: aload 16
invokevirtual com.sun.javafx.text.TextRun.getLevel:()B
istore 8
44: iload 1
iconst_1
iadd
istore 7
end local 19 end local 18 end local 17 end local 16 45: goto 63
46: StackMap locals:
StackMap stack:
iconst_0
istore 16
start local 16 47: iconst_0
istore 15
48: iconst_0
istore 17
start local 17 49: goto 55
50: StackMap locals: int int
StackMap stack:
aload 13
iload 17
aaload
astore 18
start local 18 51: aload 18
invokevirtual com.sun.javafx.text.TextRun.getStart:()I
iload 16
if_icmplt 54
aload 18
invokevirtual com.sun.javafx.text.TextRun.isLinebreak:()Z
ifne 54
52: aload 18
invokevirtual com.sun.javafx.text.TextRun.getStart:()I
istore 16
53: iload 17
istore 15
end local 18 54: StackMap locals:
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
55: iload 17
iload 14
if_icmplt 50
end local 17 56: aload 13
iload 15
aaload
astore 17
start local 17 57: aload 17
invokevirtual com.sun.javafx.text.TextRun.getLocation:()Lcom/sun/javafx/geom/Point2D;
astore 18
start local 18 58: aload 18
getfield com.sun.javafx.geom.Point2D.x:F
aload 17
invokevirtual com.sun.javafx.text.TextRun.isLeftToRight:()Z
ifeq 59
aload 17
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
goto 60
StackMap locals: com.sun.javafx.text.PrismTextLayout int int float float int int int int float float float com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] int int int com.sun.javafx.text.TextRun com.sun.javafx.geom.Point2D
StackMap stack: float
59: fconst_0
StackMap locals: com.sun.javafx.text.PrismTextLayout int int float float int int int int float float float com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] int int int com.sun.javafx.text.TextRun com.sun.javafx.geom.Point2D
StackMap stack: float float
60: fadd
fstore 9
61: aload 18
getfield com.sun.javafx.geom.Point2D.y:F
fstore 10
62: aload 12
invokevirtual com.sun.javafx.text.TextLine.getBounds:()Lcom/sun/javafx/geom/RectBounds;
invokevirtual com.sun.javafx.geom.RectBounds.getHeight:()F
fstore 11
end local 18 end local 17 end local 16 63: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.isMirrored:()Z
ifeq 65
64: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.getMirroringWidth:()F
fload 9
fsub
fstore 9
65: StackMap locals:
StackMap stack:
fload 9
fload 3
fadd
fstore 9
66: fload 10
fload 4
fadd
fstore 10
67: iload 7
iconst_m1
if_icmpeq 92
68: iconst_0
istore 16
start local 16 69: goto 91
70: StackMap locals: int
StackMap stack:
aload 13
iload 16
aaload
astore 17
start local 17 71: aload 17
invokevirtual com.sun.javafx.text.TextRun.getStart:()I
istore 18
start local 18 72: aload 17
invokevirtual com.sun.javafx.text.TextRun.getEnd:()I
istore 19
start local 19 73: iload 18
iload 7
if_icmpgt 90
iload 7
iload 19
if_icmpge 90
74: aload 17
invokevirtual com.sun.javafx.text.TextRun.getLevel:()B
iconst_1
iand
iload 8
iconst_1
iand
if_icmpeq 90
75: aload 17
invokevirtual com.sun.javafx.text.TextRun.getLocation:()Lcom/sun/javafx/geom/Point2D;
astore 20
start local 20 76: aload 20
getfield com.sun.javafx.geom.Point2D.x:F
fstore 21
start local 21 77: iload 2
ifeq 80
78: iload 8
iconst_1
iand
ifeq 81
fload 21
aload 17
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
fadd
fstore 21
79: goto 81
80: StackMap locals: com.sun.javafx.text.PrismTextLayout int int float float int int int int float float float com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] int int int com.sun.javafx.text.TextRun int int com.sun.javafx.geom.Point2D float
StackMap stack:
iload 8
iconst_1
iand
ifne 81
fload 21
aload 17
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
fadd
fstore 21
81: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.isMirrored:()Z
ifeq 83
82: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.getMirroringWidth:()F
fload 21
fsub
fstore 21
83: StackMap locals:
StackMap stack:
fload 21
fload 3
fadd
fstore 21
84: iconst_4
anewarray javafx.scene.shape.PathElement
astore 22
start local 22 85: aload 22
iconst_0
new javafx.scene.shape.MoveTo
dup
fload 9
f2d
fload 10
f2d
invokespecial javafx.scene.shape.MoveTo.<init>:(DD)V
aastore
86: aload 22
iconst_1
new javafx.scene.shape.LineTo
dup
fload 9
f2d
fload 10
fload 11
fconst_2
fdiv
fadd
f2d
invokespecial javafx.scene.shape.LineTo.<init>:(DD)V
aastore
87: aload 22
iconst_2
new javafx.scene.shape.MoveTo
dup
fload 21
f2d
fload 10
fload 11
fconst_2
fdiv
fadd
f2d
invokespecial javafx.scene.shape.MoveTo.<init>:(DD)V
aastore
88: aload 22
iconst_3
new javafx.scene.shape.LineTo
dup
fload 21
f2d
fload 10
fload 11
fadd
f2d
invokespecial javafx.scene.shape.LineTo.<init>:(DD)V
aastore
89: aload 22
areturn
end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 90: StackMap locals: com.sun.javafx.text.PrismTextLayout int int float float int int int int float float float com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] int int int
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
91: iload 16
aload 13
arraylength
if_icmplt 70
end local 16 92: StackMap locals:
StackMap stack:
iconst_2
anewarray javafx.scene.shape.PathElement
astore 16
start local 16 93: aload 16
iconst_0
new javafx.scene.shape.MoveTo
dup
fload 9
f2d
fload 10
f2d
invokespecial javafx.scene.shape.MoveTo.<init>:(DD)V
aastore
94: aload 16
iconst_1
new javafx.scene.shape.LineTo
dup
fload 9
f2d
fload 10
fload 11
fadd
f2d
invokespecial javafx.scene.shape.LineTo.<init>:(DD)V
aastore
95: aload 16
areturn
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 96 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 96 1 offset I
0 96 2 isLeading Z
0 96 3 x F
0 96 4 y F
2 96 5 lineIndex I
3 96 6 lineCount I
5 8 7 line Lcom/sun/javafx/text/TextLine;
6 8 8 lineEnd I
10 96 7 sliptCaretOffset I
11 96 8 level I
12 96 9 lineX F
13 96 10 lineY F
14 96 11 lineHeight F
15 96 12 line Lcom/sun/javafx/text/TextLine;
16 96 13 runs [Lcom/sun/javafx/text/TextRun;
17 96 14 runCount I
18 96 15 runIndex I
19 29 16 i I
21 27 17 run Lcom/sun/javafx/text/TextRun;
22 27 18 runStart I
23 27 19 runEnd I
31 45 16 run Lcom/sun/javafx/text/TextRun;
32 45 17 runStart I
33 45 18 location Lcom/sun/javafx/geom/Point2D;
42 45 19 runEnd I
47 63 16 maxOffset I
49 56 17 i I
51 54 18 run Lcom/sun/javafx/text/TextRun;
57 63 17 run Lcom/sun/javafx/text/TextRun;
58 63 18 location Lcom/sun/javafx/geom/Point2D;
69 92 16 i I
71 90 17 run Lcom/sun/javafx/text/TextRun;
72 90 18 runStart I
73 90 19 runEnd I
76 90 20 location Lcom/sun/javafx/geom/Point2D;
77 90 21 lineX2 F
85 90 22 result [Ljavafx/scene/shape/PathElement;
93 96 16 result [Ljavafx/scene/shape/PathElement;
MethodParameters:
Name Flags
offset
isLeading
x
y
public com.sun.javafx.scene.text.TextLayout$Hit getHitInfo(float, float);
descriptor: (FF)Lcom/sun/javafx/scene/text/TextLayout$Hit;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: iconst_m1
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.ensureLayout:()V
3: aload 0
fload 2
invokevirtual com.sun.javafx.text.PrismTextLayout.getLineIndex:(F)I
istore 5
start local 5 4: iload 5
aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.getLineCount:()I
if_icmplt 7
5: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.getCharCount:()I
istore 3
6: goto 32
7: StackMap locals: int int int
StackMap stack:
aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.isMirrored:()Z
ifeq 9
8: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.getMirroringWidth:()F
fload 1
fsub
fstore 1
9: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iload 5
aaload
astore 6
start local 6 10: aload 6
invokevirtual com.sun.javafx.text.TextLine.getRuns:()[Lcom/sun/javafx/text/TextRun;
astore 7
start local 7 11: aload 6
invokevirtual com.sun.javafx.text.TextLine.getBounds:()Lcom/sun/javafx/geom/RectBounds;
astore 8
start local 8 12: aconst_null
astore 9
start local 9 13: fload 1
aload 8
invokevirtual com.sun.javafx.geom.RectBounds.getMinX:()F
fsub
fstore 1
14: iconst_0
istore 10
start local 10 15: goto 22
16: StackMap locals: com.sun.javafx.text.PrismTextLayout float float int int int com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] com.sun.javafx.geom.RectBounds com.sun.javafx.text.TextRun int
StackMap stack:
aload 7
iload 10
aaload
astore 9
17: fload 1
aload 9
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
fcmpg
ifge 18
goto 23
18: StackMap locals:
StackMap stack:
iload 10
iconst_1
iadd
aload 7
arraylength
if_icmpge 21
19: aload 7
iload 10
iconst_1
iadd
aaload
invokevirtual com.sun.javafx.text.TextRun.isLinebreak:()Z
ifeq 20
goto 23
20: StackMap locals:
StackMap stack:
fload 1
aload 9
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
fsub
fstore 1
21: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
22: iload 10
aload 7
arraylength
if_icmplt 16
end local 10 23: StackMap locals:
StackMap stack:
aload 9
ifnull 30
24: iconst_1
newarray 10
astore 10
start local 10 25: aload 9
invokevirtual com.sun.javafx.text.TextRun.getStart:()I
aload 9
fload 1
aload 10
invokevirtual com.sun.javafx.text.TextRun.getOffsetAtX:(F[I)I
iadd
istore 3
26: aload 10
iconst_0
iaload
ifne 27
iconst_1
goto 28
StackMap locals: int[]
StackMap stack:
27: iconst_0
StackMap locals:
StackMap stack: int
28: istore 4
end local 10 29: goto 32
30: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.sun.javafx.text.TextLine.getStart:()I
istore 3
31: iconst_1
istore 4
end local 9 end local 8 end local 7 end local 6 32: StackMap locals: com.sun.javafx.text.PrismTextLayout float float int int int
StackMap stack:
new com.sun.javafx.scene.text.TextLayout$Hit
dup
iload 3
iconst_m1
iload 4
invokespecial com.sun.javafx.scene.text.TextLayout$Hit.<init>:(IIZ)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 33 1 x F
0 33 2 y F
1 33 3 charIndex I
2 33 4 leading Z
4 33 5 lineIndex I
10 32 6 line Lcom/sun/javafx/text/TextLine;
11 32 7 runs [Lcom/sun/javafx/text/TextRun;
12 32 8 bounds Lcom/sun/javafx/geom/RectBounds;
13 32 9 run Lcom/sun/javafx/text/TextRun;
15 23 10 i I
25 29 10 trailing [I
MethodParameters:
Name Flags
x
y
public javafx.scene.shape.PathElement[] getRange(int, int, int, float, float);
descriptor: (IIIFF)[Ljavafx/scene/shape/PathElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=35, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.ensureLayout:()V
1: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.getLineCount:()I
istore 6
start local 6 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 3: fconst_0
fstore 8
start local 8 4: iconst_0
istore 9
start local 9 5: goto 102
6: StackMap locals: com.sun.javafx.text.PrismTextLayout int int int float float int java.util.ArrayList float int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iload 9
aaload
astore 10
start local 10 7: aload 10
invokevirtual com.sun.javafx.text.TextLine.getBounds:()Lcom/sun/javafx/geom/RectBounds;
astore 11
start local 11 8: aload 10
invokevirtual com.sun.javafx.text.TextLine.getStart:()I
istore 12
start local 12 9: iload 12
iload 2
if_icmplt 10
goto 103
10: StackMap locals: com.sun.javafx.text.TextLine com.sun.javafx.geom.RectBounds int
StackMap stack:
iload 12
aload 10
invokevirtual com.sun.javafx.text.TextLine.getLength:()I
iadd
istore 13
start local 13 11: iload 1
iload 13
if_icmple 14
12: fload 8
aload 11
invokevirtual com.sun.javafx.geom.RectBounds.getHeight:()F
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spacing:F
fadd
fadd
fstore 8
13: goto 101
14: StackMap locals: int
StackMap stack:
aload 10
invokevirtual com.sun.javafx.text.TextLine.getRuns:()[Lcom/sun/javafx/text/TextRun;
astore 14
start local 14 15: iload 13
iload 2
invokestatic java.lang.Math.min:(II)I
iload 12
iload 1
invokestatic java.lang.Math.max:(II)I
isub
istore 15
start local 15 16: iconst_0
istore 16
start local 16 17: ldc -1.0
fstore 17
start local 17 18: ldc -1.0
fstore 18
start local 18 19: aload 11
invokevirtual com.sun.javafx.geom.RectBounds.getMinX:()F
fstore 19
start local 19 20: goto 99
21: StackMap locals: com.sun.javafx.text.PrismTextLayout int int int float float int java.util.ArrayList float int com.sun.javafx.text.TextLine com.sun.javafx.geom.RectBounds int int com.sun.javafx.text.TextRun[] int int float float float
StackMap stack:
aload 14
iload 16
aaload
astore 20
start local 20 22: aload 20
invokevirtual com.sun.javafx.text.TextRun.getStart:()I
istore 21
start local 21 23: aload 20
invokevirtual com.sun.javafx.text.TextRun.getEnd:()I
istore 22
start local 22 24: aload 20
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
fstore 23
start local 23 25: iload 21
iload 1
iload 22
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.max:(II)I
istore 24
start local 24 26: iload 21
iload 2
iload 22
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.max:(II)I
istore 25
start local 25 27: iload 25
iload 24
isub
istore 26
start local 26 28: iload 26
ifeq 97
29: aload 20
invokevirtual com.sun.javafx.text.TextRun.isLeftToRight:()Z
istore 27
start local 27 30: iload 21
iload 1
if_icmple 35
31: iload 27
ifeq 32
fload 19
goto 33
StackMap locals: com.sun.javafx.text.PrismTextLayout int int int float float int java.util.ArrayList float int com.sun.javafx.text.TextLine com.sun.javafx.geom.RectBounds int int com.sun.javafx.text.TextRun[] int int float float float com.sun.javafx.text.TextRun int int float int int int int
StackMap stack:
32: fload 19
fload 23
fadd
StackMap locals:
StackMap stack: float
33: fstore 28
start local 28 34: goto 36
end local 28 35: StackMap locals:
StackMap stack:
fload 19
aload 20
iload 1
iload 21
isub
iconst_1
invokevirtual com.sun.javafx.text.TextRun.getXAtOffset:(IZ)F
fadd
fstore 28
start local 28 36: StackMap locals: float
StackMap stack:
iload 22
iload 2
if_icmpge 41
37: iload 27
ifeq 38
fload 19
fload 23
fadd
goto 39
StackMap locals:
StackMap stack:
38: fload 19
StackMap locals:
StackMap stack: float
39: fstore 29
start local 29 40: goto 42
end local 29 41: StackMap locals:
StackMap stack:
fload 19
aload 20
iload 2
iload 21
isub
iconst_1
invokevirtual com.sun.javafx.text.TextRun.getXAtOffset:(IZ)F
fadd
fstore 29
start local 29 42: StackMap locals: float
StackMap stack:
fload 28
fload 29
fcmpl
ifle 46
43: fload 28
fstore 30
start local 30 44: fload 29
fstore 28
45: fload 30
fstore 29
end local 30 46: StackMap locals:
StackMap stack:
iload 15
iload 26
isub
istore 15
47: fconst_0
fstore 30
start local 30 48: fconst_0
fstore 31
start local 31 49: iload 3
tableswitch { // 1 - 4
1: 50
2: 53
3: 69
4: 53
default: 69
}
50: StackMap locals: float float
StackMap stack:
fload 8
fstore 30
51: fload 8
aload 11
invokevirtual com.sun.javafx.geom.RectBounds.getHeight:()F
fadd
fstore 31
52: goto 69
53: StackMap locals:
StackMap stack:
aconst_null
astore 32
start local 32 54: aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
ifnull 60
55: aload 20
invokevirtual com.sun.javafx.text.TextRun.getTextSpan:()Lcom/sun/javafx/scene/text/TextSpan;
astore 33
start local 33 56: aload 33
invokeinterface com.sun.javafx.scene.text.TextSpan.getFont:()Ljava/lang/Object;
checkcast com.sun.javafx.font.PGFont
astore 34
start local 34 57: aload 34
ifnonnull 58
goto 69
58: StackMap locals: com.sun.javafx.font.FontStrike com.sun.javafx.scene.text.TextSpan com.sun.javafx.font.PGFont
StackMap stack:
aload 34
getstatic com.sun.javafx.text.PrismTextLayout.IDENTITY:Lcom/sun/javafx/geom/transform/BaseTransform;
invokeinterface com.sun.javafx.font.PGFont.getStrike:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/font/FontStrike;
astore 32
end local 34 end local 33 59: goto 61
60: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.strike:Lcom/sun/javafx/font/FontStrike;
astore 32
61: StackMap locals:
StackMap stack:
fload 8
aload 20
invokevirtual com.sun.javafx.text.TextRun.getAscent:()F
fsub
fstore 30
62: aload 32
invokeinterface com.sun.javafx.font.FontStrike.getMetrics:()Lcom/sun/javafx/font/Metrics;
astore 33
start local 33 63: iload 3
iconst_2
if_icmpne 67
64: fload 30
aload 33
invokeinterface com.sun.javafx.font.Metrics.getUnderLineOffset:()F
fadd
fstore 30
65: fload 30
aload 33
invokeinterface com.sun.javafx.font.Metrics.getUnderLineThickness:()F
fadd
fstore 31
66: goto 69
67: StackMap locals: com.sun.javafx.font.Metrics
StackMap stack:
fload 30
aload 33
invokeinterface com.sun.javafx.font.Metrics.getStrikethroughOffset:()F
fadd
fstore 30
68: fload 30
aload 33
invokeinterface com.sun.javafx.font.Metrics.getStrikethroughThickness:()F
fadd
fstore 31
end local 33 end local 32 69: StackMap locals:
StackMap stack:
fload 28
fload 18
fcmpl
ifeq 84
70: fload 17
ldc -1.0
fcmpl
ifeq 82
fload 18
ldc -1.0
fcmpl
ifeq 82
71: fload 17
fstore 32
start local 32 72: fload 18
fstore 33
start local 33 73: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.isMirrored:()Z
ifeq 77
74: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.getMirroringWidth:()F
fstore 34
start local 34 75: fload 34
fload 32
fsub
fstore 32
76: fload 34
fload 33
fsub
fstore 33
end local 34 77: StackMap locals: float float
StackMap stack:
aload 7
new javafx.scene.shape.MoveTo
dup
fload 4
fload 32
fadd
f2d
fload 5
fload 30
fadd
f2d
invokespecial javafx.scene.shape.MoveTo.<init>:(DD)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
78: aload 7
new javafx.scene.shape.LineTo
dup
fload 4
fload 33
fadd
f2d
fload 5
fload 30
fadd
f2d
invokespecial javafx.scene.shape.LineTo.<init>:(DD)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
79: aload 7
new javafx.scene.shape.LineTo
dup
fload 4
fload 33
fadd
f2d
fload 5
fload 31
fadd
f2d
invokespecial javafx.scene.shape.LineTo.<init>:(DD)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
80: aload 7
new javafx.scene.shape.LineTo
dup
fload 4
fload 32
fadd
f2d
fload 5
fload 31
fadd
f2d
invokespecial javafx.scene.shape.LineTo.<init>:(DD)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
81: aload 7
new javafx.scene.shape.LineTo
dup
fload 4
fload 32
fadd
f2d
fload 5
fload 30
fadd
f2d
invokespecial javafx.scene.shape.LineTo.<init>:(DD)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 33 end local 32 82: StackMap locals:
StackMap stack:
fload 28
fstore 17
83: fload 29
fstore 18
84: StackMap locals:
StackMap stack:
fload 29
fstore 18
85: iload 15
ifne 97
86: fload 17
fstore 32
start local 32 87: fload 18
fstore 33
start local 33 88: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.isMirrored:()Z
ifeq 92
89: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.getMirroringWidth:()F
fstore 34
start local 34 90: fload 34
fload 32
fsub
fstore 32
91: fload 34
fload 33
fsub
fstore 33
end local 34 92: StackMap locals: float float
StackMap stack:
aload 7
new javafx.scene.shape.MoveTo
dup
fload 4
fload 32
fadd
f2d
fload 5
fload 30
fadd
f2d
invokespecial javafx.scene.shape.MoveTo.<init>:(DD)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
93: aload 7
new javafx.scene.shape.LineTo
dup
fload 4
fload 33
fadd
f2d
fload 5
fload 30
fadd
f2d
invokespecial javafx.scene.shape.LineTo.<init>:(DD)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
94: aload 7
new javafx.scene.shape.LineTo
dup
fload 4
fload 33
fadd
f2d
fload 5
fload 31
fadd
f2d
invokespecial javafx.scene.shape.LineTo.<init>:(DD)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
95: aload 7
new javafx.scene.shape.LineTo
dup
fload 4
fload 32
fadd
f2d
fload 5
fload 31
fadd
f2d
invokespecial javafx.scene.shape.LineTo.<init>:(DD)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
96: aload 7
new javafx.scene.shape.LineTo
dup
fload 4
fload 32
fadd
f2d
fload 5
fload 30
fadd
f2d
invokespecial javafx.scene.shape.LineTo.<init>:(DD)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 33 end local 32 end local 31 end local 30 end local 29 end local 28 end local 27 97: StackMap locals: com.sun.javafx.text.PrismTextLayout int int int float float int java.util.ArrayList float int com.sun.javafx.text.TextLine com.sun.javafx.geom.RectBounds int int com.sun.javafx.text.TextRun[] int int float float float com.sun.javafx.text.TextRun int int float int int int
StackMap stack:
fload 19
fload 23
fadd
fstore 19
98: iinc 16 1
end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 99: StackMap locals: com.sun.javafx.text.PrismTextLayout int int int float float int java.util.ArrayList float int com.sun.javafx.text.TextLine com.sun.javafx.geom.RectBounds int int com.sun.javafx.text.TextRun[] int int float float float
StackMap stack:
iload 15
ifle 100
iload 16
aload 14
arraylength
if_icmplt 21
100: StackMap locals:
StackMap stack:
fload 8
aload 11
invokevirtual com.sun.javafx.geom.RectBounds.getHeight:()F
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spacing:F
fadd
fadd
fstore 8
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 101: StackMap locals: com.sun.javafx.text.PrismTextLayout int int int float float int java.util.ArrayList float int
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
102: iload 9
iload 6
if_icmplt 6
end local 9 103: StackMap locals:
StackMap stack:
aload 7
aload 7
invokevirtual java.util.ArrayList.size:()I
anewarray javafx.scene.shape.PathElement
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javafx.scene.shape.PathElement[]
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 104 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 104 1 start I
0 104 2 end I
0 104 3 type I
0 104 4 x F
0 104 5 y F
2 104 6 lineCount I
3 104 7 result Ljava/util/ArrayList<Ljavafx/scene/shape/PathElement;>;
4 104 8 lineY F
5 103 9 lineIndex I
7 101 10 line Lcom/sun/javafx/text/TextLine;
8 101 11 lineBounds Lcom/sun/javafx/geom/RectBounds;
9 101 12 lineStart I
11 101 13 lineEnd I
15 101 14 runs [Lcom/sun/javafx/text/TextRun;
16 101 15 count I
17 101 16 runIndex I
18 101 17 left F
19 101 18 right F
20 101 19 lineX F
22 99 20 run Lcom/sun/javafx/text/TextRun;
23 99 21 runStart I
24 99 22 runEnd I
25 99 23 runWidth F
26 99 24 clmapStart I
27 99 25 clampEnd I
28 99 26 runCount I
30 97 27 ltr Z
34 35 28 runLeft F
36 97 28 runLeft F
40 41 29 runRight F
42 97 29 runRight F
44 46 30 tmp F
48 97 30 top F
49 97 31 bottom F
54 69 32 fontStrike Lcom/sun/javafx/font/FontStrike;
56 59 33 span Lcom/sun/javafx/scene/text/TextSpan;
57 59 34 font Lcom/sun/javafx/font/PGFont;
63 69 33 metrics Lcom/sun/javafx/font/Metrics;
72 82 32 l F
73 82 33 r F
75 77 34 width F
87 97 32 l F
88 97 33 r F
90 92 34 width F
MethodParameters:
Name Flags
start
end
type
x
y
public com.sun.javafx.geom.Shape getShape(int, com.sun.javafx.scene.text.TextSpan);
descriptor: (ILcom/sun/javafx/scene/text/TextSpan;)Lcom/sun/javafx/geom/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=13, locals=23, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.ensureLayout:()V
1: iload 1
iconst_1
iand
ifeq 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: iload 1
iconst_2
iand
ifeq 5
iconst_1
goto 6
StackMap locals: int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 4
start local 4 7: iload 1
iconst_4
iand
ifeq 8
iconst_1
goto 9
StackMap locals: int
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 5
start local 5 10: iload 1
bipush 8
iand
ifeq 11
iconst_1
goto 12
StackMap locals: int
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 6
start local 6 13: aload 0
getfield com.sun.javafx.text.PrismTextLayout.shape:Lcom/sun/javafx/geom/Shape;
ifnull 15
iload 3
ifeq 15
iload 4
ifne 15
iload 5
ifne 15
iload 6
ifeq 15
14: aload 0
getfield com.sun.javafx.text.PrismTextLayout.shape:Lcom/sun/javafx/geom/Shape;
areturn
15: StackMap locals: int
StackMap stack:
new com.sun.javafx.geom.Path2D
dup
invokespecial com.sun.javafx.geom.Path2D.<init>:()V
astore 7
start local 7 16: new com.sun.javafx.geom.transform.Translate2D
dup
dconst_0
dconst_0
invokespecial com.sun.javafx.geom.transform.Translate2D.<init>:(DD)V
astore 8
start local 8 17: fconst_0
fstore 9
start local 9 18: iload 6
ifeq 20
19: aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iconst_0
aaload
invokevirtual com.sun.javafx.text.TextLine.getBounds:()Lcom/sun/javafx/geom/RectBounds;
invokevirtual com.sun.javafx.geom.RectBounds.getMinY:()F
fneg
fstore 9
20: StackMap locals: com.sun.javafx.geom.Path2D com.sun.javafx.geom.transform.BaseTransform float
StackMap stack:
iconst_0
istore 10
start local 10 21: goto 65
22: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iload 10
aaload
astore 11
start local 11 23: aload 11
invokevirtual com.sun.javafx.text.TextLine.getRuns:()[Lcom/sun/javafx/text/TextRun;
astore 12
start local 12 24: aload 11
invokevirtual com.sun.javafx.text.TextLine.getBounds:()Lcom/sun/javafx/geom/RectBounds;
astore 13
start local 13 25: aload 13
invokevirtual com.sun.javafx.geom.RectBounds.getMinY:()F
fneg
fstore 14
start local 14 26: iconst_0
istore 15
start local 15 27: goto 63
28: StackMap locals: com.sun.javafx.text.PrismTextLayout int com.sun.javafx.scene.text.TextSpan int int int int com.sun.javafx.geom.Path2D com.sun.javafx.geom.transform.BaseTransform float int com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] com.sun.javafx.geom.RectBounds float int
StackMap stack:
aload 12
iload 15
aaload
astore 16
start local 16 29: aconst_null
astore 17
start local 17 30: aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
ifnull 37
31: aload 16
invokevirtual com.sun.javafx.text.TextRun.getTextSpan:()Lcom/sun/javafx/scene/text/TextSpan;
astore 18
start local 18 32: aload 2
ifnull 33
aload 18
aload 2
if_acmpeq 33
goto 62
33: StackMap locals: com.sun.javafx.text.TextRun com.sun.javafx.font.FontStrike com.sun.javafx.scene.text.TextSpan
StackMap stack:
aload 18
invokeinterface com.sun.javafx.scene.text.TextSpan.getFont:()Ljava/lang/Object;
checkcast com.sun.javafx.font.PGFont
astore 19
start local 19 34: aload 19
ifnonnull 35
goto 62
35: StackMap locals: com.sun.javafx.font.PGFont
StackMap stack:
aload 19
getstatic com.sun.javafx.text.PrismTextLayout.IDENTITY:Lcom/sun/javafx/geom/transform/BaseTransform;
invokeinterface com.sun.javafx.font.PGFont.getStrike:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/font/FontStrike;
astore 17
end local 19 end local 18 36: goto 38
37: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.strike:Lcom/sun/javafx/font/FontStrike;
astore 17
38: StackMap locals:
StackMap stack:
aload 16
invokevirtual com.sun.javafx.text.TextRun.getLocation:()Lcom/sun/javafx/geom/Point2D;
astore 18
start local 18 39: aload 18
getfield com.sun.javafx.geom.Point2D.x:F
fstore 19
start local 19 40: aload 18
getfield com.sun.javafx.geom.Point2D.y:F
fload 14
fadd
fload 9
fsub
fstore 20
start local 20 41: aconst_null
astore 21
start local 21 42: iload 4
ifne 43
iload 5
ifeq 44
43: StackMap locals: com.sun.javafx.text.PrismTextLayout int com.sun.javafx.scene.text.TextSpan int int int int com.sun.javafx.geom.Path2D com.sun.javafx.geom.transform.BaseTransform float int com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] com.sun.javafx.geom.RectBounds float int com.sun.javafx.text.TextRun com.sun.javafx.font.FontStrike com.sun.javafx.geom.Point2D float float com.sun.javafx.font.Metrics
StackMap stack:
aload 17
invokeinterface com.sun.javafx.font.FontStrike.getMetrics:()Lcom/sun/javafx/font/Metrics;
astore 21
44: StackMap locals:
StackMap stack:
iload 4
ifeq 51
45: new com.sun.javafx.geom.RoundRectangle2D
dup
invokespecial com.sun.javafx.geom.RoundRectangle2D.<init>:()V
astore 22
start local 22 46: aload 22
fload 19
putfield com.sun.javafx.geom.RoundRectangle2D.x:F
47: aload 22
fload 20
aload 21
invokeinterface com.sun.javafx.font.Metrics.getUnderLineOffset:()F
fadd
putfield com.sun.javafx.geom.RoundRectangle2D.y:F
48: aload 22
aload 16
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
putfield com.sun.javafx.geom.RoundRectangle2D.width:F
49: aload 22
aload 21
invokeinterface com.sun.javafx.font.Metrics.getUnderLineThickness:()F
putfield com.sun.javafx.geom.RoundRectangle2D.height:F
50: aload 7
aload 22
iconst_0
invokevirtual com.sun.javafx.geom.Path2D.append:(Lcom/sun/javafx/geom/Shape;Z)V
end local 22 51: StackMap locals:
StackMap stack:
iload 5
ifeq 58
52: new com.sun.javafx.geom.RoundRectangle2D
dup
invokespecial com.sun.javafx.geom.RoundRectangle2D.<init>:()V
astore 22
start local 22 53: aload 22
fload 19
putfield com.sun.javafx.geom.RoundRectangle2D.x:F
54: aload 22
fload 20
aload 21
invokeinterface com.sun.javafx.font.Metrics.getStrikethroughOffset:()F
fadd
putfield com.sun.javafx.geom.RoundRectangle2D.y:F
55: aload 22
aload 16
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
putfield com.sun.javafx.geom.RoundRectangle2D.width:F
56: aload 22
aload 21
invokeinterface com.sun.javafx.font.Metrics.getStrikethroughThickness:()F
putfield com.sun.javafx.geom.RoundRectangle2D.height:F
57: aload 7
aload 22
iconst_0
invokevirtual com.sun.javafx.geom.Path2D.append:(Lcom/sun/javafx/geom/Shape;Z)V
end local 22 58: StackMap locals:
StackMap stack:
iload 3
ifeq 62
aload 16
invokevirtual com.sun.javafx.text.TextRun.getGlyphCount:()I
ifle 62
59: aload 8
dconst_1
dconst_0
dconst_0
dconst_1
fload 19
f2d
fload 20
f2d
invokevirtual com.sun.javafx.geom.transform.BaseTransform.restoreTransform:(DDDDDD)V
60: aload 17
aload 16
aload 8
invokeinterface com.sun.javafx.font.FontStrike.getOutline:(Lcom/sun/javafx/scene/text/GlyphList;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/Shape;
checkcast com.sun.javafx.geom.Path2D
astore 22
start local 22 61: aload 7
aload 22
iconst_0
invokevirtual com.sun.javafx.geom.Path2D.append:(Lcom/sun/javafx/geom/Shape;Z)V
end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 62: StackMap locals: com.sun.javafx.text.PrismTextLayout int com.sun.javafx.scene.text.TextSpan int int int int com.sun.javafx.geom.Path2D com.sun.javafx.geom.transform.BaseTransform float int com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] com.sun.javafx.geom.RectBounds float int
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
63: iload 15
aload 12
arraylength
if_icmplt 28
end local 15 end local 14 end local 13 end local 12 end local 11 64: iinc 10 1
StackMap locals: com.sun.javafx.text.PrismTextLayout int com.sun.javafx.scene.text.TextSpan int int int int com.sun.javafx.geom.Path2D com.sun.javafx.geom.transform.BaseTransform float int
StackMap stack:
65: iload 10
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
arraylength
if_icmplt 22
end local 10 66: iload 3
ifeq 68
iload 4
ifne 68
iload 5
ifne 68
67: aload 0
aload 7
putfield com.sun.javafx.text.PrismTextLayout.shape:Lcom/sun/javafx/geom/Shape;
68: StackMap locals:
StackMap stack:
aload 7
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 69 1 type I
0 69 2 filter Lcom/sun/javafx/scene/text/TextSpan;
4 69 3 text Z
7 69 4 underline Z
10 69 5 strikethrough Z
13 69 6 baselineType Z
16 69 7 outline Lcom/sun/javafx/geom/Path2D;
17 69 8 tx Lcom/sun/javafx/geom/transform/BaseTransform;
18 69 9 firstBaseline F
21 66 10 i I
23 64 11 line Lcom/sun/javafx/text/TextLine;
24 64 12 runs [Lcom/sun/javafx/text/TextRun;
25 64 13 bounds Lcom/sun/javafx/geom/RectBounds;
26 64 14 baseline F
27 64 15 j I
29 62 16 run Lcom/sun/javafx/text/TextRun;
30 62 17 fontStrike Lcom/sun/javafx/font/FontStrike;
32 36 18 span Lcom/sun/javafx/scene/text/TextSpan;
34 36 19 font Lcom/sun/javafx/font/PGFont;
39 62 18 location Lcom/sun/javafx/geom/Point2D;
40 62 19 runX F
41 62 20 runY F
42 62 21 metrics Lcom/sun/javafx/font/Metrics;
46 51 22 rect Lcom/sun/javafx/geom/RoundRectangle2D;
53 58 22 rect Lcom/sun/javafx/geom/RoundRectangle2D;
61 62 22 path Lcom/sun/javafx/geom/Path2D;
MethodParameters:
Name Flags
type
filter
private int getLineIndex(float);
descriptor: (F)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: fconst_0
fstore 3
start local 3 2: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.getLineCount:()I
istore 4
start local 4 3: goto 8
4: StackMap locals: int float int
StackMap stack:
fload 3
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iload 2
aaload
invokevirtual com.sun.javafx.text.TextLine.getBounds:()Lcom/sun/javafx/geom/RectBounds;
invokevirtual com.sun.javafx.geom.RectBounds.getHeight:()F
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spacing:F
fadd
fadd
fstore 3
5: iload 2
iconst_1
iadd
iload 4
if_icmpne 6
fload 3
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iload 2
aaload
invokevirtual com.sun.javafx.text.TextLine.getLeading:()F
fsub
fstore 3
6: StackMap locals:
StackMap stack:
fload 3
fload 1
fcmpl
ifle 7
goto 9
7: StackMap locals:
StackMap stack:
iinc 2 1
8: StackMap locals:
StackMap stack:
iload 2
iload 4
if_icmplt 4
9: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 10 1 y F
1 10 2 index I
2 10 3 bottom F
3 10 4 lineCount I
MethodParameters:
Name Flags
y
private boolean copyCache();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
ldc 3932160
iand
istore 1
start local 1 1: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 16384
iand
istore 2
start local 2 2: aload 0
getfield com.sun.javafx.text.PrismTextLayout.wrapWidth:F
fconst_0
fcmpl
ifne 3
iload 1
ldc 262144
if_icmpne 3
iload 2
ifeq 3
aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.isMirrored:()Z
ifne 3
iconst_0
ireturn
StackMap locals: int int
StackMap stack:
3: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/javafx/text/PrismTextLayout;
1 4 1 align I
2 4 2 boundsType I
private void initCache();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.cacheKey:Ljava/lang/Integer;
ifnull 25
1: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
ifnonnull 8
2: getstatic com.sun.javafx.text.PrismTextLayout.stringCache:Ljava/util/Hashtable;
aload 0
getfield com.sun.javafx.text.PrismTextLayout.cacheKey:Ljava/lang/Integer;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.javafx.text.LayoutCache
astore 1
start local 1 3: aload 1
ifnull 8
aload 1
getfield com.sun.javafx.text.LayoutCache.font:Lcom/sun/javafx/font/PGFont;
aload 0
getfield com.sun.javafx.text.PrismTextLayout.font:Lcom/sun/javafx/font/PGFont;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
aload 1
getfield com.sun.javafx.text.LayoutCache.text:[C
aload 0
getfield com.sun.javafx.text.PrismTextLayout.text:[C
invokestatic java.util.Arrays.equals:([C[C)Z
ifeq 8
4: aload 0
aload 1
putfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
5: aload 0
aload 1
getfield com.sun.javafx.text.LayoutCache.runs:[Lcom/sun/javafx/text/TextRun;
putfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
6: aload 0
aload 1
getfield com.sun.javafx.text.LayoutCache.runCount:I
putfield com.sun.javafx.text.PrismTextLayout.runCount:I
7: aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.flags:I
aload 1
getfield com.sun.javafx.text.LayoutCache.analysis:I
ior
putfield com.sun.javafx.text.PrismTextLayout.flags:I
end local 1 8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
ifnull 25
9: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.copyCache:()Z
ifeq 14
10: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.runs:[Lcom/sun/javafx/text/TextRun;
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
if_acmpne 25
11: aload 0
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
anewarray com.sun.javafx.text.TextRun
putfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
12: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.runs:[Lcom/sun/javafx/text/TextRun;
iconst_0
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iconst_0
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: goto 25
14: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.lines:[Lcom/sun/javafx/text/TextLine;
ifnull 25
15: aload 0
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.runs:[Lcom/sun/javafx/text/TextRun;
putfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
16: aload 0
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.runCount:I
putfield com.sun.javafx.text.PrismTextLayout.runCount:I
17: aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.flags:I
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.analysis:I
ior
putfield com.sun.javafx.text.PrismTextLayout.flags:I
18: aload 0
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.lines:[Lcom/sun/javafx/text/TextLine;
putfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
19: aload 0
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.layoutWidth:F
putfield com.sun.javafx.text.PrismTextLayout.layoutWidth:F
20: aload 0
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.layoutHeight:F
putfield com.sun.javafx.text.PrismTextLayout.layoutHeight:F
21: aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iconst_0
aaload
invokevirtual com.sun.javafx.text.TextLine.getBounds:()Lcom/sun/javafx/geom/RectBounds;
invokevirtual com.sun.javafx.geom.RectBounds.getMinY:()F
fstore 1
start local 1 22: aload 0
aload 0
getfield com.sun.javafx.text.PrismTextLayout.logicalBounds:Lcom/sun/javafx/geom/BaseBounds;
fconst_0
fload 1
fconst_0
23: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutWidth:F
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutHeight:F
fload 1
fadd
fconst_0
24: invokevirtual com.sun.javafx.geom.BaseBounds.deriveWithNewBounds:(FFFFFF)Lcom/sun/javafx/geom/BaseBounds;
putfield com.sun.javafx.text.PrismTextLayout.logicalBounds:Lcom/sun/javafx/geom/BaseBounds;
end local 1 25: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/javafx/text/PrismTextLayout;
3 8 1 cache Lcom/sun/javafx/text/LayoutCache;
22 25 1 ascent F
private int getLineCount();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/text/PrismTextLayout;
private int getCharCount();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.text:[C
ifnull 1
aload 0
getfield com.sun.javafx.text.PrismTextLayout.text:[C
arraylength
ireturn
1: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: int int
StackMap stack:
iload 1
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iload 2
aaload
invokevirtual com.sun.javafx.text.TextLine.getLength:()I
iadd
istore 1
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
arraylength
if_icmplt 4
end local 2 7: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/javafx/text/PrismTextLayout;
2 8 1 count I
3 7 2 i I
public com.sun.javafx.scene.text.TextSpan[] getTextSpans();
descriptor: ()[Lcom/sun/javafx/scene/text/TextSpan;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/text/PrismTextLayout;
public com.sun.javafx.font.PGFont getFont();
descriptor: ()Lcom/sun/javafx/font/PGFont;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.font:Lcom/sun/javafx/font/PGFont;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/text/PrismTextLayout;
public int getDirection();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 1024
iand
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 2048
iand
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 4096
iand
ifeq 6
5: bipush -2
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 8192
iand
ifeq 8
7: iconst_m1
ireturn
8: StackMap locals:
StackMap stack:
bipush -2
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/javafx/text/PrismTextLayout;
public void addTextRun(com.sun.javafx.text.TextRun);
descriptor: (Lcom/sun/javafx/text/TextRun;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
iconst_1
iadd
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
arraylength
if_icmple 4
1: aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
arraylength
bipush 64
iadd
anewarray com.sun.javafx.text.TextRun
astore 2
start local 2 2: aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iconst_0
aload 2
iconst_0
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 0
aload 2
putfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
end local 2 4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
dup_x1
iconst_1
iadd
putfield com.sun.javafx.text.PrismTextLayout.runCount:I
aload 1
aastore
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 6 1 run Lcom/sun/javafx/text/TextRun;
2 4 2 newRuns [Lcom/sun/javafx/text/TextRun;
MethodParameters:
Name Flags
run
private void buildRuns(char[]);
descriptor: ([C)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield com.sun.javafx.text.PrismTextLayout.runCount:I
1: aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
ifnonnull 4
2: iconst_4
aload 1
arraylength
bipush 16
idiv
bipush 16
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.max:(II)I
istore 2
start local 2 3: aload 0
iload 2
anewarray com.sun.javafx.text.TextRun
putfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
end local 2 4: StackMap locals:
StackMap stack:
invokestatic com.sun.javafx.text.GlyphLayout.getInstance:()Lcom/sun/javafx/text/GlyphLayout;
astore 2
start local 2 5: aload 0
aload 2
aload 0
aload 1
aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
invokevirtual com.sun.javafx.text.GlyphLayout.breakRuns:(Lcom/sun/javafx/text/PrismTextLayout;[CI)I
putfield com.sun.javafx.text.PrismTextLayout.flags:I
6: aload 2
invokevirtual com.sun.javafx.text.GlyphLayout.dispose:()V
7: aload 0
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
istore 3
start local 3 8: goto 11
9: StackMap locals: com.sun.javafx.text.GlyphLayout int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iload 3
aconst_null
aastore
10: iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
arraylength
if_icmplt 9
end local 3 12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 13 1 chars [C
3 4 2 count I
5 13 2 layout Lcom/sun/javafx/text/GlyphLayout;
8 12 3 j I
MethodParameters:
Name Flags
chars
private void shape(com.sun.javafx.text.TextRun, char[], com.sun.javafx.text.GlyphLayout);
descriptor: (Lcom/sun/javafx/text/TextRun;[CLcom/sun/javafx/text/GlyphLayout;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=16, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
ifnull 10
1: aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
arraylength
ifne 2
return
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.javafx.text.TextRun.getTextSpan:()Lcom/sun/javafx/scene/text/TextSpan;
astore 6
start local 6 3: aload 6
invokeinterface com.sun.javafx.scene.text.TextSpan.getFont:()Ljava/lang/Object;
checkcast com.sun.javafx.font.PGFont
astore 5
start local 5 4: aload 5
ifnonnull 8
5: aload 6
invokeinterface com.sun.javafx.scene.text.TextSpan.getBounds:()Lcom/sun/javafx/geom/RectBounds;
astore 7
start local 7 6: aload 1
aload 7
aload 6
invokeinterface com.sun.javafx.scene.text.TextSpan.getText:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokevirtual com.sun.javafx.text.TextRun.setEmbedded:(Lcom/sun/javafx/geom/RectBounds;I)V
7: return
end local 7 8: StackMap locals: com.sun.javafx.text.PrismTextLayout com.sun.javafx.text.TextRun char[] com.sun.javafx.text.GlyphLayout top com.sun.javafx.font.PGFont com.sun.javafx.scene.text.TextSpan
StackMap stack:
aload 5
getstatic com.sun.javafx.text.PrismTextLayout.IDENTITY:Lcom/sun/javafx/geom/transform/BaseTransform;
invokeinterface com.sun.javafx.font.PGFont.getStrike:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/font/FontStrike;
astore 4
end local 6 start local 4 9: goto 12
end local 5 end local 4 10: StackMap locals: com.sun.javafx.text.PrismTextLayout com.sun.javafx.text.TextRun char[] com.sun.javafx.text.GlyphLayout
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.font:Lcom/sun/javafx/font/PGFont;
astore 5
start local 5 11: aload 0
getfield com.sun.javafx.text.PrismTextLayout.strike:Lcom/sun/javafx/font/FontStrike;
astore 4
start local 4 12: StackMap locals: com.sun.javafx.font.FontStrike com.sun.javafx.font.PGFont
StackMap stack:
aload 1
invokevirtual com.sun.javafx.text.TextRun.getAscent:()F
fconst_0
fcmpl
ifne 30
13: aload 4
invokeinterface com.sun.javafx.font.FontStrike.getMetrics:()Lcom/sun/javafx/font/Metrics;
astore 6
start local 6 14: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 16384
iand
sipush 16384
if_icmpne 29
15: aload 6
invokeinterface com.sun.javafx.font.Metrics.getAscent:()F
fstore 7
start local 7 16: aload 5
invokeinterface com.sun.javafx.font.PGFont.getFamilyName:()Ljava/lang/String;
ldc "Segoe UI"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
17: fload 7
f2d
ldc 0.8
dmul
d2f
fstore 7
18: StackMap locals: com.sun.javafx.font.Metrics float
StackMap stack:
fload 7
f2d
ldc 0.75
dsub
d2i
i2f
fstore 7
19: aload 6
invokeinterface com.sun.javafx.font.Metrics.getDescent:()F
f2d
ldc 0.75
dadd
d2i
i2f
fstore 8
start local 8 20: aload 6
invokeinterface com.sun.javafx.font.Metrics.getLineGap:()F
f2d
ldc 0.75
dadd
d2i
i2f
fstore 9
start local 9 21: aload 6
invokeinterface com.sun.javafx.font.Metrics.getCapHeight:()F
f2d
ldc 0.75
dadd
d2i
i2f
fstore 10
start local 10 22: fload 7
fneg
fload 10
fsub
fstore 11
start local 11 23: fload 11
fload 8
fcmpl
ifle 26
24: fload 11
fstore 8
25: goto 27
26: StackMap locals: com.sun.javafx.text.PrismTextLayout com.sun.javafx.text.TextRun char[] com.sun.javafx.text.GlyphLayout com.sun.javafx.font.FontStrike com.sun.javafx.font.PGFont com.sun.javafx.font.Metrics float float float float float
StackMap stack:
fload 7
fload 11
fload 8
fsub
fadd
fstore 7
27: StackMap locals:
StackMap stack:
aload 1
fload 7
fload 8
fload 9
invokevirtual com.sun.javafx.text.TextRun.setMetrics:(FFF)V
end local 11 end local 10 end local 9 end local 8 end local 7 28: goto 30
29: StackMap locals: com.sun.javafx.text.PrismTextLayout com.sun.javafx.text.TextRun char[] com.sun.javafx.text.GlyphLayout com.sun.javafx.font.FontStrike com.sun.javafx.font.PGFont com.sun.javafx.font.Metrics
StackMap stack:
aload 1
aload 6
invokeinterface com.sun.javafx.font.Metrics.getAscent:()F
aload 6
invokeinterface com.sun.javafx.font.Metrics.getDescent:()F
aload 6
invokeinterface com.sun.javafx.font.Metrics.getLineGap:()F
invokevirtual com.sun.javafx.text.TextRun.setMetrics:(FFF)V
end local 6 30: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.javafx.text.TextRun.isTab:()Z
ifeq 31
return
31: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.javafx.text.TextRun.isLinebreak:()Z
ifeq 32
return
32: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.javafx.text.TextRun.getGlyphCount:()I
ifle 33
return
33: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.javafx.text.TextRun.isComplex:()Z
ifeq 36
34: aload 3
aload 1
aload 5
aload 4
aload 2
invokevirtual com.sun.javafx.text.GlyphLayout.layout:(Lcom/sun/javafx/text/TextRun;Lcom/sun/javafx/font/PGFont;Lcom/sun/javafx/font/FontStrike;[C)V
35: goto 71
36: StackMap locals:
StackMap stack:
aload 4
invokeinterface com.sun.javafx.font.FontStrike.getFontResource:()Lcom/sun/javafx/font/FontResource;
astore 6
start local 6 37: aload 1
invokevirtual com.sun.javafx.text.TextRun.getStart:()I
istore 7
start local 7 38: aload 1
invokevirtual com.sun.javafx.text.TextRun.getLength:()I
istore 8
start local 8 39: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
ifnonnull 56
40: aload 4
invokeinterface com.sun.javafx.font.FontStrike.getSize:()F
fstore 9
start local 9 41: aload 6
invokeinterface com.sun.javafx.font.FontResource.getGlyphMapper:()Lcom/sun/javafx/font/CharToGlyphMapper;
astore 10
start local 10 42: iload 8
newarray 10
astore 11
start local 11 43: aload 10
iload 7
iload 8
aload 2
aload 11
invokevirtual com.sun.javafx.font.CharToGlyphMapper.charsToGlyphs:(II[C[I)V
44: iload 8
iconst_1
iadd
iconst_1
ishl
newarray 6
astore 12
start local 12 45: fconst_0
fstore 13
start local 13 46: iconst_0
istore 14
start local 14 47: goto 52
48: StackMap locals: com.sun.javafx.text.PrismTextLayout com.sun.javafx.text.TextRun char[] com.sun.javafx.text.GlyphLayout com.sun.javafx.font.FontStrike com.sun.javafx.font.PGFont com.sun.javafx.font.FontResource int int float com.sun.javafx.font.CharToGlyphMapper int[] float[] float int
StackMap stack:
aload 6
aload 11
iload 14
iaload
fload 9
invokeinterface com.sun.javafx.font.FontResource.getAdvance:(IF)F
fstore 15
start local 15 49: aload 12
iload 14
iconst_1
ishl
fload 13
fastore
50: fload 13
fload 15
fadd
fstore 13
end local 15 51: iinc 14 1
StackMap locals:
StackMap stack:
52: iload 14
iload 8
if_icmplt 48
end local 14 53: aload 12
iload 8
iconst_1
ishl
fload 13
fastore
54: aload 1
iload 8
aload 11
aload 12
aconst_null
invokevirtual com.sun.javafx.text.TextRun.shape:(I[I[F[I)V
end local 13 end local 12 end local 11 end local 10 end local 9 55: goto 71
56: StackMap locals: com.sun.javafx.text.PrismTextLayout com.sun.javafx.text.TextRun char[] com.sun.javafx.text.GlyphLayout com.sun.javafx.font.FontStrike com.sun.javafx.font.PGFont com.sun.javafx.font.FontResource int int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.valid:Z
ifne 70
57: aload 4
invokeinterface com.sun.javafx.font.FontStrike.getSize:()F
fstore 9
start local 9 58: aload 6
invokeinterface com.sun.javafx.font.FontResource.getGlyphMapper:()Lcom/sun/javafx/font/CharToGlyphMapper;
astore 10
start local 10 59: aload 10
iload 7
iload 8
aload 2
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.glyphs:[I
iload 7
invokevirtual com.sun.javafx.font.CharToGlyphMapper.charsToGlyphs:(II[C[II)V
60: iload 7
iload 8
iadd
istore 11
start local 11 61: fconst_0
fstore 12
start local 12 62: iload 7
istore 13
start local 13 63: goto 68
64: StackMap locals: com.sun.javafx.text.PrismTextLayout com.sun.javafx.text.TextRun char[] com.sun.javafx.text.GlyphLayout com.sun.javafx.font.FontStrike com.sun.javafx.font.PGFont com.sun.javafx.font.FontResource int int float com.sun.javafx.font.CharToGlyphMapper int float int
StackMap stack:
aload 6
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.glyphs:[I
iload 13
iaload
fload 9
invokeinterface com.sun.javafx.font.FontResource.getAdvance:(IF)F
fstore 14
start local 14 65: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.advances:[F
iload 13
fload 14
fastore
66: fload 12
fload 14
fadd
fstore 12
end local 14 67: iinc 13 1
StackMap locals:
StackMap stack:
68: iload 13
iload 11
if_icmplt 64
end local 13 69: aload 1
fload 12
invokevirtual com.sun.javafx.text.TextRun.setWidth:(F)V
end local 12 end local 11 end local 10 end local 9 70: StackMap locals: com.sun.javafx.text.PrismTextLayout com.sun.javafx.text.TextRun char[] com.sun.javafx.text.GlyphLayout com.sun.javafx.font.FontStrike com.sun.javafx.font.PGFont com.sun.javafx.font.FontResource int int
StackMap stack:
aload 1
iload 8
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.glyphs:[I
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.advances:[F
invokevirtual com.sun.javafx.text.TextRun.shape:(I[I[F)V
end local 8 end local 7 end local 6 71: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 72 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 72 1 run Lcom/sun/javafx/text/TextRun;
0 72 2 chars [C
0 72 3 layout Lcom/sun/javafx/text/GlyphLayout;
9 10 4 strike Lcom/sun/javafx/font/FontStrike;
12 72 4 strike Lcom/sun/javafx/font/FontStrike;
4 10 5 font Lcom/sun/javafx/font/PGFont;
11 72 5 font Lcom/sun/javafx/font/PGFont;
3 9 6 span Lcom/sun/javafx/scene/text/TextSpan;
6 8 7 bounds Lcom/sun/javafx/geom/RectBounds;
14 30 6 m Lcom/sun/javafx/font/Metrics;
16 28 7 ascent F
20 28 8 descent F
21 28 9 leading F
22 28 10 capHeight F
23 28 11 topPadding F
37 71 6 fr Lcom/sun/javafx/font/FontResource;
38 71 7 start I
39 71 8 length I
41 55 9 fontSize F
42 55 10 mapper Lcom/sun/javafx/font/CharToGlyphMapper;
43 55 11 glyphs [I
45 55 12 positions [F
46 55 13 xadvance F
47 53 14 i I
49 51 15 width F
58 70 9 fontSize F
59 70 10 mapper Lcom/sun/javafx/font/CharToGlyphMapper;
61 70 11 end I
62 70 12 width F
63 69 13 i I
65 67 14 adv F
MethodParameters:
Name Flags
run
chars
layout
private com.sun.javafx.text.TextLine createLine(int, int, int);
descriptor: (III)Lcom/sun/javafx/text/TextLine;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 1
isub
iconst_1
iadd
istore 4
start local 4 1: iload 4
anewarray com.sun.javafx.text.TextRun
astore 5
start local 5 2: iload 1
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
if_icmpge 4
3: aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iload 1
aload 5
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: StackMap locals: int com.sun.javafx.text.TextRun[]
StackMap stack:
fconst_0
fstore 6
start local 6 5: fconst_0
fstore 7
start local 7 6: fconst_0
fstore 8
start local 8 7: fconst_0
fstore 9
start local 9 8: iconst_0
istore 10
start local 10 9: iconst_0
istore 11
start local 11 10: goto 18
11: StackMap locals: com.sun.javafx.text.PrismTextLayout int int int int com.sun.javafx.text.TextRun[] float float float float int int
StackMap stack:
aload 5
iload 11
aaload
astore 12
start local 12 12: fload 6
aload 12
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
fadd
fstore 6
13: fload 7
aload 12
invokevirtual com.sun.javafx.text.TextRun.getAscent:()F
invokestatic java.lang.Math.min:(FF)F
fstore 7
14: fload 8
aload 12
invokevirtual com.sun.javafx.text.TextRun.getDescent:()F
invokestatic java.lang.Math.max:(FF)F
fstore 8
15: fload 9
aload 12
invokevirtual com.sun.javafx.text.TextRun.getLeading:()F
invokestatic java.lang.Math.max:(FF)F
fstore 9
16: iload 10
aload 12
invokevirtual com.sun.javafx.text.TextRun.getLength:()I
iadd
istore 10
end local 12 17: iinc 11 1
StackMap locals:
StackMap stack:
18: iload 11
aload 5
arraylength
if_icmplt 11
end local 11 19: fload 6
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutWidth:F
fcmpl
ifle 20
aload 0
fload 6
putfield com.sun.javafx.text.PrismTextLayout.layoutWidth:F
20: StackMap locals:
StackMap stack:
new com.sun.javafx.text.TextLine
dup
iload 3
iload 10
aload 5
21: fload 6
fload 7
fload 8
fload 9
22: invokespecial com.sun.javafx.text.TextLine.<init>:(II[Lcom/sun/javafx/text/TextRun;FFFF)V
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 23 1 start I
0 23 2 end I
0 23 3 startOffset I
1 23 4 count I
2 23 5 lineRuns [Lcom/sun/javafx/text/TextRun;
5 23 6 width F
6 23 7 ascent F
7 23 8 descent F
8 23 9 leading F
9 23 10 length I
10 19 11 i I
12 17 12 run Lcom/sun/javafx/text/TextRun;
MethodParameters:
Name Flags
start
end
startOffset
private void reorderLine(com.sun.javafx.text.TextLine);
descriptor: (Lcom/sun/javafx/text/TextLine;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.javafx.text.TextLine.getRuns:()[Lcom/sun/javafx/text/TextRun;
astore 2
start local 2 1: aload 2
arraylength
istore 3
start local 3 2: iload 3
ifle 4
aload 2
iload 3
iconst_1
isub
aaload
invokevirtual com.sun.javafx.text.TextRun.isLinebreak:()Z
ifeq 4
3: iinc 3 -1
4: StackMap locals: com.sun.javafx.text.TextRun[] int
StackMap stack:
iload 3
iconst_2
if_icmpge 5
return
5: StackMap locals:
StackMap stack:
iload 3
newarray 8
astore 4
start local 4 6: iconst_0
istore 5
start local 5 7: goto 10
8: StackMap locals: byte[] int
StackMap stack:
aload 4
iload 5
aload 2
iload 5
aaload
invokevirtual com.sun.javafx.text.TextRun.getLevel:()B
bastore
9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 3
if_icmplt 8
end local 5 11: aload 4
iconst_0
aload 2
iconst_0
iload 3
invokestatic java.text.Bidi.reorderVisually:([BI[Ljava/lang/Object;II)V
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 13 1 line Lcom/sun/javafx/text/TextLine;
1 13 2 runs [Lcom/sun/javafx/text/TextRun;
2 13 3 length I
6 13 4 levels [B
7 11 5 i I
MethodParameters:
Name Flags
line
private char[] getText();
descriptor: ()[C
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.text:[C
ifnonnull 17
1: iconst_0
istore 1
start local 1 2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: int int
StackMap stack:
iload 1
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
iload 2
aaload
invokeinterface com.sun.javafx.scene.text.TextSpan.getText:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iadd
istore 1
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
arraylength
if_icmplt 4
end local 2 7: aload 0
iload 1
newarray 5
putfield com.sun.javafx.text.PrismTextLayout.text:[C
8: iconst_0
istore 2
start local 2 9: iconst_0
istore 3
start local 3 10: goto 16
11: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
iload 3
aaload
invokeinterface com.sun.javafx.scene.text.TextSpan.getText:()Ljava/lang/String;
astore 4
start local 4 12: aload 4
invokevirtual java.lang.String.length:()I
istore 5
start local 5 13: aload 4
iconst_0
iload 5
aload 0
getfield com.sun.javafx.text.PrismTextLayout.text:[C
iload 2
invokevirtual java.lang.String.getChars:(II[CI)V
14: iload 2
iload 5
iadd
istore 2
end local 5 end local 4 15: iinc 3 1
StackMap locals:
StackMap stack:
16: iload 3
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
arraylength
if_icmplt 11
end local 3 end local 2 end local 1 17: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.text:[C
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/javafx/text/PrismTextLayout;
2 17 1 count I
3 7 2 i I
9 17 2 offset I
10 17 3 i I
12 15 4 string Ljava/lang/String;
13 15 5 length I
private boolean isSimpleLayout();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
ldc 3932160
iand
istore 1
start local 1 1: aload 0
getfield com.sun.javafx.text.PrismTextLayout.wrapWidth:F
fconst_0
fcmpl
ifle 2
iload 1
ldc 2097152
if_icmpne 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: bipush 24
istore 3
start local 3 5: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
iload 3
iand
ifne 6
iload 2
ifne 6
iconst_1
ireturn
StackMap locals: int int
StackMap stack:
6: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/javafx/text/PrismTextLayout;
1 7 1 textAlignment I
4 7 2 justify Z
5 7 3 mask I
private boolean isMirrored();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 15360
iand
lookupswitch { // 4
1024: 3
2048: 2
4096: 4
8192: 4
default: 7
}
2: StackMap locals: int
StackMap stack:
iconst_1
istore 1
goto 7
3: StackMap locals:
StackMap stack:
iconst_0
istore 1
goto 7
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 256
iand
ifeq 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 1
7: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/javafx/text/PrismTextLayout;
1 8 1 mirrored Z
private float getMirroringWidth();
descriptor: ()F
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.text.PrismTextLayout.wrapWidth:F
fconst_0
fcmpl
ifeq 1
aload 0
getfield com.sun.javafx.text.PrismTextLayout.wrapWidth:F
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutWidth:F
StackMap locals:
StackMap stack: float
2: freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/text/PrismTextLayout;
private void reuseRuns();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
iconst_0
putfield com.sun.javafx.text.PrismTextLayout.runCount:I
1: iconst_0
istore 1
start local 1 2: goto 18
3: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iload 1
aaload
astore 2
start local 2 4: aload 2
ifnonnull 5
goto 19
5: StackMap locals: com.sun.javafx.text.TextRun
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iload 1
aconst_null
aastore
6: iinc 1 1
7: aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
dup_x1
iconst_1
iadd
putfield com.sun.javafx.text.PrismTextLayout.runCount:I
aload 2
invokevirtual com.sun.javafx.text.TextRun.unwrap:()Lcom/sun/javafx/text/TextRun;
dup
astore 2
aastore
8: aload 2
invokevirtual com.sun.javafx.text.TextRun.isSplit:()Z
ifeq 18
9: aload 2
aconst_null
invokevirtual com.sun.javafx.text.TextRun.merge:(Lcom/sun/javafx/text/TextRun;)V
10: goto 17
11: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iload 1
aaload
astore 3
start local 3 12: aload 3
ifnonnull 13
goto 18
13: StackMap locals: com.sun.javafx.text.TextRun
StackMap stack:
aload 2
aload 3
invokevirtual com.sun.javafx.text.TextRun.merge:(Lcom/sun/javafx/text/TextRun;)V
14: aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iload 1
aconst_null
aastore
15: iinc 1 1
16: aload 3
invokevirtual com.sun.javafx.text.TextRun.isSplitLast:()Z
ifeq 17
goto 18
end local 3 17: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
arraylength
if_icmplt 11
end local 2 18: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
arraylength
if_icmplt 3
19: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/javafx/text/PrismTextLayout;
2 20 1 index I
4 18 2 run Lcom/sun/javafx/text/TextRun;
12 17 3 nextRun Lcom/sun/javafx/text/TextRun;
private float getTabAdvance();
descriptor: ()F
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=1
start local 0 0: fconst_0
fstore 1
start local 1 1: aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
ifnull 13
2: iconst_0
istore 2
start local 2 3: goto 11
4: StackMap locals: float int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
iload 2
aaload
astore 3
start local 3 5: aload 3
invokeinterface com.sun.javafx.scene.text.TextSpan.getFont:()Ljava/lang/Object;
checkcast com.sun.javafx.font.PGFont
astore 4
start local 4 6: aload 4
ifnull 10
7: aload 4
getstatic com.sun.javafx.text.PrismTextLayout.IDENTITY:Lcom/sun/javafx/geom/transform/BaseTransform;
invokeinterface com.sun.javafx.font.PGFont.getStrike:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/font/FontStrike;
astore 5
start local 5 8: aload 5
bipush 32
invokeinterface com.sun.javafx.font.FontStrike.getCharAdvance:(C)F
fstore 1
9: goto 14
end local 5 end local 4 end local 3 10: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spans:[Lcom/sun/javafx/scene/text/TextSpan;
arraylength
if_icmplt 4
end local 2 12: goto 14
13: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.strike:Lcom/sun/javafx/font/FontStrike;
bipush 32
invokeinterface com.sun.javafx.font.FontStrike.getCharAdvance:(C)F
fstore 1
14: StackMap locals:
StackMap stack:
ldc 8.0
fload 1
fmul
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/javafx/text/PrismTextLayout;
1 15 1 spaceAdvance F
3 12 2 i I
5 10 3 span Lcom/sun/javafx/scene/text/TextSpan;
6 10 4 font Lcom/sun/javafx/font/PGFont;
8 10 5 strike Lcom/sun/javafx/font/FontStrike;
private void layout();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=30, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.initCache:()V
1: aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
ifnull 2
return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.getText:()[C
astore 1
start local 1 3: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
iconst_2
iand
ifeq 6
aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.isSimpleLayout:()Z
ifeq 6
4: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.reuseRuns:()V
5: goto 7
6: StackMap locals: char[]
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.javafx.text.PrismTextLayout.buildRuns:([C)V
7: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 8: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
bipush 16
iand
ifeq 10
9: invokestatic com.sun.javafx.text.GlyphLayout.getInstance:()Lcom/sun/javafx/text/GlyphLayout;
astore 2
10: StackMap locals: com.sun.javafx.text.GlyphLayout
StackMap stack:
fconst_0
fstore 3
start local 3 11: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
iconst_4
iand
ifeq 13
12: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.getTabAdvance:()F
fstore 3
13: StackMap locals: float
StackMap stack:
aconst_null
astore 4
start local 4 14: aload 0
getfield com.sun.javafx.text.PrismTextLayout.wrapWidth:F
fconst_0
fcmpl
ifle 18
15: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
bipush 80
iand
ifeq 18
16: invokestatic java.text.BreakIterator.getLineInstance:()Ljava/text/BreakIterator;
astore 4
17: aload 4
new com.sun.javafx.text.CharArrayIterator
dup
aload 1
invokespecial com.sun.javafx.text.CharArrayIterator.<init>:([C)V
invokevirtual java.text.BreakIterator.setText:(Ljava/text/CharacterIterator;)V
18: StackMap locals: java.text.BreakIterator
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
ldc 3932160
iand
istore 5
start local 5 19: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.isSimpleLayout:()Z
ifeq 25
20: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
ifnonnull 26
21: aload 0
new com.sun.javafx.text.LayoutCache
dup
invokespecial com.sun.javafx.text.LayoutCache.<init>:()V
putfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
22: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
aload 1
arraylength
newarray 10
putfield com.sun.javafx.text.LayoutCache.glyphs:[I
23: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
aload 1
arraylength
newarray 6
putfield com.sun.javafx.text.LayoutCache.advances:[F
24: goto 26
25: StackMap locals: int
StackMap stack:
aload 0
aconst_null
putfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
26: StackMap locals:
StackMap stack:
fconst_0
fstore 6
start local 6 27: iconst_0
istore 7
start local 7 28: iconst_0
istore 8
start local 8 29: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 30: iconst_0
istore 10
start local 10 31: goto 101
32: StackMap locals: com.sun.javafx.text.PrismTextLayout char[] com.sun.javafx.text.GlyphLayout float java.text.BreakIterator int float int int java.util.ArrayList int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iload 10
aaload
astore 11
start local 11 33: aload 0
aload 11
aload 1
aload 2
invokevirtual com.sun.javafx.text.PrismTextLayout.shape:(Lcom/sun/javafx/text/TextRun;[CLcom/sun/javafx/text/GlyphLayout;)V
34: aload 11
invokevirtual com.sun.javafx.text.TextRun.isTab:()Z
ifeq 37
35: fload 6
fload 3
fdiv
f2i
iconst_1
iadd
i2f
fload 3
fmul
fstore 12
start local 12 36: aload 11
fload 12
fload 6
fsub
invokevirtual com.sun.javafx.text.TextRun.setWidth:(F)V
end local 12 37: StackMap locals: com.sun.javafx.text.TextRun
StackMap stack:
aload 11
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
fstore 12
start local 12 38: aload 0
getfield com.sun.javafx.text.PrismTextLayout.wrapWidth:F
fconst_0
fcmpl
ifle 93
fload 6
fload 12
fadd
aload 0
getfield com.sun.javafx.text.PrismTextLayout.wrapWidth:F
fcmpl
ifle 93
aload 11
invokevirtual com.sun.javafx.text.TextRun.isLinebreak:()Z
ifne 93
39: aload 11
invokevirtual com.sun.javafx.text.TextRun.getStart:()I
aload 11
aload 0
getfield com.sun.javafx.text.PrismTextLayout.wrapWidth:F
fload 6
fsub
invokevirtual com.sun.javafx.text.TextRun.getWrapIndex:(F)I
iadd
istore 13
start local 13 40: iload 13
istore 14
start local 14 41: aload 11
invokevirtual com.sun.javafx.text.TextRun.getEnd:()I
istore 15
start local 15 42: iload 14
iconst_1
iadd
iload 15
if_icmpge 44
aload 1
iload 14
caload
bipush 32
if_icmpne 44
43: iinc 14 1
44: StackMap locals: com.sun.javafx.text.PrismTextLayout char[] com.sun.javafx.text.GlyphLayout float java.text.BreakIterator int float int int java.util.ArrayList int com.sun.javafx.text.TextRun float int int int
StackMap stack:
iload 14
istore 16
start local 16 45: aload 4
ifnull 51
46: aload 4
iload 14
invokevirtual java.text.BreakIterator.isBoundary:(I)Z
ifne 47
aload 1
iload 14
caload
bipush 9
if_icmpne 48
StackMap locals: int
StackMap stack:
47: iload 14
goto 49
StackMap locals:
StackMap stack:
48: aload 4
iload 14
invokevirtual java.text.BreakIterator.preceding:(I)I
StackMap locals:
StackMap stack: int
49: istore 16
50: goto 58
51: StackMap locals:
StackMap stack:
aload 1
iload 16
caload
invokestatic java.lang.Character.isWhitespace:(C)Z
istore 17
start local 17 52: goto 57
53: StackMap locals: int
StackMap stack:
aload 1
iload 16
iconst_1
isub
caload
invokestatic java.lang.Character.isWhitespace:(C)Z
istore 18
start local 18 54: iload 17
ifne 55
iload 18
ifeq 55
goto 58
55: StackMap locals: int
StackMap stack:
iload 18
istore 17
56: iinc 16 -1
end local 18 57: StackMap locals:
StackMap stack:
iload 16
iload 8
if_icmpgt 53
end local 17 58: StackMap locals:
StackMap stack:
iload 16
iload 8
if_icmpge 59
iload 8
istore 16
59: StackMap locals:
StackMap stack:
iload 7
istore 17
start local 17 60: aconst_null
astore 18
start local 18 61: goto 65
62: StackMap locals: int com.sun.javafx.text.TextRun
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iload 17
aaload
astore 18
63: aload 18
invokevirtual com.sun.javafx.text.TextRun.getEnd:()I
iload 16
if_icmple 64
goto 66
64: StackMap locals:
StackMap stack:
iinc 17 1
65: StackMap locals:
StackMap stack:
iload 17
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
if_icmplt 62
66: StackMap locals:
StackMap stack:
iload 16
iload 8
if_icmpne 70
67: aload 11
astore 18
68: iload 10
istore 17
69: iload 13
istore 16
70: StackMap locals:
StackMap stack:
iload 16
aload 18
invokevirtual com.sun.javafx.text.TextRun.getStart:()I
isub
istore 19
start local 19 71: iload 19
ifne 74
iload 17
iload 7
if_icmpeq 74
72: iload 17
iconst_1
isub
istore 10
73: goto 89
74: StackMap locals: int
StackMap stack:
iload 17
istore 10
75: iload 19
ifne 77
76: iinc 19 1
77: StackMap locals:
StackMap stack:
iload 19
aload 18
invokevirtual com.sun.javafx.text.TextRun.getLength:()I
if_icmpge 89
78: aload 0
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
arraylength
if_icmplt 84
79: aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
arraylength
bipush 64
iadd
anewarray com.sun.javafx.text.TextRun
astore 20
start local 20 80: aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iconst_0
aload 20
iconst_0
iload 10
iconst_1
iadd
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
81: aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iload 10
iconst_1
iadd
aload 20
iload 10
iconst_2
iadd
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
arraylength
iload 10
isub
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
82: aload 0
aload 20
putfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
end local 20 83: goto 85
84: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iload 10
iconst_1
iadd
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iload 10
iconst_2
iadd
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
iload 10
isub
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
85: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iload 10
iconst_1
iadd
aload 18
iload 19
invokevirtual com.sun.javafx.text.TextRun.split:(I)Lcom/sun/javafx/text/TextRun;
aastore
86: aload 18
invokevirtual com.sun.javafx.text.TextRun.isComplex:()Z
ifeq 88
87: aload 0
aload 18
aload 1
aload 2
invokevirtual com.sun.javafx.text.PrismTextLayout.shape:(Lcom/sun/javafx/text/TextRun;[CLcom/sun/javafx/text/GlyphLayout;)V
88: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
iconst_1
iadd
putfield com.sun.javafx.text.PrismTextLayout.runCount:I
89: StackMap locals:
StackMap stack:
iload 10
iconst_1
iadd
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
if_icmpge 93
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iload 10
iconst_1
iadd
aaload
invokevirtual com.sun.javafx.text.TextRun.isLinebreak:()Z
ifne 93
90: aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
iload 10
aaload
astore 11
91: aload 11
invokevirtual com.sun.javafx.text.TextRun.setSoftbreak:()V
92: aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 128
ior
putfield com.sun.javafx.text.PrismTextLayout.flags:I
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 93: StackMap locals: com.sun.javafx.text.PrismTextLayout char[] com.sun.javafx.text.GlyphLayout float java.text.BreakIterator int float int int java.util.ArrayList int com.sun.javafx.text.TextRun float
StackMap stack:
fload 6
fload 12
fadd
fstore 6
94: aload 11
invokevirtual com.sun.javafx.text.TextRun.isBreak:()Z
ifeq 100
95: aload 0
iload 7
iload 10
iload 8
invokevirtual com.sun.javafx.text.PrismTextLayout.createLine:(III)Lcom/sun/javafx/text/TextLine;
astore 13
start local 13 96: aload 9
aload 13
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
97: iload 10
iconst_1
iadd
istore 7
98: iload 8
aload 13
invokevirtual com.sun.javafx.text.TextLine.getLength:()I
iadd
istore 8
99: fconst_0
fstore 6
end local 13 end local 12 end local 11 100: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
101: iload 10
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
if_icmplt 32
end local 10 102: aload 2
ifnull 103
aload 2
invokevirtual com.sun.javafx.text.GlyphLayout.dispose:()V
103: StackMap locals:
StackMap stack:
aload 9
aload 0
iload 7
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
iconst_1
isub
iload 8
invokevirtual com.sun.javafx.text.PrismTextLayout.createLine:(III)Lcom/sun/javafx/text/TextLine;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
104: aload 0
aload 9
invokevirtual java.util.ArrayList.size:()I
anewarray com.sun.javafx.text.TextLine
putfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
105: aload 9
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
106: aload 0
getfield com.sun.javafx.text.PrismTextLayout.wrapWidth:F
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutWidth:F
invokestatic java.lang.Math.max:(FF)F
fstore 10
start local 10 107: fconst_0
fstore 11
start local 11 108: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.isMirrored:()Z
ifeq 112
109: fconst_1
fstore 12
start local 12 110: iload 5
ldc 1048576
if_icmpne 114
fconst_0
fstore 12
111: goto 114
end local 12 112: StackMap locals: float float
StackMap stack:
fconst_0
fstore 12
start local 12 113: iload 5
ldc 1048576
if_icmpne 114
fconst_1
fstore 12
114: StackMap locals: float
StackMap stack:
iload 5
ldc 524288
if_icmpne 115
ldc 0.5
fstore 12
115: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 116: goto 175
117: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iload 13
aaload
astore 14
start local 14 118: aload 14
invokevirtual com.sun.javafx.text.TextLine.getStart:()I
istore 15
start local 15 119: aload 14
invokevirtual com.sun.javafx.text.TextLine.getBounds:()Lcom/sun/javafx/geom/RectBounds;
astore 16
start local 16 120: fload 10
aload 16
invokevirtual com.sun.javafx.geom.RectBounds.getWidth:()F
fsub
fload 12
fmul
fstore 17
start local 17 121: aload 14
fload 17
invokevirtual com.sun.javafx.text.TextLine.setAlignment:(F)V
122: aload 0
getfield com.sun.javafx.text.PrismTextLayout.wrapWidth:F
fconst_0
fcmpl
ifle 123
iload 5
ldc 2097152
if_icmpne 123
iconst_1
goto 124
StackMap locals: com.sun.javafx.text.PrismTextLayout char[] com.sun.javafx.text.GlyphLayout float java.text.BreakIterator int float int int java.util.ArrayList float float float int com.sun.javafx.text.TextLine int com.sun.javafx.geom.RectBounds float
StackMap stack:
123: iconst_0
StackMap locals:
StackMap stack: int
124: istore 18
start local 18 125: iload 18
ifeq 157
126: aload 14
invokevirtual com.sun.javafx.text.TextLine.getRuns:()[Lcom/sun/javafx/text/TextRun;
astore 19
start local 19 127: aload 19
arraylength
istore 20
start local 20 128: iload 20
ifle 157
aload 19
iload 20
iconst_1
isub
aaload
invokevirtual com.sun.javafx.text.TextRun.isSoftbreak:()Z
ifeq 157
129: iload 15
aload 14
invokevirtual com.sun.javafx.text.TextLine.getLength:()I
iadd
istore 21
start local 21 130: iconst_0
istore 22
start local 22 131: iconst_0
istore 23
start local 23 132: iload 21
iconst_1
isub
istore 24
start local 24 133: goto 137
134: StackMap locals: com.sun.javafx.text.PrismTextLayout char[] com.sun.javafx.text.GlyphLayout float java.text.BreakIterator int float int int java.util.ArrayList float float float int com.sun.javafx.text.TextLine int com.sun.javafx.geom.RectBounds float int com.sun.javafx.text.TextRun[] int int int int int
StackMap stack:
iload 23
ifne 135
aload 1
iload 24
caload
bipush 32
if_icmpeq 135
iconst_1
istore 23
135: StackMap locals:
StackMap stack:
iload 23
ifeq 136
aload 1
iload 24
caload
bipush 32
if_icmpne 136
iinc 22 1
136: StackMap locals:
StackMap stack:
iinc 24 -1
StackMap locals:
StackMap stack:
137: iload 24
iload 15
if_icmpge 134
end local 24 138: iload 22
ifeq 157
139: fload 10
aload 16
invokevirtual com.sun.javafx.geom.RectBounds.getWidth:()F
fsub
iload 22
i2f
fdiv
fstore 24
start local 24 140: iconst_0
istore 25
start local 25 141: goto 153
142: StackMap locals: com.sun.javafx.text.PrismTextLayout char[] com.sun.javafx.text.GlyphLayout float java.text.BreakIterator int float int int java.util.ArrayList float float float int com.sun.javafx.text.TextLine int com.sun.javafx.geom.RectBounds float int com.sun.javafx.text.TextRun[] int int int int float int
StackMap stack:
aload 19
iload 25
aaload
astore 26
start local 26 143: aload 26
invokevirtual com.sun.javafx.text.TextRun.getStart:()I
istore 27
start local 27 144: aload 26
invokevirtual com.sun.javafx.text.TextRun.getEnd:()I
istore 28
start local 28 145: iload 27
istore 29
start local 29 146: goto 151
147: StackMap locals: com.sun.javafx.text.PrismTextLayout char[] com.sun.javafx.text.GlyphLayout float java.text.BreakIterator int float int int java.util.ArrayList float float float int com.sun.javafx.text.TextLine int com.sun.javafx.geom.RectBounds float int com.sun.javafx.text.TextRun[] int int int int float int com.sun.javafx.text.TextRun int int int
StackMap stack:
aload 1
iload 29
caload
bipush 32
if_icmpne 150
148: aload 26
iload 29
iload 27
isub
fload 24
invokevirtual com.sun.javafx.text.TextRun.justify:(IF)V
149: iinc 22 -1
iload 22
ifne 150
goto 154
150: StackMap locals:
StackMap stack:
iinc 29 1
StackMap locals:
StackMap stack:
151: iload 29
iload 28
if_icmplt 147
end local 29 end local 28 end local 27 end local 26 152: iinc 25 1
StackMap locals: com.sun.javafx.text.PrismTextLayout char[] com.sun.javafx.text.GlyphLayout float java.text.BreakIterator int float int int java.util.ArrayList float float float int com.sun.javafx.text.TextLine int com.sun.javafx.geom.RectBounds float int com.sun.javafx.text.TextRun[] int int int int float int
StackMap stack:
153: iload 25
iload 20
if_icmplt 142
end local 25 154: StackMap locals:
StackMap stack:
fconst_0
fstore 17
155: aload 14
fload 17
invokevirtual com.sun.javafx.text.TextLine.setAlignment:(F)V
156: aload 14
fload 10
invokevirtual com.sun.javafx.text.TextLine.setWidth:(F)V
end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 157: StackMap locals: com.sun.javafx.text.PrismTextLayout char[] com.sun.javafx.text.GlyphLayout float java.text.BreakIterator int float int int java.util.ArrayList float float float int com.sun.javafx.text.TextLine int com.sun.javafx.geom.RectBounds float int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
bipush 8
iand
ifeq 159
158: aload 0
aload 14
invokevirtual com.sun.javafx.text.PrismTextLayout.reorderLine:(Lcom/sun/javafx/text/TextLine;)V
159: StackMap locals:
StackMap stack:
aload 0
aload 14
invokevirtual com.sun.javafx.text.PrismTextLayout.computeSideBearings:(Lcom/sun/javafx/text/TextLine;)V
160: fload 17
fstore 19
start local 19 161: aload 14
invokevirtual com.sun.javafx.text.TextLine.getRuns:()[Lcom/sun/javafx/text/TextRun;
astore 20
start local 20 162: iconst_0
istore 21
start local 21 163: goto 169
164: StackMap locals: float com.sun.javafx.text.TextRun[] int
StackMap stack:
aload 20
iload 21
aaload
astore 22
start local 22 165: aload 22
fload 19
fload 11
invokevirtual com.sun.javafx.text.TextRun.setLocation:(FF)V
166: aload 22
aload 14
invokevirtual com.sun.javafx.text.TextRun.setLine:(Lcom/sun/javafx/text/TextLine;)V
167: fload 19
aload 22
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
fadd
fstore 19
end local 22 168: iinc 21 1
StackMap locals:
StackMap stack:
169: iload 21
aload 20
arraylength
if_icmplt 164
end local 21 170: iload 13
iconst_1
iadd
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
arraylength
if_icmpge 173
171: fload 11
fload 11
aload 16
invokevirtual com.sun.javafx.geom.RectBounds.getHeight:()F
fadd
aload 0
getfield com.sun.javafx.text.PrismTextLayout.spacing:F
fadd
invokestatic java.lang.Math.max:(FF)F
fstore 11
172: goto 174
173: StackMap locals:
StackMap stack:
fload 11
aload 16
invokevirtual com.sun.javafx.geom.RectBounds.getHeight:()F
aload 14
invokevirtual com.sun.javafx.text.TextLine.getLeading:()F
fsub
fadd
fstore 11
end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 174: StackMap locals: com.sun.javafx.text.PrismTextLayout char[] com.sun.javafx.text.GlyphLayout float java.text.BreakIterator int float int int java.util.ArrayList float float float int
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
175: iload 13
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
arraylength
if_icmplt 117
end local 13 176: aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iconst_0
aaload
invokevirtual com.sun.javafx.text.TextLine.getBounds:()Lcom/sun/javafx/geom/RectBounds;
invokevirtual com.sun.javafx.geom.RectBounds.getMinY:()F
fstore 13
start local 13 177: aload 0
fload 11
putfield com.sun.javafx.text.PrismTextLayout.layoutHeight:F
178: aload 0
aload 0
getfield com.sun.javafx.text.PrismTextLayout.logicalBounds:Lcom/sun/javafx/geom/BaseBounds;
fconst_0
fload 13
fconst_0
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutWidth:F
179: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutHeight:F
fload 13
fadd
fconst_0
180: invokevirtual com.sun.javafx.geom.BaseBounds.deriveWithNewBounds:(FFFFFF)Lcom/sun/javafx/geom/BaseBounds;
putfield com.sun.javafx.text.PrismTextLayout.logicalBounds:Lcom/sun/javafx/geom/BaseBounds;
181: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
ifnull 203
182: aload 0
getfield com.sun.javafx.text.PrismTextLayout.cacheKey:Ljava/lang/Integer;
ifnull 202
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
getfield com.sun.javafx.text.LayoutCache.valid:Z
ifne 202
aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.copyCache:()Z
ifne 202
183: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
aload 0
getfield com.sun.javafx.text.PrismTextLayout.font:Lcom/sun/javafx/font/PGFont;
putfield com.sun.javafx.text.LayoutCache.font:Lcom/sun/javafx/font/PGFont;
184: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
aload 0
getfield com.sun.javafx.text.PrismTextLayout.text:[C
putfield com.sun.javafx.text.LayoutCache.text:[C
185: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runs:[Lcom/sun/javafx/text/TextRun;
putfield com.sun.javafx.text.LayoutCache.runs:[Lcom/sun/javafx/text/TextRun;
186: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
aload 0
getfield com.sun.javafx.text.PrismTextLayout.runCount:I
putfield com.sun.javafx.text.LayoutCache.runCount:I
187: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
putfield com.sun.javafx.text.LayoutCache.lines:[Lcom/sun/javafx/text/TextLine;
188: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutWidth:F
putfield com.sun.javafx.text.LayoutCache.layoutWidth:F
189: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutHeight:F
putfield com.sun.javafx.text.LayoutCache.layoutHeight:F
190: aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 2047
iand
putfield com.sun.javafx.text.LayoutCache.analysis:I
191: getstatic com.sun.javafx.text.PrismTextLayout.CACHE_SIZE_LOCK:Ljava/lang/Object;
dup
astore 14
monitorenter
192: aload 1
arraylength
istore 15
start local 15 193: getstatic com.sun.javafx.text.PrismTextLayout.cacheSize:I
iload 15
iadd
getstatic com.sun.javafx.text.PrismTextLayout.MAX_CACHE_SIZE:I
if_icmple 196
194: getstatic com.sun.javafx.text.PrismTextLayout.stringCache:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.clear:()V
195: iconst_0
putstatic com.sun.javafx.text.PrismTextLayout.cacheSize:I
196: StackMap locals: com.sun.javafx.text.PrismTextLayout char[] com.sun.javafx.text.GlyphLayout float java.text.BreakIterator int float int int java.util.ArrayList float float float float java.lang.Object int
StackMap stack:
getstatic com.sun.javafx.text.PrismTextLayout.stringCache:Ljava/util/Hashtable;
aload 0
getfield com.sun.javafx.text.PrismTextLayout.cacheKey:Ljava/lang/Integer;
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
197: getstatic com.sun.javafx.text.PrismTextLayout.cacheSize:I
iload 15
iadd
putstatic com.sun.javafx.text.PrismTextLayout.cacheSize:I
end local 15 198: aload 14
monitorexit
199: goto 202
StackMap locals: com.sun.javafx.text.PrismTextLayout char[] com.sun.javafx.text.GlyphLayout float java.text.BreakIterator int float int int java.util.ArrayList float float float float java.lang.Object
StackMap stack: java.lang.Throwable
200: aload 14
monitorexit
201: athrow
202: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.layoutCache:Lcom/sun/javafx/text/LayoutCache;
iconst_1
putfield com.sun.javafx.text.LayoutCache.valid:Z
203: StackMap locals:
StackMap stack:
return
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 204 0 this Lcom/sun/javafx/text/PrismTextLayout;
3 204 1 chars [C
8 204 2 layout Lcom/sun/javafx/text/GlyphLayout;
11 204 3 tabAdvance F
14 204 4 boundary Ljava/text/BreakIterator;
19 204 5 textAlignment I
27 204 6 lineWidth F
28 204 7 startIndex I
29 204 8 startOffset I
30 204 9 linesList Ljava/util/ArrayList<Lcom/sun/javafx/text/TextLine;>;
31 102 10 i I
33 100 11 run Lcom/sun/javafx/text/TextRun;
36 37 12 tabStop F
38 100 12 runWidth F
40 93 13 hitOffset I
41 93 14 offset I
42 93 15 runEnd I
45 93 16 breakOffset I
52 58 17 currentChar Z
54 57 18 previousChar Z
60 93 17 breakRunIndex I
61 93 18 breakRun Lcom/sun/javafx/text/TextRun;
71 93 19 breakOffsetInRun I
80 83 20 newRuns [Lcom/sun/javafx/text/TextRun;
96 100 13 line Lcom/sun/javafx/text/TextLine;
107 204 10 fullWidth F
108 204 11 lineY F
110 112 12 align F
113 204 12 align F
116 176 13 i I
118 174 14 line Lcom/sun/javafx/text/TextLine;
119 174 15 lineStart I
120 174 16 bounds Lcom/sun/javafx/geom/RectBounds;
121 174 17 lineX F
125 174 18 justify Z
127 157 19 lineRuns [Lcom/sun/javafx/text/TextRun;
128 157 20 lineRunCount I
130 157 21 lineEnd I
131 157 22 wsCount I
132 157 23 hitChar Z
133 138 24 j I
140 157 24 inc F
141 154 25 j I
143 152 26 textRun Lcom/sun/javafx/text/TextRun;
144 152 27 runStart I
145 152 28 runEnd I
146 152 29 k I
161 174 19 runX F
162 174 20 lineRuns [Lcom/sun/javafx/text/TextRun;
163 170 21 j I
165 168 22 run Lcom/sun/javafx/text/TextRun;
177 204 13 ascent F
193 198 15 charCount I
Exception table:
from to target type
192 199 200 any
200 201 200 any
public com.sun.javafx.geom.BaseBounds getVisualBounds(int);
descriptor: (I)Lcom/sun/javafx/geom/BaseBounds;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=29, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.javafx.text.PrismTextLayout.ensureLayout:()V
1: aload 0
getfield com.sun.javafx.text.PrismTextLayout.strike:Lcom/sun/javafx/font/FontStrike;
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
iload 1
iconst_2
iand
ifeq 4
iconst_1
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 2
start local 2 6: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 512
iand
ifeq 7
iconst_1
goto 8
StackMap locals: int
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 3
start local 3 9: iload 1
iconst_4
iand
ifeq 10
iconst_1
goto 11
StackMap locals: int
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 4
start local 4 12: aload 0
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 1024
iand
ifeq 13
iconst_1
goto 14
StackMap locals: int
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 5
start local 5 15: aload 0
getfield com.sun.javafx.text.PrismTextLayout.visualBounds:Lcom/sun/javafx/geom/RectBounds;
ifnull 18
iload 2
iload 3
if_icmpne 18
16: iload 4
iload 5
if_icmpne 18
17: aload 0
getfield com.sun.javafx.text.PrismTextLayout.visualBounds:Lcom/sun/javafx/geom/RectBounds;
areturn
18: StackMap locals: int
StackMap stack:
aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush -1537
iand
putfield com.sun.javafx.text.PrismTextLayout.flags:I
19: iload 2
ifeq 20
aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 512
ior
putfield com.sun.javafx.text.PrismTextLayout.flags:I
20: StackMap locals:
StackMap stack:
iload 4
ifeq 21
aload 0
dup
getfield com.sun.javafx.text.PrismTextLayout.flags:I
sipush 1024
ior
putfield com.sun.javafx.text.PrismTextLayout.flags:I
21: StackMap locals:
StackMap stack:
aload 0
new com.sun.javafx.geom.RectBounds
dup
invokespecial com.sun.javafx.geom.RectBounds.<init>:()V
putfield com.sun.javafx.text.PrismTextLayout.visualBounds:Lcom/sun/javafx/geom/RectBounds;
22: ldc Infinity
fstore 6
start local 6 23: ldc Infinity
fstore 7
start local 7 24: ldc -Infinity
fstore 8
start local 8 25: ldc -Infinity
fstore 9
start local 9 26: iconst_4
newarray 6
astore 10
start local 10 27: aload 0
getfield com.sun.javafx.text.PrismTextLayout.strike:Lcom/sun/javafx/font/FontStrike;
invokeinterface com.sun.javafx.font.FontStrike.getFontResource:()Lcom/sun/javafx/font/FontResource;
astore 11
start local 11 28: aload 0
getfield com.sun.javafx.text.PrismTextLayout.strike:Lcom/sun/javafx/font/FontStrike;
invokeinterface com.sun.javafx.font.FontStrike.getMetrics:()Lcom/sun/javafx/font/Metrics;
astore 12
start local 12 29: aload 0
getfield com.sun.javafx.text.PrismTextLayout.strike:Lcom/sun/javafx/font/FontStrike;
invokeinterface com.sun.javafx.font.FontStrike.getSize:()F
fstore 13
start local 13 30: iconst_0
istore 14
start local 14 31: goto 79
32: StackMap locals: com.sun.javafx.text.PrismTextLayout int int int int int float float float float float[] com.sun.javafx.font.FontResource com.sun.javafx.font.Metrics float int
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
iload 14
aaload
astore 15
start local 15 33: aload 15
invokevirtual com.sun.javafx.text.TextLine.getRuns:()[Lcom/sun/javafx/text/TextRun;
astore 16
start local 16 34: iconst_0
istore 17
start local 17 35: goto 77
36: StackMap locals: com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] int
StackMap stack:
aload 16
iload 17
aaload
astore 18
start local 18 37: aload 18
invokevirtual com.sun.javafx.text.TextRun.getLocation:()Lcom/sun/javafx/geom/Point2D;
astore 19
start local 19 38: aload 18
invokevirtual com.sun.javafx.text.TextRun.isLinebreak:()Z
ifeq 39
goto 76
39: StackMap locals: com.sun.javafx.text.TextRun com.sun.javafx.geom.Point2D
StackMap stack:
aload 18
invokevirtual com.sun.javafx.text.TextRun.getGlyphCount:()I
istore 20
start local 20 40: iconst_0
istore 21
start local 21 41: goto 57
42: StackMap locals: int int
StackMap stack:
aload 18
iload 21
invokevirtual com.sun.javafx.text.TextRun.getGlyphCode:(I)I
istore 22
start local 22 43: iload 22
ldc 65535
if_icmpeq 56
44: aload 11
aload 18
iload 21
invokevirtual com.sun.javafx.text.TextRun.getGlyphCode:(I)I
fload 13
aload 10
invokeinterface com.sun.javafx.font.FontResource.getGlyphBoundingBox:(IF[F)[F
pop
45: aload 10
iconst_0
faload
aload 10
iconst_2
faload
fcmpl
ifeq 56
46: aload 19
getfield com.sun.javafx.geom.Point2D.x:F
aload 18
iload 21
invokevirtual com.sun.javafx.text.TextRun.getPosX:(I)F
fadd
fstore 23
start local 23 47: aload 19
getfield com.sun.javafx.geom.Point2D.y:F
aload 18
iload 21
invokevirtual com.sun.javafx.text.TextRun.getPosY:(I)F
fadd
fstore 24
start local 24 48: fload 23
aload 10
iconst_0
faload
fadd
fstore 25
start local 25 49: fload 24
aload 10
iconst_3
faload
fsub
fstore 26
start local 26 50: fload 23
aload 10
iconst_2
faload
fadd
fstore 27
start local 27 51: fload 24
aload 10
iconst_1
faload
fsub
fstore 28
start local 28 52: fload 25
fload 6
fcmpg
ifge 53
fload 25
fstore 6
53: StackMap locals: com.sun.javafx.text.PrismTextLayout int int int int int float float float float float[] com.sun.javafx.font.FontResource com.sun.javafx.font.Metrics float int com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] int com.sun.javafx.text.TextRun com.sun.javafx.geom.Point2D int int int float float float float float float
StackMap stack:
fload 26
fload 7
fcmpg
ifge 54
fload 26
fstore 7
54: StackMap locals:
StackMap stack:
fload 27
fload 8
fcmpl
ifle 55
fload 27
fstore 8
55: StackMap locals:
StackMap stack:
fload 28
fload 9
fcmpl
ifle 56
fload 28
fstore 9
end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 56: StackMap locals: com.sun.javafx.text.PrismTextLayout int int int int int float float float float float[] com.sun.javafx.font.FontResource com.sun.javafx.font.Metrics float int com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] int com.sun.javafx.text.TextRun com.sun.javafx.geom.Point2D int int
StackMap stack:
iinc 21 1
StackMap locals:
StackMap stack:
57: iload 21
iload 20
if_icmplt 42
end local 21 58: iload 2
ifeq 67
59: aload 19
getfield com.sun.javafx.geom.Point2D.x:F
fstore 21
start local 21 60: aload 19
getfield com.sun.javafx.geom.Point2D.y:F
aload 12
invokeinterface com.sun.javafx.font.Metrics.getUnderLineOffset:()F
fadd
fstore 22
start local 22 61: fload 21
aload 18
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
fadd
fstore 23
start local 23 62: fload 22
aload 12
invokeinterface com.sun.javafx.font.Metrics.getUnderLineThickness:()F
fadd
fstore 24
start local 24 63: fload 21
fload 6
fcmpg
ifge 64
fload 21
fstore 6
64: StackMap locals: com.sun.javafx.text.PrismTextLayout int int int int int float float float float float[] com.sun.javafx.font.FontResource com.sun.javafx.font.Metrics float int com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] int com.sun.javafx.text.TextRun com.sun.javafx.geom.Point2D int float float float float
StackMap stack:
fload 22
fload 7
fcmpg
ifge 65
fload 22
fstore 7
65: StackMap locals:
StackMap stack:
fload 23
fload 8
fcmpl
ifle 66
fload 23
fstore 8
66: StackMap locals:
StackMap stack:
fload 24
fload 9
fcmpl
ifle 67
fload 24
fstore 9
end local 24 end local 23 end local 22 end local 21 67: StackMap locals: com.sun.javafx.text.PrismTextLayout int int int int int float float float float float[] com.sun.javafx.font.FontResource com.sun.javafx.font.Metrics float int com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] int com.sun.javafx.text.TextRun com.sun.javafx.geom.Point2D int
StackMap stack:
iload 4
ifeq 76
68: aload 19
getfield com.sun.javafx.geom.Point2D.x:F
fstore 21
start local 21 69: aload 19
getfield com.sun.javafx.geom.Point2D.y:F
aload 12
invokeinterface com.sun.javafx.font.Metrics.getStrikethroughOffset:()F
fadd
fstore 22
start local 22 70: fload 21
aload 18
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
fadd
fstore 23
start local 23 71: fload 22
aload 12
invokeinterface com.sun.javafx.font.Metrics.getStrikethroughThickness:()F
fadd
fstore 24
start local 24 72: fload 21
fload 6
fcmpg
ifge 73
fload 21
fstore 6
73: StackMap locals: com.sun.javafx.text.PrismTextLayout int int int int int float float float float float[] com.sun.javafx.font.FontResource com.sun.javafx.font.Metrics float int com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] int com.sun.javafx.text.TextRun com.sun.javafx.geom.Point2D int float float float float
StackMap stack:
fload 22
fload 7
fcmpg
ifge 74
fload 22
fstore 7
74: StackMap locals:
StackMap stack:
fload 23
fload 8
fcmpl
ifle 75
fload 23
fstore 8
75: StackMap locals:
StackMap stack:
fload 24
fload 9
fcmpl
ifle 76
fload 24
fstore 9
end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 76: StackMap locals: com.sun.javafx.text.PrismTextLayout int int int int int float float float float float[] com.sun.javafx.font.FontResource com.sun.javafx.font.Metrics float int com.sun.javafx.text.TextLine com.sun.javafx.text.TextRun[] int
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
77: iload 17
aload 16
arraylength
if_icmplt 36
end local 17 end local 16 end local 15 78: iinc 14 1
StackMap locals:
StackMap stack:
79: iload 14
aload 0
getfield com.sun.javafx.text.PrismTextLayout.lines:[Lcom/sun/javafx/text/TextLine;
arraylength
if_icmplt 32
end local 14 80: fload 6
fload 8
fcmpg
ifge 82
fload 7
fload 9
fcmpg
ifge 82
81: aload 0
getfield com.sun.javafx.text.PrismTextLayout.visualBounds:Lcom/sun/javafx/geom/RectBounds;
fload 6
fload 7
fload 8
fload 9
invokevirtual com.sun.javafx.geom.RectBounds.setBounds:(FFFF)V
82: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.text.PrismTextLayout.visualBounds:Lcom/sun/javafx/geom/RectBounds;
areturn
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 83 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 83 1 type I
6 83 2 underline Z
9 83 3 hasUnderline Z
12 83 4 strikethrough Z
15 83 5 hasStrikethrough Z
23 83 6 xMin F
24 83 7 yMin F
25 83 8 xMax F
26 83 9 yMax F
27 83 10 bounds [F
28 83 11 fr Lcom/sun/javafx/font/FontResource;
29 83 12 metrics Lcom/sun/javafx/font/Metrics;
30 83 13 size F
31 80 14 i I
33 78 15 line Lcom/sun/javafx/text/TextLine;
34 78 16 runs [Lcom/sun/javafx/text/TextRun;
35 78 17 j I
37 76 18 run Lcom/sun/javafx/text/TextRun;
38 76 19 pt Lcom/sun/javafx/geom/Point2D;
40 76 20 glyphCount I
41 58 21 gi I
43 56 22 gc I
47 56 23 glyphX F
48 56 24 glyphY F
49 56 25 glyphMinX F
50 56 26 glyphMinY F
51 56 27 glyphMaxX F
52 56 28 glyphMaxY F
60 67 21 underlineMinX F
61 67 22 underlineMinY F
62 67 23 underlineMaxX F
63 67 24 underlineMaxY F
69 76 21 strikethroughMinX F
70 76 22 strikethroughMinY F
71 76 23 strikethroughMaxX F
72 76 24 strikethroughMaxY F
MethodParameters:
Name Flags
type
private void computeSideBearings(com.sun.javafx.text.TextLine);
descriptor: (Lcom/sun/javafx/text/TextLine;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=18, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.javafx.text.TextLine.getRuns:()[Lcom/sun/javafx/text/TextRun;
astore 2
start local 2 1: aload 2
arraylength
ifne 2
return
2: StackMap locals: com.sun.javafx.text.TextRun[]
StackMap stack:
iconst_4
newarray 6
astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: fconst_0
fstore 5
start local 5 5: aload 0
getfield com.sun.javafx.text.PrismTextLayout.strike:Lcom/sun/javafx/font/FontStrike;
ifnull 8
6: aload 0
getfield com.sun.javafx.text.PrismTextLayout.strike:Lcom/sun/javafx/font/FontStrike;
invokeinterface com.sun.javafx.font.FontStrike.getFontResource:()Lcom/sun/javafx/font/FontResource;
astore 4
7: aload 0
getfield com.sun.javafx.text.PrismTextLayout.strike:Lcom/sun/javafx/font/FontStrike;
invokeinterface com.sun.javafx.font.FontStrike.getSize:()F
fstore 5
8: StackMap locals: float[] com.sun.javafx.font.FontResource float
StackMap stack:
fconst_0
fstore 6
start local 6 9: fconst_0
fstore 7
start local 7 10: iconst_0
istore 8
start local 8 11: goto 37
12: StackMap locals: float float int
StackMap stack:
aload 2
iload 8
aaload
astore 9
start local 9 13: aload 9
invokevirtual com.sun.javafx.text.TextRun.getGlyphCount:()I
istore 10
start local 10 14: iconst_0
istore 11
start local 11 15: goto 33
16: StackMap locals: com.sun.javafx.text.TextRun int int
StackMap stack:
aload 9
iload 11
invokevirtual com.sun.javafx.text.TextRun.getAdvance:(I)F
fstore 12
start local 12 17: fload 12
fconst_0
fcmpl
ifeq 31
18: aload 9
iload 11
invokevirtual com.sun.javafx.text.TextRun.getGlyphCode:(I)I
istore 13
start local 13 19: iload 13
ldc 65535
if_icmpeq 31
20: aload 4
astore 14
start local 14 21: aload 14
ifnonnull 26
22: aload 9
invokevirtual com.sun.javafx.text.TextRun.getTextSpan:()Lcom/sun/javafx/scene/text/TextSpan;
astore 15
start local 15 23: aload 15
invokeinterface com.sun.javafx.scene.text.TextSpan.getFont:()Ljava/lang/Object;
checkcast com.sun.javafx.font.PGFont
astore 16
start local 16 24: aload 16
invokeinterface com.sun.javafx.font.PGFont.getSize:()F
fstore 5
25: aload 16
invokeinterface com.sun.javafx.font.PGFont.getFontResource:()Lcom/sun/javafx/font/FontResource;
astore 14
end local 16 end local 15 26: StackMap locals: float int com.sun.javafx.font.FontResource
StackMap stack:
aload 14
iload 13
fload 5
aload 3
invokeinterface com.sun.javafx.font.FontResource.getGlyphBoundingBox:(IF[F)[F
pop
27: aload 3
iconst_0
faload
fstore 15
start local 15 28: fconst_0
fload 15
fload 7
fadd
invokestatic java.lang.Math.min:(FF)F
fstore 6
29: aload 9
invokevirtual com.sun.javafx.text.TextRun.setLeftBearing:()V
30: goto 38
end local 15 end local 14 end local 13 31: StackMap locals:
StackMap stack:
fload 7
fload 12
fadd
fstore 7
end local 12 32: iinc 11 1
StackMap locals:
StackMap stack:
33: iload 11
iload 10
if_icmplt 16
end local 11 34: iload 10
ifne 36
35: fload 7
aload 9
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
fadd
fstore 7
end local 10 end local 9 36: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
37: iload 8
aload 2
arraylength
if_icmplt 12
end local 8 38: StackMap locals:
StackMap stack:
fconst_0
fstore 8
start local 8 39: fconst_0
fstore 7
40: aload 2
arraylength
iconst_1
isub
istore 9
start local 9 41: goto 67
42: StackMap locals: float int
StackMap stack:
aload 2
iload 9
aaload
astore 10
start local 10 43: aload 10
invokevirtual com.sun.javafx.text.TextRun.getGlyphCount:()I
istore 11
start local 11 44: iload 11
iconst_1
isub
istore 12
start local 12 45: goto 63
46: StackMap locals: com.sun.javafx.text.TextRun int int
StackMap stack:
aload 10
iload 12
invokevirtual com.sun.javafx.text.TextRun.getAdvance:(I)F
fstore 13
start local 13 47: fload 13
fconst_0
fcmpl
ifeq 61
48: aload 10
iload 12
invokevirtual com.sun.javafx.text.TextRun.getGlyphCode:(I)I
istore 14
start local 14 49: iload 14
ldc 65535
if_icmpeq 61
50: aload 4
astore 15
start local 15 51: aload 15
ifnonnull 56
52: aload 10
invokevirtual com.sun.javafx.text.TextRun.getTextSpan:()Lcom/sun/javafx/scene/text/TextSpan;
astore 16
start local 16 53: aload 16
invokeinterface com.sun.javafx.scene.text.TextSpan.getFont:()Ljava/lang/Object;
checkcast com.sun.javafx.font.PGFont
astore 17
start local 17 54: aload 17
invokeinterface com.sun.javafx.font.PGFont.getSize:()F
fstore 5
55: aload 17
invokeinterface com.sun.javafx.font.PGFont.getFontResource:()Lcom/sun/javafx/font/FontResource;
astore 15
end local 17 end local 16 56: StackMap locals: float int com.sun.javafx.font.FontResource
StackMap stack:
aload 15
iload 14
fload 5
aload 3
invokeinterface com.sun.javafx.font.FontResource.getGlyphBoundingBox:(IF[F)[F
pop
57: aload 3
iconst_2
faload
fload 13
fsub
fstore 16
start local 16 58: fconst_0
fload 16
fload 7
fsub
invokestatic java.lang.Math.max:(FF)F
fstore 8
59: aload 10
invokevirtual com.sun.javafx.text.TextRun.setRightBearing:()V
60: goto 68
end local 16 end local 15 end local 14 61: StackMap locals:
StackMap stack:
fload 7
fload 13
fadd
fstore 7
end local 13 62: iinc 12 -1
StackMap locals:
StackMap stack:
63: iload 12
ifge 46
end local 12 64: iload 11
ifne 66
65: fload 7
aload 10
invokevirtual com.sun.javafx.text.TextRun.getWidth:()F
fadd
fstore 7
end local 11 end local 10 66: StackMap locals:
StackMap stack:
iinc 9 -1
StackMap locals:
StackMap stack:
67: iload 9
ifge 42
end local 9 68: StackMap locals:
StackMap stack:
aload 1
fload 6
fload 8
invokevirtual com.sun.javafx.text.TextLine.setSideBearings:(FF)V
69: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 70 0 this Lcom/sun/javafx/text/PrismTextLayout;
0 70 1 line Lcom/sun/javafx/text/TextLine;
1 70 2 runs [Lcom/sun/javafx/text/TextRun;
3 70 3 bounds [F
4 70 4 defaultFontResource Lcom/sun/javafx/font/FontResource;
5 70 5 size F
9 70 6 lsb F
10 70 7 width F
11 38 8 i I
13 36 9 run Lcom/sun/javafx/text/TextRun;
14 36 10 glyphCount I
15 34 11 gi I
17 32 12 advance F
19 31 13 gc I
21 31 14 fr Lcom/sun/javafx/font/FontResource;
23 26 15 span Lcom/sun/javafx/scene/text/TextSpan;
24 26 16 font Lcom/sun/javafx/font/PGFont;
28 31 15 glyphLsb F
39 70 8 rsb F
41 68 9 i I
43 66 10 run Lcom/sun/javafx/text/TextRun;
44 66 11 glyphCount I
45 64 12 gi I
47 62 13 advance F
49 61 14 gc I
51 61 15 fr Lcom/sun/javafx/font/FontResource;
53 56 16 span Lcom/sun/javafx/scene/text/TextSpan;
54 56 17 font Lcom/sun/javafx/font/PGFont;
58 61 16 glyphRsb F
MethodParameters:
Name Flags
line
}
SourceFile: "PrismTextLayout.java"
InnerClasses:
public Hit = com.sun.javafx.scene.text.TextLayout$Hit of com.sun.javafx.scene.text.TextLayout