public class org.apache.batik.bridge.FlowTextPainter extends org.apache.batik.bridge.StrokingTextPainter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.batik.bridge.FlowTextPainter
super_class: org.apache.batik.bridge.StrokingTextPainter
{
protected static org.apache.batik.bridge.TextPainter singleton;
descriptor: Lorg/apache/batik/bridge/TextPainter;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
public static final char SOFT_HYPHEN;
descriptor: C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 173
public static final char ZERO_WIDTH_SPACE;
descriptor: C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8203
public static final char ZERO_WIDTH_JOINER;
descriptor: C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8205
public static final char SPACE;
descriptor: C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 32
public static final java.text.AttributedCharacterIterator$Attribute WORD_LIMIT;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute FLOW_REGIONS;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute FLOW_LINE_BREAK;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute LINE_HEIGHT;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute GVT_FONT;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
protected static java.util.Set szAtts;
descriptor: Ljava/util/Set;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.apache.batik.bridge.FlowTextPainter
dup
invokespecial org.apache.batik.bridge.FlowTextPainter.<init>:()V
putstatic org.apache.batik.bridge.FlowTextPainter.singleton:Lorg/apache/batik/bridge/TextPainter;
1: getstatic org.apache.batik.gvt.flow.TextLineBreaks.WORD_LIMIT:Ljava/text/AttributedCharacterIterator$Attribute;
2: putstatic org.apache.batik.bridge.FlowTextPainter.WORD_LIMIT:Ljava/text/AttributedCharacterIterator$Attribute;
3: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.FLOW_REGIONS:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
4: putstatic org.apache.batik.bridge.FlowTextPainter.FLOW_REGIONS:Ljava/text/AttributedCharacterIterator$Attribute;
5: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.FLOW_LINE_BREAK:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
6: putstatic org.apache.batik.bridge.FlowTextPainter.FLOW_LINE_BREAK:Ljava/text/AttributedCharacterIterator$Attribute;
7: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.LINE_HEIGHT:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
8: putstatic org.apache.batik.bridge.FlowTextPainter.LINE_HEIGHT:Ljava/text/AttributedCharacterIterator$Attribute;
9: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.GVT_FONT:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
10: putstatic org.apache.batik.bridge.FlowTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
11: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.apache.batik.bridge.FlowTextPainter.szAtts:Ljava/util/Set;
12: getstatic org.apache.batik.bridge.FlowTextPainter.szAtts:Ljava/util/Set;
getstatic java.awt.font.TextAttribute.SIZE:Ljava/awt/font/TextAttribute;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
13: getstatic org.apache.batik.bridge.FlowTextPainter.szAtts:Ljava/util/Set;
getstatic org.apache.batik.bridge.FlowTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
14: getstatic org.apache.batik.bridge.FlowTextPainter.szAtts:Ljava/util/Set;
getstatic org.apache.batik.bridge.FlowTextPainter.LINE_HEIGHT:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
15: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.batik.bridge.StrokingTextPainter.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/batik/bridge/FlowTextPainter;
public static org.apache.batik.bridge.TextPainter getInstance();
descriptor: ()Lorg/apache/batik/bridge/TextPainter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.apache.batik.bridge.FlowTextPainter.singleton:Lorg/apache/batik/bridge/TextPainter;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.util.List getTextRuns(org.apache.batik.bridge.TextNode, java.text.AttributedCharacterIterator);
descriptor: (Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.apache.batik.bridge.TextNode.getTextRuns:()Ljava/util/List;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
areturn
3: StackMap locals: java.util.List
StackMap stack:
aload 0
aload 2
invokevirtual org.apache.batik.bridge.FlowTextPainter.getTextChunkACIs:(Ljava/text/AttributedCharacterIterator;)[Ljava/text/AttributedCharacterIterator;
astore 4
start local 4 4: aload 0
aload 1
aload 2
aload 4
invokevirtual org.apache.batik.bridge.FlowTextPainter.computeTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;[Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
astore 3
5: aload 2
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
6: aload 2
getstatic org.apache.batik.bridge.FlowTextPainter.FLOW_REGIONS:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.util.List
astore 5
start local 5 7: aload 5
ifnull 22
8: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
start local 6 9: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 10: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 8
start local 8 11: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 12: aload 7
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: aload 9
aload 8
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: goto 20
15: StackMap locals: org.apache.batik.bridge.FlowTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List java.text.AttributedCharacterIterator[] java.util.List java.util.Iterator java.util.List org.apache.batik.bridge.StrokingTextPainter$TextRun java.util.List
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 8
16: aload 8
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.isFirstRunInChunk:()Z
ifeq 19
17: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
18: aload 7
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: StackMap locals:
StackMap stack:
aload 9
aload 8
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
21: aload 4
aload 7
aload 5
aload 0
getfield org.apache.batik.bridge.FlowTextPainter.fontRenderContext:Ljava/awt/font/FontRenderContext;
invokestatic org.apache.batik.bridge.FlowTextPainter.textWrap:([Ljava/text/AttributedCharacterIterator;Ljava/util/List;Ljava/util/List;Ljava/awt/font/FontRenderContext;)Z
pop
end local 9 end local 8 end local 7 end local 6 22: StackMap locals: org.apache.batik.bridge.FlowTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List java.text.AttributedCharacterIterator[] java.util.List
StackMap stack:
aload 1
aload 3
invokevirtual org.apache.batik.bridge.TextNode.setTextRuns:(Ljava/util/List;)V
23: aload 1
invokevirtual org.apache.batik.bridge.TextNode.getTextRuns:()Ljava/util/List;
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 24 0 this Lorg/apache/batik/bridge/FlowTextPainter;
0 24 1 node Lorg/apache/batik/bridge/TextNode;
0 24 2 aci Ljava/text/AttributedCharacterIterator;
1 24 3 textRuns Ljava/util/List;
4 24 4 chunkACIs [Ljava/text/AttributedCharacterIterator;
7 24 5 rgns Ljava/util/List;
9 22 6 i Ljava/util/Iterator;
10 22 7 chunkLayouts Ljava/util/List;
11 22 8 tr Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
12 22 9 layouts Ljava/util/List;
MethodParameters:
Name Flags
node
aci
public static boolean textWrap(java.text.AttributedCharacterIterator[], java.util.List, java.util.List, java.awt.font.FontRenderContext);
descriptor: ([Ljava/text/AttributedCharacterIterator;Ljava/util/List;Ljava/util/List;Ljava/awt/font/FontRenderContext;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=25, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
arraylength
anewarray org.apache.batik.gvt.flow.WordInfo[]
astore 4
start local 4 1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
start local 5 2: fconst_0
fstore 6
start local 6 3: iconst_0
istore 7
start local 7 4: aload 0
arraylength
anewarray org.apache.batik.gvt.flow.BlockInfo
astore 8
start local 8 5: aload 0
arraylength
newarray 6
astore 9
start local 9 6: iconst_0
istore 10
start local 10 7: goto 28
8: StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] int
StackMap stack:
aload 0
iload 10
aaload
astore 11
start local 11 9: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 12
start local 12 10: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 13
start local 13 11: aload 13
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 15
goto 15
StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] int java.text.AttributedCharacterIterator java.util.List java.util.List top java.util.Iterator
StackMap stack:
12: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 14
start local 14 13: aload 14
checkcast org.apache.batik.bridge.GlyphLayout
astore 16
start local 16 14: aload 12
aload 16
invokevirtual org.apache.batik.bridge.GlyphLayout.getGlyphVector:()Lorg/apache/batik/gvt/font/GVTGlyphVector;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 16 end local 14 15: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
16: new org.apache.batik.gvt.font.MultiGlyphVector
dup
aload 12
invokespecial org.apache.batik.gvt.font.MultiGlyphVector.<init>:(Ljava/util/List;)V
astore 14
start local 14 17: aload 4
iload 10
aload 14
aload 11
iload 7
aload 3
invokestatic org.apache.batik.bridge.FlowTextPainter.doWordAnalysis:(Lorg/apache/batik/gvt/font/GVTGlyphVector;Ljava/text/AttributedCharacterIterator;ILjava/awt/font/FontRenderContext;)[Lorg/apache/batik/gvt/flow/WordInfo;
aastore
18: aload 11
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
19: aload 11
getstatic org.apache.batik.bridge.FlowTextPainter.FLOW_PARAGRAPH:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast org.apache.batik.gvt.flow.BlockInfo
astore 15
start local 15 20: aload 15
aload 3
invokevirtual org.apache.batik.gvt.flow.BlockInfo.initLineInfo:(Ljava/awt/font/FontRenderContext;)V
21: aload 8
iload 10
aload 15
aastore
22: fload 6
aload 15
invokevirtual org.apache.batik.gvt.flow.BlockInfo.getTopMargin:()F
fcmpl
ifle 24
23: aload 9
iload 10
fload 6
fastore
goto 25
24: StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] int java.text.AttributedCharacterIterator java.util.List java.util.List org.apache.batik.gvt.font.GVTGlyphVector org.apache.batik.gvt.flow.BlockInfo
StackMap stack:
aload 9
iload 10
aload 15
invokevirtual org.apache.batik.gvt.flow.BlockInfo.getTopMargin:()F
fastore
25: StackMap locals:
StackMap stack:
aload 15
invokevirtual org.apache.batik.gvt.flow.BlockInfo.getBottomMargin:()F
fstore 6
26: iload 7
aload 4
iload 10
aaload
arraylength
iadd
istore 7
end local 15 end local 14 end local 13 end local 12 end local 11 27: iinc 10 1
StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] int
StackMap stack:
28: aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 10 29: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
start local 10 30: aconst_null
astore 11
start local 11 31: iconst_0
istore 12
start local 12 32: iconst_0
istore 13
start local 13 33: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 14
start local 14 34: goto 83
35: StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] java.util.Iterator org.apache.batik.gvt.flow.RegionInfo int int java.util.List
StackMap stack:
aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.batik.gvt.flow.RegionInfo
astore 11
36: new org.apache.batik.gvt.flow.FlowRegions
dup
aload 11
invokevirtual org.apache.batik.gvt.flow.RegionInfo.getShape:()Ljava/awt/Shape;
invokespecial org.apache.batik.gvt.flow.FlowRegions.<init>:(Ljava/awt/Shape;)V
astore 15
start local 15 37: goto 80
38: StackMap locals: org.apache.batik.gvt.flow.FlowRegions
StackMap stack:
aload 4
iload 13
aaload
astore 16
start local 16 39: aload 8
iload 13
aaload
astore 17
start local 17 40: aload 16
iload 12
aaload
astore 18
start local 18 41: aload 18
invokevirtual org.apache.batik.gvt.flow.WordInfo.getFlowLine:()Ljava/lang/Object;
astore 19
start local 19 42: aload 18
invokevirtual org.apache.batik.gvt.flow.WordInfo.getLineHeight:()F
aload 17
invokevirtual org.apache.batik.gvt.flow.BlockInfo.getLineHeight:()F
invokestatic java.lang.Math.max:(FF)F
f2d
dstore 20
start local 20 43: new org.apache.batik.gvt.flow.LineInfo
dup
aload 15
aload 17
iconst_1
invokespecial org.apache.batik.gvt.flow.LineInfo.<init>:(Lorg/apache/batik/gvt/flow/FlowRegions;Lorg/apache/batik/gvt/flow/BlockInfo;Z)V
astore 22
start local 22 44: aload 22
invokevirtual org.apache.batik.gvt.flow.LineInfo.getCurrentY:()D
aload 9
iload 13
faload
f2d
dadd
dstore 23
start local 23 45: aload 9
iload 13
fconst_0
fastore
46: aload 22
dload 23
invokevirtual org.apache.batik.gvt.flow.LineInfo.gotoY:(D)Z
ifeq 49
goto 81
47: StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] java.util.Iterator org.apache.batik.gvt.flow.RegionInfo int int java.util.List org.apache.batik.gvt.flow.FlowRegions org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.BlockInfo org.apache.batik.gvt.flow.WordInfo java.lang.Object double org.apache.batik.gvt.flow.LineInfo double
StackMap stack:
aload 22
invokevirtual org.apache.batik.gvt.flow.LineInfo.getCurrentY:()D
dload 20
ldc 0.1
dmul
dadd
dstore 23
48: aload 22
dload 23
invokevirtual org.apache.batik.gvt.flow.LineInfo.gotoY:(D)Z
ifeq 49
goto 50
49: StackMap locals:
StackMap stack:
aload 22
aload 18
invokevirtual org.apache.batik.gvt.flow.LineInfo.addWord:(Lorg/apache/batik/gvt/flow/WordInfo;)Z
ifeq 47
50: StackMap locals:
StackMap stack:
aload 15
invokevirtual org.apache.batik.gvt.flow.FlowRegions.done:()Z
ifeq 51
goto 81
51: StackMap locals:
StackMap stack:
iinc 12 1
52: goto 69
53: StackMap locals:
StackMap stack:
aload 16
iload 12
aaload
astore 18
54: aload 18
invokevirtual org.apache.batik.gvt.flow.WordInfo.getFlowLine:()Ljava/lang/Object;
aload 19
if_acmpne 56
aload 22
aload 18
invokevirtual org.apache.batik.gvt.flow.LineInfo.addWord:(Lorg/apache/batik/gvt/flow/WordInfo;)Z
ifeq 56
55: goto 68
56: StackMap locals:
StackMap stack:
aload 22
invokevirtual org.apache.batik.gvt.flow.LineInfo.layout:()V
57: aload 14
aload 22
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
58: aconst_null
astore 22
59: aload 18
invokevirtual org.apache.batik.gvt.flow.WordInfo.getFlowLine:()Ljava/lang/Object;
astore 19
60: aload 18
invokevirtual org.apache.batik.gvt.flow.WordInfo.getLineHeight:()F
aload 17
invokevirtual org.apache.batik.gvt.flow.BlockInfo.getLineHeight:()F
invokestatic java.lang.Math.max:(FF)F
f2d
dstore 20
61: aload 15
dload 20
invokevirtual org.apache.batik.gvt.flow.FlowRegions.newLine:(D)Z
ifne 62
goto 70
62: StackMap locals:
StackMap stack:
new org.apache.batik.gvt.flow.LineInfo
dup
aload 15
aload 17
iconst_0
invokespecial org.apache.batik.gvt.flow.LineInfo.<init>:(Lorg/apache/batik/gvt/flow/FlowRegions;Lorg/apache/batik/gvt/flow/BlockInfo;Z)V
astore 22
63: goto 66
64: StackMap locals:
StackMap stack:
aload 22
invokevirtual org.apache.batik.gvt.flow.LineInfo.getCurrentY:()D
dload 20
ldc 0.1
dmul
dadd
dstore 23
65: aload 22
dload 23
invokevirtual org.apache.batik.gvt.flow.LineInfo.gotoY:(D)Z
ifeq 66
goto 67
66: StackMap locals:
StackMap stack:
aload 22
aload 18
invokevirtual org.apache.batik.gvt.flow.LineInfo.addWord:(Lorg/apache/batik/gvt/flow/WordInfo;)Z
ifeq 64
67: StackMap locals:
StackMap stack:
aload 15
invokevirtual org.apache.batik.gvt.flow.FlowRegions.done:()Z
ifeq 68
goto 70
68: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
69: iload 12
aload 16
arraylength
if_icmplt 53
70: StackMap locals:
StackMap stack:
aload 22
ifnull 73
71: aload 22
iconst_1
invokevirtual org.apache.batik.gvt.flow.LineInfo.setParaEnd:(Z)V
72: aload 22
invokevirtual org.apache.batik.gvt.flow.LineInfo.layout:()V
73: StackMap locals:
StackMap stack:
aload 15
invokevirtual org.apache.batik.gvt.flow.FlowRegions.done:()Z
ifeq 74
goto 81
74: StackMap locals:
StackMap stack:
iinc 13 1
75: iconst_0
istore 12
76: aload 17
invokevirtual org.apache.batik.gvt.flow.BlockInfo.isFlowRegionBreak:()Z
ifeq 78
77: goto 81
78: StackMap locals:
StackMap stack:
aload 15
dload 20
invokevirtual org.apache.batik.gvt.flow.FlowRegions.newLine:(D)Z
ifne 80
79: goto 81
end local 23 end local 22 end local 20 end local 19 end local 18 end local 17 end local 16 80: StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] java.util.Iterator org.apache.batik.gvt.flow.RegionInfo int int java.util.List org.apache.batik.gvt.flow.FlowRegions
StackMap stack:
iload 13
aload 4
arraylength
if_icmplt 38
81: StackMap locals:
StackMap stack:
iload 13
aload 4
arraylength
if_icmpne 83
82: goto 84
end local 15 83: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 35
84: StackMap locals:
StackMap stack:
iload 13
aload 4
arraylength
if_icmpge 85
iconst_1
goto 86
StackMap locals:
StackMap stack:
85: iconst_0
StackMap locals:
StackMap stack: int
86: istore 15
start local 15 87: goto 108
88: StackMap locals: int
StackMap stack:
aload 4
iload 13
aaload
astore 16
start local 16 89: goto 105
90: StackMap locals: org.apache.batik.gvt.flow.WordInfo[]
StackMap stack:
aload 16
iload 12
aaload
astore 17
start local 17 91: aload 17
invokevirtual org.apache.batik.gvt.flow.WordInfo.getNumGlyphGroups:()I
istore 18
start local 18 92: iconst_0
istore 19
start local 19 93: goto 103
94: StackMap locals: org.apache.batik.gvt.flow.WordInfo int int
StackMap stack:
aload 17
iload 19
invokevirtual org.apache.batik.gvt.flow.WordInfo.getGlyphGroup:(I)Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
astore 20
start local 20 95: aload 20
invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getGlyphVector:()Lorg/apache/batik/gvt/font/GVTGlyphVector;
astore 21
start local 21 96: aload 20
invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getEnd:()I
istore 22
start local 22 97: aload 20
invokevirtual org.apache.batik.gvt.flow.GlyphGroupInfo.getStart:()I
istore 23
start local 23 98: goto 101
99: StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] java.util.Iterator org.apache.batik.gvt.flow.RegionInfo int int java.util.List int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo int int org.apache.batik.gvt.flow.GlyphGroupInfo org.apache.batik.gvt.font.GVTGlyphVector int int
StackMap stack:
aload 21
iload 23
iconst_0
invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.setGlyphVisible:(IZ)V
100: iinc 23 1
StackMap locals:
StackMap stack:
101: iload 23
iload 22
if_icmple 99
end local 23 end local 22 end local 21 end local 20 102: iinc 19 1
StackMap locals: java.text.AttributedCharacterIterator[] java.util.List java.util.List java.awt.font.FontRenderContext org.apache.batik.gvt.flow.WordInfo[][] java.util.Iterator float int org.apache.batik.gvt.flow.BlockInfo[] float[] java.util.Iterator org.apache.batik.gvt.flow.RegionInfo int int java.util.List int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo int int
StackMap stack:
103: iload 19
iload 18
if_icmplt 94
end local 19 104: iinc 12 1
end local 18 end local 17 105: StackMap locals:
StackMap stack:
iload 12
aload 16
arraylength
if_icmplt 90
106: iinc 13 1
107: iconst_0
istore 12
end local 16 108: StackMap locals:
StackMap stack:
iload 13
aload 4
arraylength
if_icmplt 88
109: iload 15
ireturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 110 0 acis [Ljava/text/AttributedCharacterIterator;
0 110 1 chunkLayouts Ljava/util/List;
0 110 2 flowRects Ljava/util/List;
0 110 3 frc Ljava/awt/font/FontRenderContext;
1 110 4 wordInfos [[Lorg/apache/batik/gvt/flow/WordInfo;
2 110 5 clIter Ljava/util/Iterator;
3 110 6 prevBotMargin F
4 110 7 numWords I
5 110 8 blockInfos [Lorg/apache/batik/gvt/flow/BlockInfo;
6 110 9 topSkip [F
7 29 10 chunk I
9 27 11 aci Ljava/text/AttributedCharacterIterator;
10 27 12 gvl Ljava/util/List;
11 27 13 layouts Ljava/util/List;
13 15 14 layout Ljava/lang/Object;
14 15 16 gl Lorg/apache/batik/bridge/GlyphLayout;
17 27 14 gv Lorg/apache/batik/gvt/font/GVTGlyphVector;
20 27 15 bi Lorg/apache/batik/gvt/flow/BlockInfo;
30 110 10 frIter Ljava/util/Iterator;
31 110 11 currentRegion Lorg/apache/batik/gvt/flow/RegionInfo;
32 110 12 currWord I
33 110 13 chunk I
34 110 14 lineInfos Ljava/util/List;
37 83 15 fr Lorg/apache/batik/gvt/flow/FlowRegions;
39 80 16 chunkInfo [Lorg/apache/batik/gvt/flow/WordInfo;
40 80 17 bi Lorg/apache/batik/gvt/flow/BlockInfo;
41 80 18 wi Lorg/apache/batik/gvt/flow/WordInfo;
42 80 19 flowLine Ljava/lang/Object;
43 80 20 lh D
44 80 22 li Lorg/apache/batik/gvt/flow/LineInfo;
45 80 23 newY D
87 110 15 overflow Z
89 108 16 chunkInfo [Lorg/apache/batik/gvt/flow/WordInfo;
91 105 17 wi Lorg/apache/batik/gvt/flow/WordInfo;
92 105 18 numGG I
93 104 19 gg I
95 102 20 ggi Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
96 102 21 gv Lorg/apache/batik/gvt/font/GVTGlyphVector;
97 102 22 end I
98 102 23 g I
MethodParameters:
Name Flags
acis
chunkLayouts
flowRects
frc
static int[] allocWordMap(int[], int);
descriptor: ([II)[I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
ifnull 5
1: iload 1
aload 0
arraylength
if_icmpgt 3
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
iload 1
aload 0
arraylength
iconst_2
imul
if_icmpge 5
4: aload 0
arraylength
iconst_2
imul
istore 1
5: StackMap locals:
StackMap stack:
iload 1
newarray 10
astore 2
start local 2 6: aload 0
ifnull 7
aload 0
arraylength
goto 8
StackMap locals: int[]
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 3
start local 3 9: iload 1
iload 3
if_icmpge 11
10: iload 1
istore 3
11: StackMap locals: int
StackMap stack:
iload 3
ifeq 13
12: aload 0
iconst_0
aload 2
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: StackMap locals:
StackMap stack:
aload 2
iload 3
iload 1
iconst_m1
invokestatic java.util.Arrays.fill:([IIII)V
14: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 wordMap [I
0 15 1 sz I
6 15 2 ret [I
9 15 3 ext I
MethodParameters:
Name Flags
wordMap
sz
static org.apache.batik.gvt.flow.WordInfo[] doWordAnalysis(org.apache.batik.gvt.font.GVTGlyphVector, java.text.AttributedCharacterIterator, int, java.awt.font.FontRenderContext);
descriptor: (Lorg/apache/batik/gvt/font/GVTGlyphVector;Ljava/text/AttributedCharacterIterator;ILjava/awt/font/FontRenderContext;)[Lorg/apache/batik/gvt/flow/WordInfo;
flags: (0x0008) ACC_STATIC
Code:
stack=13, locals=39, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getNumGlyphs:()I
istore 4
start local 4 1: iload 4
newarray 10
astore 5
start local 5 2: aconst_null
bipush 10
invokestatic org.apache.batik.bridge.FlowTextPainter.allocWordMap:([II)[I
astore 6
start local 6 3: iconst_0
istore 7
start local 7 4: aload 1
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
istore 8
start local 8 5: iconst_0
istore 9
start local 9 6: goto 34
7: StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int
StackMap stack:
aload 0
iload 9
iload 9
invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getCharacterCount:(II)I
istore 10
start local 10 8: aload 1
iload 8
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
pop
9: aload 1
getstatic org.apache.batik.bridge.FlowTextPainter.WORD_LIMIT:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 11
start local 11 10: aload 11
invokevirtual java.lang.Integer.intValue:()I
iload 2
isub
istore 12
start local 12 11: iload 12
iload 7
if_icmple 14
12: iload 12
istore 7
13: aload 6
iload 7
iconst_1
iadd
invokestatic org.apache.batik.bridge.FlowTextPainter.allocWordMap:([II)[I
astore 6
14: StackMap locals: int java.lang.Integer int
StackMap stack:
iinc 8 1
15: iconst_1
istore 13
start local 13 16: goto 31
17: StackMap locals: int
StackMap stack:
aload 1
iload 8
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
pop
18: aload 1
getstatic org.apache.batik.bridge.FlowTextPainter.WORD_LIMIT:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 11
19: aload 11
invokevirtual java.lang.Integer.intValue:()I
iload 2
isub
istore 14
start local 14 20: iload 14
iload 7
if_icmple 23
21: iload 14
istore 7
22: aload 6
iload 7
iconst_1
iadd
invokestatic org.apache.batik.bridge.FlowTextPainter.allocWordMap:([II)[I
astore 6
23: StackMap locals: int
StackMap stack:
iload 14
iload 12
if_icmpge 27
24: aload 6
iload 12
iload 14
iastore
25: iload 14
istore 12
26: goto 29
StackMap locals:
StackMap stack:
27: iload 14
iload 12
if_icmple 29
28: aload 6
iload 14
iload 12
iastore
29: StackMap locals:
StackMap stack:
iinc 8 1
end local 14 30: iinc 13 1
StackMap locals:
StackMap stack:
31: iload 13
iload 10
if_icmplt 17
end local 13 32: aload 5
iload 9
iload 12
iastore
end local 12 end local 11 end local 10 33: iinc 9 1
StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int
StackMap stack:
34: iload 9
iload 4
if_icmplt 7
end local 9 35: iconst_0
istore 9
start local 9 36: iload 7
iconst_1
iadd
anewarray org.apache.batik.gvt.flow.WordInfo
astore 10
start local 10 37: iconst_0
istore 11
start local 11 38: goto 52
39: StackMap locals: org.apache.batik.gvt.flow.WordInfo[] int
StackMap stack:
aload 6
iload 11
iaload
istore 12
start local 12 40: iload 12
iconst_m1
if_icmpne 43
41: aload 10
iload 11
new org.apache.batik.gvt.flow.WordInfo
dup
iload 9
iinc 9 1
invokespecial org.apache.batik.gvt.flow.WordInfo.<init>:(I)V
aastore
42: goto 51
43: StackMap locals: int
StackMap stack:
iload 12
istore 13
start local 13 44: aload 6
iload 11
iaload
istore 12
45: goto 48
46: StackMap locals: int
StackMap stack:
iload 12
istore 13
47: aload 6
iload 13
iaload
istore 12
48: StackMap locals:
StackMap stack:
iload 12
iconst_m1
if_icmpne 46
49: aload 6
iload 11
iload 13
iastore
50: aload 10
iload 11
aload 10
iload 13
aaload
aastore
end local 13 end local 12 51: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
52: iload 11
iload 7
if_icmple 39
end local 11 53: aconst_null
astore 6
54: iload 9
anewarray org.apache.batik.gvt.flow.WordInfo
astore 11
start local 11 55: iconst_0
istore 12
start local 12 56: goto 60
57: StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int
StackMap stack:
aload 10
iload 12
aaload
astore 13
start local 13 58: aload 11
aload 13
invokevirtual org.apache.batik.gvt.flow.WordInfo.getIndex:()I
aload 10
iload 12
aaload
aastore
end local 13 59: iinc 12 1
StackMap locals:
StackMap stack:
60: iload 12
iload 7
if_icmple 57
end local 12 61: aload 1
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
istore 8
62: aload 1
invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
istore 12
start local 12 63: aload 1
iload 8
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
istore 13
start local 13 64: iload 8
istore 14
start local 14 65: aload 1
getstatic org.apache.batik.bridge.FlowTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast org.apache.batik.gvt.font.GVTFont
astore 15
start local 15 66: fconst_1
fstore 16
start local 16 67: aload 1
getstatic org.apache.batik.bridge.FlowTextPainter.LINE_HEIGHT:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 17
start local 17 68: aload 17
ifnull 70
69: aload 17
invokevirtual java.lang.Float.floatValue:()F
fstore 16
70: StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int int int org.apache.batik.gvt.font.GVTFont float java.lang.Float
StackMap stack:
aload 1
getstatic org.apache.batik.bridge.FlowTextPainter.szAtts:Ljava/util/Set;
invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/util/Set;)I
istore 18
start local 18 71: aconst_null
astore 19
start local 19 72: iload 4
newarray 6
astore 20
start local 20 73: iload 4
newarray 6
astore 21
start local 21 74: iload 4
newarray 4
astore 22
start local 22 75: iload 4
newarray 4
astore 23
start local 23 76: iload 4
newarray 4
astore 24
start local 24 77: aload 0
iconst_0
iload 4
iconst_1
iadd
aconst_null
invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getGlyphPositions:(II[F)[F
astore 25
start local 25 78: iconst_0
istore 26
start local 26 79: goto 130
80: StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int int int org.apache.batik.gvt.font.GVTFont float java.lang.Float int org.apache.batik.gvt.flow.WordInfo float[] float[] boolean[] boolean[] boolean[] float[] int
StackMap stack:
iload 13
istore 27
start local 27 81: aload 1
iload 8
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
istore 13
82: aload 1
getstatic org.apache.batik.bridge.FlowTextPainter.WORD_LIMIT:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 28
start local 28 83: aload 10
aload 28
invokevirtual java.lang.Integer.intValue:()I
iload 2
isub
aaload
astore 29
start local 29 84: aload 29
invokevirtual org.apache.batik.gvt.flow.WordInfo.getFlowLine:()Ljava/lang/Object;
ifnonnull 86
85: aload 29
aload 1
getstatic org.apache.batik.bridge.FlowTextPainter.FLOW_LINE_BREAK:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
invokevirtual org.apache.batik.gvt.flow.WordInfo.setFlowLine:(Ljava/lang/Object;)V
86: StackMap locals: int java.lang.Integer org.apache.batik.gvt.flow.WordInfo
StackMap stack:
aload 19
ifnonnull 89
87: aload 29
astore 19
88: goto 97
StackMap locals:
StackMap stack:
89: aload 19
aload 29
if_acmpeq 97
90: aload 15
91: aload 1
iload 14
iload 8
aload 3
92: invokeinterface org.apache.batik.gvt.font.GVTFont.getLineMetrics:(Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
astore 30
start local 30 93: aload 19
aload 15
aload 30
invokevirtual org.apache.batik.gvt.flow.WordInfo.addLineMetrics:(Lorg/apache/batik/gvt/font/GVTFont;Lorg/apache/batik/gvt/font/GVTLineMetrics;)V
94: aload 19
fload 16
invokevirtual org.apache.batik.gvt.flow.WordInfo.addLineHeight:(F)V
95: iload 8
istore 14
96: aload 29
astore 19
end local 30 97: StackMap locals:
StackMap stack:
aload 0
iload 26
iload 26
invokeinterface org.apache.batik.gvt.font.GVTGlyphVector.getCharacterCount:(II)I
istore 30
start local 30 98: iload 30
iconst_1
if_icmpne 115
99: iload 13
lookupswitch { // 4
32: 110
173: 100
8203: 108
8205: 106
default: 115
}
100: StackMap locals: int
StackMap stack:
aload 22
iload 26
iconst_1
bastore
101: aload 1
invokeinterface java.text.AttributedCharacterIterator.next:()C
istore 31
start local 31 102: aload 1
invokeinterface java.text.AttributedCharacterIterator.previous:()C
pop
103: aload 15
iload 27
iload 31
invokeinterface org.apache.batik.gvt.font.GVTFont.getHKern:(II)F
fstore 32
start local 32 104: aload 21
iload 26
aload 25
iconst_2
iload 26
imul
iconst_2
iadd
faload
aload 25
iconst_2
iload 26
imul
faload
fsub
fload 32
fadd
fneg
fastore
105: goto 115
end local 32 end local 31 106: StackMap locals:
StackMap stack:
aload 23
iload 26
iconst_1
bastore
107: goto 115
108: StackMap locals:
StackMap stack:
aload 23
iload 26
iconst_1
bastore
109: goto 115
110: StackMap locals:
StackMap stack:
aload 24
iload 26
iconst_1
bastore
111: aload 1
invokeinterface java.text.AttributedCharacterIterator.next:()C
istore 31
start local 31 112: aload 1
invokeinterface java.text.AttributedCharacterIterator.previous:()C
pop
113: aload 15
iload 27
iload 31
invokeinterface org.apache.batik.gvt.font.GVTFont.getHKern:(II)F
fstore 32
start local 32 114: aload 20
iload 26
aload 25
iconst_2
iload 26
imul
iconst_2
iadd
faload
aload 25
iconst_2
iload 26
imul
faload
fsub
fload 32
fadd
fneg
fastore
end local 32 end local 31 115: StackMap locals:
StackMap stack:
iload 8
iload 30
iadd
istore 8
116: iload 8
iload 18
if_icmple 129
iload 8
iload 12
if_icmpge 129
117: aload 15
118: aload 1
iload 14
iload 18
aload 3
119: invokeinterface org.apache.batik.gvt.font.GVTFont.getLineMetrics:(Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
astore 31
start local 31 120: aload 19
aload 15
aload 31
invokevirtual org.apache.batik.gvt.flow.WordInfo.addLineMetrics:(Lorg/apache/batik/gvt/font/GVTFont;Lorg/apache/batik/gvt/font/GVTLineMetrics;)V
121: aload 19
fload 16
invokevirtual org.apache.batik.gvt.flow.WordInfo.addLineHeight:(F)V
122: aconst_null
astore 19
123: iload 8
istore 14
124: aload 1
iload 8
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
pop
125: aload 1
getstatic org.apache.batik.bridge.FlowTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast org.apache.batik.gvt.font.GVTFont
astore 15
126: aload 1
getstatic org.apache.batik.bridge.FlowTextPainter.LINE_HEIGHT:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 32
start local 32 127: aload 32
invokevirtual java.lang.Float.floatValue:()F
fstore 16
128: aload 1
getstatic org.apache.batik.bridge.FlowTextPainter.szAtts:Ljava/util/Set;
invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/util/Set;)I
istore 18
end local 32 end local 31 end local 30 end local 29 end local 28 end local 27 129: StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int int int org.apache.batik.gvt.font.GVTFont float java.lang.Float int org.apache.batik.gvt.flow.WordInfo float[] float[] boolean[] boolean[] boolean[] float[] int
StackMap stack:
iinc 26 1
StackMap locals:
StackMap stack:
130: iload 26
iload 4
if_icmplt 80
end local 26 131: aload 15
132: aload 1
iload 14
iload 18
aload 3
133: invokeinterface org.apache.batik.gvt.font.GVTFont.getLineMetrics:(Ljava/text/CharacterIterator;IILjava/awt/font/FontRenderContext;)Lorg/apache/batik/gvt/font/GVTLineMetrics;
astore 26
start local 26 134: aload 19
aload 15
aload 26
invokevirtual org.apache.batik.gvt.flow.WordInfo.addLineMetrics:(Lorg/apache/batik/gvt/font/GVTFont;Lorg/apache/batik/gvt/font/GVTLineMetrics;)V
135: aload 19
fload 16
invokevirtual org.apache.batik.gvt.flow.WordInfo.addLineHeight:(F)V
136: iload 9
newarray 10
astore 27
start local 27 137: iconst_0
istore 28
start local 28 138: goto 144
139: StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int int int org.apache.batik.gvt.font.GVTFont float java.lang.Float int org.apache.batik.gvt.flow.WordInfo float[] float[] boolean[] boolean[] boolean[] float[] org.apache.batik.gvt.font.GVTLineMetrics int[] int
StackMap stack:
aload 5
iload 28
iaload
istore 29
start local 29 140: aload 10
iload 29
aaload
invokevirtual org.apache.batik.gvt.flow.WordInfo.getIndex:()I
istore 30
start local 30 141: aload 5
iload 28
iload 30
iastore
142: aload 27
iload 30
dup2
iaload
iconst_1
iadd
iastore
end local 30 end local 29 143: iinc 28 1
StackMap locals:
StackMap stack:
144: iload 28
iload 4
if_icmplt 139
end local 28 145: aconst_null
astore 10
146: iload 9
anewarray int[]
astore 28
start local 28 147: iload 9
newarray 10
astore 29
start local 29 148: iconst_0
istore 30
start local 30 149: goto 166
150: StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int int int org.apache.batik.gvt.font.GVTFont float java.lang.Float int org.apache.batik.gvt.flow.WordInfo float[] float[] boolean[] boolean[] boolean[] float[] org.apache.batik.gvt.font.GVTLineMetrics int[] int[][] int[] int
StackMap stack:
aload 5
iload 30
iaload
istore 31
start local 31 151: aload 28
iload 31
aaload
astore 32
start local 32 152: aload 32
ifnonnull 157
153: aload 28
iload 31
154: aload 27
iload 31
iaload
newarray 10
155: dup_x2
aastore
astore 32
156: aload 27
iload 31
iconst_0
iastore
157: StackMap locals: int int[]
StackMap stack:
aload 27
iload 31
iaload
istore 33
start local 33 158: aload 32
iload 33
iload 30
iastore
159: iload 33
ifne 162
160: aload 29
iload 31
dup2
iaload
iconst_1
iadd
iastore
161: goto 164
162: StackMap locals: int
StackMap stack:
aload 32
iload 33
iconst_1
isub
iaload
iload 30
iconst_1
isub
if_icmpeq 164
163: aload 29
iload 31
dup2
iaload
iconst_1
iadd
iastore
164: StackMap locals:
StackMap stack:
aload 27
iload 31
dup2
iaload
iconst_1
iadd
iastore
end local 33 end local 32 end local 31 165: iinc 30 1
StackMap locals:
StackMap stack:
166: iload 30
iload 4
if_icmplt 150
end local 30 167: iconst_0
istore 30
start local 30 168: goto 204
169: StackMap locals:
StackMap stack:
aload 29
iload 30
iaload
istore 31
start local 31 170: iload 31
anewarray org.apache.batik.gvt.flow.GlyphGroupInfo
astore 32
start local 32 171: iload 31
iconst_1
if_icmpne 180
172: aload 28
iload 30
aaload
astore 33
start local 33 173: aload 33
iconst_0
iaload
istore 34
start local 34 174: aload 33
aload 33
arraylength
iconst_1
isub
iaload
istore 35
start local 35 175: aload 32
iconst_0
new org.apache.batik.gvt.flow.GlyphGroupInfo
dup
176: aload 0
iload 34
iload 35
aload 23
aload 22
iload 35
baload
177: aload 25
aload 21
aload 20
aload 24
invokespecial org.apache.batik.gvt.flow.GlyphGroupInfo.<init>:(Lorg/apache/batik/gvt/font/GVTGlyphVector;II[ZZ[F[F[F[Z)V
178: aastore
end local 35 end local 34 end local 33 179: goto 202
180: StackMap locals: int org.apache.batik.gvt.flow.GlyphGroupInfo[]
StackMap stack:
iconst_0
istore 33
start local 33 181: aload 28
iload 30
aaload
astore 34
start local 34 182: aload 34
iconst_0
iaload
istore 35
start local 35 183: iload 35
istore 36
start local 36 184: iconst_1
istore 37
start local 37 185: goto 196
186: StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int int int org.apache.batik.gvt.font.GVTFont float java.lang.Float int org.apache.batik.gvt.flow.WordInfo float[] float[] boolean[] boolean[] boolean[] float[] org.apache.batik.gvt.font.GVTLineMetrics int[] int[][] int[] int int org.apache.batik.gvt.flow.GlyphGroupInfo[] int int[] int int int
StackMap stack:
iload 35
iconst_1
iadd
aload 34
iload 37
iaload
if_icmpeq 194
187: aload 34
iload 37
iconst_1
isub
iaload
istore 38
start local 38 188: aload 32
iload 33
new org.apache.batik.gvt.flow.GlyphGroupInfo
dup
189: aload 0
iload 36
iload 38
aload 23
aload 22
iload 38
baload
190: aload 25
aload 21
aload 20
aload 24
invokespecial org.apache.batik.gvt.flow.GlyphGroupInfo.<init>:(Lorg/apache/batik/gvt/font/GVTGlyphVector;II[ZZ[F[F[F[Z)V
191: aastore
192: aload 34
iload 37
iaload
istore 36
193: iinc 33 1
end local 38 194: StackMap locals:
StackMap stack:
aload 34
iload 37
iaload
istore 35
195: iinc 37 1
StackMap locals:
StackMap stack:
196: iload 37
aload 34
arraylength
if_icmplt 186
end local 37 197: aload 34
aload 34
arraylength
iconst_1
isub
iaload
istore 37
start local 37 198: aload 32
iload 33
new org.apache.batik.gvt.flow.GlyphGroupInfo
dup
199: aload 0
iload 36
iload 37
aload 23
aload 22
iload 37
baload
200: aload 25
aload 21
aload 20
aload 24
invokespecial org.apache.batik.gvt.flow.GlyphGroupInfo.<init>:(Lorg/apache/batik/gvt/font/GVTGlyphVector;II[ZZ[F[F[F[Z)V
201: aastore
end local 37 end local 36 end local 35 end local 34 end local 33 202: StackMap locals: org.apache.batik.gvt.font.GVTGlyphVector java.text.AttributedCharacterIterator int java.awt.font.FontRenderContext int int[] int[] int int int org.apache.batik.gvt.flow.WordInfo[] org.apache.batik.gvt.flow.WordInfo[] int int int org.apache.batik.gvt.font.GVTFont float java.lang.Float int org.apache.batik.gvt.flow.WordInfo float[] float[] boolean[] boolean[] boolean[] float[] org.apache.batik.gvt.font.GVTLineMetrics int[] int[][] int[] int int org.apache.batik.gvt.flow.GlyphGroupInfo[]
StackMap stack:
aload 11
iload 30
aaload
aload 32
invokevirtual org.apache.batik.gvt.flow.WordInfo.setGlyphGroups:([Lorg/apache/batik/gvt/flow/GlyphGroupInfo;)V
end local 32 end local 31 203: iinc 30 1
StackMap locals:
StackMap stack:
204: iload 30
iload 9
if_icmplt 169
end local 30 205: aload 11
areturn
end local 29 end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 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 206 0 gv Lorg/apache/batik/gvt/font/GVTGlyphVector;
0 206 1 aci Ljava/text/AttributedCharacterIterator;
0 206 2 numWords I
0 206 3 frc Ljava/awt/font/FontRenderContext;
1 206 4 numGlyphs I
2 206 5 glyphWords [I
3 206 6 wordMap [I
4 206 7 maxWord I
5 206 8 aciIdx I
6 35 9 i I
8 33 10 cnt I
10 33 11 integer Ljava/lang/Integer;
11 33 12 minWord I
16 32 13 c I
20 30 14 cWord I
36 206 9 words I
37 206 10 cWordMap [Lorg/apache/batik/gvt/flow/WordInfo;
38 53 11 i I
40 51 12 nw I
44 51 13 word I
55 206 11 wordInfos [Lorg/apache/batik/gvt/flow/WordInfo;
56 61 12 i I
58 59 13 wi Lorg/apache/batik/gvt/flow/WordInfo;
63 206 12 aciEnd I
64 206 13 ch C
65 206 14 aciWordStart I
66 206 15 gvtFont Lorg/apache/batik/gvt/font/GVTFont;
67 206 16 lineHeight F
68 206 17 lineHeightFloat Ljava/lang/Float;
71 206 18 runLimit I
72 206 19 prevWI Lorg/apache/batik/gvt/flow/WordInfo;
73 206 20 lastAdvAdj [F
74 206 21 advAdj [F
75 206 22 hideLast [Z
76 206 23 hide [Z
77 206 24 space [Z
78 206 25 glyphPos [F
79 131 26 i I
81 129 27 pch C
83 129 28 integer Ljava/lang/Integer;
84 129 29 theWI Lorg/apache/batik/gvt/flow/WordInfo;
93 97 30 lm Lorg/apache/batik/gvt/font/GVTLineMetrics;
98 129 30 chCnt I
102 106 31 nch C
112 115 31 nch C
104 106 32 kern F
114 115 32 kern F
120 129 31 lm Lorg/apache/batik/gvt/font/GVTLineMetrics;
127 129 32 f Ljava/lang/Float;
134 206 26 lm Lorg/apache/batik/gvt/font/GVTLineMetrics;
137 206 27 wordGlyphCounts [I
138 145 28 i I
140 143 29 word I
141 143 30 cWord I
147 206 28 wordGlyphs [[I
148 206 29 wordGlyphGroupsCounts [I
149 167 30 i I
151 165 31 cWord I
152 165 32 wgs [I
158 165 33 cnt I
168 205 30 i I
170 203 31 cnt I
171 203 32 wordGlyphGroups [Lorg/apache/batik/gvt/flow/GlyphGroupInfo;
173 179 33 glyphs [I
174 179 34 start I
175 179 35 end I
181 202 33 glyphGroup I
182 202 34 glyphs [I
183 202 35 prev I
184 202 36 start I
185 197 37 j I
188 194 38 end I
198 202 37 end I
MethodParameters:
Name Flags
gv
aci
numWords
frc
}
SourceFile: "FlowTextPainter.java"
InnerClasses:
public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
public TextRun = org.apache.batik.bridge.StrokingTextPainter$TextRun of org.apache.batik.bridge.StrokingTextPainter
public TextAttribute = org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute of org.apache.batik.gvt.text.GVTAttributedCharacterIterator