class org.apache.fop.layoutmgr.PageBreakingAlgorithm extends org.apache.fop.layoutmgr.BreakingAlgorithm
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.fop.layoutmgr.PageBreakingAlgorithm
super_class: org.apache.fop.layoutmgr.BreakingAlgorithm
{
private static org.apache.commons.logging.Log log;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private final org.apache.fop.layoutmgr.LayoutManager topLevelLM;
descriptor: Lorg/apache/fop/layoutmgr/LayoutManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.fop.layoutmgr.PageProvider pageProvider;
descriptor: Lorg/apache/fop/layoutmgr/PageProvider;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.fop.layoutmgr.PageBreakingAlgorithm$PageBreakingLayoutListener layoutListener;
descriptor: Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$PageBreakingLayoutListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.LinkedList<org.apache.fop.layoutmgr.AbstractBreaker$PageBreakPosition> pageBreaks;
descriptor: Ljava/util/LinkedList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/LinkedList<Lorg/apache/fop/layoutmgr/AbstractBreaker$PageBreakPosition;>;
private java.util.List<java.util.List<org.apache.fop.layoutmgr.KnuthElement>> ;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/util/List<Lorg/apache/fop/layoutmgr/KnuthElement;>;>;
private java.util.List<java.lang.Integer> lengthList;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/Integer;>;
private int ;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int ;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean ;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean ;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int ;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int ;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int ;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final int ;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 5000
private final int ;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 10000
private org.apache.fop.traits.MinOptMax ;
descriptor: Lorg/apache/fop/traits/MinOptMax;
flags: (0x0002) ACC_PRIVATE
private int storedPrevBreakIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int storedBreakIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean storedValue;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean autoHeight;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean favorSinglePart;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int ipdDifference;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode bestNodeForIPDChange;
descriptor: Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
flags: (0x0002) ACC_PRIVATE
public org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode bestNodeForLastPage;
descriptor: Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
flags: (0x0001) ACC_PUBLIC
private int currentKeepContext;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode lastBeforeKeepContextSwitch;
descriptor: Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
flags: (0x0002) ACC_PRIVATE
private boolean handlingStartOfFloat;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean handlingEndOfFloat;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int floatHeight;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode bestFloatEdgeNode;
descriptor: Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
flags: (0x0002) ACC_PRIVATE
private org.apache.fop.layoutmgr.AbstractBreaker$FloatPosition floatPosition;
descriptor: Lorg/apache/fop/layoutmgr/AbstractBreaker$FloatPosition;
flags: (0x0002) ACC_PRIVATE
private int ;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int ;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean ;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
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/PageBreakingAlgorithm;
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.PageBreakingAlgorithm.$assertionsDisabled:Z
3: ldc Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
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, boolean, boolean);
descriptor: (Lorg/apache/fop/layoutmgr/LayoutManager;Lorg/apache/fop/layoutmgr/PageProvider;Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$PageBreakingLayoutListener;IILorg/apache/fop/traits/MinOptMax;ZZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=10
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 start local 9 0: aload 0
iload 4
iload 5
iconst_1
iload 7
iconst_0
invokespecial org.apache.fop.layoutmgr.BreakingAlgorithm.<init>:(IIZZI)V
1: aload 0
iconst_m1
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteElementIndex:I
2: aload 0
sipush 5000
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.splitFootnoteDemerits:I
3: aload 0
sipush 10000
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.deferredFootnoteDemerits:I
4: aload 0
iconst_m1
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.storedPrevBreakIndex:I
5: aload 0
iconst_m1
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.storedBreakIndex:I
6: aload 0
bipush 9
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.currentKeepContext:I
7: aload 0
bipush -2
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.previousFootnoteListIndex:I
8: aload 0
bipush -2
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.previousFootnoteElementIndex:I
9: aload 0
aload 1
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.topLevelLM:Lorg/apache/fop/layoutmgr/LayoutManager;
10: aload 0
aload 2
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageProvider:Lorg/apache/fop/layoutmgr/PageProvider;
11: aload 0
aload 3
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.layoutListener:Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$PageBreakingLayoutListener;
12: aload 0
new org.apache.fop.layoutmgr.PageBreakingAlgorithm$BestPageRecords
dup
aload 0
invokespecial org.apache.fop.layoutmgr.PageBreakingAlgorithm$BestPageRecords.<init>:(Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;)V
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.best:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$BestRecords;
13: aload 0
aload 6
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteSeparatorLength:Lorg/apache/fop/traits/MinOptMax;
14: aload 0
iload 8
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.autoHeight:Z
15: aload 0
iload 9
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.favorSinglePart:Z
16: return
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 17 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 17 1 topLevelLM Lorg/apache/fop/layoutmgr/LayoutManager;
0 17 2 pageProvider Lorg/apache/fop/layoutmgr/PageProvider;
0 17 3 layoutListener Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$PageBreakingLayoutListener;
0 17 4 alignment I
0 17 5 alignmentLast I
0 17 6 footnoteSeparatorLength Lorg/apache/fop/traits/MinOptMax;
0 17 7 partOverflowRecovery Z
0 17 8 autoHeight Z
0 17 9 favorSinglePart Z
MethodParameters:
Name Flags
topLevelLM
pageProvider
layoutListener
alignment
alignmentLast
footnoteSeparatorLength
partOverflowRecovery
autoHeight
favorSinglePart
protected void initialize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokespecial org.apache.fop.layoutmgr.BreakingAlgorithm.initialize:()V
1: aload 0
iconst_0
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
2: aload 0
iconst_0
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
3: aload 0
iconst_m1
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteElementIndex:I
4: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.topLevelLM:Lorg/apache/fop/layoutmgr/LayoutManager;
instanceof org.apache.fop.layoutmgr.PageSequenceLayoutManager
ifeq 12
5: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.topLevelLM:Lorg/apache/fop/layoutmgr/LayoutManager;
checkcast org.apache.fop.layoutmgr.PageSequenceLayoutManager
astore 1
start local 1 6: aload 1
invokevirtual org.apache.fop.layoutmgr.PageSequenceLayoutManager.handlingStartOfFloat:()Z
ifne 7
aload 1
invokevirtual org.apache.fop.layoutmgr.PageSequenceLayoutManager.handlingEndOfFloat:()Z
ifeq 8
7: StackMap locals: org.apache.fop.layoutmgr.PageSequenceLayoutManager
StackMap stack:
aload 1
aload 0
invokevirtual org.apache.fop.layoutmgr.PageSequenceLayoutManager.retrieveFootnotes:(Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;)V
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.fop.layoutmgr.PageSequenceLayoutManager.handlingStartOfFloat:()Z
ifeq 10
9: aload 0
aload 1
invokevirtual org.apache.fop.layoutmgr.PageSequenceLayoutManager.getFloatHeight:()I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lineWidth:I
aload 1
invokevirtual org.apache.fop.layoutmgr.PageSequenceLayoutManager.getFloatYOffset:()I
isub
invokestatic java.lang.Math.min:(II)I
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.floatHeight:I
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.fop.layoutmgr.PageSequenceLayoutManager.handlingEndOfFloat:()Z
ifeq 12
11: aload 0
dup
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalWidth:I
aload 1
invokevirtual org.apache.fop.layoutmgr.PageSequenceLayoutManager.getOffsetDueToFloat:()I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
iadd
iadd
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalWidth:I
end local 1 12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
6 12 1 pslm Lorg/apache/fop/layoutmgr/PageSequenceLayoutManager;
protected org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode recoverFromTooLong(org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode);
descriptor: (Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=15, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 7
1: getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Recovering from too long: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
2: getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "\tlastTooShort = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getLastTooShort:()Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
3: getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "\tlastBeforeKeepContextSwitch = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lastBeforeKeepContextSwitch:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
4: getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "\tcurrentKeepContext = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.currentKeepContext:I
invokestatic org.apache.fop.layoutmgr.AbstractBreaker.getBreakClassName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lastBeforeKeepContextSwitch:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
ifnull 9
8: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.currentKeepContext:I
bipush 9
if_icmpne 10
9: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.apache.fop.layoutmgr.BreakingAlgorithm.recoverFromTooLong:(Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
areturn
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lastBeforeKeepContextSwitch:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
astore 2
start local 2 11: aload 0
aconst_null
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lastBeforeKeepContextSwitch:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
12: goto 21
13: StackMap locals: org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode
StackMap stack:
getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
ldc "Adding node for empty column"
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
14: aload 0
15: aload 2
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.position:I
16: aload 2
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
iconst_1
iadd
iconst_1
17: iconst_0
iconst_0
iconst_0
18: dconst_0
iconst_0
iconst_0
19: iconst_0
dconst_0
aload 2
20: invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.createNode:(IIIIIIDIIIDLorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
astore 2
21: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageProvider:Lorg/apache/fop/layoutmgr/PageProvider;
aload 2
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
iconst_1
isub
invokevirtual org.apache.fop.layoutmgr.PageProvider.endPage:(I)Z
ifeq 13
22: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 23 1 lastTooLong Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
11 23 2 node Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
MethodParameters:
Name Flags
lastTooLong
protected org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode compareNodes(org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode, org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode);
descriptor: (Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 2
ifnonnull 4
1: StackMap locals:
StackMap stack:
aload 1
ifnonnull 2
aload 2
goto 3
StackMap locals:
StackMap stack:
2: aload 1
StackMap locals:
StackMap stack: org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode
3: areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageProvider:Lorg/apache/fop/layoutmgr/PageProvider;
ifnull 11
5: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageProvider:Lorg/apache/fop/layoutmgr/PageProvider;
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
iconst_1
isub
invokevirtual org.apache.fop.layoutmgr.PageProvider.endPage:(I)Z
ifeq 8
6: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageProvider:Lorg/apache/fop/layoutmgr/PageProvider;
aload 2
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
iconst_1
isub
invokevirtual org.apache.fop.layoutmgr.PageProvider.endPage:(I)Z
ifne 8
7: aload 1
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageProvider:Lorg/apache/fop/layoutmgr/PageProvider;
aload 2
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
iconst_1
isub
invokevirtual org.apache.fop.layoutmgr.PageProvider.endPage:(I)Z
ifeq 11
9: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageProvider:Lorg/apache/fop/layoutmgr/PageProvider;
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
iconst_1
isub
invokevirtual org.apache.fop.layoutmgr.PageProvider.endPage:(I)Z
ifne 11
10: aload 2
areturn
11: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial org.apache.fop.layoutmgr.BreakingAlgorithm.compareNodes:(Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 12 1 node1 Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
0 12 2 node2 Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
MethodParameters:
Name Flags
node1
node2
protected org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode createNode(int, int, int, int, int, int, double, int, int, int, double, org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode);
descriptor: (IIIIIIDIIIDLorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=21, locals=15, args_size=13
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 9 start local 10 start local 11 start local 12 start local 14 0: new org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
dup
aload 0
iload 1
iload 2
iload 3
1: iload 4
iload 5
iload 6
2: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
3: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteElementIndex:I
4: dload 7
iload 9
iload 10
5: iload 11
dload 12
aload 14
6: invokespecial org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.<init>:(Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;IIIIIIIIIIDIIIDLorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)V
areturn
end local 14 end local 12 end local 11 end local 10 end local 9 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 7 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 7 1 position I
0 7 2 line I
0 7 3 fitness I
0 7 4 totalWidth I
0 7 5 totalStretch I
0 7 6 totalShrink I
0 7 7 adjustRatio D
0 7 9 availableShrink I
0 7 10 availableStretch I
0 7 11 difference I
0 7 12 totalDemerits D
0 7 14 previous Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
MethodParameters:
Name Flags
position
line
fitness
totalWidth
totalStretch
totalShrink
adjustRatio
availableShrink
availableStretch
difference
totalDemerits
previous
protected org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode createNode(int, int, int, int, int, int);
descriptor: (IIIIII)Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=22, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
dup
aload 0
iload 1
iload 2
iload 3
1: iload 4
iload 5
iload 6
2: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.best:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$BestRecords;
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$BestPageRecords
iload 3
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm$BestPageRecords.getInsertedFootnotesLength:(I)I
3: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.best:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$BestRecords;
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$BestPageRecords
iload 3
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm$BestPageRecords.getTotalFootnotesLength:(I)I
4: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.best:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$BestRecords;
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$BestPageRecords
iload 3
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm$BestPageRecords.getFootnoteListIndex:(I)I
5: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.best:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$BestRecords;
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$BestPageRecords
iload 3
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm$BestPageRecords.getFootnoteElementIndex:(I)I
6: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.best:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$BestRecords;
iload 3
invokevirtual org.apache.fop.layoutmgr.BreakingAlgorithm$BestRecords.getAdjust:(I)D
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.best:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$BestRecords;
iload 3
invokevirtual org.apache.fop.layoutmgr.BreakingAlgorithm$BestRecords.getAvailableShrink:(I)I
7: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.best:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$BestRecords;
iload 3
invokevirtual org.apache.fop.layoutmgr.BreakingAlgorithm$BestRecords.getAvailableStretch:(I)I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.best:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$BestRecords;
iload 3
invokevirtual org.apache.fop.layoutmgr.BreakingAlgorithm$BestRecords.getDifference:(I)I
8: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.best:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$BestRecords;
iload 3
invokevirtual org.apache.fop.layoutmgr.BreakingAlgorithm$BestRecords.getDemerits:(I)D
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.best:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$BestRecords;
iload 3
invokevirtual org.apache.fop.layoutmgr.BreakingAlgorithm$BestRecords.getNode:(I)Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
9: invokespecial org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.<init>:(Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;IIIIIIIIIIDIIIDLorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)V
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 10 1 position I
0 10 2 line I
0 10 3 fitness I
0 10 4 totalWidth I
0 10 5 totalStretch I
0 10 6 totalShrink I
MethodParameters:
Name Flags
position
line
fitness
totalWidth
totalStretch
totalShrink
protected void handleBox(org.apache.fop.layoutmgr.KnuthBox);
descriptor: (Lorg/apache/fop/layoutmgr/KnuthBox;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.apache.fop.layoutmgr.BreakingAlgorithm.handleBox:(Lorg/apache/fop/layoutmgr/KnuthBox;)V
1: aload 1
instanceof org.apache.fop.layoutmgr.KnuthBlockBox
ifeq 7
2: aload 1
checkcast org.apache.fop.layoutmgr.KnuthBlockBox
invokevirtual org.apache.fop.layoutmgr.KnuthBlockBox.hasAnchors:()Z
ifeq 7
3: aload 0
aload 1
checkcast org.apache.fop.layoutmgr.KnuthBlockBox
invokevirtual org.apache.fop.layoutmgr.KnuthBlockBox.getElementLists:()Ljava/util/List;
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.handleFootnotes:(Ljava/util/List;)V
4: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.newFootnotes:Z
ifne 7
5: aload 0
iconst_1
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.newFootnotes:Z
6: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.firstNewFootnoteIndex:I
7: StackMap locals:
StackMap stack:
aload 1
instanceof org.apache.fop.layoutmgr.KnuthBlockBox
ifeq 9
aload 1
checkcast org.apache.fop.layoutmgr.KnuthBlockBox
invokevirtual org.apache.fop.layoutmgr.KnuthBlockBox.hasFloatAnchors:()Z
ifeq 9
8: aload 0
iconst_1
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.handlingStartOfFloat:Z
9: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.floatHeight:I
ifeq 11
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalWidth:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.floatHeight:I
if_icmplt 11
10: aload 0
iconst_1
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.handlingEndOfFloat:Z
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 12 1 box Lorg/apache/fop/layoutmgr/KnuthBox;
MethodParameters:
Name Flags
box
protected void handlePenaltyAt(org.apache.fop.layoutmgr.KnuthPenalty, int, int);
descriptor: (Lorg/apache/fop/layoutmgr/KnuthPenalty;II)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokespecial org.apache.fop.layoutmgr.BreakingAlgorithm.handlePenaltyAt:(Lorg/apache/fop/layoutmgr/KnuthPenalty;II)V
1: aload 1
invokevirtual org.apache.fop.layoutmgr.KnuthPenalty.getPenalty:()I
sipush 1000
if_icmpne 6
2: aload 1
invokevirtual org.apache.fop.layoutmgr.KnuthPenalty.getBreakClass:()I
istore 4
start local 4 3: iload 4
bipush 104
if_icmpeq 5
4: iload 4
bipush 28
if_icmpne 6
5: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.considerLegalBreak:(Lorg/apache/fop/layoutmgr/KnuthElement;I)V
end local 4 6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 7 1 penalty Lorg/apache/fop/layoutmgr/KnuthPenalty;
0 7 2 position I
0 7 3 allowedBreaks I
3 6 4 breakClass I
MethodParameters:
Name Flags
penalty
position
allowedBreaks
private void handleFootnotes(java.util.List<java.util.List<org.apache.fop.layoutmgr.KnuthElement>>);
descriptor: (Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesPending:Z
ifne 5
1: aload 0
iconst_1
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesPending:Z
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
3: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lengthList:Ljava/util/List;
4: aload 0
iconst_0
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.newFootnotes:Z
ifne 8
6: aload 0
iconst_1
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.newFootnotes:Z
7: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
invokeinterface java.util.List.size:()I
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.firstNewFootnoteIndex:I
8: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 24
StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm java.util.List top java.util.Iterator
StackMap stack:
9: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 10: iconst_0
istore 4
start local 4 11: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 16
StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm java.util.List java.util.List java.util.Iterator int top java.util.Iterator
StackMap stack:
13: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.fop.layoutmgr.KnuthElement
astore 5
start local 5 14: aload 5
invokevirtual org.apache.fop.layoutmgr.KnuthElement.isBox:()Z
ifne 15
aload 5
invokevirtual org.apache.fop.layoutmgr.KnuthElement.isGlue:()Z
ifeq 16
15: StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm java.util.List java.util.List java.util.Iterator int org.apache.fop.layoutmgr.KnuthElement java.util.Iterator
StackMap stack:
iload 4
aload 5
invokevirtual org.apache.fop.layoutmgr.KnuthElement.getWidth:()I
iadd
istore 4
end local 5 16: StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm java.util.List java.util.List java.util.Iterator int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
17: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lengthList:Ljava/util/List;
ifnull 18
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lengthList:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 19
18: StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm java.util.List java.util.List java.util.Iterator int
StackMap stack:
iconst_0
goto 20
19: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lengthList:Ljava/util/List;
invokestatic org.apache.fop.util.ListUtil.getLast:(Ljava/util/List;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
20: StackMap locals:
StackMap stack: int
istore 5
start local 5 21: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lengthList:Ljava/util/List;
ifnull 23
22: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lengthList:Ljava/util/List;
iload 5
iload 4
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
23: StackMap locals: int
StackMap stack:
aload 0
dup
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
iload 4
iadd
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
end local 5 end local 4 end local 2 24: StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
25: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 26 1 elementLists Ljava/util/List<Ljava/util/List<Lorg/apache/fop/layoutmgr/KnuthElement;>;>;
10 24 2 noteList Ljava/util/List<Lorg/apache/fop/layoutmgr/KnuthElement;>;
11 24 4 noteLength I
14 16 5 element Lorg/apache/fop/layoutmgr/KnuthElement;
21 24 5 prevLength I
Signature: (Ljava/util/List<Ljava/util/List<Lorg/apache/fop/layoutmgr/KnuthElement;>;>;)V
MethodParameters:
Name Flags
elementLists
protected int restartFrom(org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode, int);
descriptor: (Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokespecial org.apache.fop.layoutmgr.BreakingAlgorithm.restartFrom:(Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;I)I
istore 3
start local 3 1: aload 0
iconst_0
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.newFootnotes:Z
2: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesPending:Z
ifeq 17
3: iload 2
istore 4
start local 4 4: goto 10
5: StackMap locals: int int
StackMap stack:
aload 0
iload 4
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getElement:(I)Lorg/apache/fop/layoutmgr/KnuthElement;
astore 5
start local 5 6: aload 5
instanceof org.apache.fop.layoutmgr.KnuthBlockBox
ifeq 9
7: aload 5
checkcast org.apache.fop.layoutmgr.KnuthBlockBox
invokevirtual org.apache.fop.layoutmgr.KnuthBlockBox.hasAnchors:()Z
ifeq 9
8: aload 0
aload 5
checkcast org.apache.fop.layoutmgr.KnuthBlockBox
invokevirtual org.apache.fop.layoutmgr.KnuthBlockBox.getElementLists:()Ljava/util/List;
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.resetFootnotes:(Ljava/util/List;)V
end local 5 9: StackMap locals:
StackMap stack:
iinc 4 -1
StackMap locals:
StackMap stack:
10: iload 4
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.position:I
if_icmpge 5
end local 4 11: getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.$assertionsDisabled:Z
ifne 12
aload 1
instanceof org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
aload 1
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
astore 4
start local 4 13: aload 0
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.footnoteElementIndex:I
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteElementIndex:I
14: aload 0
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.footnoteListIndex:I
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
15: aload 0
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.totalFootnotes:I
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
16: aload 0
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.insertedFootnotes:I
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
end local 4 17: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 18 1 restartingNode Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
0 18 2 currentIndex I
1 18 3 returnValue I
4 11 4 j I
6 9 5 resetElement Lorg/apache/fop/layoutmgr/KnuthElement;
13 17 4 restartingPageNode Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;
MethodParameters:
Name Flags
restartingNode
currentIndex
private void resetFootnotes(java.util.List<java.util.List<org.apache.fop.layoutmgr.KnuthElement>>);
descriptor: (Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
invokestatic org.apache.fop.util.ListUtil.removeLast:(Ljava/util/List;)Ljava/lang/Object;
pop
3: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lengthList:Ljava/util/List;
invokestatic org.apache.fop.util.ListUtil.removeLast:(Ljava/util/List;)Ljava/lang/Object;
pop
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 1
invokeinterface java.util.List.size:()I
if_icmplt 2
end local 2 6: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
invokeinterface java.util.List.size:()I
ifne 8
7: aload 0
iconst_0
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesPending:Z
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 9 1 elementLists Ljava/util/List<Ljava/util/List<Lorg/apache/fop/layoutmgr/KnuthElement;>;>;
1 6 2 i I
Signature: (Ljava/util/List<Ljava/util/List<Lorg/apache/fop/layoutmgr/KnuthElement;>;>;)V
MethodParameters:
Name Flags
elementLists
protected void considerLegalBreak(org.apache.fop.layoutmgr.KnuthElement, int);
descriptor: (Lorg/apache/fop/layoutmgr/KnuthElement;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.apache.fop.layoutmgr.KnuthElement.isPenalty:()Z
ifeq 12
1: aload 1
checkcast org.apache.fop.layoutmgr.KnuthPenalty
invokevirtual org.apache.fop.layoutmgr.KnuthPenalty.getBreakClass:()I
istore 3
start local 3 2: iload 3
lookupswitch { // 3
9: 11
28: 7
104: 3
default: 12
}
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.currentKeepContext:I
iload 3
if_icmpeq 5
4: aload 0
aload 0
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getLastTooShort:()Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lastBeforeKeepContextSwitch:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
5: StackMap locals:
StackMap stack:
aload 0
iload 3
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.currentKeepContext:I
6: goto 12
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.currentKeepContext:I
iload 3
if_icmpeq 9
8: aload 0
aload 0
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getLastTooShort:()Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lastBeforeKeepContextSwitch:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
9: StackMap locals:
StackMap stack:
aload 0
iload 3
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.currentKeepContext:I
10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
iload 3
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.currentKeepContext:I
end local 3 12: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokespecial org.apache.fop.layoutmgr.BreakingAlgorithm.considerLegalBreak:(Lorg/apache/fop/layoutmgr/KnuthElement;I)V
13: aload 0
iconst_0
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.newFootnotes:Z
14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 15 1 element Lorg/apache/fop/layoutmgr/KnuthElement;
0 15 2 elementIdx I
2 12 3 breakClass I
MethodParameters:
Name Flags
element
elementIdx
protected boolean elementCanEndLine(org.apache.fop.layoutmgr.KnuthElement, int, int);
descriptor: (Lorg/apache/fop/layoutmgr/KnuthElement;II)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.apache.fop.layoutmgr.KnuthElement.isPenalty:()Z
ifeq 1
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageProvider:Lorg/apache/fop/layoutmgr/PageProvider;
ifnonnull 2
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast org.apache.fop.layoutmgr.KnuthPenalty
astore 4
start local 4 3: aload 4
invokevirtual org.apache.fop.layoutmgr.KnuthPenalty.getPenalty:()I
ifgt 5
4: iconst_1
ireturn
5: StackMap locals: org.apache.fop.layoutmgr.KnuthPenalty
StackMap stack:
aload 4
invokevirtual org.apache.fop.layoutmgr.KnuthPenalty.getBreakClass:()I
istore 5
start local 5 6: iload 5
lookupswitch { // 4
9: 13
28: 7
75: 7
104: 9
default: 15
}
7: StackMap locals: int
StackMap stack:
aload 4
invokevirtual org.apache.fop.layoutmgr.KnuthPenalty.getPenalty:()I
sipush 1000
if_icmpge 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.apache.fop.layoutmgr.KnuthPenalty.getPenalty:()I
sipush 1000
if_icmplt 12
10: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageProvider:Lorg/apache/fop/layoutmgr/PageProvider;
iload 2
iconst_1
isub
invokevirtual org.apache.fop.layoutmgr.PageProvider.endPage:(I)Z
ifeq 12
11: iconst_0
ireturn
StackMap locals:
StackMap stack:
12: iconst_1
ireturn
13: StackMap locals:
StackMap stack:
getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
ldc "keep is not auto but context is"
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
14: iconst_1
ireturn
15: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.apache.fop.layoutmgr.KnuthPenalty.getPenalty:()I
sipush 1000
if_icmpge 18
16: getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Non recognized keep context:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
17: iconst_1
ireturn
18: StackMap locals:
StackMap stack:
iconst_0
ireturn
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 19 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 19 1 element Lorg/apache/fop/layoutmgr/KnuthElement;
0 19 2 line I
0 19 3 difference I
3 19 4 p Lorg/apache/fop/layoutmgr/KnuthPenalty;
6 19 5 context I
MethodParameters:
Name Flags
element
line
difference
protected int computeDifference(org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode, org.apache.fop.layoutmgr.KnuthElement, int);
descriptor: (Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;Lorg/apache/fop/layoutmgr/KnuthElement;I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
astore 4
start local 4 1: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalWidth:I
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.totalWidth:I
isub
istore 5
start local 5 2: iload 5
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.totalVariantsWidth:I
iadd
istore 5
3: aload 2
instanceof org.apache.fop.layoutmgr.WhitespaceManagementPenalty
ifeq 8
4: iload 5
aload 0
aload 4
5: aload 2
checkcast org.apache.fop.layoutmgr.WhitespaceManagementPenalty
iload 3
6: invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.handleWhitespaceManagementPenalty:(Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;Lorg/apache/fop/layoutmgr/WhitespaceManagementPenalty;I)I
iadd
istore 5
7: goto 10
StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode int
StackMap stack:
8: aload 2
invokevirtual org.apache.fop.layoutmgr.KnuthElement.isPenalty:()Z
ifeq 10
9: iload 5
aload 2
invokevirtual org.apache.fop.layoutmgr.KnuthElement.getWidth:()I
iadd
istore 5
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesPending:Z
ifeq 41
11: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.insertedFootnotes:I
isub
istore 8
start local 8 12: iload 8
ifle 41
13: iload 5
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteSeparatorLength:Lorg/apache/fop/traits/MinOptMax;
invokevirtual org.apache.fop.traits.MinOptMax.getOpt:()I
iadd
istore 5
14: iload 5
iload 8
iadd
aload 0
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getLineWidth:(I)I
if_icmpgt 22
15: iload 5
iload 8
iadd
istore 5
16: aload 0
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.insertedFootnotes:I
iload 8
iadd
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
17: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
18: aload 0
19: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFootnoteList:(I)Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
20: putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteElementIndex:I
21: goto 41
StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode org.apache.fop.layoutmgr.KnuthElement int org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode int top top int
StackMap stack:
22: aload 0
23: aload 4
iload 3
24: invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.canDeferOldFootnotes:(Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;I)Z
dup
istore 7
start local 7 25: ifne 27
26: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.newFootnotes:Z
ifeq 35
27: StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode org.apache.fop.layoutmgr.KnuthElement int org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode int top int int
StackMap stack:
aload 0
28: aload 4
aload 0
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getLineWidth:(I)I
iload 5
isub
29: iload 7
30: invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFootnoteSplit:(Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;IZ)I
dup
istore 6
start local 6 31: ifle 35
32: iload 5
iload 6
iadd
istore 5
33: aload 0
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.insertedFootnotes:I
iload 6
iadd
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
34: goto 41
end local 6 35: StackMap locals:
StackMap stack:
iload 5
iload 8
iadd
istore 5
36: aload 0
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.insertedFootnotes:I
iload 8
iadd
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
37: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
38: aload 0
39: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFootnoteList:(I)Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
40: putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteElementIndex:I
end local 8 end local 7 41: StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode org.apache.fop.layoutmgr.KnuthElement int org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode int
StackMap stack:
aload 0
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getLineWidth:(I)I
iload 5
isub
istore 8
start local 8 42: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.autoHeight:Z
ifeq 44
iload 8
ifge 44
43: iconst_0
ireturn
44: StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode org.apache.fop.layoutmgr.KnuthElement int org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode int top top int
StackMap stack:
iload 8
ireturn
end local 8 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 45 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 45 1 activeNode Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
0 45 2 element Lorg/apache/fop/layoutmgr/KnuthElement;
0 45 3 elementIndex I
1 45 4 pageNode Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;
2 45 5 actualWidth I
31 35 6 footnoteSplit I
25 41 7 canDeferOldFN Z
12 41 8 allFootnotes I
42 45 8 diff I
MethodParameters:
Name Flags
activeNode
element
elementIndex
private int handleWhitespaceManagementPenalty(org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode, org.apache.fop.layoutmgr.WhitespaceManagementPenalty, int);
descriptor: (Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;Lorg/apache/fop/layoutmgr/WhitespaceManagementPenalty;I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.apache.fop.layoutmgr.WhitespaceManagementPenalty.getVariants:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode org.apache.fop.layoutmgr.WhitespaceManagementPenalty int top java.util.Iterator
StackMap stack:
1: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.fop.layoutmgr.WhitespaceManagementPenalty$Variant
astore 4
start local 4 2: aload 0
aload 1
aload 4
invokevirtual org.apache.fop.layoutmgr.WhitespaceManagementPenalty$Variant.getPenalty:()Lorg/apache/fop/layoutmgr/KnuthElement;
iload 3
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.computeDifference:(Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;Lorg/apache/fop/layoutmgr/KnuthElement;I)I
istore 6
start local 6 3: aload 0
aload 1
iload 6
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.computeAdjustmentRatio:(Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;I)D
dstore 7
start local 7 4: dload 7
ldc -1.0
dcmpl
iflt 7
5: aload 1
aload 4
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.addVariant:(Lorg/apache/fop/layoutmgr/WhitespaceManagementPenalty$Variant;)V
6: aload 4
getfield org.apache.fop.layoutmgr.WhitespaceManagementPenalty$Variant.width:I
ireturn
end local 7 end local 6 end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
8: iconst_0
ireturn
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/PageBreakingAlgorithm;
0 9 1 activeNode Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;
0 9 2 penalty Lorg/apache/fop/layoutmgr/WhitespaceManagementPenalty;
0 9 3 elementIndex I
2 7 4 var Lorg/apache/fop/layoutmgr/WhitespaceManagementPenalty$Variant;
3 7 6 difference I
4 7 7 r D
MethodParameters:
Name Flags
activeNode
penalty
elementIndex
private boolean canDeferOldFootnotes(org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode, int);
descriptor: (Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.position:I
iload 2
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.noBreakBetween:(II)Z
ifeq 6
1: aload 0
aload 1
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.footnoteListIndex:I
2: aload 1
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.footnoteElementIndex:I
aload 1
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.insertedFootnotes:I
3: invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.deferredFootnotes:(III)Z
4: ifeq 6
5: iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 7 1 node Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;
0 7 2 contentElementIndex I
MethodParameters:
Name Flags
node
contentElementIndex
private boolean noBreakBetween(int, int);
descriptor: (II)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.storedPrevBreakIndex:I
iconst_m1
if_icmpeq 7
1: iload 1
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.storedPrevBreakIndex:I
if_icmplt 4
2: iload 2
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.storedBreakIndex:I
if_icmpne 4
3: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.storedValue:Z
ifne 27
4: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.storedPrevBreakIndex:I
if_icmpgt 7
5: iload 2
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.storedBreakIndex:I
if_icmplt 7
6: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.storedValue:Z
ifeq 27
7: StackMap locals:
StackMap stack:
iload 1
iconst_1
iadd
istore 3
start local 3 8: goto 10
9: StackMap locals: int
StackMap stack:
iinc 3 1
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
iload 3
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.getElement:(I)Lorg/apache/fop/layoutmgr/ListElement;
invokevirtual org.apache.fop.layoutmgr.ListElement.isBox:()Z
ifeq 9
11: goto 20
12: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
iload 3
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.getElement:(I)Lorg/apache/fop/layoutmgr/ListElement;
invokevirtual org.apache.fop.layoutmgr.ListElement.isGlue:()Z
ifeq 13
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
iload 3
iconst_1
isub
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.getElement:(I)Lorg/apache/fop/layoutmgr/ListElement;
invokevirtual org.apache.fop.layoutmgr.ListElement.isBox:()Z
ifne 22
13: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
iload 3
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.getElement:(I)Lorg/apache/fop/layoutmgr/ListElement;
invokevirtual org.apache.fop.layoutmgr.ListElement.isPenalty:()Z
ifeq 19
14: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
15: iload 3
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.getElement:(I)Lorg/apache/fop/layoutmgr/ListElement;
16: checkcast org.apache.fop.layoutmgr.KnuthElement
17: invokevirtual org.apache.fop.layoutmgr.KnuthElement.getPenalty:()I
sipush 1000
if_icmpge 19
18: goto 22
19: StackMap locals:
StackMap stack:
iinc 3 1
20: StackMap locals:
StackMap stack:
iload 3
iload 2
21: if_icmplt 12
22: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.storedPrevBreakIndex:I
23: aload 0
iload 2
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.storedBreakIndex:I
24: aload 0
iload 3
iload 2
if_icmpne 25
iconst_1
goto 26
StackMap locals:
StackMap stack: org.apache.fop.layoutmgr.PageBreakingAlgorithm
25: iconst_0
StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm int int int
StackMap stack: org.apache.fop.layoutmgr.PageBreakingAlgorithm int
26: putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.storedValue:Z
end local 3 27: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.storedValue:Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 28 1 prevBreakIndex I
0 28 2 breakIndex I
8 27 3 index I
MethodParameters:
Name Flags
prevBreakIndex
breakIndex
private boolean (int, int, int);
descriptor: (III)Z
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 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.newFootnotes:Z
ifeq 4
1: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.firstNewFootnoteIndex:I
ifeq 4
2: iload 1
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.firstNewFootnoteIndex:I
iconst_1
isub
if_icmplt 6
3: iload 2
aload 0
iload 1
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFootnoteList:(I)Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
if_icmplt 6
4: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
5: if_icmplt 6
iconst_0
ireturn
StackMap locals:
StackMap stack:
6: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 7 1 listIndex I
0 7 2 elementIndex I
0 7 3 length I
MethodParameters:
Name Flags
listIndex
elementIndex
length
private int (org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode, int, boolean);
descriptor: (Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;IZ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.footnoteListIndex:I
1: aload 1
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.footnoteElementIndex:I
2: aload 1
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.insertedFootnotes:I
3: iload 2
iload 3
4: invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFootnoteSplit:(IIIIZ)I
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/PageBreakingAlgorithm;
0 5 1 activeNode Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;
0 5 2 availableLength I
0 5 3 canDeferOldFootnotes Z
MethodParameters:
Name Flags
activeNode
availableLength
canDeferOldFootnotes
private int (int, int, int, int, boolean);
descriptor: (IIIIZ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 4
ifgt 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 3: iconst_0
istore 9
start local 9 4: iload 1
istore 10
start local 10 5: iload 2
istore 11
start local 11 6: iload 11
aload 0
iload 10
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFootnoteList:(I)Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
if_icmpne 10
7: iinc 10 1
8: iconst_0
istore 11
9: goto 11
10: StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm int int int int int int top top int int int
StackMap stack:
iinc 11 1
11: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
iload 10
if_icmple 24
12: iload 5
ifne 21
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.newFootnotes:Z
ifeq 21
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.firstNewFootnoteIndex:I
ifle 21
13: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lengthList:Ljava/util/List;
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.firstNewFootnoteIndex:I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iload 3
isub
istore 6
14: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.firstNewFootnoteIndex:I
istore 10
15: iconst_0
istore 11
16: goto 21
17: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lengthList:Ljava/util/List;
iload 10
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iload 3
isub
istore 6
18: iconst_1
istore 9
19: iinc 10 1
20: iconst_0
istore 11
21: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lengthList:Ljava/util/List;
iload 10
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iload 3
isub
22: iload 4
23: if_icmple 17
24: StackMap locals:
StackMap stack:
aload 0
iload 10
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFootnoteList:(I)Ljava/util/List;
iload 11
invokeinterface java.util.List.listIterator:(I)Ljava/util/ListIterator;
astore 7
start local 7 25: iconst_0
istore 12
start local 12 26: iconst_m1
istore 13
start local 13 27: iconst_m1
istore 14
start local 14 28: goto 53
29: StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm int int int int int int java.util.ListIterator top int int int int int int
StackMap stack:
iload 9
ifeq 32
30: iload 6
istore 12
31: iload 14
istore 13
32: StackMap locals:
StackMap stack:
iconst_0
istore 15
start local 15 33: goto 52
34: StackMap locals: int
StackMap stack:
aload 7
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast org.apache.fop.layoutmgr.KnuthElement
astore 8
start local 8 35: aload 8
invokevirtual org.apache.fop.layoutmgr.KnuthElement.isBox:()Z
ifeq 41
36: iload 6
aload 8
invokevirtual org.apache.fop.layoutmgr.KnuthElement.getWidth:()I
iadd
istore 6
37: iconst_1
istore 15
38: iload 6
iload 12
if_icmple 52
39: iconst_1
istore 9
40: goto 52
StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm int int int int int int java.util.ListIterator org.apache.fop.layoutmgr.KnuthElement int int int int int int int
StackMap stack:
41: aload 8
invokevirtual org.apache.fop.layoutmgr.KnuthElement.isGlue:()Z
ifeq 48
42: iload 15
ifeq 45
43: aload 7
invokeinterface java.util.ListIterator.previousIndex:()I
istore 14
44: goto 53
45: StackMap locals:
StackMap stack:
iconst_0
istore 15
46: iload 6
aload 8
invokevirtual org.apache.fop.layoutmgr.KnuthElement.getWidth:()I
iadd
istore 6
47: goto 52
48: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.apache.fop.layoutmgr.KnuthElement.getPenalty:()I
sipush 1000
if_icmpge 51
49: aload 7
invokeinterface java.util.ListIterator.previousIndex:()I
istore 14
50: goto 53
51: StackMap locals:
StackMap stack:
iconst_0
istore 15
end local 8 52: StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm int int int int int int java.util.ListIterator top int int int int int int int
StackMap stack:
aload 7
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 34
end local 15 53: StackMap locals:
StackMap stack:
iload 6
iload 4
if_icmple 29
54: iload 9
ifne 57
55: iconst_0
istore 12
56: goto 65
StackMap locals:
StackMap stack:
57: iload 12
ifle 65
58: aload 0
iload 13
iconst_m1
if_icmpeq 59
iload 10
goto 60
StackMap locals:
StackMap stack: org.apache.fop.layoutmgr.PageBreakingAlgorithm
59: iload 10
iconst_1
isub
StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm int int int int int int java.util.ListIterator top int int int int int int
StackMap stack: org.apache.fop.layoutmgr.PageBreakingAlgorithm int
60: putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
61: aload 0
iload 13
iconst_m1
if_icmpeq 63
62: iload 13
goto 64
63: StackMap locals:
StackMap stack: org.apache.fop.layoutmgr.PageBreakingAlgorithm
aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFootnoteList:(I)Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
64: StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm int int int int int int java.util.ListIterator top int int int int int int
StackMap stack: org.apache.fop.layoutmgr.PageBreakingAlgorithm int
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteElementIndex:I
65: StackMap locals:
StackMap stack:
iload 12
ireturn
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 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 66 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 66 1 prevListIndex I
0 66 2 prevElementIndex I
0 66 3 prevLength I
0 66 4 availableLength I
0 66 5 canDeferOldFootnotes Z
3 66 6 splitLength I
25 66 7 noteListIterator Ljava/util/ListIterator<Lorg/apache/fop/layoutmgr/KnuthElement;>;
35 52 8 element Lorg/apache/fop/layoutmgr/KnuthElement;
4 66 9 somethingAdded Z
5 66 10 listIndex I
6 66 11 elementIndex I
26 66 12 prevSplitLength I
27 66 13 prevIndex I
28 66 14 index I
33 53 15 boxPreceding Z
MethodParameters:
Name Flags
prevListIndex
prevElementIndex
prevLength
availableLength
canDeferOldFootnotes
protected double computeAdjustmentRatio(org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode, int);
descriptor: (Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;I)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifle 7
1: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalStretch:I
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.totalStretch:I
isub
istore 3
start local 3 2: aload 1
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.insertedFootnotes:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
if_icmpge 4
3: iload 3
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteSeparatorLength:Lorg/apache/fop/traits/MinOptMax;
invokevirtual org.apache.fop.traits.MinOptMax.getStretch:()I
iadd
istore 3
4: StackMap locals: int
StackMap stack:
iload 3
ifle 6
5: iload 2
i2d
iload 3
i2d
ddiv
dreturn
6: StackMap locals:
StackMap stack:
ldc 1000.0
dreturn
end local 3 7: StackMap locals:
StackMap stack:
iload 2
ifge 14
8: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalShrink:I
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.totalShrink:I
isub
istore 3
start local 3 9: aload 1
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.insertedFootnotes:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
if_icmpge 11
10: iload 3
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteSeparatorLength:Lorg/apache/fop/traits/MinOptMax;
invokevirtual org.apache.fop.traits.MinOptMax.getShrink:()I
iadd
istore 3
11: StackMap locals: int
StackMap stack:
iload 3
ifle 13
12: iload 2
i2d
iload 3
i2d
ddiv
dreturn
13: StackMap locals:
StackMap stack:
ldc -1000.0
dreturn
end local 3 14: StackMap locals:
StackMap stack:
dconst_0
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 15 1 activeNode Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
0 15 2 difference I
2 7 3 maxAdjustment I
9 14 3 maxAdjustment I
MethodParameters:
Name Flags
activeNode
difference
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=6, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: dconst_0
dstore 6
start local 6 1: dload 4
invokestatic java.lang.Math.abs:(D)D
dstore 8
start local 8 2: dconst_1
ldc 100.0
dload 8
dmul
dload 8
dmul
dload 8
dmul
dadd
dstore 8
3: aload 2
invokevirtual org.apache.fop.layoutmgr.KnuthElement.isPenalty:()Z
ifeq 14
4: aload 2
invokevirtual org.apache.fop.layoutmgr.KnuthElement.getPenalty:()I
i2d
dstore 10
start local 10 5: dload 10
dconst_0
dcmpl
iflt 9
6: dload 8
dload 10
dadd
dstore 8
7: dload 8
dload 8
dmul
dstore 6
8: goto 15
StackMap locals: double double double
StackMap stack:
9: aload 2
invokevirtual org.apache.fop.layoutmgr.KnuthElement.isForcedBreak:()Z
ifne 12
10: dload 8
dload 8
dmul
dload 10
dload 10
dmul
dsub
dstore 6
11: goto 15
12: StackMap locals:
StackMap stack:
dload 8
dload 8
dmul
dstore 6
end local 10 13: goto 15
14: StackMap locals:
StackMap stack:
dload 8
dload 8
dmul
dstore 6
15: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.fop.layoutmgr.KnuthElement.isPenalty:()Z
ifeq 19
aload 2
checkcast org.apache.fop.layoutmgr.KnuthPenalty
invokevirtual org.apache.fop.layoutmgr.KnuthPenalty.isPenaltyFlagged:()Z
ifeq 19
16: aload 0
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.position:I
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getElement:(I)Lorg/apache/fop/layoutmgr/KnuthElement;
invokevirtual org.apache.fop.layoutmgr.KnuthElement.isPenalty:()Z
ifeq 19
17: aload 0
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.position:I
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getElement:(I)Lorg/apache/fop/layoutmgr/KnuthElement;
checkcast org.apache.fop.layoutmgr.KnuthPenalty
invokevirtual org.apache.fop.layoutmgr.KnuthPenalty.isPenaltyFlagged:()Z
ifeq 19
18: dload 6
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.repeatedFlaggedDemerit:I
i2d
dadd
dstore 6
19: StackMap locals:
StackMap stack:
iload 3
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.fitness:I
isub
invokestatic java.lang.Math.abs:(I)I
iconst_1
if_icmple 21
20: dload 6
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.incompatibleFitnessDemerit:I
i2d
dadd
dstore 6
21: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesPending:Z
ifeq 30
22: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
if_icmpge 26
23: dload 6
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
isub
24: sipush 10000
25: imul
i2d
dadd
dstore 6
26: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmpge 30
27: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteElementIndex:I
28: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFootnoteList:(I)Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
if_icmpge 30
29: dload 6
ldc 5000.0
dadd
dstore 6
30: StackMap locals:
StackMap stack:
dload 6
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.totalDemerits:D
dadd
dstore 6
31: dload 6
dreturn
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 32 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 32 1 activeNode Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
0 32 2 element Lorg/apache/fop/layoutmgr/KnuthElement;
0 32 3 fitnessClass I
0 32 4 r D
1 32 6 demerits D
2 32 8 f D
5 13 10 penalty D
MethodParameters:
Name Flags
activeNode
element
fitnessClass
r
protected void finish();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.startLine:I
istore 1
start local 1 1: goto 9
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getNode:(I)Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
astore 2
start local 2 3: goto 7
4: StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
StackMap stack:
aload 2
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.insertedFootnotes:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
if_icmpge 6
5: aload 0
aload 2
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.createFootnotePages:(Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;)V
6: StackMap locals:
StackMap stack:
aload 2
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.next:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
astore 2
7: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
end local 2 8: iinc 1 1
StackMap locals:
StackMap stack:
9: iload 1
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.endLine:I
if_icmplt 2
end local 1 10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
1 10 1 i I
3 8 2 node Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;
private void (org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode);
descriptor: (Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=15, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.insertedFootnotes:I
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
1: aload 0
aload 1
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.footnoteListIndex:I
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
2: aload 0
aload 1
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.footnoteElementIndex:I
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteElementIndex:I
3: aload 0
aload 1
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.line:I
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getLineWidth:(I)I
istore 2
start local 2 4: iconst_0
istore 3
start local 3 5: aload 1
astore 4
start local 4 6: goto 30
7: StackMap locals: int int org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
isub
iload 2
if_icmpgt 12
8: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
9: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lengthList:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
10: aload 0
aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFootnoteList:(I)Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteElementIndex:I
11: goto 30
StackMap locals:
StackMap stack:
12: aload 0
13: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteElementIndex:I
14: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
iload 2
iconst_1
15: invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFootnoteSplit:(IIIIZ)I
dup
istore 3
ifle 19
16: iload 2
iload 3
isub
istore 2
17: aload 0
dup
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
iload 3
iadd
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
18: goto 30
19: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.position:I
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.line:I
iconst_1
iadd
iconst_1
20: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.insertedFootnotes:I
isub
21: iconst_0
iconst_0
22: dconst_0
iconst_0
iconst_0
23: iconst_0
dconst_0
aload 4
24: invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.createNode:(IIIIIIDIIIDLorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
25: checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
astore 5
start local 5 26: aload 0
aload 5
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.line:I
aload 5
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.addNode:(ILorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)V
27: aload 0
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.line:I
aload 4
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.removeNode:(ILorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)V
28: aload 5
astore 4
29: aload 0
aload 5
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.line:I
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getLineWidth:(I)I
istore 2
end local 5 30: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
if_icmplt 7
31: aload 0
aload 1
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.position:I
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.line:I
iconst_1
iadd
iconst_1
32: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.insertedFootnotes:I
isub
iconst_0
iconst_0
33: dconst_0
iconst_0
iconst_0
34: iconst_0
dconst_0
aload 4
35: invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.createNode:(IIIIIIDIIIDLorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
36: checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
astore 5
start local 5 37: aload 0
aload 5
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.line:I
aload 5
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.addNode:(ILorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)V
38: aload 0
aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.line:I
aload 4
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.removeNode:(ILorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)V
39: 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 40 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 40 1 lastNode Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;
4 40 2 availableBPD I
5 40 3 split I
6 40 4 prevNode Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;
26 30 5 node Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;
37 40 5 node Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;
MethodParameters:
Name Flags
lastNode
public java.util.LinkedList<org.apache.fop.layoutmgr.AbstractBreaker$PageBreakPosition> getPageBreaks();
descriptor: ()Ljava/util/LinkedList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageBreaks:Ljava/util/LinkedList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
Signature: ()Ljava/util/LinkedList<Lorg/apache/fop/layoutmgr/AbstractBreaker$PageBreakPosition;>;
public void insertPageBreakAsFirst(org.apache.fop.layoutmgr.AbstractBreaker$PageBreakPosition);
descriptor: (Lorg/apache/fop/layoutmgr/AbstractBreaker$PageBreakPosition;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageBreaks:Ljava/util/LinkedList;
ifnonnull 2
1: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageBreaks:Ljava/util/LinkedList;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageBreaks:Ljava/util/LinkedList;
aload 1
invokevirtual java.util.LinkedList.addFirst:(Ljava/lang/Object;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 4 1 pageBreak Lorg/apache/fop/layoutmgr/AbstractBreaker$PageBreakPosition;
MethodParameters:
Name Flags
pageBreak
public void removeAllPageBreaks();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageBreaks:Ljava/util/LinkedList;
ifnull 1
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageBreaks:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageBreaks:Ljava/util/LinkedList;
iconst_0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageBreaks:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
iconst_1
isub
invokevirtual java.util.LinkedList.subList:(II)Ljava/util/List;
invokeinterface java.util.List.clear:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
public void updateData1(int, double);
descriptor: (ID)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=4, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 1 1 total I
0 1 2 demerits D
MethodParameters:
Name Flags
total
demerits
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: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
astore 4
start local 4 1: aload 4
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.previous:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
astore 5
start local 5 2: aload 5
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.pendingVariants:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 7
StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode org.apache.fop.layoutmgr.KnuthSequence int org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode top java.util.Iterator
StackMap stack:
3: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.fop.layoutmgr.WhitespaceManagementPenalty$Variant
astore 6
start local 6 4: aload 6
invokevirtual org.apache.fop.layoutmgr.WhitespaceManagementPenalty$Variant.getWhitespaceManagementPenalty:()Lorg/apache/fop/layoutmgr/WhitespaceManagementPenalty;
astore 8
start local 8 5: aload 8
invokevirtual org.apache.fop.layoutmgr.WhitespaceManagementPenalty.hasActiveVariant:()Z
ifne 7
6: aload 8
aload 6
invokevirtual org.apache.fop.layoutmgr.WhitespaceManagementPenalty.setActiveVariant:(Lorg/apache/fop/layoutmgr/WhitespaceManagementPenalty$Variant;)V
end local 8 end local 6 7: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.difference:I
istore 6
start local 6 9: iload 6
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.availableShrink:I
iadd
ifge 13
10: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.autoHeight:Z
ifne 13
11: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.layoutListener:Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$PageBreakingLayoutListener;
ifnull 13
12: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.layoutListener:Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$PageBreakingLayoutListener;
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
iconst_1
isub
iload 6
ineg
aload 0
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFObj:()Lorg/apache/fop/fo/FObj;
invokeinterface org.apache.fop.layoutmgr.PageBreakingAlgorithm$PageBreakingLayoutListener.notifyOverflow:(IILorg/apache/fop/fo/FObj;)V
13: StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode org.apache.fop.layoutmgr.KnuthSequence int org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode int
StackMap stack:
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
iload 3
if_icmpge 14
iconst_1
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 7
start local 7 16: iload 7
ifeq 17
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.alignment:I
goto 18
StackMap locals: int
StackMap stack:
17: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.alignmentLast:I
StackMap locals:
StackMap stack: int
18: istore 8
start local 8 19: aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.adjustRatio:D
dstore 9
start local 9 20: dload 9
dconst_0
dcmpg
ifge 23
21: iconst_0
istore 6
22: goto 34
StackMap locals: int double
StackMap stack:
23: dload 9
dconst_1
dcmpg
ifgt 26
iload 7
ifeq 26
24: iconst_0
istore 6
25: goto 34
StackMap locals:
StackMap stack:
26: dload 9
dconst_1
dcmpl
ifle 30
27: dconst_1
dstore 9
28: iload 6
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.availableStretch:I
isub
istore 6
29: goto 34
30: StackMap locals:
StackMap stack:
iload 8
bipush 70
if_icmpeq 33
31: dconst_0
dstore 9
32: goto 34
33: StackMap locals:
StackMap stack:
iconst_0
istore 6
34: StackMap locals:
StackMap stack:
getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 38
35: getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "BBA> difference="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ratio="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
dload 9
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
36: ldc " position="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.position:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
37: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
38: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.handlingFloat:()Z
ifeq 41
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.floatPosition:Lorg/apache/fop/layoutmgr/AbstractBreaker$FloatPosition;
ifnonnull 41
39: aload 0
new org.apache.fop.layoutmgr.AbstractBreaker$FloatPosition
dup
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.topLevelLM:Lorg/apache/fop/layoutmgr/LayoutManager;
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.position:I
dload 9
iload 6
invokespecial org.apache.fop.layoutmgr.AbstractBreaker$FloatPosition.<init>:(Lorg/apache/fop/layoutmgr/LayoutManager;IDI)V
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.floatPosition:Lorg/apache/fop/layoutmgr/AbstractBreaker$FloatPosition;
40: goto 63
41: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.relayingFootnotes:Z
ifeq 42
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.previous:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.position:I
ifne 42
iconst_1
goto 43
StackMap locals:
StackMap stack:
42: iconst_0
StackMap locals:
StackMap stack: int
43: istore 11
start local 11 44: iload 11
ifeq 45
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.previousFootnoteListIndex:I
goto 46
45: StackMap locals: int
StackMap stack:
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.previous:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.footnoteListIndex:I
46: StackMap locals:
StackMap stack: int
istore 12
start local 12 47: iload 11
ifeq 48
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.previousFootnoteElementIndex:I
goto 49
48: StackMap locals: int
StackMap stack:
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.previous:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.footnoteElementIndex:I
49: StackMap locals:
StackMap stack: int
istore 13
start local 13 50: iload 11
ifeq 54
51: aload 0
bipush -2
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.previousFootnoteListIndex:I
52: aload 0
bipush -2
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.previousFootnoteElementIndex:I
53: aload 0
iconst_0
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.relayingFootnotes:Z
54: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
ifnull 58
iload 13
aload 0
iload 12
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFootnoteList:(I)Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
if_icmpne 58
55: iinc 12 1
56: iconst_0
istore 13
57: goto 59
58: StackMap locals:
StackMap stack:
iinc 13 1
59: StackMap locals:
StackMap stack:
aload 0
new org.apache.fop.layoutmgr.AbstractBreaker$PageBreakPosition
dup
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.topLevelLM:Lorg/apache/fop/layoutmgr/LayoutManager;
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.position:I
60: iload 12
iload 13
aload 1
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.footnoteListIndex:I
61: aload 1
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.footnoteElementIndex:I
dload 9
iload 6
invokespecial org.apache.fop.layoutmgr.AbstractBreaker$PageBreakPosition.<init>:(Lorg/apache/fop/layoutmgr/LayoutManager;IIIIIDI)V
62: invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertPageBreakAsFirst:(Lorg/apache/fop/layoutmgr/AbstractBreaker$PageBreakPosition;)V
end local 13 end local 12 end local 11 63: StackMap locals:
StackMap stack:
return
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 64 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 64 1 bestActiveNode Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
0 64 2 sequence Lorg/apache/fop/layoutmgr/KnuthSequence;
0 64 3 total I
1 64 4 pageNode Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;
2 64 5 previousPageNode Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm$KnuthPageNode;
4 7 6 var Lorg/apache/fop/layoutmgr/WhitespaceManagementPenalty$Variant;
5 7 8 penalty Lorg/apache/fop/layoutmgr/WhitespaceManagementPenalty;
9 64 6 difference I
16 64 7 isNonLastPage Z
19 64 8 blockAlignment I
20 64 9 ratio D
44 63 11 useRelayedFootnotes Z
47 63 12 firstListIndex I
50 63 13 firstElementIndex I
MethodParameters:
Name Flags
bestActiveNode
sequence
total
protected int filterActiveNodes();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.startLine:I
istore 2
start local 2 2: goto 15
3: StackMap locals: org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode int
StackMap stack:
aload 0
iload 2
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getNode:(I)Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
astore 3
start local 3 4: goto 13
5: StackMap locals: org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.favorSinglePart:Z
ifeq 9
6: aload 3
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
iconst_1
if_icmple 9
7: aload 1
ifnull 9
8: aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.difference:I
invokestatic java.lang.Math.abs:(I)I
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.availableShrink:I
if_icmplt 10
9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.compareNodes:(Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
astore 1
10: StackMap locals:
StackMap stack:
aload 3
aload 1
if_acmpeq 12
11: aload 0
iload 2
aload 3
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.removeNode:(ILorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)V
12: StackMap locals:
StackMap stack:
aload 3
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.next:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
astore 3
StackMap locals:
StackMap stack:
13: aload 3
ifnonnull 5
end local 3 14: iinc 2 1
StackMap locals:
StackMap stack:
15: iload 2
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.endLine:I
if_icmplt 3
end local 2 16: getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.$assertionsDisabled:Z
ifne 17
aload 1
ifnonnull 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
1 18 1 bestActiveNode Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
2 16 2 i I
4 14 3 node Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
protected final java.util.List<org.apache.fop.layoutmgr.KnuthElement> getFootnoteList(int);
descriptor: (I)Ljava/util/List;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.List
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 1 1 index I
Signature: (I)Ljava/util/List<Lorg/apache/fop/layoutmgr/KnuthElement;>;
MethodParameters:
Name Flags
index
public org.apache.fop.fo.FObj getFObj();
descriptor: ()Lorg/apache/fop/fo/FObj;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.topLevelLM:Lorg/apache/fop/layoutmgr/LayoutManager;
invokeinterface org.apache.fop.layoutmgr.LayoutManager.getFObj:()Lorg/apache/fop/fo/FObj;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
protected int getLineWidth(int);
descriptor: (I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageProvider:Lorg/apache/fop/layoutmgr/PageProvider;
ifnull 3
1: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageProvider:Lorg/apache/fop/layoutmgr/PageProvider;
iload 1
invokevirtual org.apache.fop.layoutmgr.PageProvider.getAvailableBPD:(I)I
istore 2
start local 2 2: goto 4
end local 2 3: StackMap locals:
StackMap stack:
aload 0
iload 1
invokespecial org.apache.fop.layoutmgr.BreakingAlgorithm.getLineWidth:(I)I
istore 2
start local 2 4: StackMap locals: int
StackMap stack:
getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 6
5: getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "getLineWidth("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 7 1 line I
2 3 2 bpd I
4 7 2 bpd I
MethodParameters:
Name Flags
line
protected org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode recoverFromOverflow();
descriptor: ()Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getLastTooLong:()Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
iconst_1
isub
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.compareIPDs:(I)I
ifeq 2
1: aload 0
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.getLastTooLong:()Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokespecial org.apache.fop.layoutmgr.BreakingAlgorithm.recoverFromOverflow:()Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
protected int getIPDdifference();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.ipdDifference:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
protected int handleIpdChange();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Best node for ipd change:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestNodeForIPDChange:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
1: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestNodeForIPDChange:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestNodeForIPDChange:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
iconst_1
iadd
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.calculateBreakPoints:(Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;Lorg/apache/fop/layoutmgr/KnuthSequence;I)V
2: aload 0
aconst_null
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.activeLines:[Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
3: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestNodeForIPDChange:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
protected void addNode(int, org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode);
descriptor: (ILorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.position:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.size:()I
iconst_1
isub
if_icmpge 7
iload 1
ifle 7
1: aload 0
aload 0
iload 1
iconst_1
isub
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.compareIPDs:(I)I
dup_x1
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.ipdDifference:I
ifeq 7
2: getstatic org.apache.fop.layoutmgr.PageBreakingAlgorithm.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "IPD changes at page "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
3: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestNodeForIPDChange:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
ifnull 5
4: aload 2
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.totalDemerits:D
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestNodeForIPDChange:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.totalDemerits:D
dcmpg
ifge 13
5: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestNodeForIPDChange:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
6: goto 13
7: StackMap locals:
StackMap stack:
aload 2
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.position:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
invokevirtual org.apache.fop.layoutmgr.KnuthSequence.size:()I
iconst_1
isub
if_icmpne 10
8: aload 0
iconst_0
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.ipdDifference:I
9: goto 12
StackMap locals:
StackMap stack:
10: iload 1
ifle 12
11: aload 0
aload 2
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestNodeForLastPage:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
12: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
invokespecial org.apache.fop.layoutmgr.BreakingAlgorithm.addNode:(ILorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)V
13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 14 1 line I
0 14 2 node Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
MethodParameters:
Name Flags
line
node
org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode getBestNodeBeforeIPDChange();
descriptor: ()Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestNodeForIPDChange:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
private int compareIPDs(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageProvider:Lorg/apache/fop/layoutmgr/PageProvider;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.pageProvider:Lorg/apache/fop/layoutmgr/PageProvider;
iload 1
invokevirtual org.apache.fop.layoutmgr.PageProvider.compareIPDs:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 3 1 line I
MethodParameters:
Name Flags
line
org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode getBestNodeForLastPage();
descriptor: ()Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestNodeForLastPage:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
protected boolean handlingFloat();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.handlingStartOfFloat:Z
ifne 1
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.handlingEndOfFloat:Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
protected void createForcedNodes(org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode, int, int, int, double, double, int, int, int, int, int, int);
descriptor: (Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;IIIDDIIIIII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=16, locals=15, args_size=13
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 7 start local 9 start local 10 start local 11 start local 12 start local 13 start local 14 0: aload 0
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.handlingFloat:()Z
ifeq 6
1: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestFloatEdgeNode:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
ifnull 2
dload 7
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestFloatEdgeNode:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.totalDemerits:D
dcmpg
ifgt 9
2: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 3
iload 2
iconst_1
iadd
iload 9
iload 12
iload 13
3: iload 14
dload 5
iload 10
iload 11
iload 4
dload 7
aload 1
4: invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.createNode:(IIIIIIDIIIDLorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;)Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestFloatEdgeNode:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
5: goto 9
6: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
iload 4
dload 5
dload 7
iload 9
7: iload 10
iload 11
iload 12
iload 13
iload 14
8: invokespecial org.apache.fop.layoutmgr.BreakingAlgorithm.createForcedNodes:(Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;IIIDDIIIIII)V
9: StackMap locals:
StackMap stack:
return
end local 14 end local 13 end local 12 end local 11 end local 10 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 10 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 10 1 node Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
0 10 2 line I
0 10 3 elementIdx I
0 10 4 difference I
0 10 5 r D
0 10 7 demerits D
0 10 9 fitnessClass I
0 10 10 availableShrink I
0 10 11 availableStretch I
0 10 12 newWidth I
0 10 13 newStretch I
0 10 14 newShrink I
MethodParameters:
Name Flags
node
line
elementIdx
difference
r
demerits
fitnessClass
availableShrink
availableStretch
newWidth
newStretch
newShrink
protected int handleFloat();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestFloatEdgeNode:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.par:Lorg/apache/fop/layoutmgr/KnuthSequence;
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestFloatEdgeNode:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
invokevirtual org.apache.fop.layoutmgr.PageBreakingAlgorithm.calculateBreakPoints:(Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;Lorg/apache/fop/layoutmgr/KnuthSequence;I)V
1: aload 0
aconst_null
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.activeLines:[Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
2: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestFloatEdgeNode:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.line:I
iconst_1
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
protected org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode getBestFloatEdgeNode();
descriptor: ()Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestFloatEdgeNode:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
protected org.apache.fop.layoutmgr.AbstractBreaker$FloatPosition getFloatPosition();
descriptor: ()Lorg/apache/fop/layoutmgr/AbstractBreaker$FloatPosition;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.floatPosition:Lorg/apache/fop/layoutmgr/AbstractBreaker$FloatPosition;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
protected int getFloatHeight();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.floatHeight:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
protected boolean handlingStartOfFloat();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.handlingStartOfFloat:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
protected boolean handlingEndOfFloat();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.handlingEndOfFloat:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
protected void deactivateNode(org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode, int);
descriptor: (Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokespecial org.apache.fop.layoutmgr.BreakingAlgorithm.deactivateNode:(Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;I)V
1: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.handlingEndOfFloat:Z
ifeq 3
2: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalWidth:I
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.floatHeight:I
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 4 1 node Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
0 4 2 line I
MethodParameters:
Name Flags
node
line
protected void disableFloatHandling();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.handlingEndOfFloat:Z
1: aload 0
iconst_0
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.handlingStartOfFloat:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
public void (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: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=13, args_size=13
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 start local 9 start local 10 start local 11 start local 12 0: aload 0
aload 1
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
1: aload 0
aload 2
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lengthList:Ljava/util/List;
2: aload 0
iload 3
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
3: aload 0
iload 4
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
4: aload 0
iload 5
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesPending:Z
5: aload 0
iload 6
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.newFootnotes:Z
6: aload 0
iload 7
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.firstNewFootnoteIndex:I
7: aload 0
iload 8
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
8: aload 0
iload 9
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteElementIndex:I
9: aload 0
aload 10
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteSeparatorLength:Lorg/apache/fop/traits/MinOptMax;
10: aload 0
iload 11
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.previousFootnoteListIndex:I
11: aload 0
iload 12
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.previousFootnoteElementIndex:I
12: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.previousFootnoteListIndex:I
bipush -2
if_icmpne 13
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.previousFootnoteElementIndex:I
bipush -2
if_icmpne 13
iconst_0
goto 14
StackMap locals:
StackMap stack: org.apache.fop.layoutmgr.PageBreakingAlgorithm
13: iconst_1
StackMap locals: org.apache.fop.layoutmgr.PageBreakingAlgorithm java.util.List java.util.List int int int int int int int org.apache.fop.traits.MinOptMax int int
StackMap stack: org.apache.fop.layoutmgr.PageBreakingAlgorithm int
14: putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.relayingFootnotes:Z
15: return
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 16 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 16 1 fl Ljava/util/List;
0 16 2 ll Ljava/util/List;
0 16 3 tfl I
0 16 4 ifl I
0 16 5 fp Z
0 16 6 nf Z
0 16 7 fnfi I
0 16 8 fli I
0 16 9 fei I
0 16 10 fsl Lorg/apache/fop/traits/MinOptMax;
0 16 11 pfli I
0 16 12 pfei I
MethodParameters:
Name Flags
fl
ll
tfl
ifl
fp
nf
fnfi
fli
fei
fsl
pfli
pfei
public void (org.apache.fop.layoutmgr.PageSequenceLayoutManager);
descriptor: (Lorg/apache/fop/layoutmgr/PageSequenceLayoutManager;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=13, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.relayingFootnotes:Z
ifne 3
1: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestFloatEdgeNode:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.previous:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.footnoteListIndex:I
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.previousFootnoteListIndex:I
2: aload 0
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.bestFloatEdgeNode:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
getfield org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode.previous:Lorg/apache/fop/layoutmgr/BreakingAlgorithm$KnuthNode;
checkcast org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode.footnoteElementIndex:I
putfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.previousFootnoteElementIndex:I
3: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesList:Ljava/util/List;
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.lengthList:Ljava/util/List;
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.totalFootnotesLength:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.insertedFootnotesLength:I
4: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnotesPending:Z
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.newFootnotes:Z
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.firstNewFootnoteIndex:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteListIndex:I
5: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteElementIndex:I
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.footnoteSeparatorLength:Lorg/apache/fop/traits/MinOptMax;
aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.previousFootnoteListIndex:I
6: aload 0
getfield org.apache.fop.layoutmgr.PageBreakingAlgorithm.previousFootnoteElementIndex:I
7: invokevirtual org.apache.fop.layoutmgr.PageSequenceLayoutManager.holdFootnotes:(Ljava/util/List;Ljava/util/List;IIZZIIILorg/apache/fop/traits/MinOptMax;II)V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/fop/layoutmgr/PageBreakingAlgorithm;
0 9 1 pslm Lorg/apache/fop/layoutmgr/PageSequenceLayoutManager;
MethodParameters:
Name Flags
pslm
}
SourceFile: "PageBreakingAlgorithm.java"
NestMembers:
org.apache.fop.layoutmgr.PageBreakingAlgorithm$BestPageRecords org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode org.apache.fop.layoutmgr.PageBreakingAlgorithm$PageBreakingLayoutListener
InnerClasses:
public FloatPosition = org.apache.fop.layoutmgr.AbstractBreaker$FloatPosition of org.apache.fop.layoutmgr.AbstractBreaker
public PageBreakPosition = org.apache.fop.layoutmgr.AbstractBreaker$PageBreakPosition of org.apache.fop.layoutmgr.AbstractBreaker
protected BestRecords = org.apache.fop.layoutmgr.BreakingAlgorithm$BestRecords of org.apache.fop.layoutmgr.BreakingAlgorithm
public KnuthNode = org.apache.fop.layoutmgr.BreakingAlgorithm$KnuthNode of org.apache.fop.layoutmgr.BreakingAlgorithm
protected BestPageRecords = org.apache.fop.layoutmgr.PageBreakingAlgorithm$BestPageRecords of org.apache.fop.layoutmgr.PageBreakingAlgorithm
protected KnuthPageNode = org.apache.fop.layoutmgr.PageBreakingAlgorithm$KnuthPageNode of org.apache.fop.layoutmgr.PageBreakingAlgorithm
public abstract PageBreakingLayoutListener = org.apache.fop.layoutmgr.PageBreakingAlgorithm$PageBreakingLayoutListener of org.apache.fop.layoutmgr.PageBreakingAlgorithm
public Variant = org.apache.fop.layoutmgr.WhitespaceManagementPenalty$Variant of org.apache.fop.layoutmgr.WhitespaceManagementPenalty