public final class java.awt.font.TextLayout implements java.lang.Cloneable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.awt.font.TextLayout
super_class: java.lang.Object
{
private int characterCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean isVerticalLine;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private byte baseline;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private float[] baselineOffsets;
descriptor: [F
flags: (0x0002) ACC_PRIVATE
private java.awt.font.TextLine textLine;
descriptor: Ljava/awt/font/TextLine;
flags: (0x0002) ACC_PRIVATE
private java.awt.font.TextLine$TextLineMetrics lineMetrics;
descriptor: Ljava/awt/font/TextLine$TextLineMetrics;
flags: (0x0002) ACC_PRIVATE
private float visibleAdvance;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private boolean cacheIsValid;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private float justifyRatio;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private static final float ALREADY_JUSTIFIED;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -53.9
private static float dx;
descriptor: F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static float dy;
descriptor: F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private java.awt.geom.Rectangle2D naturalBounds;
descriptor: Ljava/awt/geom/Rectangle2D;
flags: (0x0002) ACC_PRIVATE
private java.awt.geom.Rectangle2D boundsRect;
descriptor: Ljava/awt/geom/Rectangle2D;
flags: (0x0002) ACC_PRIVATE
private boolean caretsInLigaturesAreAllowed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public static final java.awt.font.TextLayout$CaretPolicy DEFAULT_CARET_POLICY;
descriptor: Ljava/awt/font/TextLayout$CaretPolicy;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.awt.font.TextLayout$CaretPolicy
dup
invokespecial java.awt.font.TextLayout$CaretPolicy.<init>:()V
putstatic java.awt.font.TextLayout.DEFAULT_CARET_POLICY:Ljava/awt/font/TextLayout$CaretPolicy;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String, java.awt.Font, java.awt.font.FontRenderContext);
descriptor: (Ljava/lang/String;Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.awt.font.TextLayout.isVerticalLine:Z
2: aload 0
aconst_null
putfield java.awt.font.TextLayout.lineMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
3: aload 0
iconst_0
putfield java.awt.font.TextLayout.cacheIsValid:Z
4: aload 0
aconst_null
putfield java.awt.font.TextLayout.naturalBounds:Ljava/awt/geom/Rectangle2D;
5: aload 0
aconst_null
putfield java.awt.font.TextLayout.boundsRect:Ljava/awt/geom/Rectangle2D;
6: aload 0
iconst_0
putfield java.awt.font.TextLayout.caretsInLigaturesAreAllowed:Z
7: aload 2
ifnonnull 9
8: new java.lang.IllegalArgumentException
dup
ldc "Null font passed to TextLayout constructor."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.awt.font.TextLayout java.lang.String java.awt.Font java.awt.font.FontRenderContext
StackMap stack:
aload 1
ifnonnull 11
10: new java.lang.IllegalArgumentException
dup
ldc "Null string passed to TextLayout constructor."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
ifne 13
12: new java.lang.IllegalArgumentException
dup
ldc "Zero length string passed to TextLayout constructor."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 14: aload 2
invokevirtual java.awt.Font.hasLayoutAttributes:()Z
ifeq 16
15: aload 2
invokevirtual java.awt.Font.getAttributes:()Ljava/util/Map;
astore 4
16: StackMap locals: java.util.Map
StackMap stack:
aload 1
invokevirtual java.lang.String.toCharArray:()[C
astore 5
start local 5 17: aload 2
aload 5
iconst_0
aload 5
arraylength
invokestatic java.awt.font.TextLayout.sameBaselineUpTo:(Ljava/awt/Font;[CII)I
aload 5
arraylength
if_icmpne 20
18: aload 0
aload 5
aload 2
aload 4
aload 3
invokevirtual java.awt.font.TextLayout.fastInit:([CLjava/awt/Font;Ljava/util/Map;Ljava/awt/font/FontRenderContext;)V
19: goto 26
20: StackMap locals: char[]
StackMap stack:
aload 4
ifnonnull 22
21: new java.text.AttributedString
dup
aload 1
invokespecial java.text.AttributedString.<init>:(Ljava/lang/String;)V
goto 23
22: StackMap locals:
StackMap stack:
new java.text.AttributedString
dup
aload 1
aload 4
invokespecial java.text.AttributedString.<init>:(Ljava/lang/String;Ljava/util/Map;)V
23: StackMap locals:
StackMap stack: java.text.AttributedString
astore 6
start local 6 24: aload 6
getstatic java.awt.font.TextAttribute.FONT:Ljava/awt/font/TextAttribute;
aload 2
invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;)V
25: aload 0
aload 6
invokevirtual java.text.AttributedString.getIterator:()Ljava/text/AttributedCharacterIterator;
aload 5
aload 3
invokevirtual java.awt.font.TextLayout.standardInit:(Ljava/text/AttributedCharacterIterator;[CLjava/awt/font/FontRenderContext;)V
end local 6 26: 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 27 0 this Ljava/awt/font/TextLayout;
0 27 1 string Ljava/lang/String;
0 27 2 font Ljava/awt/Font;
0 27 3 frc Ljava/awt/font/FontRenderContext;
14 27 4 attributes Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
17 27 5 text [C
24 26 6 as Ljava/text/AttributedString;
MethodParameters:
Name Flags
string
font
frc
public void <init>(java.lang.String, java.util.Map<? extends java.text.AttributedCharacterIterator$Attribute, ?>, java.awt.font.FontRenderContext);
descriptor: (Ljava/lang/String;Ljava/util/Map;Ljava/awt/font/FontRenderContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.awt.font.TextLayout.isVerticalLine:Z
2: aload 0
aconst_null
putfield java.awt.font.TextLayout.lineMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
3: aload 0
iconst_0
putfield java.awt.font.TextLayout.cacheIsValid:Z
4: aload 0
aconst_null
putfield java.awt.font.TextLayout.naturalBounds:Ljava/awt/geom/Rectangle2D;
5: aload 0
aconst_null
putfield java.awt.font.TextLayout.boundsRect:Ljava/awt/geom/Rectangle2D;
6: aload 0
iconst_0
putfield java.awt.font.TextLayout.caretsInLigaturesAreAllowed:Z
7: aload 1
ifnonnull 9
8: new java.lang.IllegalArgumentException
dup
ldc "Null string passed to TextLayout constructor."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.awt.font.TextLayout java.lang.String java.util.Map java.awt.font.FontRenderContext
StackMap stack:
aload 2
ifnonnull 11
10: new java.lang.IllegalArgumentException
dup
ldc "Null map passed to TextLayout constructor."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
ifne 13
12: new java.lang.IllegalArgumentException
dup
ldc "Zero length string passed to TextLayout constructor."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.toCharArray:()[C
astore 4
start local 4 14: aload 4
iconst_0
aload 4
arraylength
aload 2
invokestatic java.awt.font.TextLayout.singleFont:([CIILjava/util/Map;)Ljava/awt/Font;
astore 5
start local 5 15: aload 5
ifnull 18
16: aload 0
aload 4
aload 5
aload 2
aload 3
invokevirtual java.awt.font.TextLayout.fastInit:([CLjava/awt/Font;Ljava/util/Map;Ljava/awt/font/FontRenderContext;)V
17: goto 20
18: StackMap locals: char[] java.awt.Font
StackMap stack:
new java.text.AttributedString
dup
aload 1
aload 2
invokespecial java.text.AttributedString.<init>:(Ljava/lang/String;Ljava/util/Map;)V
astore 6
start local 6 19: aload 0
aload 6
invokevirtual java.text.AttributedString.getIterator:()Ljava/text/AttributedCharacterIterator;
aload 4
aload 3
invokevirtual java.awt.font.TextLayout.standardInit:(Ljava/text/AttributedCharacterIterator;[CLjava/awt/font/FontRenderContext;)V
end local 6 20: 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 21 0 this Ljava/awt/font/TextLayout;
0 21 1 string Ljava/lang/String;
0 21 2 attributes Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
0 21 3 frc Ljava/awt/font/FontRenderContext;
14 21 4 text [C
15 21 5 font Ljava/awt/Font;
19 20 6 as Ljava/text/AttributedString;
Signature: (Ljava/lang/String;Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;Ljava/awt/font/FontRenderContext;)V
MethodParameters:
Name Flags
string
attributes
frc
private static java.awt.Font singleFont(char[], int, int, java.util.Map<? extends java.text.AttributedCharacterIterator$Attribute, ?>);
descriptor: ([CIILjava/util/Map;)Ljava/awt/Font;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getstatic java.awt.font.TextAttribute.CHAR_REPLACEMENT:Ljava/awt/font/TextAttribute;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 3: aload 3
getstatic java.awt.font.TextAttribute.FONT:Ljava/awt/font/TextAttribute;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.awt.Font
astore 4
4: goto 6
5: StackMap locals: char[] int int java.util.Map java.awt.Font
StackMap stack: java.lang.ClassCastException
pop
6: StackMap locals:
StackMap stack:
aload 4
ifnonnull 16
7: aload 3
getstatic java.awt.font.TextAttribute.FAMILY:Ljava/awt/font/TextAttribute;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 11
8: aload 3
invokestatic java.awt.Font.getFont:(Ljava/util/Map;)Ljava/awt/Font;
astore 4
9: aload 4
aload 0
iload 1
iload 2
invokevirtual java.awt.Font.canDisplayUpTo:([CII)I
iconst_m1
if_icmpeq 16
10: aconst_null
areturn
11: StackMap locals:
StackMap stack:
invokestatic sun.font.FontResolver.getInstance:()Lsun/font/FontResolver;
astore 5
start local 5 12: aload 0
iload 1
iload 2
invokestatic sun.font.CodePointIterator.create:([CII)Lsun/font/CodePointIterator;
astore 6
start local 6 13: aload 5
aload 6
invokevirtual sun.font.FontResolver.nextFontRunIndex:(Lsun/font/CodePointIterator;)I
istore 7
start local 7 14: aload 6
invokevirtual sun.font.CodePointIterator.charIndex:()I
iload 2
if_icmpne 16
15: aload 5
iload 7
aload 3
invokevirtual sun.font.FontResolver.getFont:(ILjava/util/Map;)Ljava/awt/Font;
astore 4
end local 7 end local 6 end local 5 16: StackMap locals:
StackMap stack:
aload 4
aload 0
iload 1
iload 2
invokestatic java.awt.font.TextLayout.sameBaselineUpTo:(Ljava/awt/Font;[CII)I
iload 2
if_icmpeq 18
17: aconst_null
areturn
18: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 text [C
0 19 1 start I
0 19 2 limit I
0 19 3 attributes Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
3 19 4 font Ljava/awt/Font;
12 16 5 resolver Lsun/font/FontResolver;
13 16 6 iter Lsun/font/CodePointIterator;
14 16 7 fontIndex I
Exception table:
from to target type
3 4 5 Class java.lang.ClassCastException
Signature: ([CIILjava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;)Ljava/awt/Font;
MethodParameters:
Name Flags
text
start
limit
attributes
public void <init>(java.text.AttributedCharacterIterator, java.awt.font.FontRenderContext);
descriptor: (Ljava/text/AttributedCharacterIterator;Ljava/awt/font/FontRenderContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.awt.font.TextLayout.isVerticalLine:Z
2: aload 0
aconst_null
putfield java.awt.font.TextLayout.lineMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
3: aload 0
iconst_0
putfield java.awt.font.TextLayout.cacheIsValid:Z
4: aload 0
aconst_null
putfield java.awt.font.TextLayout.naturalBounds:Ljava/awt/geom/Rectangle2D;
5: aload 0
aconst_null
putfield java.awt.font.TextLayout.boundsRect:Ljava/awt/geom/Rectangle2D;
6: aload 0
iconst_0
putfield java.awt.font.TextLayout.caretsInLigaturesAreAllowed:Z
7: aload 1
ifnonnull 9
8: new java.lang.IllegalArgumentException
dup
ldc "Null iterator passed to TextLayout constructor."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.awt.font.TextLayout java.text.AttributedCharacterIterator java.awt.font.FontRenderContext
StackMap stack:
aload 1
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
istore 3
start local 3 10: aload 1
invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
istore 4
start local 4 11: iload 3
iload 4
if_icmpne 13
12: new java.lang.IllegalArgumentException
dup
ldc "Zero length iterator passed to TextLayout constructor."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: int int
StackMap stack:
iload 4
iload 3
isub
istore 5
start local 5 14: aload 1
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
15: iload 5
newarray 5
astore 6
start local 6 16: iconst_0
istore 7
start local 7 17: aload 1
invokeinterface java.text.AttributedCharacterIterator.first:()C
istore 8
start local 8 18: goto 21
19: StackMap locals: java.awt.font.TextLayout java.text.AttributedCharacterIterator java.awt.font.FontRenderContext int int int char[] int int
StackMap stack:
aload 6
iload 7
iinc 7 1
iload 8
castore
20: aload 1
invokeinterface java.text.AttributedCharacterIterator.next:()C
istore 8
21: StackMap locals:
StackMap stack:
iload 8
ldc 65535
if_icmpne 19
end local 8 22: aload 1
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
23: aload 1
invokeinterface java.text.AttributedCharacterIterator.getRunLimit:()I
iload 4
if_icmpne 29
24: aload 1
invokeinterface java.text.AttributedCharacterIterator.getAttributes:()Ljava/util/Map;
astore 8
start local 8 25: aload 6
iconst_0
iload 5
aload 8
invokestatic java.awt.font.TextLayout.singleFont:([CIILjava/util/Map;)Ljava/awt/Font;
astore 9
start local 9 26: aload 9
ifnull 29
27: aload 0
aload 6
aload 9
aload 8
aload 2
invokevirtual java.awt.font.TextLayout.fastInit:([CLjava/awt/Font;Ljava/util/Map;Ljava/awt/font/FontRenderContext;)V
28: return
end local 9 end local 8 29: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 6
aload 2
invokevirtual java.awt.font.TextLayout.standardInit:(Ljava/text/AttributedCharacterIterator;[CLjava/awt/font/FontRenderContext;)V
30: return
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 31 0 this Ljava/awt/font/TextLayout;
0 31 1 text Ljava/text/AttributedCharacterIterator;
0 31 2 frc Ljava/awt/font/FontRenderContext;
10 31 3 start I
11 31 4 limit I
14 31 5 len I
16 31 6 chars [C
17 31 7 n I
18 22 8 c C
25 29 8 attributes Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
26 29 9 font Ljava/awt/Font;
MethodParameters:
Name Flags
text
frc
void <init>(java.awt.font.TextLine, byte, float[], float);
descriptor: (Ljava/awt/font/TextLine;B[FF)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.awt.font.TextLayout.isVerticalLine:Z
2: aload 0
aconst_null
putfield java.awt.font.TextLayout.lineMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
3: aload 0
iconst_0
putfield java.awt.font.TextLayout.cacheIsValid:Z
4: aload 0
aconst_null
putfield java.awt.font.TextLayout.naturalBounds:Ljava/awt/geom/Rectangle2D;
5: aload 0
aconst_null
putfield java.awt.font.TextLayout.boundsRect:Ljava/awt/geom/Rectangle2D;
6: aload 0
iconst_0
putfield java.awt.font.TextLayout.caretsInLigaturesAreAllowed:Z
7: aload 0
aload 1
invokevirtual java.awt.font.TextLine.characterCount:()I
putfield java.awt.font.TextLayout.characterCount:I
8: aload 0
iload 2
putfield java.awt.font.TextLayout.baseline:B
9: aload 0
aload 3
putfield java.awt.font.TextLayout.baselineOffsets:[F
10: aload 0
aload 1
putfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
11: aload 0
fload 4
putfield java.awt.font.TextLayout.justifyRatio:F
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 Ljava/awt/font/TextLayout;
0 13 1 textLine Ljava/awt/font/TextLine;
0 13 2 baseline B
0 13 3 baselineOffsets [F
0 13 4 justifyRatio F
MethodParameters:
Name Flags
textLine
baseline
baselineOffsets
justifyRatio
private void paragraphInit(byte, sun.font.CoreMetrics, java.util.Map<? extends java.text.AttributedCharacterIterator$Attribute, ?>, );
descriptor: (BLsun/font/CoreMetrics;Ljava/util/Map;[C)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
putfield java.awt.font.TextLayout.baseline:B
1: aload 0
aload 2
getfield sun.font.CoreMetrics.baselineOffsets:[F
aload 0
getfield java.awt.font.TextLayout.baseline:B
invokestatic java.awt.font.TextLine.getNormalizedOffsets:([FB)[F
putfield java.awt.font.TextLayout.baselineOffsets:[F
2: aload 0
aload 3
invokestatic sun.font.AttributeValues.getJustification:(Ljava/util/Map;)F
putfield java.awt.font.TextLayout.justifyRatio:F
3: aload 3
invokestatic sun.font.AttributeValues.getNumericShaping:(Ljava/util/Map;)Ljava/awt/font/NumericShaper;
astore 5
start local 5 4: aload 5
ifnull 6
5: aload 5
aload 4
iconst_0
aload 4
arraylength
invokevirtual java.awt.font.NumericShaper.shape:([CII)V
6: StackMap locals: java.awt.font.NumericShaper
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 7 0 this Ljava/awt/font/TextLayout;
0 7 1 aBaseline B
0 7 2 lm Lsun/font/CoreMetrics;
0 7 3 paragraphAttrs Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
0 7 4 text [C
4 7 5 shaper Ljava/awt/font/NumericShaper;
Signature: (BLsun/font/CoreMetrics;Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;[C)V
MethodParameters:
Name Flags
aBaseline
lm
paragraphAttrs
text
private void fastInit(char[], java.awt.Font, java.util.Map<? extends java.text.AttributedCharacterIterator$Attribute, ?>, java.awt.font.FontRenderContext);
descriptor: ([CLjava/awt/Font;Ljava/util/Map;Ljava/awt/font/FontRenderContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iconst_0
putfield java.awt.font.TextLayout.isVerticalLine:Z
1: aload 2
aload 1
iconst_0
aload 1
arraylength
aload 4
invokevirtual java.awt.Font.getLineMetrics:([CIILjava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
astore 5
start local 5 2: aload 5
invokestatic sun.font.CoreMetrics.get:(Ljava/awt/font/LineMetrics;)Lsun/font/CoreMetrics;
astore 6
start local 6 3: aload 6
getfield sun.font.CoreMetrics.baselineIndex:I
i2b
istore 7
start local 7 4: aload 3
ifnonnull 9
5: aload 0
iload 7
putfield java.awt.font.TextLayout.baseline:B
6: aload 0
aload 6
getfield sun.font.CoreMetrics.baselineOffsets:[F
putfield java.awt.font.TextLayout.baselineOffsets:[F
7: aload 0
fconst_1
putfield java.awt.font.TextLayout.justifyRatio:F
8: goto 10
9: StackMap locals: java.awt.font.LineMetrics sun.font.CoreMetrics int
StackMap stack:
aload 0
iload 7
aload 6
aload 3
aload 1
invokevirtual java.awt.font.TextLayout.paragraphInit:(BLsun/font/CoreMetrics;Ljava/util/Map;[C)V
10: StackMap locals:
StackMap stack:
aload 0
aload 1
arraylength
putfield java.awt.font.TextLayout.characterCount:I
11: aload 0
aload 4
aload 1
aload 2
aload 6
aload 3
invokestatic java.awt.font.TextLine.fastCreateTextLine:(Ljava/awt/font/FontRenderContext;[CLjava/awt/Font;Lsun/font/CoreMetrics;Ljava/util/Map;)Ljava/awt/font/TextLine;
putfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
12: return
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 13 0 this Ljava/awt/font/TextLayout;
0 13 1 chars [C
0 13 2 font Ljava/awt/Font;
0 13 3 attrs Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
0 13 4 frc Ljava/awt/font/FontRenderContext;
2 13 5 lm Ljava/awt/font/LineMetrics;
3 13 6 cm Lsun/font/CoreMetrics;
4 13 7 glyphBaseline B
Signature: ([CLjava/awt/Font;Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;Ljava/awt/font/FontRenderContext;)V
MethodParameters:
Name Flags
chars
font
attrs
frc
private void standardInit(java.text.AttributedCharacterIterator, char[], java.awt.font.FontRenderContext);
descriptor: (Ljava/text/AttributedCharacterIterator;[CLjava/awt/font/FontRenderContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
arraylength
putfield java.awt.font.TextLayout.characterCount:I
1: aload 1
invokeinterface java.text.AttributedCharacterIterator.getAttributes:()Ljava/util/Map;
astore 4
start local 4 2: aload 1
invokestatic java.awt.font.TextLine.advanceToFirstFont:(Ljava/text/AttributedCharacterIterator;)Z
istore 5
start local 5 3: iload 5
ifeq 10
4: aload 1
invokestatic java.awt.font.TextLine.getFontAtCurrentPos:(Ljava/text/AttributedCharacterIterator;)Ljava/awt/Font;
astore 6
start local 6 5: aload 1
invokeinterface java.text.AttributedCharacterIterator.getIndex:()I
aload 1
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
isub
istore 7
start local 7 6: aload 6
aload 2
iload 7
iload 7
iconst_1
iadd
aload 3
invokevirtual java.awt.Font.getLineMetrics:([CIILjava/awt/font/FontRenderContext;)Ljava/awt/font/LineMetrics;
astore 8
start local 8 7: aload 8
invokestatic sun.font.CoreMetrics.get:(Ljava/awt/font/LineMetrics;)Lsun/font/CoreMetrics;
astore 9
start local 9 8: aload 0
aload 9
getfield sun.font.CoreMetrics.baselineIndex:I
i2b
aload 9
aload 4
aload 2
invokevirtual java.awt.font.TextLayout.paragraphInit:(BLsun/font/CoreMetrics;Ljava/util/Map;[C)V
end local 9 end local 8 end local 7 end local 6 9: goto 15
10: StackMap locals: java.util.Map int
StackMap stack:
aload 4
getstatic java.awt.font.TextAttribute.CHAR_REPLACEMENT:Ljava/awt/font/TextAttribute;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.awt.font.GraphicAttribute
11: astore 6
start local 6 12: aload 6
invokestatic java.awt.font.TextLayout.getBaselineFromGraphic:(Ljava/awt/font/GraphicAttribute;)B
istore 7
start local 7 13: aload 6
invokestatic sun.font.GraphicComponent.createCoreMetrics:(Ljava/awt/font/GraphicAttribute;)Lsun/font/CoreMetrics;
astore 8
start local 8 14: aload 0
iload 7
aload 8
aload 4
aload 2
invokevirtual java.awt.font.TextLayout.paragraphInit:(BLsun/font/CoreMetrics;Ljava/util/Map;[C)V
end local 8 end local 7 end local 6 end local 5 end local 4 15: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 1
aload 2
aload 0
getfield java.awt.font.TextLayout.baselineOffsets:[F
invokestatic java.awt.font.TextLine.standardCreateTextLine:(Ljava/awt/font/FontRenderContext;Ljava/text/AttributedCharacterIterator;[C[F)Ljava/awt/font/TextLine;
putfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/awt/font/TextLayout;
0 17 1 text Ljava/text/AttributedCharacterIterator;
0 17 2 chars [C
0 17 3 frc Ljava/awt/font/FontRenderContext;
2 15 4 paragraphAttrs Ljava/util/Map<+Ljava/text/AttributedCharacterIterator$Attribute;*>;
3 15 5 haveFont Z
5 9 6 defaultFont Ljava/awt/Font;
6 9 7 charsStart I
7 9 8 lm Ljava/awt/font/LineMetrics;
8 9 9 cm Lsun/font/CoreMetrics;
12 15 6 graphic Ljava/awt/font/GraphicAttribute;
13 15 7 defaultBaseline B
14 15 8 cm Lsun/font/CoreMetrics;
MethodParameters:
Name Flags
text
chars
frc
private void ensureCache();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.font.TextLayout.cacheIsValid:Z
ifne 2
1: aload 0
invokevirtual java.awt.font.TextLayout.buildCache:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/font/TextLayout;
private void buildCache();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getMetrics:()Ljava/awt/font/TextLine$TextLineMetrics;
putfield java.awt.font.TextLayout.lineMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
1: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
ifeq 20
2: aload 0
getfield java.awt.font.TextLayout.characterCount:I
iconst_1
isub
istore 1
start local 1 3: goto 8
4: StackMap locals: int
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 1
invokevirtual java.awt.font.TextLine.visualToLogical:(I)I
istore 2
start local 2 5: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 2
invokevirtual java.awt.font.TextLine.isCharSpace:(I)Z
ifne 7
6: goto 9
7: StackMap locals: int
StackMap stack:
iinc 1 -1
end local 2 8: StackMap locals:
StackMap stack:
iload 1
iconst_m1
if_icmpne 4
9: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
iconst_1
isub
if_icmpne 12
10: aload 0
aload 0
getfield java.awt.font.TextLayout.lineMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
getfield java.awt.font.TextLine$TextLineMetrics.advance:F
putfield java.awt.font.TextLayout.visibleAdvance:F
11: goto 36
12: StackMap locals:
StackMap stack:
iload 1
iconst_m1
if_icmpne 15
13: aload 0
fconst_0
putfield java.awt.font.TextLayout.visibleAdvance:F
14: goto 36
15: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 1
invokevirtual java.awt.font.TextLine.visualToLogical:(I)I
istore 2
start local 2 16: aload 0
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 2
invokevirtual java.awt.font.TextLine.getCharLinePosition:(I)F
17: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 2
invokevirtual java.awt.font.TextLine.getCharAdvance:(I)F
fadd
18: putfield java.awt.font.TextLayout.visibleAdvance:F
end local 2 end local 1 19: goto 36
20: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 21: goto 26
22: StackMap locals: int
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 1
invokevirtual java.awt.font.TextLine.visualToLogical:(I)I
istore 2
start local 2 23: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 2
invokevirtual java.awt.font.TextLine.isCharSpace:(I)Z
ifne 25
24: goto 27
25: StackMap locals: int
StackMap stack:
iinc 1 1
end local 2 26: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpne 22
27: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpne 30
28: aload 0
fconst_0
putfield java.awt.font.TextLayout.visibleAdvance:F
29: goto 36
30: StackMap locals:
StackMap stack:
iload 1
ifne 33
31: aload 0
aload 0
getfield java.awt.font.TextLayout.lineMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
getfield java.awt.font.TextLine$TextLineMetrics.advance:F
putfield java.awt.font.TextLayout.visibleAdvance:F
32: goto 36
33: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 1
invokevirtual java.awt.font.TextLine.visualToLogical:(I)I
istore 2
start local 2 34: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 2
invokevirtual java.awt.font.TextLine.getCharLinePosition:(I)F
fstore 3
start local 3 35: aload 0
aload 0
getfield java.awt.font.TextLayout.lineMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
getfield java.awt.font.TextLine$TextLineMetrics.advance:F
fload 3
fsub
putfield java.awt.font.TextLayout.visibleAdvance:F
end local 3 end local 2 end local 1 36: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield java.awt.font.TextLayout.naturalBounds:Ljava/awt/geom/Rectangle2D;
37: aload 0
aconst_null
putfield java.awt.font.TextLayout.boundsRect:Ljava/awt/geom/Rectangle2D;
38: aload 0
iconst_1
putfield java.awt.font.TextLayout.cacheIsValid:Z
39: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ljava/awt/font/TextLayout;
3 19 1 lastNonSpace I
5 8 2 logIndex I
16 19 2 logIndex I
21 36 1 leftmostNonSpace I
23 26 2 logIndex I
34 36 2 logIndex I
35 36 3 pos F
private java.awt.geom.Rectangle2D getNaturalBounds();
descriptor: ()Ljava/awt/geom/Rectangle2D;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
getfield java.awt.font.TextLayout.naturalBounds:Ljava/awt/geom/Rectangle2D;
ifnonnull 3
2: aload 0
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getItalicBounds:()Ljava/awt/geom/Rectangle2D;
putfield java.awt.font.TextLayout.naturalBounds:Ljava/awt/geom/Rectangle2D;
3: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.naturalBounds:Ljava/awt/geom/Rectangle2D;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/awt/font/TextLayout;
protected java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.clone:()Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.CloneNotSupportedException
astore 1
start local 1 3: new java.lang.InternalError
dup
aload 1
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/awt/font/TextLayout;
3 4 1 e Ljava/lang/CloneNotSupportedException;
Exception table:
from to target type
0 1 2 Class java.lang.CloneNotSupportedException
private void checkTextHit(java.awt.font.TextHitInfo);
descriptor: (Ljava/awt/font/TextHitInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "TextHitInfo is null."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.awt.font.TextHitInfo.getInsertionIndex:()I
iflt 4
3: aload 1
invokevirtual java.awt.font.TextHitInfo.getInsertionIndex:()I
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmple 5
4: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "TextHitInfo is out of range"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/awt/font/TextLayout;
0 6 1 hit Ljava/awt/font/TextHitInfo;
MethodParameters:
Name Flags
hit
public java.awt.font.TextLayout getJustifiedLayout(float);
descriptor: (F)Ljava/awt/font/TextLayout;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: fload 1
fconst_0
fcmpg
ifgt 2
1: new java.lang.IllegalArgumentException
dup
ldc "justificationWidth <= 0 passed to TextLayout.getJustifiedLayout()"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.justifyRatio:F
ldc -53.9
fcmpl
ifne 4
3: new java.lang.Error
dup
ldc "Can't justify again."
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
5: aload 0
getfield java.awt.font.TextLayout.characterCount:I
istore 2
start local 2 6: goto 8
7: StackMap locals: int
StackMap stack:
iinc 2 -1
8: StackMap locals:
StackMap stack:
iload 2
ifle 9
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 2
iconst_1
isub
invokevirtual java.awt.font.TextLine.isCharWhitespace:(I)Z
ifne 7
9: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
fload 1
aload 0
getfield java.awt.font.TextLayout.justifyRatio:F
iconst_0
iload 2
invokevirtual java.awt.font.TextLine.getJustifiedLine:(FFII)Ljava/awt/font/TextLine;
astore 3
start local 3 10: aload 3
ifnull 12
11: new java.awt.font.TextLayout
dup
aload 3
aload 0
getfield java.awt.font.TextLayout.baseline:B
aload 0
getfield java.awt.font.TextLayout.baselineOffsets:[F
ldc -53.9
invokespecial java.awt.font.TextLayout.<init>:(Ljava/awt/font/TextLine;B[FF)V
areturn
12: StackMap locals: java.awt.font.TextLine
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/awt/font/TextLayout;
0 13 1 justificationWidth F
6 13 2 limit I
10 13 3 newLine Ljava/awt/font/TextLine;
MethodParameters:
Name Flags
justificationWidth
protected void handleJustify(float);
descriptor: (F)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
0 1 1 justificationWidth F
MethodParameters:
Name Flags
justificationWidth
public byte getBaseline();
descriptor: ()B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.font.TextLayout.baseline:B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
public float[] getBaselineOffsets();
descriptor: ()[F
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield java.awt.font.TextLayout.baselineOffsets:[F
arraylength
newarray 6
astore 1
start local 1 1: aload 0
getfield java.awt.font.TextLayout.baselineOffsets:[F
iconst_0
aload 1
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/font/TextLayout;
1 3 1 offsets [F
public float getAdvance();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
getfield java.awt.font.TextLayout.lineMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
getfield java.awt.font.TextLine$TextLineMetrics.advance:F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/awt/font/TextLayout;
public float getVisibleAdvance();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
getfield java.awt.font.TextLayout.visibleAdvance:F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/awt/font/TextLayout;
public float getAscent();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
getfield java.awt.font.TextLayout.lineMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
getfield java.awt.font.TextLine$TextLineMetrics.ascent:F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/awt/font/TextLayout;
public float getDescent();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
getfield java.awt.font.TextLayout.lineMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
getfield java.awt.font.TextLine$TextLineMetrics.descent:F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/awt/font/TextLayout;
public float getLeading();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
getfield java.awt.font.TextLayout.lineMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
getfield java.awt.font.TextLine$TextLineMetrics.leading:F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/awt/font/TextLayout;
public java.awt.geom.Rectangle2D getBounds();
descriptor: ()Ljava/awt/geom/Rectangle2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
getfield java.awt.font.TextLayout.boundsRect:Ljava/awt/geom/Rectangle2D;
ifnonnull 10
2: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getVisualBounds:()Ljava/awt/geom/Rectangle2D;
astore 1
start local 1 3: getstatic java.awt.font.TextLayout.dx:F
fconst_0
fcmpl
ifne 4
getstatic java.awt.font.TextLayout.dy:F
fconst_0
fcmpl
ifeq 9
4: StackMap locals: java.awt.geom.Rectangle2D
StackMap stack:
aload 1
aload 1
invokevirtual java.awt.geom.Rectangle2D.getX:()D
getstatic java.awt.font.TextLayout.dx:F
f2d
dsub
5: aload 1
invokevirtual java.awt.geom.Rectangle2D.getY:()D
getstatic java.awt.font.TextLayout.dy:F
f2d
dsub
6: aload 1
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
7: aload 1
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
8: invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
9: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield java.awt.font.TextLayout.boundsRect:Ljava/awt/geom/Rectangle2D;
end local 1 10: StackMap locals:
StackMap stack:
new java.awt.geom.Rectangle2D$Float
dup
invokespecial java.awt.geom.Rectangle2D$Float.<init>:()V
astore 1
start local 1 11: aload 1
aload 0
getfield java.awt.font.TextLayout.boundsRect:Ljava/awt/geom/Rectangle2D;
invokevirtual java.awt.geom.Rectangle2D.setRect:(Ljava/awt/geom/Rectangle2D;)V
12: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/awt/font/TextLayout;
3 10 1 vb Ljava/awt/geom/Rectangle2D;
11 13 1 bounds Ljava/awt/geom/Rectangle2D;
public java.awt.Rectangle getPixelBounds(java.awt.font.FontRenderContext, float, float);
descriptor: (Ljava/awt/font/FontRenderContext;FF)Ljava/awt/Rectangle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
aload 1
fload 2
fload 3
invokevirtual java.awt.font.TextLine.getPixelBounds:(Ljava/awt/font/FontRenderContext;FF)Ljava/awt/Rectangle;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
0 1 1 frc Ljava/awt/font/FontRenderContext;
0 1 2 x F
0 1 3 y F
MethodParameters:
Name Flags
frc
x
y
public boolean isLeftToRight();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
public boolean isVertical();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.font.TextLayout.isVerticalLine:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
public int getCharacterCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.font.TextLayout.characterCount:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
private float[] getCaretInfo(int, java.awt.geom.Rectangle2D, float[]);
descriptor: (ILjava/awt/geom/Rectangle2D;[F)[F
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
ifeq 1
iload 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpne 17
1: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpne 7
2: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
aload 0
getfield java.awt.font.TextLayout.characterCount:I
iconst_1
isub
invokevirtual java.awt.font.TextLine.visualToLogical:(I)I
istore 9
start local 9 3: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 9
invokevirtual java.awt.font.TextLine.getCharLinePosition:(I)F
4: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 9
invokevirtual java.awt.font.TextLine.getCharAdvance:(I)F
5: fadd
fstore 8
start local 8 6: goto 9
end local 9 end local 8 7: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 1
invokevirtual java.awt.font.TextLine.visualToLogical:(I)I
istore 9
start local 9 8: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 9
invokevirtual java.awt.font.TextLine.getCharLinePosition:(I)F
fstore 8
start local 8 9: StackMap locals: java.awt.font.TextLayout int java.awt.geom.Rectangle2D float[] top top top top float int
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 9
invokevirtual java.awt.font.TextLine.getCharAngle:(I)F
fstore 10
start local 10 10: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 9
invokevirtual java.awt.font.TextLine.getCharShift:(I)F
fstore 11
start local 11 11: fload 8
fload 10
fload 11
fmul
fadd
fstore 8
12: fload 8
fload 10
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 9
invokevirtual java.awt.font.TextLine.getCharAscent:(I)F
fmul
fadd
dup
fstore 5
start local 5 13: fstore 4
start local 4 14: fload 8
fload 10
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 9
invokevirtual java.awt.font.TextLine.getCharDescent:(I)F
fmul
fsub
dup
fstore 7
start local 7 15: fstore 6
end local 11 end local 10 end local 9 end local 8 start local 6 16: goto 39
end local 7 end local 6 end local 5 end local 4 17: StackMap locals: java.awt.font.TextLayout int java.awt.geom.Rectangle2D float[]
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 1
iconst_1
isub
invokevirtual java.awt.font.TextLine.visualToLogical:(I)I
istore 8
start local 8 18: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 8
invokevirtual java.awt.font.TextLine.getCharAngle:(I)F
fstore 9
start local 9 19: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 8
invokevirtual java.awt.font.TextLine.getCharLinePosition:(I)F
20: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 8
invokevirtual java.awt.font.TextLine.getCharAdvance:(I)F
21: fadd
fstore 10
start local 10 22: fload 9
fconst_0
fcmpl
ifeq 27
23: fload 10
fload 9
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 8
invokevirtual java.awt.font.TextLine.getCharShift:(I)F
fmul
fadd
fstore 10
24: fload 10
fload 9
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 8
invokevirtual java.awt.font.TextLine.getCharAscent:(I)F
fmul
fadd
fstore 4
start local 4 25: fload 10
fload 9
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 8
invokevirtual java.awt.font.TextLine.getCharDescent:(I)F
fmul
fsub
fstore 6
start local 6 26: goto 29
end local 6 end local 4 27: StackMap locals: java.awt.font.TextLayout int java.awt.geom.Rectangle2D float[] top top top top int float float
StackMap stack:
fload 10
dup
fstore 6
start local 6 28: fstore 4
end local 10 end local 9 end local 8 start local 4 29: StackMap locals: java.awt.font.TextLayout int java.awt.geom.Rectangle2D float[] float top float
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 1
invokevirtual java.awt.font.TextLine.visualToLogical:(I)I
istore 8
start local 8 30: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 8
invokevirtual java.awt.font.TextLine.getCharAngle:(I)F
fstore 9
start local 9 31: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 8
invokevirtual java.awt.font.TextLine.getCharLinePosition:(I)F
fstore 10
start local 10 32: fload 9
fconst_0
fcmpl
ifeq 37
33: fload 10
fload 9
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 8
invokevirtual java.awt.font.TextLine.getCharShift:(I)F
fmul
fadd
fstore 10
34: fload 10
fload 9
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 8
invokevirtual java.awt.font.TextLine.getCharAscent:(I)F
fmul
fadd
fstore 5
start local 5 35: fload 10
fload 9
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 8
invokevirtual java.awt.font.TextLine.getCharDescent:(I)F
fmul
fsub
fstore 7
start local 7 36: goto 39
end local 7 end local 5 37: StackMap locals: java.awt.font.TextLayout int java.awt.geom.Rectangle2D float[] float top float top int float float
StackMap stack:
fload 10
dup
fstore 7
start local 7 38: fstore 5
end local 10 end local 9 end local 8 start local 5 39: StackMap locals: java.awt.font.TextLayout int java.awt.geom.Rectangle2D float[] float float float float
StackMap stack:
fload 4
fload 5
fadd
fconst_2
fdiv
fstore 8
start local 8 40: fload 6
fload 7
fadd
fconst_2
fdiv
fstore 9
start local 9 41: aload 3
ifnonnull 43
42: iconst_2
newarray 6
astore 3
43: StackMap locals: float float
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.isVerticalLine:Z
ifeq 47
44: aload 3
iconst_1
fload 8
fload 9
fsub
f2d
aload 2
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
ddiv
d2f
fastore
45: aload 3
iconst_0
fload 8
f2d
aload 3
iconst_1
faload
f2d
aload 2
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dmul
dadd
d2f
fastore
46: goto 49
47: StackMap locals:
StackMap stack:
aload 3
iconst_1
fload 8
fload 9
fsub
f2d
aload 2
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
ddiv
d2f
fastore
48: aload 3
iconst_0
fload 9
f2d
aload 3
iconst_1
faload
f2d
aload 2
invokevirtual java.awt.geom.Rectangle2D.getMaxY:()D
dmul
dadd
d2f
fastore
49: StackMap locals:
StackMap stack:
aload 3
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 50 0 this Ljava/awt/font/TextLayout;
0 50 1 caret I
0 50 2 bounds Ljava/awt/geom/Rectangle2D;
0 50 3 info [F
14 17 4 top1X F
25 27 4 top1X F
29 50 4 top1X F
13 17 5 top2X F
35 37 5 top2X F
39 50 5 top2X F
16 17 6 bottom1X F
26 27 6 bottom1X F
28 50 6 bottom1X F
15 17 7 bottom2X F
36 37 7 bottom2X F
38 50 7 bottom2X F
6 7 8 pos F
9 16 8 pos F
3 7 9 logIndex I
8 16 9 logIndex I
10 16 10 angle F
11 16 11 shift F
18 29 8 logIndex I
19 29 9 angle1 F
22 29 10 pos1 F
30 39 8 logIndex I
31 39 9 angle2 F
32 39 10 pos2 F
40 50 8 topX F
41 50 9 bottomX F
MethodParameters:
Name Flags
caret
bounds
info
public float[] getCaretInfo(java.awt.font.TextHitInfo, java.awt.geom.Rectangle2D);
descriptor: (Ljava/awt/font/TextHitInfo;Ljava/awt/geom/Rectangle2D;)[F
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
aload 1
invokevirtual java.awt.font.TextLayout.checkTextHit:(Ljava/awt/font/TextHitInfo;)V
2: aload 0
aload 1
aload 2
invokevirtual java.awt.font.TextLayout.getCaretInfoTestInternal:(Ljava/awt/font/TextHitInfo;Ljava/awt/geom/Rectangle2D;)[F
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/awt/font/TextLayout;
0 3 1 hit Ljava/awt/font/TextHitInfo;
0 3 2 bounds Ljava/awt/geom/Rectangle2D;
MethodParameters:
Name Flags
hit
bounds
private float[] getCaretInfoTestInternal(java.awt.font.TextHitInfo, java.awt.geom.Rectangle2D);
descriptor: (Ljava/awt/font/TextHitInfo;Ljava/awt/geom/Rectangle2D;)[F
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=22, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
aload 1
invokevirtual java.awt.font.TextLayout.checkTextHit:(Ljava/awt/font/TextHitInfo;)V
2: bipush 6
newarray 6
astore 3
start local 3 3: aload 0
aload 0
aload 1
invokevirtual java.awt.font.TextLayout.hitToCaret:(Ljava/awt/font/TextHitInfo;)I
aload 2
aload 3
invokevirtual java.awt.font.TextLayout.getCaretInfo:(ILjava/awt/geom/Rectangle2D;[F)[F
pop
4: aload 1
invokevirtual java.awt.font.TextHitInfo.getCharIndex:()I
istore 16
start local 16 5: aload 1
invokevirtual java.awt.font.TextHitInfo.isLeadingEdge:()Z
istore 17
start local 17 6: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
istore 18
start local 18 7: aload 0
invokevirtual java.awt.font.TextLayout.isVertical:()Z
ifeq 8
iconst_0
goto 9
StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo java.awt.geom.Rectangle2D float[] top top top top top top top top top top top top int int int
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: istore 19
start local 19 10: iload 16
iconst_m1
if_icmpeq 11
iload 16
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpne 33
11: StackMap locals: int
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getMetrics:()Ljava/awt/font/TextLine$TextLineMetrics;
astore 20
start local 20 12: iload 18
iload 16
iconst_m1
if_icmpne 13
iconst_1
goto 14
StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo java.awt.geom.Rectangle2D float[] top top top top top top top top top top top top int int int int java.awt.font.TextLine$TextLineMetrics
StackMap stack: int
13: iconst_0
StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo java.awt.geom.Rectangle2D float[] top top top top top top top top top top top top int int int int java.awt.font.TextLine$TextLineMetrics
StackMap stack: int int
14: if_icmpne 15
iconst_1
goto 16
StackMap locals:
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 21
start local 21 17: dconst_0
dstore 4
start local 4 18: iload 19
ifeq 26
19: iload 21
ifeq 20
fconst_0
goto 21
StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo java.awt.geom.Rectangle2D float[] double top top top top top top top top top top int int int int java.awt.font.TextLine$TextLineMetrics int
StackMap stack:
20: aload 20
getfield java.awt.font.TextLine$TextLineMetrics.advance:F
StackMap locals:
StackMap stack: float
21: f2d
dup2
dstore 12
start local 12 22: dstore 8
start local 8 23: aload 20
getfield java.awt.font.TextLine$TextLineMetrics.ascent:F
fneg
f2d
dstore 10
start local 10 24: aload 20
getfield java.awt.font.TextLine$TextLineMetrics.descent:F
f2d
dstore 14
start local 14 25: goto 66
end local 14 end local 12 end local 10 end local 8 26: StackMap locals:
StackMap stack:
iload 21
ifeq 27
fconst_0
goto 28
StackMap locals:
StackMap stack:
27: aload 20
getfield java.awt.font.TextLine$TextLineMetrics.advance:F
StackMap locals:
StackMap stack: float
28: f2d
dup2
dstore 14
start local 14 29: dstore 10
start local 10 30: aload 20
getfield java.awt.font.TextLine$TextLineMetrics.descent:F
f2d
dstore 8
start local 8 31: aload 20
getfield java.awt.font.TextLine$TextLineMetrics.ascent:F
f2d
dstore 12
end local 21 end local 20 start local 12 32: goto 66
end local 14 end local 12 end local 10 end local 8 end local 4 33: StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo java.awt.geom.Rectangle2D float[] top top top top top top top top top top top top int int int int
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 16
invokevirtual java.awt.font.TextLine.getCoreMetricsAt:(I)Lsun/font/CoreMetrics;
astore 20
start local 20 34: aload 20
getfield sun.font.CoreMetrics.italicAngle:F
f2d
dstore 4
start local 4 35: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 16
iload 17
invokevirtual java.awt.font.TextLine.getCharLinePosition:(IZ)F
f2d
dstore 6
start local 6 36: aload 20
getfield sun.font.CoreMetrics.baselineIndex:I
ifge 53
37: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getMetrics:()Ljava/awt/font/TextLine$TextLineMetrics;
astore 21
start local 21 38: iload 19
ifeq 48
39: dload 6
dup2
dstore 12
start local 12 40: dstore 8
start local 8 41: aload 20
getfield sun.font.CoreMetrics.baselineIndex:I
iconst_m1
if_icmpne 45
42: aload 21
getfield java.awt.font.TextLine$TextLineMetrics.ascent:F
fneg
f2d
dstore 10
start local 10 43: dload 10
aload 20
getfield sun.font.CoreMetrics.height:F
f2d
dadd
dstore 14
start local 14 44: goto 66
end local 14 end local 10 45: StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo java.awt.geom.Rectangle2D float[] double double double top top double top top int int int int sun.font.CoreMetrics java.awt.font.TextLine$TextLineMetrics
StackMap stack:
aload 21
getfield java.awt.font.TextLine$TextLineMetrics.descent:F
f2d
dstore 14
start local 14 46: dload 14
aload 20
getfield sun.font.CoreMetrics.height:F
f2d
dsub
dstore 10
start local 10 47: goto 66
end local 14 end local 12 end local 10 end local 8 48: StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo java.awt.geom.Rectangle2D float[] double double top top top top top top top top int int int int sun.font.CoreMetrics java.awt.font.TextLine$TextLineMetrics
StackMap stack:
dload 6
dup2
dstore 14
start local 14 49: dstore 10
start local 10 50: aload 21
getfield java.awt.font.TextLine$TextLineMetrics.descent:F
f2d
dstore 8
start local 8 51: aload 21
getfield java.awt.font.TextLine$TextLineMetrics.ascent:F
f2d
dstore 12
end local 21 start local 12 52: goto 66
end local 14 end local 12 end local 10 end local 8 53: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.baselineOffsets:[F
aload 20
getfield sun.font.CoreMetrics.baselineIndex:I
faload
fstore 21
start local 21 54: iload 19
ifeq 61
55: dload 6
dload 4
aload 20
getfield sun.font.CoreMetrics.ssOffset:F
f2d
dmul
dadd
dstore 6
56: dload 6
dload 4
aload 20
getfield sun.font.CoreMetrics.ascent:F
f2d
dmul
dadd
dstore 8
start local 8 57: dload 6
dload 4
aload 20
getfield sun.font.CoreMetrics.descent:F
f2d
dmul
dsub
dstore 12
start local 12 58: fload 21
aload 20
getfield sun.font.CoreMetrics.ascent:F
fsub
f2d
dstore 10
start local 10 59: fload 21
aload 20
getfield sun.font.CoreMetrics.descent:F
fadd
f2d
dstore 14
start local 14 60: goto 66
end local 14 end local 12 end local 10 end local 8 61: StackMap locals: float
StackMap stack:
dload 6
dload 4
aload 20
getfield sun.font.CoreMetrics.ssOffset:F
f2d
dmul
dsub
dstore 6
62: dload 6
dload 4
aload 20
getfield sun.font.CoreMetrics.ascent:F
f2d
dmul
dadd
dstore 10
start local 10 63: dload 6
dload 4
aload 20
getfield sun.font.CoreMetrics.descent:F
f2d
dmul
dsub
dstore 14
start local 14 64: fload 21
aload 20
getfield sun.font.CoreMetrics.ascent:F
fadd
f2d
dstore 8
start local 8 65: fload 21
aload 20
getfield sun.font.CoreMetrics.descent:F
fadd
f2d
dstore 12
end local 21 end local 20 end local 6 start local 12 66: StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo java.awt.geom.Rectangle2D float[] double top top double double double double int int int int
StackMap stack:
aload 3
iconst_2
dload 8
d2f
fastore
67: aload 3
iconst_3
dload 10
d2f
fastore
68: aload 3
iconst_4
dload 12
d2f
fastore
69: aload 3
iconst_5
dload 14
d2f
fastore
70: aload 3
areturn
end local 19 end local 18 end local 17 end local 16 end local 14 end local 12 end local 10 end local 8 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 71 0 this Ljava/awt/font/TextLayout;
0 71 1 hit Ljava/awt/font/TextHitInfo;
0 71 2 bounds Ljava/awt/geom/Rectangle2D;
3 71 3 info [F
18 33 4 iangle D
35 71 4 iangle D
36 66 6 ixbase D
23 26 8 p1x D
31 33 8 p1x D
41 48 8 p1x D
51 53 8 p1x D
57 61 8 p1x D
65 71 8 p1x D
24 26 10 p1y D
30 33 10 p1y D
43 45 10 p1y D
47 48 10 p1y D
50 53 10 p1y D
59 61 10 p1y D
63 71 10 p1y D
22 26 12 p2x D
32 33 12 p2x D
40 48 12 p2x D
52 53 12 p2x D
58 61 12 p2x D
66 71 12 p2x D
25 26 14 p2y D
29 33 14 p2y D
44 45 14 p2y D
46 48 14 p2y D
49 53 14 p2y D
60 61 14 p2y D
64 71 14 p2y D
5 71 16 charix I
6 71 17 lead Z
7 71 18 ltr Z
10 71 19 horiz Z
12 32 20 m Ljava/awt/font/TextLine$TextLineMetrics;
17 32 21 low Z
34 66 20 thiscm Lsun/font/CoreMetrics;
38 52 21 m Ljava/awt/font/TextLine$TextLineMetrics;
54 66 21 bo F
MethodParameters:
Name Flags
hit
bounds
public float[] getCaretInfo(java.awt.font.TextHitInfo);
descriptor: (Ljava/awt/font/TextHitInfo;)[F
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
invokevirtual java.awt.font.TextLayout.getNaturalBounds:()Ljava/awt/geom/Rectangle2D;
invokevirtual java.awt.font.TextLayout.getCaretInfo:(Ljava/awt/font/TextHitInfo;Ljava/awt/geom/Rectangle2D;)[F
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
0 1 1 hit Ljava/awt/font/TextHitInfo;
MethodParameters:
Name Flags
hit
private int hitToCaret(java.awt.font.TextHitInfo);
descriptor: (Ljava/awt/font/TextHitInfo;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.awt.font.TextHitInfo.getCharIndex:()I
istore 2
start local 2 1: iload 2
ifge 5
2: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
ifeq 3
iconst_0
goto 4
StackMap locals: int
StackMap stack:
3: aload 0
getfield java.awt.font.TextLayout.characterCount:I
StackMap locals:
StackMap stack: int
4: ireturn
5: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmplt 9
6: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
ifeq 7
aload 0
getfield java.awt.font.TextLayout.characterCount:I
goto 8
StackMap locals:
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 2
invokevirtual java.awt.font.TextLine.logicalToVisual:(I)I
istore 3
start local 3 10: aload 1
invokevirtual java.awt.font.TextHitInfo.isLeadingEdge:()Z
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 2
invokevirtual java.awt.font.TextLine.isCharLTR:(I)Z
if_icmpeq 12
11: iinc 3 1
12: StackMap locals: int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/awt/font/TextLayout;
0 13 1 hit Ljava/awt/font/TextHitInfo;
1 13 2 hitIndex I
10 13 3 visIndex I
MethodParameters:
Name Flags
hit
private java.awt.font.TextHitInfo caretToHit(int);
descriptor: (I)Ljava/awt/font/TextHitInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iload 1
ifeq 1
iload 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpne 6
1: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpne 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
if_icmpne 5
4: aload 0
getfield java.awt.font.TextLayout.characterCount:I
invokestatic java.awt.font.TextHitInfo.leading:(I)Ljava/awt/font/TextHitInfo;
areturn
5: StackMap locals:
StackMap stack:
iconst_m1
invokestatic java.awt.font.TextHitInfo.trailing:(I)Ljava/awt/font/TextHitInfo;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 1
invokevirtual java.awt.font.TextLine.visualToLogical:(I)I
istore 2
start local 2 7: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 2
invokevirtual java.awt.font.TextLine.isCharLTR:(I)Z
istore 3
start local 3 8: iload 3
ifeq 9
iload 2
invokestatic java.awt.font.TextHitInfo.leading:(I)Ljava/awt/font/TextHitInfo;
goto 10
9: StackMap locals: int int
StackMap stack:
iload 2
invokestatic java.awt.font.TextHitInfo.trailing:(I)Ljava/awt/font/TextHitInfo;
10: StackMap locals:
StackMap stack: java.awt.font.TextHitInfo
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/awt/font/TextLayout;
0 11 1 caret I
7 11 2 charIndex I
8 11 3 leading Z
MethodParameters:
Name Flags
caret
private boolean caretIsValid(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpeq 1
iload 1
ifne 2
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 1
invokevirtual java.awt.font.TextLine.visualToLogical:(I)I
istore 2
start local 2 3: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 2
invokevirtual java.awt.font.TextLine.isCharLTR:(I)Z
ifne 7
4: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 1
iconst_1
isub
invokevirtual java.awt.font.TextLine.visualToLogical:(I)I
istore 2
5: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 2
invokevirtual java.awt.font.TextLine.isCharLTR:(I)Z
ifeq 7
6: iconst_1
ireturn
7: StackMap locals: int
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 2
invokevirtual java.awt.font.TextLine.caretAtOffsetIsValid:(I)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/awt/font/TextLayout;
0 8 1 caret I
3 8 2 offset I
MethodParameters:
Name Flags
caret
public java.awt.font.TextHitInfo getNextRightHit(java.awt.font.TextHitInfo);
descriptor: (Ljava/awt/font/TextHitInfo;)Ljava/awt/font/TextHitInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
aload 1
invokevirtual java.awt.font.TextLayout.checkTextHit:(Ljava/awt/font/TextHitInfo;)V
2: aload 0
aload 1
invokevirtual java.awt.font.TextLayout.hitToCaret:(Ljava/awt/font/TextHitInfo;)I
istore 2
start local 2 3: iload 2
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpne 5
4: aconst_null
areturn
5: StackMap locals: int
StackMap stack:
iinc 2 1
6: aload 0
iload 2
invokevirtual java.awt.font.TextLayout.caretIsValid:(I)Z
ifeq 5
7: aload 0
iload 2
invokevirtual java.awt.font.TextLayout.caretToHit:(I)Ljava/awt/font/TextHitInfo;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/awt/font/TextLayout;
0 8 1 hit Ljava/awt/font/TextHitInfo;
3 8 2 caret I
MethodParameters:
Name Flags
hit
public java.awt.font.TextHitInfo getNextRightHit(int, java.awt.font.TextLayout$CaretPolicy);
descriptor: (ILjava/awt/font/TextLayout$CaretPolicy;)Ljava/awt/font/TextHitInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iflt 1
iload 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Offset out of bounds in TextLayout.getNextRightHit()"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "Null CaretPolicy passed to TextLayout.getNextRightHit()"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 1
invokestatic java.awt.font.TextHitInfo.afterOffset:(I)Ljava/awt/font/TextHitInfo;
astore 3
start local 3 5: aload 3
invokevirtual java.awt.font.TextHitInfo.getOtherHit:()Ljava/awt/font/TextHitInfo;
astore 4
start local 4 6: aload 0
aload 2
aload 3
aload 4
aload 0
invokevirtual java.awt.font.TextLayout$CaretPolicy.getStrongCaret:(Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextLayout;)Ljava/awt/font/TextHitInfo;
invokevirtual java.awt.font.TextLayout.getNextRightHit:(Ljava/awt/font/TextHitInfo;)Ljava/awt/font/TextHitInfo;
astore 5
start local 5 7: aload 5
ifnull 10
8: aload 0
aload 5
invokevirtual java.awt.font.TextLayout.getVisualOtherHit:(Ljava/awt/font/TextHitInfo;)Ljava/awt/font/TextHitInfo;
astore 6
start local 6 9: aload 2
aload 6
aload 5
aload 0
invokevirtual java.awt.font.TextLayout$CaretPolicy.getStrongCaret:(Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextLayout;)Ljava/awt/font/TextHitInfo;
areturn
end local 6 10: StackMap locals: java.awt.font.TextHitInfo java.awt.font.TextHitInfo java.awt.font.TextHitInfo
StackMap stack:
aconst_null
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 11 0 this Ljava/awt/font/TextLayout;
0 11 1 offset I
0 11 2 policy Ljava/awt/font/TextLayout$CaretPolicy;
5 11 3 hit1 Ljava/awt/font/TextHitInfo;
6 11 4 hit2 Ljava/awt/font/TextHitInfo;
7 11 5 nextHit Ljava/awt/font/TextHitInfo;
9 10 6 otherHit Ljava/awt/font/TextHitInfo;
MethodParameters:
Name Flags
offset
policy
public java.awt.font.TextHitInfo getNextRightHit(int);
descriptor: (I)Ljava/awt/font/TextHitInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
getstatic java.awt.font.TextLayout.DEFAULT_CARET_POLICY:Ljava/awt/font/TextLayout$CaretPolicy;
invokevirtual java.awt.font.TextLayout.getNextRightHit:(ILjava/awt/font/TextLayout$CaretPolicy;)Ljava/awt/font/TextHitInfo;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
0 1 1 offset I
MethodParameters:
Name Flags
offset
public java.awt.font.TextHitInfo getNextLeftHit(java.awt.font.TextHitInfo);
descriptor: (Ljava/awt/font/TextHitInfo;)Ljava/awt/font/TextHitInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
aload 1
invokevirtual java.awt.font.TextLayout.checkTextHit:(Ljava/awt/font/TextHitInfo;)V
2: aload 0
aload 1
invokevirtual java.awt.font.TextLayout.hitToCaret:(Ljava/awt/font/TextHitInfo;)I
istore 2
start local 2 3: iload 2
ifne 5
4: aconst_null
areturn
5: StackMap locals: int
StackMap stack:
iinc 2 -1
6: aload 0
iload 2
invokevirtual java.awt.font.TextLayout.caretIsValid:(I)Z
ifeq 5
7: aload 0
iload 2
invokevirtual java.awt.font.TextLayout.caretToHit:(I)Ljava/awt/font/TextHitInfo;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/awt/font/TextLayout;
0 8 1 hit Ljava/awt/font/TextHitInfo;
3 8 2 caret I
MethodParameters:
Name Flags
hit
public java.awt.font.TextHitInfo getNextLeftHit(int, java.awt.font.TextLayout$CaretPolicy);
descriptor: (ILjava/awt/font/TextLayout$CaretPolicy;)Ljava/awt/font/TextHitInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Null CaretPolicy passed to TextLayout.getNextLeftHit()"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
iflt 3
iload 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmple 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Offset out of bounds in TextLayout.getNextLeftHit()"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 1
invokestatic java.awt.font.TextHitInfo.afterOffset:(I)Ljava/awt/font/TextHitInfo;
astore 3
start local 3 5: aload 3
invokevirtual java.awt.font.TextHitInfo.getOtherHit:()Ljava/awt/font/TextHitInfo;
astore 4
start local 4 6: aload 0
aload 2
aload 3
aload 4
aload 0
invokevirtual java.awt.font.TextLayout$CaretPolicy.getStrongCaret:(Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextLayout;)Ljava/awt/font/TextHitInfo;
invokevirtual java.awt.font.TextLayout.getNextLeftHit:(Ljava/awt/font/TextHitInfo;)Ljava/awt/font/TextHitInfo;
astore 5
start local 5 7: aload 5
ifnull 10
8: aload 0
aload 5
invokevirtual java.awt.font.TextLayout.getVisualOtherHit:(Ljava/awt/font/TextHitInfo;)Ljava/awt/font/TextHitInfo;
astore 6
start local 6 9: aload 2
aload 6
aload 5
aload 0
invokevirtual java.awt.font.TextLayout$CaretPolicy.getStrongCaret:(Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextLayout;)Ljava/awt/font/TextHitInfo;
areturn
end local 6 10: StackMap locals: java.awt.font.TextHitInfo java.awt.font.TextHitInfo java.awt.font.TextHitInfo
StackMap stack:
aconst_null
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 11 0 this Ljava/awt/font/TextLayout;
0 11 1 offset I
0 11 2 policy Ljava/awt/font/TextLayout$CaretPolicy;
5 11 3 hit1 Ljava/awt/font/TextHitInfo;
6 11 4 hit2 Ljava/awt/font/TextHitInfo;
7 11 5 nextHit Ljava/awt/font/TextHitInfo;
9 10 6 otherHit Ljava/awt/font/TextHitInfo;
MethodParameters:
Name Flags
offset
policy
public java.awt.font.TextHitInfo getNextLeftHit(int);
descriptor: (I)Ljava/awt/font/TextHitInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
getstatic java.awt.font.TextLayout.DEFAULT_CARET_POLICY:Ljava/awt/font/TextLayout$CaretPolicy;
invokevirtual java.awt.font.TextLayout.getNextLeftHit:(ILjava/awt/font/TextLayout$CaretPolicy;)Ljava/awt/font/TextHitInfo;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
0 1 1 offset I
MethodParameters:
Name Flags
offset
public java.awt.font.TextHitInfo getVisualOtherHit(java.awt.font.TextHitInfo);
descriptor: (Ljava/awt/font/TextHitInfo;)Ljava/awt/font/TextHitInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
aload 1
invokevirtual java.awt.font.TextLayout.checkTextHit:(Ljava/awt/font/TextHitInfo;)V
2: aload 1
invokevirtual java.awt.font.TextHitInfo.getCharIndex:()I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpeq 4
iload 2
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpne 20
4: StackMap locals: int
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
iload 2
iconst_m1
if_icmpne 5
iconst_1
goto 6
StackMap locals:
StackMap stack: int
5: iconst_0
StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo int
StackMap stack: int int
6: if_icmpne 9
7: iconst_0
istore 5
start local 5 8: goto 10
end local 5 9: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.characterCount:I
iconst_1
isub
istore 5
start local 5 10: StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo int top top int
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 5
invokevirtual java.awt.font.TextLine.visualToLogical:(I)I
istore 3
start local 3 11: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
iload 2
iconst_m1
if_icmpne 12
iconst_1
goto 13
StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo int int top int
StackMap stack: int
12: iconst_0
StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo int int top int
StackMap stack: int int
13: if_icmpne 16
14: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 3
invokevirtual java.awt.font.TextLine.isCharLTR:(I)Z
istore 4
start local 4 15: goto 39
end local 4 16: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 3
invokevirtual java.awt.font.TextLine.isCharLTR:(I)Z
ifeq 17
iconst_0
goto 18
StackMap locals:
StackMap stack:
17: iconst_1
StackMap locals:
StackMap stack: int
18: istore 4
end local 5 start local 4 19: goto 39
end local 4 end local 3 20: StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo int
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 2
invokevirtual java.awt.font.TextLine.logicalToVisual:(I)I
istore 5
start local 5 21: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 2
invokevirtual java.awt.font.TextLine.isCharLTR:(I)Z
aload 1
invokevirtual java.awt.font.TextHitInfo.isLeadingEdge:()Z
if_icmpne 25
22: iinc 5 -1
23: iconst_0
istore 6
start local 6 24: goto 27
end local 6 25: StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo int top top int
StackMap stack:
iinc 5 1
26: iconst_1
istore 6
start local 6 27: StackMap locals: int
StackMap stack:
iload 5
iconst_m1
if_icmple 33
iload 5
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpge 33
28: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 5
invokevirtual java.awt.font.TextLine.visualToLogical:(I)I
istore 3
start local 3 29: iload 6
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 3
invokevirtual java.awt.font.TextLine.isCharLTR:(I)Z
if_icmpne 30
iconst_1
goto 31
StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo int int top int int
StackMap stack:
30: iconst_0
StackMap locals:
StackMap stack: int
31: istore 4
start local 4 32: goto 39
end local 4 end local 3 33: StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo int top top int int
StackMap stack:
iload 6
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
if_icmpne 34
aload 0
getfield java.awt.font.TextLayout.characterCount:I
goto 35
StackMap locals:
StackMap stack:
34: iconst_m1
35: StackMap locals:
StackMap stack: int
istore 3
start local 3 36: iload 3
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpne 37
iconst_1
goto 38
StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo int int top int int
StackMap stack:
37: iconst_0
StackMap locals:
StackMap stack: int
38: istore 4
end local 6 end local 5 start local 4 39: StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo int int int
StackMap stack:
iload 4
ifeq 40
iload 3
invokestatic java.awt.font.TextHitInfo.leading:(I)Ljava/awt/font/TextHitInfo;
goto 41
40: StackMap locals:
StackMap stack:
iload 3
invokestatic java.awt.font.TextHitInfo.trailing:(I)Ljava/awt/font/TextHitInfo;
41: StackMap locals:
StackMap stack: java.awt.font.TextHitInfo
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Ljava/awt/font/TextLayout;
0 42 1 hit Ljava/awt/font/TextHitInfo;
3 42 2 hitCharIndex I
11 20 3 charIndex I
29 33 3 charIndex I
36 42 3 charIndex I
15 16 4 leading Z
19 20 4 leading Z
32 33 4 leading Z
39 42 4 leading Z
8 9 5 visIndex I
10 19 5 visIndex I
21 39 5 visIndex I
24 25 6 movedToRight Z
27 39 6 movedToRight Z
MethodParameters:
Name Flags
hit
private double[] getCaretPath(java.awt.font.TextHitInfo, java.awt.geom.Rectangle2D);
descriptor: (Ljava/awt/font/TextHitInfo;Ljava/awt/geom/Rectangle2D;)[D
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual java.awt.font.TextLayout.getCaretInfo:(Ljava/awt/font/TextHitInfo;Ljava/awt/geom/Rectangle2D;)[F
astore 3
start local 3 1: iconst_4
newarray 7
dup
iconst_0
aload 3
iconst_2
faload
f2d
dastore
dup
iconst_1
aload 3
iconst_3
faload
f2d
dastore
dup
iconst_2
aload 3
iconst_4
faload
f2d
dastore
dup
iconst_3
aload 3
iconst_5
faload
f2d
dastore
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/awt/font/TextLayout;
0 2 1 hit Ljava/awt/font/TextHitInfo;
0 2 2 bounds Ljava/awt/geom/Rectangle2D;
1 2 3 info [F
MethodParameters:
Name Flags
hit
bounds
private double[] getCaretPath(int, java.awt.geom.Rectangle2D, boolean);
descriptor: (ILjava/awt/geom/Rectangle2D;Z)[D
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=30, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 2
aconst_null
invokevirtual java.awt.font.TextLayout.getCaretInfo:(ILjava/awt/geom/Rectangle2D;[F)[F
astore 4
start local 4 1: aload 4
iconst_0
faload
f2d
dstore 5
start local 5 2: aload 4
iconst_1
faload
f2d
dstore 7
start local 7 3: ldc -3141.59
dstore 17
start local 17 4: ldc -2.7
dstore 19
start local 19 5: aload 2
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dstore 21
start local 21 6: dload 21
aload 2
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dadd
dstore 23
start local 23 7: aload 2
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dstore 25
start local 25 8: dload 25
aload 2
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dadd
dstore 27
start local 27 9: iconst_0
istore 29
start local 29 10: aload 0
getfield java.awt.font.TextLayout.isVerticalLine:Z
ifeq 40
11: dload 7
dconst_0
dcmpl
iflt 15
12: dload 21
dstore 9
start local 9 13: dload 23
dstore 13
start local 13 14: goto 17
end local 13 end local 9 15: StackMap locals: java.awt.font.TextLayout int java.awt.geom.Rectangle2D int float[] double double top top top top top top top top double double double double double double int
StackMap stack:
dload 21
dstore 13
start local 13 16: dload 23
dstore 9
start local 9 17: StackMap locals: java.awt.font.TextLayout int java.awt.geom.Rectangle2D int float[] double double double top top double top top double double double double double double int
StackMap stack:
dload 5
dload 9
dload 7
dmul
dadd
dstore 11
start local 11 18: dload 5
dload 13
dload 7
dmul
dadd
dstore 15
start local 15 19: iload 3
ifeq 68
20: dload 11
dload 25
dcmpg
ifge 31
21: dload 7
dconst_0
dcmpg
ifle 22
dload 15
dload 25
dcmpg
ifgt 24
22: StackMap locals: java.awt.font.TextLayout int java.awt.geom.Rectangle2D int float[] double double double double double double double double double double double double int
StackMap stack:
dload 25
dup2
dstore 15
dstore 11
23: goto 68
24: StackMap locals:
StackMap stack:
iconst_1
istore 29
25: dload 25
dstore 11
26: dload 25
dstore 19
27: dload 13
dload 25
dload 15
dsub
dload 7
ddiv
dadd
dstore 17
28: dload 15
dload 27
dcmpl
ifle 68
29: dload 27
dstore 15
30: goto 68
31: StackMap locals:
StackMap stack:
dload 15
dload 27
dcmpl
ifle 68
32: dload 7
dconst_0
dcmpl
ifge 33
dload 11
dload 27
dcmpl
iflt 35
33: StackMap locals:
StackMap stack:
dload 27
dup2
dstore 15
dstore 11
34: goto 68
35: StackMap locals:
StackMap stack:
iconst_1
istore 29
36: dload 27
dstore 15
37: dload 27
dstore 19
38: dload 9
dload 27
dload 13
dsub
dload 7
ddiv
dadd
dstore 17
39: goto 68
end local 15 end local 13 end local 11 end local 9 40: StackMap locals: java.awt.font.TextLayout int java.awt.geom.Rectangle2D int float[] double double top top top top top top top top double double double double double double int
StackMap stack:
dload 7
dconst_0
dcmpl
iflt 44
41: dload 27
dstore 11
start local 11 42: dload 25
dstore 15
start local 15 43: goto 46
end local 15 end local 11 44: StackMap locals:
StackMap stack:
dload 27
dstore 15
start local 15 45: dload 25
dstore 11
start local 11 46: StackMap locals: java.awt.font.TextLayout int java.awt.geom.Rectangle2D int float[] double double top top double top top double double double double double double double int
StackMap stack:
dload 5
dload 11
dload 7
dmul
dsub
dstore 9
start local 9 47: dload 5
dload 15
dload 7
dmul
dsub
dstore 13
start local 13 48: iload 3
ifeq 68
49: dload 9
dload 21
dcmpg
ifge 60
50: dload 7
dconst_0
dcmpg
ifle 51
dload 13
dload 21
dcmpg
ifgt 53
51: StackMap locals: java.awt.font.TextLayout int java.awt.geom.Rectangle2D int float[] double double double double double double double double double double double double int
StackMap stack:
dload 21
dup2
dstore 13
dstore 9
52: goto 68
53: StackMap locals:
StackMap stack:
iconst_1
istore 29
54: dload 21
dstore 9
55: dload 21
dstore 17
56: dload 15
dload 21
dload 13
dsub
dload 7
ddiv
dsub
dstore 19
57: dload 13
dload 23
dcmpl
ifle 68
58: dload 23
dstore 13
59: goto 68
60: StackMap locals:
StackMap stack:
dload 13
dload 23
dcmpl
ifle 68
61: dload 7
dconst_0
dcmpl
ifge 62
dload 9
dload 23
dcmpl
iflt 64
62: StackMap locals:
StackMap stack:
dload 23
dup2
dstore 13
dstore 9
63: goto 68
64: StackMap locals:
StackMap stack:
iconst_1
istore 29
65: dload 23
dstore 13
66: dload 23
dstore 17
67: dload 11
dload 23
dload 9
dsub
dload 7
ddiv
dsub
dstore 19
68: StackMap locals:
StackMap stack:
iload 29
ifeq 70
69: bipush 6
newarray 7
dup
iconst_0
dload 9
dastore
dup
iconst_1
dload 11
dastore
dup
iconst_2
dload 17
dastore
dup
iconst_3
dload 19
dastore
dup
iconst_4
dload 13
dastore
dup
iconst_5
dload 15
dastore
goto 71
70: StackMap locals:
StackMap stack:
iconst_4
newarray 7
dup
iconst_0
dload 9
dastore
dup
iconst_1
dload 11
dastore
dup
iconst_2
dload 13
dastore
dup
iconst_3
dload 15
dastore
71: StackMap locals:
StackMap stack: double[]
areturn
end local 29 end local 27 end local 25 end local 23 end local 21 end local 19 end local 17 end local 15 end local 13 end local 11 end local 9 end local 7 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 Ljava/awt/font/TextLayout;
0 72 1 caret I
0 72 2 bounds Ljava/awt/geom/Rectangle2D;
0 72 3 clipToBounds Z
1 72 4 info [F
2 72 5 pos D
3 72 7 slope D
13 15 9 x0 D
17 40 9 x0 D
47 72 9 x0 D
18 40 11 y0 D
42 44 11 y0 D
46 72 11 y0 D
14 15 13 x1 D
16 40 13 x1 D
48 72 13 x1 D
19 40 15 y1 D
43 44 15 y1 D
45 72 15 y1 D
4 72 17 x2 D
5 72 19 y2 D
6 72 21 left D
7 72 23 right D
8 72 25 top D
9 72 27 bottom D
10 72 29 threePoints Z
MethodParameters:
Name Flags
caret
bounds
clipToBounds
private static java.awt.geom.GeneralPath pathToShape(double[], boolean, sun.font.LayoutPathImpl);
descriptor: ([DZLsun/font/LayoutPathImpl;)Ljava/awt/geom/GeneralPath;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new java.awt.geom.GeneralPath
dup
iconst_0
aload 0
arraylength
invokespecial java.awt.geom.GeneralPath.<init>:(II)V
astore 3
start local 3 1: aload 3
aload 0
iconst_0
daload
d2f
aload 0
iconst_1
daload
d2f
invokevirtual java.awt.geom.GeneralPath.moveTo:(FF)V
2: iconst_2
istore 4
start local 4 3: goto 6
4: StackMap locals: java.awt.geom.GeneralPath int
StackMap stack:
aload 3
aload 0
iload 4
daload
d2f
aload 0
iload 4
iconst_1
iadd
daload
d2f
invokevirtual java.awt.geom.GeneralPath.lineTo:(FF)V
5: iinc 4 2
StackMap locals:
StackMap stack:
6: iload 4
aload 0
arraylength
if_icmplt 4
end local 4 7: iload 1
ifeq 9
8: aload 3
invokevirtual java.awt.geom.GeneralPath.closePath:()V
9: StackMap locals:
StackMap stack:
aload 2
ifnull 11
10: aload 2
aload 3
invokevirtual sun.font.LayoutPathImpl.mapShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
checkcast java.awt.geom.GeneralPath
astore 3
11: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 path [D
0 12 1 close Z
0 12 2 lp Lsun/font/LayoutPathImpl;
1 12 3 result Ljava/awt/geom/GeneralPath;
3 7 4 i I
MethodParameters:
Name Flags
path
close
lp
public java.awt.Shape getCaretShape(java.awt.font.TextHitInfo, java.awt.geom.Rectangle2D);
descriptor: (Ljava/awt/font/TextHitInfo;Ljava/awt/geom/Rectangle2D;)Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
aload 1
invokevirtual java.awt.font.TextLayout.checkTextHit:(Ljava/awt/font/TextHitInfo;)V
2: aload 2
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "Null Rectangle2D passed to TextLayout.getCaret()"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual java.awt.font.TextLayout.getCaretPath:(Ljava/awt/font/TextHitInfo;Ljava/awt/geom/Rectangle2D;)[D
iconst_0
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getLayoutPath:()Lsun/font/LayoutPathImpl;
invokestatic java.awt.font.TextLayout.pathToShape:([DZLsun/font/LayoutPathImpl;)Ljava/awt/geom/GeneralPath;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/awt/font/TextLayout;
0 5 1 hit Ljava/awt/font/TextHitInfo;
0 5 2 bounds Ljava/awt/geom/Rectangle2D;
MethodParameters:
Name Flags
hit
bounds
public java.awt.Shape getCaretShape(java.awt.font.TextHitInfo);
descriptor: (Ljava/awt/font/TextHitInfo;)Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
invokevirtual java.awt.font.TextLayout.getNaturalBounds:()Ljava/awt/geom/Rectangle2D;
invokevirtual java.awt.font.TextLayout.getCaretShape:(Ljava/awt/font/TextHitInfo;Ljava/awt/geom/Rectangle2D;)Ljava/awt/Shape;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
0 1 1 hit Ljava/awt/font/TextHitInfo;
MethodParameters:
Name Flags
hit
private java.awt.font.TextHitInfo getStrongHit(java.awt.font.TextHitInfo, java.awt.font.TextHitInfo);
descriptor: (Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;)Ljava/awt/font/TextHitInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.awt.font.TextHitInfo.getCharIndex:()I
invokevirtual java.awt.font.TextLayout.getCharacterLevel:(I)B
istore 3
start local 3 1: aload 0
aload 2
invokevirtual java.awt.font.TextHitInfo.getCharIndex:()I
invokevirtual java.awt.font.TextLayout.getCharacterLevel:(I)B
istore 4
start local 4 2: iload 3
iload 4
if_icmpne 6
3: aload 2
invokevirtual java.awt.font.TextHitInfo.isLeadingEdge:()Z
ifeq 5
aload 1
invokevirtual java.awt.font.TextHitInfo.isLeadingEdge:()Z
ifne 5
4: aload 2
areturn
5: StackMap locals: int int
StackMap stack:
aload 1
areturn
6: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmpge 7
aload 1
goto 8
StackMap locals:
StackMap stack:
7: aload 2
StackMap locals:
StackMap stack: java.awt.font.TextHitInfo
8: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/awt/font/TextLayout;
0 9 1 hit1 Ljava/awt/font/TextHitInfo;
0 9 2 hit2 Ljava/awt/font/TextHitInfo;
1 9 3 hit1Level B
2 9 4 hit2Level B
MethodParameters:
Name Flags
hit1
hit2
public byte getCharacterLevel(int);
descriptor: (I)B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_m1
if_icmplt 1
iload 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Index is out of range in getCharacterLevel."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
3: iload 1
iconst_m1
if_icmpeq 4
iload 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpne 7
4: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
ifeq 5
iconst_0
goto 6
StackMap locals:
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: i2b
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 1
invokevirtual java.awt.font.TextLine.getCharLevel:(I)B
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/awt/font/TextLayout;
0 8 1 index I
MethodParameters:
Name Flags
index
public java.awt.Shape[] getCaretShapes(int, java.awt.geom.Rectangle2D, java.awt.font.TextLayout$CaretPolicy);
descriptor: (ILjava/awt/geom/Rectangle2D;Ljava/awt/font/TextLayout$CaretPolicy;)[Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: iload 1
iflt 2
iload 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmple 3
2: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Offset out of bounds in TextLayout.getCaretShapes()"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 2
ifnonnull 5
4: new java.lang.IllegalArgumentException
dup
ldc "Null Rectangle2D passed to TextLayout.getCaretShapes()"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 3
ifnonnull 7
6: new java.lang.IllegalArgumentException
dup
ldc "Null CaretPolicy passed to TextLayout.getCaretShapes()"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
iconst_2
anewarray java.awt.Shape
astore 4
start local 4 8: iload 1
invokestatic java.awt.font.TextHitInfo.afterOffset:(I)Ljava/awt/font/TextHitInfo;
astore 5
start local 5 9: aload 0
aload 5
invokevirtual java.awt.font.TextLayout.hitToCaret:(Ljava/awt/font/TextHitInfo;)I
istore 6
start local 6 10: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getLayoutPath:()Lsun/font/LayoutPathImpl;
astore 7
start local 7 11: aload 0
aload 5
aload 2
invokevirtual java.awt.font.TextLayout.getCaretPath:(Ljava/awt/font/TextHitInfo;Ljava/awt/geom/Rectangle2D;)[D
iconst_0
aload 7
invokestatic java.awt.font.TextLayout.pathToShape:([DZLsun/font/LayoutPathImpl;)Ljava/awt/geom/GeneralPath;
astore 8
start local 8 12: aload 5
invokevirtual java.awt.font.TextHitInfo.getOtherHit:()Ljava/awt/font/TextHitInfo;
astore 9
start local 9 13: aload 0
aload 9
invokevirtual java.awt.font.TextLayout.hitToCaret:(Ljava/awt/font/TextHitInfo;)I
istore 10
start local 10 14: iload 6
iload 10
if_icmpne 17
15: aload 4
iconst_0
aload 8
aastore
16: goto 26
17: StackMap locals: java.awt.font.TextLayout int java.awt.geom.Rectangle2D java.awt.font.TextLayout$CaretPolicy java.awt.Shape[] java.awt.font.TextHitInfo int sun.font.LayoutPathImpl java.awt.Shape java.awt.font.TextHitInfo int
StackMap stack:
aload 0
aload 9
aload 2
invokevirtual java.awt.font.TextLayout.getCaretPath:(Ljava/awt/font/TextHitInfo;Ljava/awt/geom/Rectangle2D;)[D
iconst_0
aload 7
invokestatic java.awt.font.TextLayout.pathToShape:([DZLsun/font/LayoutPathImpl;)Ljava/awt/geom/GeneralPath;
astore 11
start local 11 18: aload 3
aload 5
aload 9
aload 0
invokevirtual java.awt.font.TextLayout$CaretPolicy.getStrongCaret:(Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextLayout;)Ljava/awt/font/TextHitInfo;
astore 12
start local 12 19: aload 12
aload 5
invokevirtual java.awt.font.TextHitInfo.equals:(Ljava/awt/font/TextHitInfo;)Z
istore 13
start local 13 20: iload 13
ifeq 24
21: aload 4
iconst_0
aload 8
aastore
22: aload 4
iconst_1
aload 11
aastore
23: goto 26
24: StackMap locals: java.awt.Shape java.awt.font.TextHitInfo int
StackMap stack:
aload 4
iconst_0
aload 11
aastore
25: aload 4
iconst_1
aload 8
aastore
end local 13 end local 12 end local 11 26: StackMap locals:
StackMap stack:
aload 4
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 27 0 this Ljava/awt/font/TextLayout;
0 27 1 offset I
0 27 2 bounds Ljava/awt/geom/Rectangle2D;
0 27 3 policy Ljava/awt/font/TextLayout$CaretPolicy;
8 27 4 result [Ljava/awt/Shape;
9 27 5 hit Ljava/awt/font/TextHitInfo;
10 27 6 hitCaret I
11 27 7 lp Lsun/font/LayoutPathImpl;
12 27 8 hitShape Ljava/awt/Shape;
13 27 9 otherHit Ljava/awt/font/TextHitInfo;
14 27 10 otherCaret I
18 26 11 otherShape Ljava/awt/Shape;
19 26 12 strongHit Ljava/awt/font/TextHitInfo;
20 26 13 hitIsStrong Z
MethodParameters:
Name Flags
offset
bounds
policy
public java.awt.Shape[] getCaretShapes(int, java.awt.geom.Rectangle2D);
descriptor: (ILjava/awt/geom/Rectangle2D;)[Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
getstatic java.awt.font.TextLayout.DEFAULT_CARET_POLICY:Ljava/awt/font/TextLayout$CaretPolicy;
invokevirtual java.awt.font.TextLayout.getCaretShapes:(ILjava/awt/geom/Rectangle2D;Ljava/awt/font/TextLayout$CaretPolicy;)[Ljava/awt/Shape;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
0 1 1 offset I
0 1 2 bounds Ljava/awt/geom/Rectangle2D;
MethodParameters:
Name Flags
offset
bounds
public java.awt.Shape[] getCaretShapes(int);
descriptor: (I)[Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
aload 0
invokevirtual java.awt.font.TextLayout.getNaturalBounds:()Ljava/awt/geom/Rectangle2D;
getstatic java.awt.font.TextLayout.DEFAULT_CARET_POLICY:Ljava/awt/font/TextLayout$CaretPolicy;
invokevirtual java.awt.font.TextLayout.getCaretShapes:(ILjava/awt/geom/Rectangle2D;Ljava/awt/font/TextLayout$CaretPolicy;)[Ljava/awt/Shape;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
0 1 1 offset I
MethodParameters:
Name Flags
offset
private java.awt.geom.GeneralPath boundingShape(double[], double[]);
descriptor: ([D[D)Ljava/awt/geom/GeneralPath;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_0
aconst_null
invokestatic java.awt.font.TextLayout.pathToShape:([DZLsun/font/LayoutPathImpl;)Ljava/awt/geom/GeneralPath;
astore 3
start local 3 1: aload 0
getfield java.awt.font.TextLayout.isVerticalLine:Z
ifeq 10
2: aload 1
iconst_1
daload
aload 1
aload 1
arraylength
iconst_1
isub
daload
dcmpl
ifle 3
iconst_1
goto 4
StackMap locals: java.awt.geom.GeneralPath
StackMap stack:
3: iconst_0
4: StackMap locals:
StackMap stack: int
aload 2
iconst_1
daload
aload 2
aload 2
arraylength
iconst_1
isub
daload
dcmpl
ifle 5
iconst_1
goto 6
StackMap locals:
StackMap stack: int
5: iconst_0
6: StackMap locals: java.awt.font.TextLayout double[] double[] java.awt.geom.GeneralPath
StackMap stack: int int
if_icmpne 7
iconst_1
goto 8
StackMap locals:
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 4
start local 4 9: goto 17
end local 4 10: StackMap locals:
StackMap stack:
aload 1
iconst_0
daload
aload 1
aload 1
arraylength
iconst_2
isub
daload
dcmpl
ifle 11
iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
12: StackMap locals:
StackMap stack: int
aload 2
iconst_0
daload
aload 2
aload 2
arraylength
iconst_2
isub
daload
dcmpl
ifle 13
iconst_1
goto 14
StackMap locals:
StackMap stack: int
13: iconst_0
14: StackMap locals: java.awt.font.TextLayout double[] double[] java.awt.geom.GeneralPath
StackMap stack: int int
if_icmpne 15
iconst_1
goto 16
StackMap locals:
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 4
start local 4 17: StackMap locals: int
StackMap stack:
iload 4
ifeq 22
18: aload 2
arraylength
iconst_2
isub
istore 5
start local 5 19: bipush -2
istore 6
start local 6 20: bipush -2
istore 7
start local 7 21: goto 25
end local 7 end local 6 end local 5 22: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 23: aload 2
arraylength
istore 6
start local 6 24: iconst_2
istore 7
start local 7 25: StackMap locals: int int int
StackMap stack:
iload 5
istore 8
start local 8 26: goto 29
27: StackMap locals: int
StackMap stack:
aload 3
aload 2
iload 8
daload
d2f
aload 2
iload 8
iconst_1
iadd
daload
d2f
invokevirtual java.awt.geom.GeneralPath.lineTo:(FF)V
28: iload 8
iload 7
iadd
istore 8
StackMap locals:
StackMap stack:
29: iload 8
iload 6
if_icmpne 27
end local 8 30: aload 3
invokevirtual java.awt.geom.GeneralPath.closePath:()V
31: aload 3
areturn
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 32 0 this Ljava/awt/font/TextLayout;
0 32 1 path0 [D
0 32 2 path1 [D
1 32 3 result Ljava/awt/geom/GeneralPath;
9 10 4 sameDirection Z
17 32 4 sameDirection Z
19 22 5 start I
23 32 5 start I
20 22 6 limit I
24 32 6 limit I
21 22 7 increment I
25 32 7 increment I
26 30 8 i I
MethodParameters:
Name Flags
path0
path1
private java.awt.geom.GeneralPath caretBoundingShape(int, int, java.awt.geom.Rectangle2D);
descriptor: (IILjava/awt/geom/Rectangle2D;)Ljava/awt/geom/GeneralPath;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 2
if_icmple 4
1: iload 1
istore 4
start local 4 2: iload 2
istore 1
3: iload 4
istore 2
end local 4 4: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 1
aload 3
iconst_1
invokevirtual java.awt.font.TextLayout.getCaretPath:(ILjava/awt/geom/Rectangle2D;Z)[D
5: aload 0
iload 2
aload 3
iconst_1
invokevirtual java.awt.font.TextLayout.getCaretPath:(ILjava/awt/geom/Rectangle2D;Z)[D
6: invokevirtual java.awt.font.TextLayout.boundingShape:([D[D)Ljava/awt/geom/GeneralPath;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/awt/font/TextLayout;
0 7 1 caret0 I
0 7 2 caret1 I
0 7 3 bounds Ljava/awt/geom/Rectangle2D;
2 4 4 temp I
MethodParameters:
Name Flags
caret0
caret1
bounds
private java.awt.geom.GeneralPath leftShape(java.awt.geom.Rectangle2D);
descriptor: (Ljava/awt/geom/Rectangle2D;)Ljava/awt/geom/GeneralPath;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield java.awt.font.TextLayout.isVerticalLine:Z
ifeq 6
1: iconst_4
newarray 7
dup
iconst_0
aload 1
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dastore
dup
iconst_1
aload 1
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dastore
dup
iconst_2
2: aload 1
invokevirtual java.awt.geom.Rectangle2D.getX:()D
aload 1
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dadd
dastore
dup
iconst_3
3: aload 1
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dastore
4: astore 2
start local 2 5: goto 10
end local 2 6: StackMap locals:
StackMap stack:
iconst_4
newarray 7
dup
iconst_0
aload 1
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dastore
dup
iconst_1
7: aload 1
invokevirtual java.awt.geom.Rectangle2D.getY:()D
aload 1
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dadd
dastore
dup
iconst_2
8: aload 1
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dastore
dup
iconst_3
aload 1
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dastore
9: astore 2
start local 2 10: StackMap locals: double[]
StackMap stack:
aload 0
iconst_0
aload 1
iconst_1
invokevirtual java.awt.font.TextLayout.getCaretPath:(ILjava/awt/geom/Rectangle2D;Z)[D
astore 3
start local 3 11: aload 0
aload 2
aload 3
invokevirtual java.awt.font.TextLayout.boundingShape:([D[D)Ljava/awt/geom/GeneralPath;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/awt/font/TextLayout;
0 12 1 bounds Ljava/awt/geom/Rectangle2D;
5 6 2 path0 [D
10 12 2 path0 [D
11 12 3 path1 [D
MethodParameters:
Name Flags
bounds
private java.awt.geom.GeneralPath rightShape(java.awt.geom.Rectangle2D);
descriptor: (Ljava/awt/geom/Rectangle2D;)Ljava/awt/geom/GeneralPath;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield java.awt.font.TextLayout.isVerticalLine:Z
ifeq 8
1: iconst_4
newarray 7
dup
iconst_0
2: aload 1
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dastore
dup
iconst_1
3: aload 1
invokevirtual java.awt.geom.Rectangle2D.getY:()D
aload 1
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dadd
dastore
dup
iconst_2
4: aload 1
invokevirtual java.awt.geom.Rectangle2D.getX:()D
aload 1
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dadd
dastore
dup
iconst_3
5: aload 1
invokevirtual java.awt.geom.Rectangle2D.getY:()D
aload 1
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dadd
dastore
6: astore 2
start local 2 7: goto 14
end local 2 8: StackMap locals:
StackMap stack:
iconst_4
newarray 7
dup
iconst_0
9: aload 1
invokevirtual java.awt.geom.Rectangle2D.getX:()D
aload 1
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dadd
dastore
dup
iconst_1
10: aload 1
invokevirtual java.awt.geom.Rectangle2D.getY:()D
aload 1
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dadd
dastore
dup
iconst_2
11: aload 1
invokevirtual java.awt.geom.Rectangle2D.getX:()D
aload 1
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dadd
dastore
dup
iconst_3
12: aload 1
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dastore
13: astore 2
start local 2 14: StackMap locals: double[]
StackMap stack:
aload 0
aload 0
getfield java.awt.font.TextLayout.characterCount:I
aload 1
iconst_1
invokevirtual java.awt.font.TextLayout.getCaretPath:(ILjava/awt/geom/Rectangle2D;Z)[D
astore 3
start local 3 15: aload 0
aload 3
aload 2
invokevirtual java.awt.font.TextLayout.boundingShape:([D[D)Ljava/awt/geom/GeneralPath;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/awt/font/TextLayout;
0 16 1 bounds Ljava/awt/geom/Rectangle2D;
7 8 2 path1 [D
14 16 2 path1 [D
15 16 3 path0 [D
MethodParameters:
Name Flags
bounds
public int[] getLogicalRangesForVisualSelection(java.awt.font.TextHitInfo, java.awt.font.TextHitInfo);
descriptor: (Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;)[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
aload 1
invokevirtual java.awt.font.TextLayout.checkTextHit:(Ljava/awt/font/TextHitInfo;)V
2: aload 0
aload 2
invokevirtual java.awt.font.TextLayout.checkTextHit:(Ljava/awt/font/TextHitInfo;)V
3: aload 0
getfield java.awt.font.TextLayout.characterCount:I
newarray 4
astore 3
start local 3 4: aload 0
aload 1
invokevirtual java.awt.font.TextLayout.hitToCaret:(Ljava/awt/font/TextHitInfo;)I
istore 4
start local 4 5: aload 0
aload 2
invokevirtual java.awt.font.TextLayout.hitToCaret:(Ljava/awt/font/TextHitInfo;)I
istore 5
start local 5 6: iload 4
iload 5
if_icmple 10
7: iload 4
istore 6
start local 6 8: iload 5
istore 4
9: iload 6
istore 5
end local 6 10: StackMap locals: boolean[] int int
StackMap stack:
iload 4
iload 5
if_icmpge 16
11: iload 4
istore 6
start local 6 12: goto 15
13: StackMap locals: int
StackMap stack:
aload 3
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 6
invokevirtual java.awt.font.TextLine.visualToLogical:(I)I
iconst_1
bastore
14: iinc 6 1
15: StackMap locals:
StackMap stack:
iload 6
iload 5
if_icmplt 13
end local 6 16: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 17: iconst_0
istore 7
start local 7 18: iconst_0
istore 8
start local 8 19: goto 27
20: StackMap locals: int int int
StackMap stack:
aload 3
iload 8
baload
iload 7
if_icmpeq 26
21: iload 7
ifeq 22
iconst_0
goto 23
StackMap locals:
StackMap stack:
22: iconst_1
StackMap locals:
StackMap stack: int
23: istore 7
24: iload 7
ifeq 26
25: iinc 6 1
26: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
27: iload 8
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmplt 20
end local 8 28: iload 6
iconst_2
imul
newarray 10
astore 8
start local 8 29: iconst_0
istore 6
30: iconst_0
istore 7
31: iconst_0
istore 9
start local 9 32: goto 39
33: StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo java.awt.font.TextHitInfo boolean[] int int int int int[] int
StackMap stack:
aload 3
iload 9
baload
iload 7
if_icmpeq 38
34: aload 8
iload 6
iinc 6 1
iload 9
iastore
35: iload 7
ifeq 36
iconst_0
goto 37
StackMap locals:
StackMap stack:
36: iconst_1
StackMap locals:
StackMap stack: int
37: istore 7
38: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
39: iload 9
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmplt 33
end local 9 40: iload 7
ifeq 42
41: aload 8
iload 6
iinc 6 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
iastore
42: StackMap locals:
StackMap stack:
aload 8
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 43 0 this Ljava/awt/font/TextLayout;
0 43 1 firstEndpoint Ljava/awt/font/TextHitInfo;
0 43 2 secondEndpoint Ljava/awt/font/TextHitInfo;
4 43 3 included [Z
5 43 4 startIndex I
6 43 5 limitIndex I
8 10 6 t I
12 16 6 visIndex I
17 43 6 count I
18 43 7 inrun Z
19 28 8 i I
29 43 8 ranges [I
32 40 9 i I
MethodParameters:
Name Flags
firstEndpoint
secondEndpoint
public java.awt.Shape getVisualHighlightShape(java.awt.font.TextHitInfo, java.awt.font.TextHitInfo, java.awt.geom.Rectangle2D);
descriptor: (Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;Ljava/awt/geom/Rectangle2D;)Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
aload 1
invokevirtual java.awt.font.TextLayout.checkTextHit:(Ljava/awt/font/TextHitInfo;)V
2: aload 0
aload 2
invokevirtual java.awt.font.TextLayout.checkTextHit:(Ljava/awt/font/TextHitInfo;)V
3: aload 3
ifnonnull 5
4: new java.lang.IllegalArgumentException
dup
ldc "Null Rectangle2D passed to TextLayout.getVisualHighlightShape()"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
new java.awt.geom.GeneralPath
dup
iconst_0
invokespecial java.awt.geom.GeneralPath.<init>:(I)V
astore 4
start local 4 6: aload 0
aload 1
invokevirtual java.awt.font.TextLayout.hitToCaret:(Ljava/awt/font/TextHitInfo;)I
istore 5
start local 5 7: aload 0
aload 2
invokevirtual java.awt.font.TextLayout.hitToCaret:(Ljava/awt/font/TextHitInfo;)I
istore 6
start local 6 8: aload 4
aload 0
iload 5
iload 6
aload 3
invokevirtual java.awt.font.TextLayout.caretBoundingShape:(IILjava/awt/geom/Rectangle2D;)Ljava/awt/geom/GeneralPath;
9: iconst_0
10: invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
11: iload 5
ifeq 12
iload 6
ifne 15
12: StackMap locals: java.awt.geom.GeneralPath int int
StackMap stack:
aload 0
aload 3
invokevirtual java.awt.font.TextLayout.leftShape:(Ljava/awt/geom/Rectangle2D;)Ljava/awt/geom/GeneralPath;
astore 7
start local 7 13: aload 7
invokevirtual java.awt.geom.GeneralPath.getBounds:()Ljava/awt/Rectangle;
invokevirtual java.awt.Rectangle.isEmpty:()Z
ifne 15
14: aload 4
aload 7
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
end local 7 15: StackMap locals:
StackMap stack:
iload 5
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpeq 16
iload 6
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpne 19
16: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual java.awt.font.TextLayout.rightShape:(Ljava/awt/geom/Rectangle2D;)Ljava/awt/geom/GeneralPath;
astore 7
start local 7 17: aload 7
invokevirtual java.awt.geom.GeneralPath.getBounds:()Ljava/awt/Rectangle;
invokevirtual java.awt.Rectangle.isEmpty:()Z
ifne 19
18: aload 4
aload 7
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
end local 7 19: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getLayoutPath:()Lsun/font/LayoutPathImpl;
astore 7
start local 7 20: aload 7
ifnull 22
21: aload 7
aload 4
invokevirtual sun.font.LayoutPathImpl.mapShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
checkcast java.awt.geom.GeneralPath
astore 4
22: StackMap locals: sun.font.LayoutPathImpl
StackMap stack:
aload 4
areturn
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 Ljava/awt/font/TextLayout;
0 23 1 firstEndpoint Ljava/awt/font/TextHitInfo;
0 23 2 secondEndpoint Ljava/awt/font/TextHitInfo;
0 23 3 bounds Ljava/awt/geom/Rectangle2D;
6 23 4 result Ljava/awt/geom/GeneralPath;
7 23 5 firstCaret I
8 23 6 secondCaret I
13 15 7 ls Ljava/awt/geom/GeneralPath;
17 19 7 rs Ljava/awt/geom/GeneralPath;
20 23 7 lp Lsun/font/LayoutPathImpl;
MethodParameters:
Name Flags
firstEndpoint
secondEndpoint
bounds
public java.awt.Shape getVisualHighlightShape(java.awt.font.TextHitInfo, java.awt.font.TextHitInfo);
descriptor: (Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;)Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 0
invokevirtual java.awt.font.TextLayout.getNaturalBounds:()Ljava/awt/geom/Rectangle2D;
invokevirtual java.awt.font.TextLayout.getVisualHighlightShape:(Ljava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;Ljava/awt/geom/Rectangle2D;)Ljava/awt/Shape;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
0 1 1 firstEndpoint Ljava/awt/font/TextHitInfo;
0 1 2 secondEndpoint Ljava/awt/font/TextHitInfo;
MethodParameters:
Name Flags
firstEndpoint
secondEndpoint
public java.awt.Shape getLogicalHighlightShape(int, int, java.awt.geom.Rectangle2D);
descriptor: (IILjava/awt/geom/Rectangle2D;)Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Null Rectangle2D passed to TextLayout.getLogicalHighlightShape()"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
3: iload 1
iload 2
if_icmple 7
4: iload 1
istore 4
start local 4 5: iload 2
istore 1
6: iload 4
istore 2
end local 4 7: StackMap locals:
StackMap stack:
iload 1
iflt 8
iload 2
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmple 9
8: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Range is invalid in TextLayout.getLogicalHighlightShape()"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
new java.awt.geom.GeneralPath
dup
iconst_0
invokespecial java.awt.geom.GeneralPath.<init>:(I)V
astore 4
start local 4 10: bipush 10
newarray 10
astore 5
start local 5 11: iconst_0
istore 6
start local 6 12: iload 1
iload 2
if_icmpge 27
13: iload 1
istore 7
start local 7 14: StackMap locals: java.awt.font.TextLayout int int java.awt.geom.Rectangle2D java.awt.geom.GeneralPath int[] int int
StackMap stack:
aload 5
iload 6
iinc 6 1
aload 0
iload 7
invokestatic java.awt.font.TextHitInfo.leading:(I)Ljava/awt/font/TextHitInfo;
invokevirtual java.awt.font.TextLayout.hitToCaret:(Ljava/awt/font/TextHitInfo;)I
iastore
15: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 7
invokevirtual java.awt.font.TextLine.isCharLTR:(I)Z
istore 8
start local 8 16: StackMap locals: int
StackMap stack:
iinc 7 1
17: iload 7
iload 2
if_icmpge 18
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 7
invokevirtual java.awt.font.TextLine.isCharLTR:(I)Z
iload 8
if_icmpeq 16
18: StackMap locals:
StackMap stack:
iload 7
istore 9
start local 9 19: aload 5
iload 6
iinc 6 1
aload 0
iload 9
iconst_1
isub
invokestatic java.awt.font.TextHitInfo.trailing:(I)Ljava/awt/font/TextHitInfo;
invokevirtual java.awt.font.TextLayout.hitToCaret:(Ljava/awt/font/TextHitInfo;)I
iastore
20: iload 6
aload 5
arraylength
if_icmpne 24
21: aload 5
arraylength
bipush 10
iadd
newarray 10
astore 10
start local 10 22: aload 5
iconst_0
aload 10
iconst_0
iload 6
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
23: aload 10
astore 5
end local 10 end local 9 end local 8 24: StackMap locals:
StackMap stack:
iload 7
iload 2
25: if_icmplt 14
end local 7 26: goto 29
27: StackMap locals:
StackMap stack:
iconst_2
istore 6
28: aload 5
iconst_0
aload 5
iconst_1
aload 0
iload 1
invokestatic java.awt.font.TextHitInfo.leading:(I)Ljava/awt/font/TextHitInfo;
invokevirtual java.awt.font.TextLayout.hitToCaret:(Ljava/awt/font/TextHitInfo;)I
dup_x2
iastore
iastore
29: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 30: goto 35
31: StackMap locals: int
StackMap stack:
aload 4
aload 0
aload 5
iload 7
iaload
aload 5
iload 7
iconst_1
iadd
iaload
aload 3
invokevirtual java.awt.font.TextLayout.caretBoundingShape:(IILjava/awt/geom/Rectangle2D;)Ljava/awt/geom/GeneralPath;
32: iconst_0
33: invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
34: iinc 7 2
StackMap locals:
StackMap stack:
35: iload 7
iload 6
if_icmplt 31
end local 7 36: iload 1
iload 2
if_icmpeq 48
37: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
ifeq 38
iload 1
ifeq 40
StackMap locals:
StackMap stack:
38: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
ifne 43
39: iload 2
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpne 43
40: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual java.awt.font.TextLayout.leftShape:(Ljava/awt/geom/Rectangle2D;)Ljava/awt/geom/GeneralPath;
astore 7
start local 7 41: aload 7
invokevirtual java.awt.geom.GeneralPath.getBounds:()Ljava/awt/Rectangle;
invokevirtual java.awt.Rectangle.isEmpty:()Z
ifne 43
42: aload 4
aload 7
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
end local 7 43: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
ifeq 44
iload 2
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpeq 45
44: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
ifne 48
iload 1
ifne 48
45: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual java.awt.font.TextLayout.rightShape:(Ljava/awt/geom/Rectangle2D;)Ljava/awt/geom/GeneralPath;
astore 7
start local 7 46: aload 7
invokevirtual java.awt.geom.GeneralPath.getBounds:()Ljava/awt/Rectangle;
invokevirtual java.awt.Rectangle.isEmpty:()Z
ifne 48
47: aload 4
aload 7
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
end local 7 48: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getLayoutPath:()Lsun/font/LayoutPathImpl;
astore 7
start local 7 49: aload 7
ifnull 51
50: aload 7
aload 4
invokevirtual sun.font.LayoutPathImpl.mapShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
checkcast java.awt.geom.GeneralPath
astore 4
51: StackMap locals: sun.font.LayoutPathImpl
StackMap stack:
aload 4
areturn
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 52 0 this Ljava/awt/font/TextLayout;
0 52 1 firstEndpoint I
0 52 2 secondEndpoint I
0 52 3 bounds Ljava/awt/geom/Rectangle2D;
5 7 4 t I
10 52 4 result Ljava/awt/geom/GeneralPath;
11 52 5 carets [I
12 52 6 count I
14 26 7 logIndex I
16 24 8 ltr Z
19 24 9 hitCh I
22 24 10 temp [I
30 36 7 i I
41 43 7 ls Ljava/awt/geom/GeneralPath;
46 48 7 rs Ljava/awt/geom/GeneralPath;
49 52 7 lp Lsun/font/LayoutPathImpl;
MethodParameters:
Name Flags
firstEndpoint
secondEndpoint
bounds
public java.awt.Shape getLogicalHighlightShape(int, int);
descriptor: (II)Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
aload 0
invokevirtual java.awt.font.TextLayout.getNaturalBounds:()Ljava/awt/geom/Rectangle2D;
invokevirtual java.awt.font.TextLayout.getLogicalHighlightShape:(IILjava/awt/geom/Rectangle2D;)Ljava/awt/Shape;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
0 1 1 firstEndpoint I
0 1 2 secondEndpoint I
MethodParameters:
Name Flags
firstEndpoint
secondEndpoint
public java.awt.Shape getBlackBoxBounds(int, int);
descriptor: (II)Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: iload 1
iload 2
if_icmple 5
2: iload 1
istore 3
start local 3 3: iload 2
istore 1
4: iload 3
istore 2
end local 3 5: StackMap locals:
StackMap stack:
iload 1
iflt 6
iload 2
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmple 7
6: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid range passed to TextLayout.getBlackBoxBounds()"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
new java.awt.geom.GeneralPath
dup
iconst_1
invokespecial java.awt.geom.GeneralPath.<init>:(I)V
astore 3
start local 3 8: iload 1
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmpge 17
9: iload 1
istore 4
start local 4 10: goto 15
11: StackMap locals: java.awt.geom.GeneralPath int
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 4
invokevirtual java.awt.font.TextLine.getCharBounds:(I)Ljava/awt/geom/Rectangle2D;
astore 5
start local 5 12: aload 5
invokevirtual java.awt.geom.Rectangle2D.isEmpty:()Z
ifne 14
13: aload 3
aload 5
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
end local 5 14: StackMap locals:
StackMap stack:
iinc 4 1
15: StackMap locals:
StackMap stack:
iload 4
iload 2
16: if_icmplt 11
end local 4 17: StackMap locals:
StackMap stack:
getstatic java.awt.font.TextLayout.dx:F
fconst_0
fcmpl
ifne 18
getstatic java.awt.font.TextLayout.dy:F
fconst_0
fcmpl
ifeq 20
18: StackMap locals:
StackMap stack:
getstatic java.awt.font.TextLayout.dx:F
f2d
getstatic java.awt.font.TextLayout.dy:F
f2d
invokestatic java.awt.geom.AffineTransform.getTranslateInstance:(DD)Ljava/awt/geom/AffineTransform;
astore 4
start local 4 19: aload 4
aload 3
invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
checkcast java.awt.geom.GeneralPath
astore 3
end local 4 20: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getLayoutPath:()Lsun/font/LayoutPathImpl;
astore 4
start local 4 21: aload 4
ifnull 23
22: aload 4
aload 3
invokevirtual sun.font.LayoutPathImpl.mapShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
checkcast java.awt.geom.GeneralPath
astore 3
23: StackMap locals: sun.font.LayoutPathImpl
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljava/awt/font/TextLayout;
0 24 1 firstEndpoint I
0 24 2 secondEndpoint I
3 5 3 t I
8 24 3 result Ljava/awt/geom/GeneralPath;
10 17 4 logIndex I
12 14 5 r Ljava/awt/geom/Rectangle2D;
19 20 4 tx Ljava/awt/geom/AffineTransform;
21 24 4 lp Lsun/font/LayoutPathImpl;
MethodParameters:
Name Flags
firstEndpoint
secondEndpoint
private float caretToPointDistance(float[], float, float);
descriptor: ([FFF)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield java.awt.font.TextLayout.isVerticalLine:Z
ifeq 1
fload 3
goto 2
StackMap locals:
StackMap stack:
1: fload 2
StackMap locals:
StackMap stack: float
2: fstore 4
start local 4 3: aload 0
getfield java.awt.font.TextLayout.isVerticalLine:Z
ifeq 4
fload 2
fneg
goto 5
StackMap locals: float
StackMap stack:
4: fload 3
StackMap locals:
StackMap stack: float
5: fstore 5
start local 5 6: fload 4
aload 1
iconst_0
faload
fsub
7: fload 5
aload 1
iconst_1
faload
fmul
8: fadd
freturn
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 9 0 this Ljava/awt/font/TextLayout;
0 9 1 caretInfo [F
0 9 2 x F
0 9 3 y F
3 9 4 lineDistance F
6 9 5 distanceOffBaseline F
MethodParameters:
Name Flags
caretInfo
x
y
public java.awt.font.TextHitInfo hitTestChar(float, float, java.awt.geom.Rectangle2D);
descriptor: (FFLjava/awt/geom/Rectangle2D;)Ljava/awt/font/TextHitInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=23, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getLayoutPath:()Lsun/font/LayoutPathImpl;
astore 4
start local 4 1: aload 4
ifnull 6
2: new java.awt.geom.Point2D$Float
dup
fload 1
fload 2
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 5
start local 5 3: aload 4
aload 5
aload 5
invokevirtual sun.font.LayoutPathImpl.pointToPath:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Z
pop
4: aload 5
getfield java.awt.geom.Point2D$Float.x:F
fstore 1
5: aload 5
getfield java.awt.geom.Point2D$Float.y:F
fstore 2
end local 5 6: StackMap locals: sun.font.LayoutPathImpl
StackMap stack:
aload 0
invokevirtual java.awt.font.TextLayout.isVertical:()Z
ifeq 11
7: fload 2
f2d
aload 3
invokevirtual java.awt.geom.Rectangle2D.getMinY:()D
dcmpg
ifge 9
8: iconst_0
invokestatic java.awt.font.TextHitInfo.leading:(I)Ljava/awt/font/TextHitInfo;
areturn
9: StackMap locals:
StackMap stack:
fload 2
f2d
aload 3
invokevirtual java.awt.geom.Rectangle2D.getMaxY:()D
dcmpl
iflt 19
10: aload 0
getfield java.awt.font.TextLayout.characterCount:I
iconst_1
isub
invokestatic java.awt.font.TextHitInfo.trailing:(I)Ljava/awt/font/TextHitInfo;
areturn
11: StackMap locals:
StackMap stack:
fload 1
f2d
aload 3
invokevirtual java.awt.geom.Rectangle2D.getMinX:()D
dcmpg
ifge 15
12: aload 0
invokevirtual java.awt.font.TextLayout.isLeftToRight:()Z
ifeq 13
iconst_0
invokestatic java.awt.font.TextHitInfo.leading:(I)Ljava/awt/font/TextHitInfo;
goto 14
StackMap locals:
StackMap stack:
13: aload 0
getfield java.awt.font.TextLayout.characterCount:I
iconst_1
isub
invokestatic java.awt.font.TextHitInfo.trailing:(I)Ljava/awt/font/TextHitInfo;
StackMap locals:
StackMap stack: java.awt.font.TextHitInfo
14: areturn
15: StackMap locals:
StackMap stack:
fload 1
f2d
aload 3
invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
dcmpl
iflt 19
16: aload 0
invokevirtual java.awt.font.TextLayout.isLeftToRight:()Z
ifeq 17
aload 0
getfield java.awt.font.TextLayout.characterCount:I
iconst_1
isub
invokestatic java.awt.font.TextHitInfo.trailing:(I)Ljava/awt/font/TextHitInfo;
goto 18
StackMap locals:
StackMap stack:
17: iconst_0
invokestatic java.awt.font.TextHitInfo.leading:(I)Ljava/awt/font/TextHitInfo;
StackMap locals:
StackMap stack: java.awt.font.TextHitInfo
18: areturn
19: StackMap locals:
StackMap stack:
ldc 1.7976931348623157E308
dstore 5
start local 5 20: iconst_0
istore 7
start local 7 21: iconst_m1
istore 8
start local 8 22: aconst_null
astore 9
start local 9 23: fconst_0
fstore 10
start local 10 24: fconst_0
fstore 11
start local 11 25: fconst_0
fstore 12
start local 12 26: fconst_0
fstore 13
start local 13 27: fconst_0
fstore 14
start local 14 28: fconst_0
fstore 15
start local 15 29: iconst_0
istore 16
start local 16 30: goto 60
31: StackMap locals: java.awt.font.TextLayout float float java.awt.geom.Rectangle2D sun.font.LayoutPathImpl double int int sun.font.CoreMetrics float float float float float float int
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 16
invokevirtual java.awt.font.TextLine.caretAtOffsetIsValid:(I)Z
ifne 33
32: goto 59
33: StackMap locals:
StackMap stack:
iload 8
iconst_m1
if_icmpne 35
34: iload 16
istore 8
35: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 16
invokevirtual java.awt.font.TextLine.getCoreMetricsAt:(I)Lsun/font/CoreMetrics;
astore 17
start local 17 36: aload 17
aload 9
if_acmpeq 49
37: aload 17
astore 9
38: aload 17
getfield sun.font.CoreMetrics.baselineIndex:I
iconst_m1
if_icmpne 41
39: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getMetrics:()Ljava/awt/font/TextLine$TextLineMetrics;
getfield java.awt.font.TextLine$TextLineMetrics.ascent:F
aload 17
getfield sun.font.CoreMetrics.ascent:F
fsub
fneg
aload 17
getfield sun.font.CoreMetrics.ssOffset:F
fadd
fstore 13
40: goto 45
StackMap locals: sun.font.CoreMetrics
StackMap stack:
41: aload 17
getfield sun.font.CoreMetrics.baselineIndex:I
bipush -2
if_icmpne 44
42: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getMetrics:()Ljava/awt/font/TextLine$TextLineMetrics;
getfield java.awt.font.TextLine$TextLineMetrics.descent:F
aload 17
getfield sun.font.CoreMetrics.descent:F
fsub
aload 17
getfield sun.font.CoreMetrics.ssOffset:F
fadd
fstore 13
43: goto 45
44: StackMap locals:
StackMap stack:
aload 17
aload 0
getfield java.awt.font.TextLayout.baselineOffsets:[F
invokevirtual sun.font.CoreMetrics.effectiveBaselineOffset:([F)F
aload 17
getfield sun.font.CoreMetrics.ssOffset:F
fadd
fstore 13
45: StackMap locals:
StackMap stack:
aload 17
getfield sun.font.CoreMetrics.descent:F
aload 17
getfield sun.font.CoreMetrics.ascent:F
fsub
fconst_2
fdiv
fload 13
fsub
fstore 18
start local 18 46: fload 18
aload 17
getfield sun.font.CoreMetrics.italicAngle:F
fmul
fstore 14
47: fload 13
fload 18
fadd
fstore 13
48: fload 13
fload 2
fsub
fload 13
fload 2
fsub
fmul
fstore 15
end local 18 49: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 16
invokevirtual java.awt.font.TextLine.getCharXPosition:(I)F
fstore 18
start local 18 50: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 16
invokevirtual java.awt.font.TextLine.getCharAdvance:(I)F
fstore 19
start local 19 51: fload 19
fconst_2
fdiv
fstore 20
start local 20 52: fload 18
fload 20
fload 14
fsub
fadd
fstore 18
53: ldc 4.0
fload 18
fload 1
fsub
fmul
fload 18
fload 1
fsub
fmul
fload 15
fadd
f2d
invokestatic java.lang.Math.sqrt:(D)D
dstore 21
start local 21 54: dload 21
dload 5
dcmpg
ifge 59
55: dload 21
dstore 5
56: iload 16
istore 7
57: iconst_m1
istore 8
58: fload 18
fstore 10
fload 13
fstore 11
aload 17
getfield sun.font.CoreMetrics.italicAngle:F
fstore 12
end local 21 end local 20 end local 19 end local 18 end local 17 59: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
60: iload 16
aload 0
getfield java.awt.font.TextLayout.characterCount:I
if_icmplt 31
end local 16 61: fload 1
fload 10
fload 2
fload 11
fsub
fload 12
fmul
fsub
fcmpg
ifge 62
iconst_1
goto 63
StackMap locals:
StackMap stack:
62: iconst_0
StackMap locals:
StackMap stack: int
63: istore 16
start local 16 64: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 7
invokevirtual java.awt.font.TextLine.isCharLTR:(I)Z
iload 16
if_icmpne 65
iconst_1
goto 66
StackMap locals: int
StackMap stack:
65: iconst_0
StackMap locals:
StackMap stack: int
66: istore 17
start local 17 67: iload 8
iconst_m1
if_icmpne 69
68: aload 0
getfield java.awt.font.TextLayout.characterCount:I
istore 8
69: StackMap locals: int
StackMap stack:
iload 17
ifeq 70
iload 7
invokestatic java.awt.font.TextHitInfo.leading:(I)Ljava/awt/font/TextHitInfo;
goto 71
70: StackMap locals:
StackMap stack:
iload 8
iconst_1
isub
invokestatic java.awt.font.TextHitInfo.trailing:(I)Ljava/awt/font/TextHitInfo;
71: StackMap locals:
StackMap stack: java.awt.font.TextHitInfo
astore 18
start local 18 72: aload 18
areturn
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 end local 9 end local 8 end local 7 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 73 0 this Ljava/awt/font/TextLayout;
0 73 1 x F
0 73 2 y F
0 73 3 bounds Ljava/awt/geom/Rectangle2D;
1 73 4 lp Lsun/font/LayoutPathImpl;
3 6 5 pt Ljava/awt/geom/Point2D$Float;
20 73 5 distance D
21 73 7 index I
22 73 8 trail I
23 73 9 lcm Lsun/font/CoreMetrics;
24 73 10 icx F
25 73 11 icy F
26 73 12 ia F
27 73 13 cy F
28 73 14 dya F
29 73 15 ydsq F
30 61 16 i I
36 59 17 cm Lsun/font/CoreMetrics;
46 49 18 dy F
50 59 18 cx F
51 59 19 ca F
52 59 20 dx F
54 59 21 nd D
64 73 16 left Z
67 73 17 leading Z
72 73 18 result Ljava/awt/font/TextHitInfo;
MethodParameters:
Name Flags
x
y
bounds
public java.awt.font.TextHitInfo hitTestChar(float, float);
descriptor: (FF)Ljava/awt/font/TextHitInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
fload 1
fload 2
aload 0
invokevirtual java.awt.font.TextLayout.getNaturalBounds:()Ljava/awt/geom/Rectangle2D;
invokevirtual java.awt.font.TextLayout.hitTestChar:(FFLjava/awt/geom/Rectangle2D;)Ljava/awt/font/TextHitInfo;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
0 1 1 x F
0 1 2 y F
MethodParameters:
Name Flags
x
y
public boolean equals(java.awt.font.TextLayout);
descriptor: (Ljava/awt/font/TextLayout;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
0 1 1 rhs Ljava/awt/font/TextLayout;
MethodParameters:
Name Flags
rhs
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/awt/font/TextLayout;
public void draw(java.awt.Graphics2D, float, float);
descriptor: (Ljava/awt/Graphics2D;FF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Null Graphics2D passed to TextLayout.draw()"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
aload 1
fload 2
getstatic java.awt.font.TextLayout.dx:F
fsub
fload 3
getstatic java.awt.font.TextLayout.dy:F
fsub
invokevirtual java.awt.font.TextLine.draw:(Ljava/awt/Graphics2D;FF)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/awt/font/TextLayout;
0 4 1 g2 Ljava/awt/Graphics2D;
0 4 2 x F
0 4 3 y F
MethodParameters:
Name Flags
g2
x
y
java.awt.font.TextLine getTextLineForTesting();
descriptor: ()Ljava/awt/font/TextLine;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
private static int sameBaselineUpTo(java.awt.Font, char[], int, int);
descriptor: (Ljava/awt/Font;[CII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 font Ljava/awt/Font;
0 1 1 text [C
0 1 2 start I
0 1 3 limit I
MethodParameters:
Name Flags
font
text
start
limit
static byte getBaselineFromGraphic(java.awt.font.GraphicAttribute);
descriptor: (Ljava/awt/font/GraphicAttribute;)B
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.font.GraphicAttribute.getAlignment:()I
i2b
istore 1
start local 1 1: iload 1
bipush -2
if_icmpeq 3
2: iload 1
iconst_m1
if_icmpne 4
3: StackMap locals: int
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 graphic Ljava/awt/font/GraphicAttribute;
1 5 1 alignment B
MethodParameters:
Name Flags
graphic
public java.awt.Shape getOutline(java.awt.geom.AffineTransform);
descriptor: (Ljava/awt/geom/AffineTransform;)Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
1: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
aload 1
invokevirtual java.awt.font.TextLine.getOutline:(Ljava/awt/geom/AffineTransform;)Ljava/awt/Shape;
astore 2
start local 2 2: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getLayoutPath:()Lsun/font/LayoutPathImpl;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 3
aload 2
invokevirtual sun.font.LayoutPathImpl.mapShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
astore 2
5: StackMap locals: java.awt.Shape sun.font.LayoutPathImpl
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/awt/font/TextLayout;
0 6 1 tx Ljava/awt/geom/AffineTransform;
2 6 2 result Ljava/awt/Shape;
3 6 3 lp Lsun/font/LayoutPathImpl;
MethodParameters:
Name Flags
tx
public java.awt.font.LayoutPath getLayoutPath();
descriptor: ()Ljava/awt/font/LayoutPath;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getLayoutPath:()Lsun/font/LayoutPathImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/awt/font/TextLayout;
public void hitToPoint(java.awt.font.TextHitInfo, java.awt.geom.Point2D);
descriptor: (Ljava/awt/font/TextHitInfo;Ljava/awt/geom/Point2D;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 2
ifnonnull 7
1: StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
2: new java.lang.StringBuilder
dup
aload 1
ifnonnull 3
ldc "hit"
goto 4
StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo java.awt.geom.Point2D
StackMap stack: new 1 new 1 new 2 new 2
3: ldc "point"
StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo java.awt.geom.Point2D
StackMap stack: new 1 new 1 new 2 new 2 java.lang.String
4: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: ldc " can't be null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.awt.font.TextLayout.ensureCache:()V
8: aload 0
aload 1
invokevirtual java.awt.font.TextLayout.checkTextHit:(Ljava/awt/font/TextHitInfo;)V
9: fconst_0
fstore 3
start local 3 10: fconst_0
fstore 4
start local 4 11: aload 1
invokevirtual java.awt.font.TextHitInfo.getCharIndex:()I
istore 5
start local 5 12: aload 1
invokevirtual java.awt.font.TextHitInfo.isLeadingEdge:()Z
istore 6
start local 6 13: iload 5
iconst_m1
if_icmpeq 14
iload 5
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.characterCount:()I
if_icmpne 21
14: StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo java.awt.geom.Point2D float float int int
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.isDirectionLTR:()Z
istore 7
start local 7 15: iload 7
iload 5
iconst_m1
if_icmpne 16
iconst_1
goto 17
StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo java.awt.geom.Point2D float float int int int
StackMap stack: int
16: iconst_0
StackMap locals: java.awt.font.TextLayout java.awt.font.TextHitInfo java.awt.geom.Point2D float float int int int
StackMap stack: int int
17: if_icmpne 18
fconst_0
goto 19
StackMap locals:
StackMap stack:
18: aload 0
getfield java.awt.font.TextLayout.lineMetrics:Ljava/awt/font/TextLine$TextLineMetrics;
getfield java.awt.font.TextLine$TextLineMetrics.advance:F
StackMap locals:
StackMap stack: float
19: fstore 3
20: goto 24
end local 7 21: StackMap locals:
StackMap stack:
aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 5
invokevirtual java.awt.font.TextLine.isCharLTR:(I)Z
istore 7
start local 7 22: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 5
iload 6
invokevirtual java.awt.font.TextLine.getCharLinePosition:(IZ)F
fstore 3
23: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
iload 5
invokevirtual java.awt.font.TextLine.getCharYPosition:(I)F
fstore 4
24: StackMap locals: int
StackMap stack:
aload 2
fload 3
f2d
fload 4
f2d
invokevirtual java.awt.geom.Point2D.setLocation:(DD)V
25: aload 0
getfield java.awt.font.TextLayout.textLine:Ljava/awt/font/TextLine;
invokevirtual java.awt.font.TextLine.getLayoutPath:()Lsun/font/LayoutPathImpl;
astore 8
start local 8 26: aload 8
ifnull 28
27: aload 8
aload 2
iload 7
iload 6
ixor
aload 2
invokevirtual java.awt.font.LayoutPath.pathToPoint:(Ljava/awt/geom/Point2D;ZLjava/awt/geom/Point2D;)V
28: StackMap locals: java.awt.font.LayoutPath
StackMap stack:
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 29 0 this Ljava/awt/font/TextLayout;
0 29 1 hit Ljava/awt/font/TextHitInfo;
0 29 2 point Ljava/awt/geom/Point2D;
10 29 3 adv F
11 29 4 off F
12 29 5 ix I
13 29 6 leading Z
15 21 7 ltr Z
22 29 7 ltr Z
26 29 8 lp Ljava/awt/font/LayoutPath;
MethodParameters:
Name Flags
hit
point
}
SourceFile: "TextLayout.java"
NestMembers:
java.awt.font.TextLayout$CaretPolicy
InnerClasses:
public CaretPolicy = java.awt.font.TextLayout$CaretPolicy of java.awt.font.TextLayout
final TextLineMetrics = java.awt.font.TextLine$TextLineMetrics of java.awt.font.TextLine
public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
public Float = java.awt.geom.Rectangle2D$Float of java.awt.geom.Rectangle2D
public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator