public class org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm extends org.apache.fop.layoutmgr.PageBreakingAlgorithm
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm
super_class: org.apache.fop.layoutmgr.PageBreakingAlgorithm
{
private int columnCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.lang.Integer> idealBreaks;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/Integer;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.fop.layoutmgr.LayoutManager, org.apache.fop.layoutmgr.PageProvider, org.apache.fop.layoutmgr.PageBreakingAlgorithm$PageBreakingLayoutListener, int, int, org.apache.fop.traits.MinOptMax, boolean, int);
descriptor: (Lorg/apache/fop/layoutmgr/LayoutManager;Lorg/apache/fop/layoutmgr/PageProvider;Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$PageBreakingLayoutListener;IILorg/apache/fop/traits/MinOptMax;ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
aload 1
aload 2
aload 3
1: iload 4
iload 5
2: aload 6
iload 7
iconst_0
iconst_0
invokespecial org.apache.fop.layoutmgr.PageBreakingAlgorithm.<init>:(Lorg/apache/fop/layoutmgr/LayoutManager;Lorg/apache/fop/layoutmgr/PageProvider;Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$PageBreakingLayoutListener;IILorg/apache/fop/traits/MinOptMax;ZZZ)V
3: aload 0
iload 8
putfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.columnCount:I
4: aload 0
iconst_1
putfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.considerTooShort:Z
5: 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 6 0 this Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm;
0 6 1 topLevelLM Lorg/apache/fop/layoutmgr/LayoutManager;
0 6 2 pageProvider Lorg/apache/fop/layoutmgr/PageProvider;
0 6 3 layoutListener Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$PageBreakingLayoutListener;
0 6 4 alignment I
0 6 5 alignmentLast I
0 6 6 footnoteSeparatorLength Lorg/apache/fop/traits/MinOptMax;
0 6 7 partOverflowRecovery Z
0 6 8 columnCount I
MethodParameters:
Name Flags
topLevelLM
pageProvider
layoutListener
alignment
alignmentLast
footnoteSeparatorLength
partOverflowRecovery
columnCount
protected double computeDemerits(org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode, org.apache.fop.layoutmgr.KnuthElement, int, double);
descriptor: (Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;Lorg/apache/fop/layoutmgr/KnuthElement;ID)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: ldc 1.7976931348623157E308
dstore 6
start local 6 1: aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.idealBreaks:Ljava/util/List;
ifnonnull 3
2: aload 0
aload 0
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.position:I
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.calculateIdealBreaks:(I)Ljava/util/List;
putfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.idealBreaks:Ljava/util/List;
3: StackMap locals: double
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.getPossibilityTrail:(Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)Ljava/util/LinkedList;
astore 8
start local 8 4: iconst_0
istore 9
start local 9 5: aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.columnCount:I
iconst_1
iadd
aload 8
invokevirtual java.util.LinkedList.size:()I
isub
istore 10
start local 10 6: aload 8
invokevirtual java.util.LinkedList.size:()I
aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.idealBreaks:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmple 8
7: dload 6
dreturn
8: StackMap locals: java.util.LinkedList int int
StackMap stack:
iconst_0
istore 11
start local 11 9: goto 15
10: StackMap locals: int
StackMap stack:
aload 8
iload 11
invokevirtual java.util.LinkedList.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ifeq 14
11: aload 8
iload 11
invokevirtual java.util.LinkedList.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.idealBreaks:Ljava/util/List;
iload 11
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
ifne 14
12: iconst_1
istore 9
13: goto 16
14: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
15: iload 11
aload 8
invokevirtual java.util.LinkedList.size:()I
if_icmplt 10
end local 11 16: StackMap locals:
StackMap stack:
iload 9
ifne 18
17: iload 10
i2d
dstore 6
18: StackMap locals:
StackMap stack:
dload 6
dreturn
end local 10 end local 9 end local 8 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm;
0 19 1 activeNode Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
0 19 2 element Lorg/apache/fop/layoutmgr/KnuthElement;
0 19 3 fitnessClass I
0 19 4 r D
1 19 6 demerits D
4 19 8 curPossibility Ljava/util/LinkedList<Ljava/lang/Integer;>;
5 19 9 notIdeal Z
6 19 10 idealDemerit I
9 16 11 breakPos I
MethodParameters:
Name Flags
activeNode
element
fitnessClass
r
private java.util.List<java.lang.Integer> calculateIdealBreaks(int);
descriptor: (I)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 3: aload 4
new org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent
dup
iload 1
aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.size:()I
iconst_1
isub
invokespecial org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.<init>:(II)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals: java.util.List java.util.List java.util.List
StackMap stack:
aload 3
astore 2
5: aload 4
astore 3
6: aload 0
iload 1
aload 0
aload 4
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.getAverageColumnLength:(Ljava/util/List;)I
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.getInitialBreaks:(II)Ljava/util/List;
astore 4
7: aload 4
aload 3
invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
ifne 8
aload 4
aload 2
invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
ifeq 4
8: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.sortElementsForBreaks:(Ljava/util/List;)Ljava/util/List;
astore 4
9: aload 0
aload 4
iload 1
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.getElementIdBreaks:(Ljava/util/List;I)Ljava/util/List;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm;
0 10 1 startPos I
1 10 2 previousPreviousBreaks Ljava/util/List<Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;>;
2 10 3 previousBreaks Ljava/util/List<Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;>;
3 10 4 breaks Ljava/util/List<Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;>;
Signature: (I)Ljava/util/List<Ljava/lang/Integer;>;
MethodParameters:
Name Flags
startPos
private int getAverageColumnLength(java.util.List<org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent>);
descriptor: (Ljava/util/List;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm java.util.List int top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent
astore 3
start local 3 3: iload 2
aload 0
aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
aload 3
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.startIndex:I
aload 3
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.endIndex:I
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.calcContentLength:(Lorg/apache/fop/layoutmgr/KnuthSequence;II)I
iadd
istore 2
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: iload 2
aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.columnCount:I
idiv
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm;
0 6 1 columns Ljava/util/List<Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;>;
1 6 2 totalLength I
3 4 3 col Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;
Signature: (Ljava/util/List<Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;>;)I
MethodParameters:
Name Flags
columns
private java.util.List<org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent> getInitialBreaks(int, int);
descriptor: (II)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=15, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: iload 1
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: iload 2
istore 6
start local 6 4: iconst_0
istore 7
start local 7 5: iload 1
istore 8
start local 8 6: iconst_0
istore 9
start local 9 7: iconst_1
istore 10
start local 10 8: iload 1
istore 11
start local 11 9: goto 42
10: StackMap locals: org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm int int java.util.List int int int int int int int int
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
iload 11
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.get:(I)Ljava/lang/Object;
checkcast org.apache.fop.layoutmgr.KnuthElement
astore 12
start local 12 11: aload 0
iload 11
iload 9
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.isLegalBreak:(IZ)Z
ifeq 37
12: iload 5
13: aload 12
instanceof org.apache.fop.layoutmgr.KnuthPenalty
ifeq 14
aload 12
invokevirtual org.apache.fop.layoutmgr.KnuthElement.getWidth:()I
goto 15
StackMap locals: org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm int int java.util.List int int int int int int int int org.apache.fop.layoutmgr.KnuthElement
StackMap stack: int
14: iconst_0
15: StackMap locals: org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm int int java.util.List int int int int int int int int org.apache.fop.layoutmgr.KnuthElement
StackMap stack: int int
iadd
istore 13
start local 13 16: iload 13
iload 6
if_icmple 31
iload 10
aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.columnCount:I
if_icmpge 31
17: iload 13
iload 6
isub
iload 6
iload 7
isub
if_icmple 21
18: iload 8
istore 14
start local 14 19: iload 7
istore 5
20: goto 25
end local 14 21: StackMap locals: int
StackMap stack:
aload 12
instanceof org.apache.fop.layoutmgr.KnuthPenalty
ifeq 22
iload 11
goto 23
StackMap locals:
StackMap stack:
22: iload 11
iconst_1
isub
StackMap locals:
StackMap stack: int
23: istore 14
start local 14 24: iload 13
istore 5
25: StackMap locals: int
StackMap stack:
aload 3
new org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent
dup
iload 4
iload 14
invokespecial org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.<init>:(II)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
26: aload 0
iload 14
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.getNextStartIndex:(I)I
istore 11
27: iload 11
iinc 11 -1
istore 4
28: iinc 10 1
29: iload 6
iload 2
iadd
istore 6
end local 14 30: goto 41
31: StackMap locals:
StackMap stack:
iload 13
istore 7
32: aload 12
instanceof org.apache.fop.layoutmgr.KnuthPenalty
ifeq 33
iload 11
goto 34
StackMap locals:
StackMap stack:
33: iload 11
iconst_1
isub
StackMap locals:
StackMap stack: int
34: istore 8
35: iconst_0
istore 9
end local 13 36: goto 41
37: StackMap locals:
StackMap stack:
iload 5
aload 12
instanceof org.apache.fop.layoutmgr.KnuthPenalty
ifeq 38
iconst_0
goto 39
StackMap locals:
StackMap stack: int
38: aload 12
invokevirtual org.apache.fop.layoutmgr.KnuthElement.getWidth:()I
StackMap locals: org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm int int java.util.List int int int int int int int int org.apache.fop.layoutmgr.KnuthElement
StackMap stack: int int
39: iadd
istore 5
40: aload 12
instanceof org.apache.fop.layoutmgr.KnuthBox
istore 9
end local 12 41: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
42: iload 11
aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.size:()I
if_icmplt 10
end local 11 43: getstatic org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.$assertionsDisabled:Z
ifne 44
aload 3
invokeinterface java.util.List.size:()I
aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.columnCount:I
iconst_1
isub
if_icmpeq 44
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
44: StackMap locals:
StackMap stack:
aload 3
new org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent
dup
iload 4
aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.size:()I
iconst_1
isub
invokespecial org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.<init>:(II)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
45: aload 3
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 46 0 this Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm;
0 46 1 startIndex I
0 46 2 averageColLength I
1 46 3 initialColumns Ljava/util/List<Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;>;
2 46 4 colStartIndex I
3 46 5 totalLength I
4 46 6 idealBreakLength I
5 46 7 previousBreakLength I
6 46 8 prevBreakIndex I
7 46 9 prevIsBox Z
8 46 10 colNumber I
9 43 11 i I
11 41 12 element Lorg/apache/fop/layoutmgr/KnuthElement;
16 36 13 breakLength I
19 21 14 breakIndex I
24 30 14 breakIndex I
Signature: (II)Ljava/util/List<Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;>;
MethodParameters:
Name Flags
startIndex
averageColLength
private int getNextStartIndex(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
iload 1
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.listIterator:(I)Ljava/util/ListIterator;
astore 3
start local 3 2: goto 4
3: StackMap locals: int java.util.Iterator
StackMap stack:
iinc 2 1
4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 5
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
instanceof org.apache.fop.layoutmgr.KnuthBox
ifeq 3
5: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm;
0 6 1 breakIndex I
1 6 2 startIndex I
2 6 3 iter Ljava/util/Iterator<Lorg/apache/fop/layoutmgr/KnuthElement;>;
MethodParameters:
Name Flags
breakIndex
private java.util.List<org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent> sortElementsForBreaks(java.util.List<org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent>);
descriptor: (Ljava/util/List;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: sipush 4000
istore 3
start local 3 1: StackMap locals: org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm java.util.List top int
StackMap stack:
iconst_0
istore 2
start local 2 2: aload 1
aload 1
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent
astore 4
start local 4 3: aload 0
aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
aload 4
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.startIndex:I
aload 4
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.endIndex:I
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.calcContentLength:(Lorg/apache/fop/layoutmgr/KnuthSequence;II)I
istore 5
start local 5 4: aload 1
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 6
start local 6 5: goto 29
6: StackMap locals: org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm java.util.List int int org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent int int
StackMap stack:
aload 1
iload 6
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent
astore 7
start local 7 7: aload 0
aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
aload 7
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.startIndex:I
aload 7
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.endIndex:I
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.calcContentLength:(Lorg/apache/fop/layoutmgr/KnuthSequence;II)I
istore 8
start local 8 8: iload 8
iload 5
if_icmpge 26
9: aload 4
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.startIndex:I
istore 9
start local 9 10: iconst_1
istore 10
start local 10 11: goto 14
12: StackMap locals: org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm java.util.List int int org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent int int org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent int int int
StackMap stack:
iinc 9 1
13: aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
iload 9
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.get:(I)Ljava/lang/Object;
instanceof org.apache.fop.layoutmgr.KnuthBox
istore 10
14: StackMap locals:
StackMap stack:
iload 9
aload 4
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.endIndex:I
if_icmpgt 15
aload 0
iload 9
iload 10
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.isLegalBreak:(IZ)Z
ifeq 12
15: StackMap locals:
StackMap stack:
iload 9
aload 4
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.endIndex:I
if_icmpge 26
16: iload 10
ifeq 18
17: iinc 9 -1
18: StackMap locals:
StackMap stack:
aload 0
iload 9
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.getNextStartIndex:(I)I
istore 11
start local 11 19: aload 0
aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
aload 7
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.startIndex:I
iload 9
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.calcContentLength:(Lorg/apache/fop/layoutmgr/KnuthSequence;II)I
istore 12
start local 12 20: iload 12
iload 3
iload 5
iadd
if_icmpgt 26
21: new org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent
dup
aload 7
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.startIndex:I
iload 9
invokespecial org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.<init>:(II)V
astore 7
22: aload 1
iload 6
iconst_1
isub
aload 7
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
23: aload 1
iload 6
new org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent
dup
iload 11
aload 4
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.endIndex:I
invokespecial org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.<init>:(II)V
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
24: aload 0
aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
aload 7
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.startIndex:I
iload 9
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.calcContentLength:(Lorg/apache/fop/layoutmgr/KnuthSequence;II)I
istore 8
25: iconst_1
istore 2
end local 12 end local 11 end local 10 end local 9 26: StackMap locals:
StackMap stack:
iload 8
istore 5
27: aload 7
astore 4
end local 8 end local 7 28: iinc 6 -1
StackMap locals:
StackMap stack:
29: iload 6
ifgt 6
end local 6 end local 5 end local 4 30: iload 2
ifne 1
31: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm;
0 32 1 breaks Ljava/util/List<Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;>;
2 32 2 changes Z
1 32 3 fFactor I
3 30 4 curColumn Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;
4 30 5 curColLength I
5 30 6 colIndex I
7 28 7 prevColumn Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;
8 28 8 prevColLength I
10 26 9 newBreakIndex I
11 26 10 prevIsBox Z
19 26 11 newStartIndex I
20 26 12 newPrevColLength I
Signature: (Ljava/util/List<Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;>;)Ljava/util/List<Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;>;
MethodParameters:
Name Flags
breaks
private boolean isLegalBreak(int, boolean);
descriptor: (IZ)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
iload 1
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.get:(I)Ljava/lang/Object;
checkcast org.apache.fop.layoutmgr.KnuthElement
astore 3
start local 3 1: aload 3
instanceof org.apache.fop.layoutmgr.KnuthPenalty
ifeq 2
aload 3
invokevirtual org.apache.fop.layoutmgr.KnuthElement.getPenalty:()I
sipush 1000
if_icmplt 4
2: StackMap locals: org.apache.fop.layoutmgr.KnuthElement
StackMap stack:
iload 2
ifeq 3
aload 3
instanceof org.apache.fop.layoutmgr.KnuthGlue
ifne 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm;
0 5 1 index I
0 5 2 prevIsBox Z
1 5 3 element Lorg/apache/fop/layoutmgr/KnuthElement;
MethodParameters:
Name Flags
index
prevIsBox
private int calcContentLength(org.apache.fop.layoutmgr.KnuthSequence, int, int);
descriptor: (Lorg/apache/fop/layoutmgr/KnuthSequence;II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
iload 2
iload 3
invokestatic org.apache.fop.layoutmgr.ElementListUtils.calcContentLength:(Ljava/util/List;II)I
aload 0
iload 3
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.getPenaltyWidth:(I)I
iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm;
0 1 1 par Lorg/apache/fop/layoutmgr/KnuthSequence;
0 1 2 startIndex I
0 1 3 endIndex I
MethodParameters:
Name Flags
par
startIndex
endIndex
private int getPenaltyWidth(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
iload 1
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.get:(I)Ljava/lang/Object;
checkcast org.apache.fop.layoutmgr.KnuthElement
astore 2
start local 2 1: aload 2
instanceof org.apache.fop.layoutmgr.KnuthPenalty
ifeq 2
aload 2
invokevirtual org.apache.fop.layoutmgr.KnuthElement.getWidth:()I
goto 3
StackMap locals: org.apache.fop.layoutmgr.KnuthElement
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm;
0 4 1 index I
1 4 2 element Lorg/apache/fop/layoutmgr/KnuthElement;
MethodParameters:
Name Flags
index
private java.util.List<java.lang.Integer> getElementIdBreaks(java.util.List<org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent>, int);
descriptor: (Ljava/util/List;I)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 3
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm java.util.List int java.util.List top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent
astore 4
start local 4 4: aload 1
aload 1
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent
aload 4
invokevirtual org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.equals:(Ljava/lang/Object;)Z
ifeq 6
5: goto 7
6: StackMap locals: org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm java.util.List int java.util.List org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent java.util.Iterator
StackMap stack:
aload 3
aload 4
getfield org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent.endIndex:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 7: StackMap locals: org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm java.util.List int java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm;
0 9 1 breaks Ljava/util/List<Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;>;
0 9 2 startPos I
1 9 3 elementIdBreaks Ljava/util/List<Ljava/lang/Integer;>;
4 7 4 column Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;
Signature: (Ljava/util/List<Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm$ColumnContent;>;I)Ljava/util/List<Ljava/lang/Integer;>;
MethodParameters:
Name Flags
breaks
startPos
private java.util.LinkedList<java.lang.Integer> getPossibilityTrail(org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode);
descriptor: (Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)Ljava/util/LinkedList;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 2
start local 2 1: aload 1
astore 3
start local 3 2: StackMap locals: java.util.LinkedList org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode
StackMap stack:
aload 2
aload 3
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.position:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.LinkedList.addFirst:(Ljava/lang/Object;)V
3: aload 3
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.previous:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
astore 3
4: aload 3
ifnonnull 2
5: 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 Lorg/apache/fop/layoutmgr/BalancingColumnBreakingAlgorithm;
0 6 1 activeNode Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
1 6 2 trail Ljava/util/LinkedList<Ljava/lang/Integer;>;
2 6 3 previous Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
Signature: (Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)Ljava/util/LinkedList<Ljava/lang/Integer;>;
MethodParameters:
Name Flags
activeNode
public void updateData2(org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode, org.apache.fop.layoutmgr.KnuthSequence, int);
descriptor: (Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;Lorg/apache/fop/layoutmgr/KnuthSequence;I)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
iload 3
invokespecial org.apache.fop.layoutmgr.PageBreakingAlgorithm.updateData2:(Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;Lorg/apache/fop/layoutmgr/KnuthSequence;I)V
return
LocalVariableTable:
Start End Slot Name Signature
public void updateData1(int, double);
descriptor: (ID)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=3
0: aload 0
iload 1
dload 2
invokespecial org.apache.fop.layoutmgr.PageBreakingAlgorithm.updateData1:(ID)V
return
LocalVariableTable:
Start End Slot Name Signature
public java.util.LinkedList getPageBreaks();
descriptor: ()Ljava/util/LinkedList;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial org.apache.fop.layoutmgr.PageBreakingAlgorithm.getPageBreaks:()Ljava/util/LinkedList;
areturn
LocalVariableTable:
Start End Slot Name Signature
public void relayFootnotes(org.apache.fop.layoutmgr.PageSequenceLayoutManager);
descriptor: (Lorg/apache/fop/layoutmgr/PageSequenceLayoutManager;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial org.apache.fop.layoutmgr.PageBreakingAlgorithm.relayFootnotes:(Lorg/apache/fop/layoutmgr/PageSequenceLayoutManager;)V
return
LocalVariableTable:
Start End Slot Name Signature
public org.apache.fop.fo.FObj getFObj();
descriptor: ()Lorg/apache/fop/fo/FObj;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFObj:()Lorg/apache/fop/fo/FObj;
areturn
LocalVariableTable:
Start End Slot Name Signature
public void insertPageBreakAsFirst(org.apache.fop.layoutmgr.AbstractBreaker$PageBreakPosition);
descriptor: (Lorg/apache/fop/layoutmgr/AbstractBreaker$PageBreakPosition;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertPageBreakAsFirst:(Lorg/apache/fop/layoutmgr/AbstractBreaker$PageBreakPosition;)V
return
LocalVariableTable:
Start End Slot Name Signature
public void removeAllPageBreaks();
descriptor: ()V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial org.apache.fop.layoutmgr.PageBreakingAlgorithm.removeAllPageBreaks:()V
return
LocalVariableTable:
Start End Slot Name Signature
public void loadFootnotes(java.util.List, java.util.List, int, int, boolean, boolean, int, int, int, org.apache.fop.traits.MinOptMax, int, int);
descriptor: (Ljava/util/List;Ljava/util/List;IIZZIIILorg/apache/fop/traits/MinOptMax;II)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=13, locals=13, args_size=13
0: aload 0
aload 1
aload 2
iload 3
iload 4
iload 5
iload 6
iload 7
iload 8
iload 9
aload 10
iload 11
iload 12
invokespecial org.apache.fop.layoutmgr.PageBreakingAlgorithm.loadFootnotes:(Ljava/util/List;Ljava/util/List;IIZZIIILorg/apache/fop/traits/MinOptMax;II)V
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "BalancingColumnBreakingAlgorithm.java"
NestMembers:
org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent
InnerClasses:
public PageBreakPosition = org.apache.fop.layoutmgr.AbstractBreaker$PageBreakPosition of org.apache.fop.layoutmgr.AbstractBreaker
private final ColumnContent = org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm$ColumnContent of org.apache.fop.layoutmgr.BalancingColumnBreakingAlgorithm
public KnuthNode = org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode of org.apache.fop.layoutmgr.BreakingAlgorithm
public abstract PageBreakingLayoutListener = org.apache.fop.layoutmgr.PageBreakingAlgorithm$PageBreakingLayoutListener of org.apache.fop.layoutmgr.PageBreakingAlgorithm