public final class org.apache.lucene.util.automaton.MinimizationOperations
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.lucene.util.automaton.MinimizationOperations
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // org.apache.lucene.util.automaton.MinimizationOperations this
0: .line 44
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.apache.lucene.util.automaton.MinimizationOperations this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/util/automaton/MinimizationOperations;
public static org.apache.lucene.util.automaton.Automaton minimize(org.apache.lucene.util.automaton.Automaton, int);
descriptor: (Lorg/apache/lucene/util/automaton/Automaton;I)Lorg/apache/lucene/util/automaton/Automaton;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=29, args_size=2
start local 0 // org.apache.lucene.util.automaton.Automaton a
start local 1 // int maxDeterminizedStates
0: .line 54
aload 0 /* a */
invokevirtual org.apache.lucene.util.automaton.Automaton.getNumStates:()I
ifeq 1
aload 0 /* a */
iconst_0
invokevirtual org.apache.lucene.util.automaton.Automaton.isAccept:(I)Z
ifne 2
aload 0 /* a */
iconst_0
invokevirtual org.apache.lucene.util.automaton.Automaton.getNumTransitions:(I)I
ifne 2
1: .line 56
StackMap locals:
StackMap stack:
new org.apache.lucene.util.automaton.Automaton
dup
invokespecial org.apache.lucene.util.automaton.Automaton.<init>:()V
areturn
2: .line 58
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 1 /* maxDeterminizedStates */
invokestatic org.apache.lucene.util.automaton.Operations.determinize:(Lorg/apache/lucene/util/automaton/Automaton;I)Lorg/apache/lucene/util/automaton/Automaton;
astore 0 /* a */
3: .line 60
aload 0 /* a */
iconst_0
invokevirtual org.apache.lucene.util.automaton.Automaton.getNumTransitions:(I)I
iconst_1
if_icmpne 9
4: .line 61
new org.apache.lucene.util.automaton.Transition
dup
invokespecial org.apache.lucene.util.automaton.Transition.<init>:()V
astore 2 /* t */
start local 2 // org.apache.lucene.util.automaton.Transition t
5: .line 62
aload 0 /* a */
iconst_0
iconst_0
aload 2 /* t */
invokevirtual org.apache.lucene.util.automaton.Automaton.getTransition:(IILorg/apache/lucene/util/automaton/Transition;)V
6: .line 63
aload 2 /* t */
getfield org.apache.lucene.util.automaton.Transition.dest:I
ifne 9
aload 2 /* t */
getfield org.apache.lucene.util.automaton.Transition.min:I
ifne 9
7: .line 64
aload 2 /* t */
getfield org.apache.lucene.util.automaton.Transition.max:I
ldc 1114111
if_icmpne 9
8: .line 66
aload 0 /* a */
areturn
end local 2 // org.apache.lucene.util.automaton.Transition t
9: .line 69
StackMap locals:
StackMap stack:
aload 0 /* a */
invokestatic org.apache.lucene.util.automaton.Operations.totalize:(Lorg/apache/lucene/util/automaton/Automaton;)Lorg/apache/lucene/util/automaton/Automaton;
astore 0 /* a */
10: .line 73
aload 0 /* a */
invokevirtual org.apache.lucene.util.automaton.Automaton.getStartPoints:()[I
astore 2 /* sigma */
start local 2 // int[] sigma
11: .line 74
aload 2 /* sigma */
arraylength
istore 3 /* sigmaLen */
start local 3 // int sigmaLen
12: aload 0 /* a */
invokevirtual org.apache.lucene.util.automaton.Automaton.getNumStates:()I
istore 4 /* statesLen */
start local 4 // int statesLen
13: .line 77
iload 4 /* statesLen */
iload 3 /* sigmaLen */
multianewarray [[Ljava/util/ArrayList; 2
14: .line 76
astore 5 /* reverse */
start local 5 // java.util.ArrayList[][] reverse
15: .line 79
iload 4 /* statesLen */
anewarray java.util.HashSet
16: .line 78
astore 6 /* partition */
start local 6 // java.util.HashSet[] partition
17: .line 81
iload 4 /* statesLen */
anewarray java.util.ArrayList
18: .line 80
astore 7 /* splitblock */
start local 7 // java.util.ArrayList[] splitblock
19: .line 82
iload 4 /* statesLen */
newarray 10
astore 8 /* block */
start local 8 // int[] block
20: .line 83
iload 4 /* statesLen */
iload 3 /* sigmaLen */
multianewarray [[Lorg/apache/lucene/util/automaton/MinimizationOperations$StateList; 2
astore 9 /* active */
start local 9 // org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] active
21: .line 84
iload 4 /* statesLen */
iload 3 /* sigmaLen */
multianewarray [[Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode; 2
astore 10 /* active2 */
start local 10 // org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] active2
22: .line 85
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 11 /* pending */
start local 11 // java.util.LinkedList pending
23: .line 86
new java.util.BitSet
dup
iload 3 /* sigmaLen */
iload 4 /* statesLen */
imul
invokespecial java.util.BitSet.<init>:(I)V
astore 12 /* pending2 */
start local 12 // java.util.BitSet pending2
24: .line 87
new java.util.BitSet
dup
iload 4 /* statesLen */
invokespecial java.util.BitSet.<init>:(I)V
astore 13 /* split */
start local 13 // java.util.BitSet split
25: .line 88
new java.util.BitSet
dup
iload 4 /* statesLen */
invokespecial java.util.BitSet.<init>:(I)V
astore 14 /* refine */
start local 14 // java.util.BitSet refine
26: new java.util.BitSet
dup
iload 4 /* statesLen */
invokespecial java.util.BitSet.<init>:(I)V
astore 15 /* refine2 */
start local 15 // java.util.BitSet refine2
27: .line 89
iconst_0
istore 16 /* q */
start local 16 // int q
28: goto 37
29: .line 90
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet int
StackMap stack:
aload 7 /* splitblock */
iload 16 /* q */
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
aastore
30: .line 91
aload 6 /* partition */
iload 16 /* q */
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
aastore
31: .line 92
iconst_0
istore 17 /* x */
start local 17 // int x
32: goto 35
33: .line 93
StackMap locals: int
StackMap stack:
aload 9 /* active */
iload 16 /* q */
aaload
iload 17 /* x */
new org.apache.lucene.util.automaton.MinimizationOperations$StateList
dup
invokespecial org.apache.lucene.util.automaton.MinimizationOperations$StateList.<init>:()V
aastore
34: .line 92
iinc 17 /* x */ 1
StackMap locals:
StackMap stack:
35: iload 17 /* x */
iload 3 /* sigmaLen */
if_icmplt 33
end local 17 // int x
36: .line 89
iinc 16 /* q */ 1
StackMap locals:
StackMap stack:
37: iload 16 /* q */
iload 4 /* statesLen */
if_icmplt 29
end local 16 // int q
38: .line 97
new org.apache.lucene.util.automaton.Transition
dup
invokespecial org.apache.lucene.util.automaton.Transition.<init>:()V
astore 16 /* transition */
start local 16 // org.apache.lucene.util.automaton.Transition transition
39: .line 98
iconst_0
istore 17 /* q */
start local 17 // int q
40: goto 57
41: .line 99
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int
StackMap stack:
aload 0 /* a */
iload 17 /* q */
invokevirtual org.apache.lucene.util.automaton.Automaton.isAccept:(I)Z
ifeq 42
iconst_0
goto 43
StackMap locals:
StackMap stack:
42: iconst_1
StackMap locals:
StackMap stack: int
43: istore 18 /* j */
start local 18 // int j
44: .line 100
aload 6 /* partition */
iload 18 /* j */
aaload
iload 17 /* q */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
45: .line 101
aload 8 /* block */
iload 17 /* q */
iload 18 /* j */
iastore
46: .line 102
aload 16 /* transition */
iload 17 /* q */
putfield org.apache.lucene.util.automaton.Transition.source:I
47: .line 103
aload 16 /* transition */
iconst_m1
putfield org.apache.lucene.util.automaton.Transition.transitionUpto:I
48: .line 104
iconst_0
istore 19 /* x */
start local 19 // int x
49: goto 55
50: .line 105
StackMap locals: int int
StackMap stack:
aload 5 /* reverse */
aload 0 /* a */
aload 16 /* transition */
aload 2 /* sigma */
iload 19 /* x */
iaload
invokevirtual org.apache.lucene.util.automaton.Automaton.next:(Lorg/apache/lucene/util/automaton/Transition;I)I
aaload
astore 20 /* r */
start local 20 // java.util.ArrayList[] r
51: .line 106
aload 20 /* r */
iload 19 /* x */
aaload
ifnonnull 53
52: .line 107
aload 20 /* r */
iload 19 /* x */
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
aastore
53: .line 109
StackMap locals: java.util.ArrayList[]
StackMap stack:
aload 20 /* r */
iload 19 /* x */
aaload
iload 17 /* q */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 20 // java.util.ArrayList[] r
54: .line 104
iinc 19 /* x */ 1
StackMap locals:
StackMap stack:
55: iload 19 /* x */
iload 3 /* sigmaLen */
if_icmplt 50
end local 19 // int x
end local 18 // int j
56: .line 98
iinc 17 /* q */ 1
StackMap locals:
StackMap stack:
57: iload 17 /* q */
iload 4 /* statesLen */
if_icmplt 41
end local 17 // int q
58: .line 113
iconst_0
istore 17 /* j */
start local 17 // int j
59: goto 70
60: .line 114
StackMap locals:
StackMap stack:
iconst_0
istore 18 /* x */
start local 18 // int x
61: goto 68
62: .line 115
StackMap locals: int
StackMap stack:
aload 6 /* partition */
iload 17 /* j */
aaload
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 20
goto 66
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int int top java.util.Iterator
StackMap stack:
63: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 19 /* q */
start local 19 // int q
64: .line 116
aload 5 /* reverse */
iload 19 /* q */
aaload
iload 18 /* x */
aaload
ifnull 66
65: .line 117
aload 10 /* active2 */
iload 19 /* q */
aaload
iload 18 /* x */
aload 9 /* active */
iload 17 /* j */
aaload
iload 18 /* x */
aaload
iload 19 /* q */
invokevirtual org.apache.lucene.util.automaton.MinimizationOperations$StateList.add:(I)Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode;
aastore
end local 19 // int q
66: .line 115
StackMap locals:
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 63
67: .line 114
iinc 18 /* x */ 1
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int int
StackMap stack:
68: iload 18 /* x */
iload 3 /* sigmaLen */
if_icmplt 62
end local 18 // int x
69: .line 113
iinc 17 /* j */ 1
StackMap locals:
StackMap stack:
70: iload 17 /* j */
iconst_1
if_icmple 60
end local 17 // int j
71: .line 124
iconst_0
istore 17 /* x */
start local 17 // int x
72: goto 79
73: .line 125
StackMap locals:
StackMap stack:
aload 9 /* active */
iconst_0
aaload
iload 17 /* x */
aaload
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateList.size:I
aload 9 /* active */
iconst_1
aaload
iload 17 /* x */
aaload
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateList.size:I
if_icmpgt 74
iconst_0
goto 75
StackMap locals:
StackMap stack:
74: iconst_1
StackMap locals:
StackMap stack: int
75: istore 18 /* j */
start local 18 // int j
76: .line 126
aload 11 /* pending */
new org.apache.lucene.util.automaton.MinimizationOperations$IntPair
dup
iload 18 /* j */
iload 17 /* x */
invokespecial org.apache.lucene.util.automaton.MinimizationOperations$IntPair.<init>:(II)V
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
77: .line 127
aload 12 /* pending2 */
iload 17 /* x */
iload 4 /* statesLen */
imul
iload 18 /* j */
iadd
invokevirtual java.util.BitSet.set:(I)V
end local 18 // int j
78: .line 124
iinc 17 /* x */ 1
StackMap locals:
StackMap stack:
79: iload 17 /* x */
iload 3 /* sigmaLen */
if_icmplt 73
end local 17 // int x
80: .line 131
iconst_2
istore 17 /* k */
start local 17 // int k
81: .line 133
goto 145
82: .line 135
StackMap locals:
StackMap stack:
aload 11 /* pending */
invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
checkcast org.apache.lucene.util.automaton.MinimizationOperations$IntPair
astore 18 /* ip */
start local 18 // org.apache.lucene.util.automaton.MinimizationOperations$IntPair ip
83: .line 136
aload 18 /* ip */
getfield org.apache.lucene.util.automaton.MinimizationOperations$IntPair.n1:I
istore 19 /* p */
start local 19 // int p
84: .line 137
aload 18 /* ip */
getfield org.apache.lucene.util.automaton.MinimizationOperations$IntPair.n2:I
istore 20 /* x */
start local 20 // int x
85: .line 139
aload 12 /* pending2 */
iload 20 /* x */
iload 4 /* statesLen */
imul
iload 19 /* p */
iadd
invokevirtual java.util.BitSet.clear:(I)V
86: .line 141
aload 9 /* active */
iload 19 /* p */
aaload
iload 20 /* x */
aaload
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateList.first:Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode;
astore 21 /* m */
start local 21 // org.apache.lucene.util.automaton.MinimizationOperations$StateListNode m
87: goto 101
88: .line 142
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int org.apache.lucene.util.automaton.MinimizationOperations$StateListNode
StackMap stack:
aload 5 /* reverse */
aload 21 /* m */
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateListNode.q:I
aaload
iload 20 /* x */
aaload
astore 22 /* r */
start local 22 // java.util.ArrayList r
89: .line 143
aload 22 /* r */
ifnull 100
90: .line 144
aload 22 /* r */
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 24
goto 99
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int org.apache.lucene.util.automaton.MinimizationOperations$StateListNode java.util.ArrayList top java.util.Iterator
StackMap stack:
91: aload 24
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 23 /* i */
start local 23 // int i
92: .line 145
aload 13 /* split */
iload 23 /* i */
invokevirtual java.util.BitSet.get:(I)Z
ifne 99
93: .line 146
aload 13 /* split */
iload 23 /* i */
invokevirtual java.util.BitSet.set:(I)V
94: .line 147
aload 8 /* block */
iload 23 /* i */
iaload
istore 25 /* j */
start local 25 // int j
95: .line 148
aload 7 /* splitblock */
iload 25 /* j */
aaload
iload 23 /* i */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
96: .line 149
aload 15 /* refine2 */
iload 25 /* j */
invokevirtual java.util.BitSet.get:(I)Z
ifne 99
97: .line 150
aload 15 /* refine2 */
iload 25 /* j */
invokevirtual java.util.BitSet.set:(I)V
98: .line 151
aload 14 /* refine */
iload 25 /* j */
invokevirtual java.util.BitSet.set:(I)V
end local 25 // int j
end local 23 // int i
99: .line 144
StackMap locals:
StackMap stack:
aload 24
invokeinterface java.util.Iterator.hasNext:()Z
ifne 91
end local 22 // java.util.ArrayList r
100: .line 141
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int org.apache.lucene.util.automaton.MinimizationOperations$StateListNode
StackMap stack:
aload 21 /* m */
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateListNode.next:Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode;
astore 21 /* m */
StackMap locals:
StackMap stack:
101: aload 21 /* m */
ifnonnull 88
end local 21 // org.apache.lucene.util.automaton.MinimizationOperations$StateListNode m
102: .line 159
aload 14 /* refine */
iconst_0
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 21 /* j */
start local 21 // int j
103: goto 143
104: .line 160
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int int
StackMap stack:
aload 7 /* splitblock */
iload 21 /* j */
aaload
astore 22 /* sb */
start local 22 // java.util.ArrayList sb
105: .line 161
aload 22 /* sb */
invokevirtual java.util.ArrayList.size:()I
aload 6 /* partition */
iload 21 /* j */
aaload
invokevirtual java.util.HashSet.size:()I
if_icmpge 136
106: .line 162
aload 6 /* partition */
iload 21 /* j */
aaload
astore 23 /* b1 */
start local 23 // java.util.HashSet b1
107: .line 163
aload 6 /* partition */
iload 17 /* k */
aaload
astore 24 /* b2 */
start local 24 // java.util.HashSet b2
108: .line 164
aload 22 /* sb */
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 26
goto 121
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int int java.util.ArrayList java.util.HashSet java.util.HashSet top java.util.Iterator
StackMap stack:
109: aload 26
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 25 /* s */
start local 25 // int s
110: .line 165
aload 23 /* b1 */
iload 25 /* s */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
pop
111: .line 166
aload 24 /* b2 */
iload 25 /* s */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
112: .line 167
aload 8 /* block */
iload 25 /* s */
iload 17 /* k */
iastore
113: .line 168
iconst_0
istore 27 /* c */
start local 27 // int c
114: goto 120
115: .line 169
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int int java.util.ArrayList java.util.HashSet java.util.HashSet int java.util.Iterator int
StackMap stack:
aload 10 /* active2 */
iload 25 /* s */
aaload
iload 27 /* c */
aaload
astore 28 /* sn */
start local 28 // org.apache.lucene.util.automaton.MinimizationOperations$StateListNode sn
116: .line 170
aload 28 /* sn */
ifnull 119
aload 28 /* sn */
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateListNode.sl:Lorg/apache/lucene/util/automaton/MinimizationOperations$StateList;
aload 9 /* active */
iload 21 /* j */
aaload
iload 27 /* c */
aaload
if_acmpne 119
117: .line 171
aload 28 /* sn */
invokevirtual org.apache.lucene.util.automaton.MinimizationOperations$StateListNode.remove:()V
118: .line 172
aload 10 /* active2 */
iload 25 /* s */
aaload
iload 27 /* c */
aload 9 /* active */
iload 17 /* k */
aaload
iload 27 /* c */
aaload
iload 25 /* s */
invokevirtual org.apache.lucene.util.automaton.MinimizationOperations$StateList.add:(I)Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode;
aastore
end local 28 // org.apache.lucene.util.automaton.MinimizationOperations$StateListNode sn
119: .line 168
StackMap locals:
StackMap stack:
iinc 27 /* c */ 1
StackMap locals:
StackMap stack:
120: iload 27 /* c */
iload 3 /* sigmaLen */
if_icmplt 115
end local 27 // int c
end local 25 // int s
121: .line 164
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int int java.util.ArrayList java.util.HashSet java.util.HashSet top java.util.Iterator
StackMap stack:
aload 26
invokeinterface java.util.Iterator.hasNext:()Z
ifne 109
122: .line 177
iconst_0
istore 25 /* c */
start local 25 // int c
123: goto 134
124: .line 178
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int int java.util.ArrayList java.util.HashSet java.util.HashSet int
StackMap stack:
aload 9 /* active */
iload 21 /* j */
aaload
iload 25 /* c */
aaload
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateList.size:I
istore 26 /* aj */
start local 26 // int aj
125: .line 179
aload 9 /* active */
iload 17 /* k */
aaload
iload 25 /* c */
aaload
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateList.size:I
istore 27 /* ak */
start local 27 // int ak
126: .line 180
iload 25 /* c */
iload 4 /* statesLen */
imul
istore 28 /* ofs */
start local 28 // int ofs
127: .line 181
aload 12 /* pending2 */
iload 28 /* ofs */
iload 21 /* j */
iadd
invokevirtual java.util.BitSet.get:(I)Z
ifne 131
iload 26 /* aj */
ifle 131
iload 26 /* aj */
iload 27 /* ak */
if_icmpgt 131
128: .line 182
aload 12 /* pending2 */
iload 28 /* ofs */
iload 21 /* j */
iadd
invokevirtual java.util.BitSet.set:(I)V
129: .line 183
aload 11 /* pending */
new org.apache.lucene.util.automaton.MinimizationOperations$IntPair
dup
iload 21 /* j */
iload 25 /* c */
invokespecial org.apache.lucene.util.automaton.MinimizationOperations$IntPair.<init>:(II)V
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
130: .line 184
goto 133
131: .line 185
StackMap locals: int int int
StackMap stack:
aload 12 /* pending2 */
iload 28 /* ofs */
iload 17 /* k */
iadd
invokevirtual java.util.BitSet.set:(I)V
132: .line 186
aload 11 /* pending */
new org.apache.lucene.util.automaton.MinimizationOperations$IntPair
dup
iload 17 /* k */
iload 25 /* c */
invokespecial org.apache.lucene.util.automaton.MinimizationOperations$IntPair.<init>:(II)V
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
end local 28 // int ofs
end local 27 // int ak
end local 26 // int aj
133: .line 177
StackMap locals:
StackMap stack:
iinc 25 /* c */ 1
StackMap locals:
StackMap stack:
134: iload 25 /* c */
iload 3 /* sigmaLen */
if_icmplt 124
end local 25 // int c
135: .line 189
iinc 17 /* k */ 1
end local 24 // java.util.HashSet b2
end local 23 // java.util.HashSet b1
136: .line 191
StackMap locals:
StackMap stack:
aload 15 /* refine2 */
iload 21 /* j */
invokevirtual java.util.BitSet.clear:(I)V
137: .line 192
aload 22 /* sb */
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 24
goto 140
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int int java.util.ArrayList top java.util.Iterator
StackMap stack:
138: aload 24
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 23 /* s */
start local 23 // int s
139: .line 193
aload 13 /* split */
iload 23 /* s */
invokevirtual java.util.BitSet.clear:(I)V
end local 23 // int s
140: .line 192
StackMap locals:
StackMap stack:
aload 24
invokeinterface java.util.Iterator.hasNext:()Z
ifne 138
141: .line 195
aload 22 /* sb */
invokevirtual java.util.ArrayList.clear:()V
end local 22 // java.util.ArrayList sb
142: .line 159
aload 14 /* refine */
iload 21 /* j */
iconst_1
iadd
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 21 /* j */
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int int
StackMap stack:
143: iload 21 /* j */
ifge 104
end local 21 // int j
144: .line 197
aload 14 /* refine */
invokevirtual java.util.BitSet.clear:()V
end local 20 // int x
end local 19 // int p
end local 18 // org.apache.lucene.util.automaton.MinimizationOperations$IntPair ip
145: .line 133
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int
StackMap stack:
aload 11 /* pending */
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 82
146: .line 200
new org.apache.lucene.util.automaton.Automaton
dup
invokespecial org.apache.lucene.util.automaton.Automaton.<init>:()V
astore 18 /* result */
start local 18 // org.apache.lucene.util.automaton.Automaton result
147: .line 202
new org.apache.lucene.util.automaton.Transition
dup
invokespecial org.apache.lucene.util.automaton.Transition.<init>:()V
astore 19 /* t */
start local 19 // org.apache.lucene.util.automaton.Transition t
148: .line 207
iload 4 /* statesLen */
newarray 10
astore 20 /* stateMap */
start local 20 // int[] stateMap
149: .line 208
iload 17 /* k */
newarray 10
astore 21 /* stateRep */
start local 21 // int[] stateRep
150: .line 210
aload 18 /* result */
invokevirtual org.apache.lucene.util.automaton.Automaton.createState:()I
pop
151: .line 213
iconst_0
istore 22 /* n */
start local 22 // int n
152: goto 171
153: .line 216
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.Automaton org.apache.lucene.util.automaton.Transition int[] int[] int
StackMap stack:
iconst_0
istore 23 /* isInitial */
start local 23 // boolean isInitial
154: .line 217
aload 6 /* partition */
iload 22 /* n */
aaload
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 25
goto 159
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.Automaton org.apache.lucene.util.automaton.Transition int[] int[] int int top java.util.Iterator
StackMap stack:
155: aload 25
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 24 /* q */
start local 24 // int q
156: .line 218
iload 24 /* q */
ifne 159
157: .line 219
iconst_1
istore 23 /* isInitial */
158: .line 221
goto 160
end local 24 // int q
159: .line 217
StackMap locals:
StackMap stack:
aload 25
invokeinterface java.util.Iterator.hasNext:()Z
ifne 155
160: .line 226
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.Automaton org.apache.lucene.util.automaton.Transition int[] int[] int int
StackMap stack:
iload 23 /* isInitial */
ifeq 163
161: .line 227
iconst_0
istore 24 /* newState */
start local 24 // int newState
162: .line 228
goto 164
end local 24 // int newState
163: .line 229
StackMap locals:
StackMap stack:
aload 18 /* result */
invokevirtual org.apache.lucene.util.automaton.Automaton.createState:()I
istore 24 /* newState */
start local 24 // int newState
164: .line 234
StackMap locals: int
StackMap stack:
aload 6 /* partition */
iload 22 /* n */
aaload
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 26
goto 169
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.Automaton org.apache.lucene.util.automaton.Transition int[] int[] int int int top java.util.Iterator
StackMap stack:
165: aload 26
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 25 /* q */
start local 25 // int q
166: .line 235
aload 20 /* stateMap */
iload 25 /* q */
iload 24 /* newState */
iastore
167: .line 237
aload 18 /* result */
iload 24 /* newState */
aload 0 /* a */
iload 25 /* q */
invokevirtual org.apache.lucene.util.automaton.Automaton.isAccept:(I)Z
invokevirtual org.apache.lucene.util.automaton.Automaton.setAccept:(IZ)V
168: .line 238
aload 21 /* stateRep */
iload 24 /* newState */
iload 25 /* q */
iastore
end local 25 // int q
169: .line 234
StackMap locals:
StackMap stack:
aload 26
invokeinterface java.util.Iterator.hasNext:()Z
ifne 165
end local 24 // int newState
end local 23 // boolean isInitial
170: .line 213
iinc 22 /* n */ 1
StackMap locals: org.apache.lucene.util.automaton.Automaton int int[] int int java.util.ArrayList[][] java.util.HashSet[] java.util.ArrayList[] int[] org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] java.util.LinkedList java.util.BitSet java.util.BitSet java.util.BitSet java.util.BitSet org.apache.lucene.util.automaton.Transition int org.apache.lucene.util.automaton.Automaton org.apache.lucene.util.automaton.Transition int[] int[] int
StackMap stack:
171: iload 22 /* n */
iload 17 /* k */
if_icmplt 153
end local 22 // int n
172: .line 243
iconst_0
istore 22 /* n */
start local 22 // int n
173: goto 182
174: .line 244
StackMap locals:
StackMap stack:
aload 0 /* a */
aload 21 /* stateRep */
iload 22 /* n */
iaload
aload 19 /* t */
invokevirtual org.apache.lucene.util.automaton.Automaton.initTransition:(ILorg/apache/lucene/util/automaton/Transition;)I
istore 23 /* numTransitions */
start local 23 // int numTransitions
175: .line 245
iconst_0
istore 24 /* i */
start local 24 // int i
176: goto 180
177: .line 246
StackMap locals: int int
StackMap stack:
aload 0 /* a */
aload 19 /* t */
invokevirtual org.apache.lucene.util.automaton.Automaton.getNextTransition:(Lorg/apache/lucene/util/automaton/Transition;)V
178: .line 248
aload 18 /* result */
iload 22 /* n */
aload 20 /* stateMap */
aload 19 /* t */
getfield org.apache.lucene.util.automaton.Transition.dest:I
iaload
aload 19 /* t */
getfield org.apache.lucene.util.automaton.Transition.min:I
aload 19 /* t */
getfield org.apache.lucene.util.automaton.Transition.max:I
invokevirtual org.apache.lucene.util.automaton.Automaton.addTransition:(IIII)V
179: .line 245
iinc 24 /* i */ 1
StackMap locals:
StackMap stack:
180: iload 24 /* i */
iload 23 /* numTransitions */
if_icmplt 177
end local 24 // int i
end local 23 // int numTransitions
181: .line 243
iinc 22 /* n */ 1
StackMap locals:
StackMap stack:
182: iload 22 /* n */
iload 17 /* k */
if_icmplt 174
end local 22 // int n
183: .line 251
aload 18 /* result */
invokevirtual org.apache.lucene.util.automaton.Automaton.finishState:()V
184: .line 254
aload 18 /* result */
invokestatic org.apache.lucene.util.automaton.Operations.removeDeadStates:(Lorg/apache/lucene/util/automaton/Automaton;)Lorg/apache/lucene/util/automaton/Automaton;
areturn
end local 21 // int[] stateRep
end local 20 // int[] stateMap
end local 19 // org.apache.lucene.util.automaton.Transition t
end local 18 // org.apache.lucene.util.automaton.Automaton result
end local 17 // int k
end local 16 // org.apache.lucene.util.automaton.Transition transition
end local 15 // java.util.BitSet refine2
end local 14 // java.util.BitSet refine
end local 13 // java.util.BitSet split
end local 12 // java.util.BitSet pending2
end local 11 // java.util.LinkedList pending
end local 10 // org.apache.lucene.util.automaton.MinimizationOperations$StateListNode[][] active2
end local 9 // org.apache.lucene.util.automaton.MinimizationOperations$StateList[][] active
end local 8 // int[] block
end local 7 // java.util.ArrayList[] splitblock
end local 6 // java.util.HashSet[] partition
end local 5 // java.util.ArrayList[][] reverse
end local 4 // int statesLen
end local 3 // int sigmaLen
end local 2 // int[] sigma
end local 1 // int maxDeterminizedStates
end local 0 // org.apache.lucene.util.automaton.Automaton a
LocalVariableTable:
Start End Slot Name Signature
0 185 0 a Lorg/apache/lucene/util/automaton/Automaton;
0 185 1 maxDeterminizedStates I
5 9 2 t Lorg/apache/lucene/util/automaton/Transition;
11 185 2 sigma [I
12 185 3 sigmaLen I
13 185 4 statesLen I
15 185 5 reverse [[Ljava/util/ArrayList;
17 185 6 partition [Ljava/util/HashSet;
19 185 7 splitblock [Ljava/util/ArrayList;
20 185 8 block [I
21 185 9 active [[Lorg/apache/lucene/util/automaton/MinimizationOperations$StateList;
22 185 10 active2 [[Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode;
23 185 11 pending Ljava/util/LinkedList<Lorg/apache/lucene/util/automaton/MinimizationOperations$IntPair;>;
24 185 12 pending2 Ljava/util/BitSet;
25 185 13 split Ljava/util/BitSet;
26 185 14 refine Ljava/util/BitSet;
27 185 15 refine2 Ljava/util/BitSet;
28 38 16 q I
32 36 17 x I
39 185 16 transition Lorg/apache/lucene/util/automaton/Transition;
40 58 17 q I
44 56 18 j I
49 56 19 x I
51 54 20 r [Ljava/util/ArrayList;
59 71 17 j I
61 69 18 x I
64 66 19 q I
72 80 17 x I
76 78 18 j I
81 185 17 k I
83 145 18 ip Lorg/apache/lucene/util/automaton/MinimizationOperations$IntPair;
84 145 19 p I
85 145 20 x I
87 102 21 m Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode;
89 100 22 r Ljava/util/ArrayList<Ljava/lang/Integer;>;
92 99 23 i I
95 99 25 j I
103 144 21 j I
105 142 22 sb Ljava/util/ArrayList<Ljava/lang/Integer;>;
107 136 23 b1 Ljava/util/HashSet<Ljava/lang/Integer;>;
108 136 24 b2 Ljava/util/HashSet<Ljava/lang/Integer;>;
110 121 25 s I
114 121 27 c I
116 119 28 sn Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode;
123 135 25 c I
125 133 26 aj I
126 133 27 ak I
127 133 28 ofs I
139 140 23 s I
147 185 18 result Lorg/apache/lucene/util/automaton/Automaton;
148 185 19 t Lorg/apache/lucene/util/automaton/Transition;
149 185 20 stateMap [I
150 185 21 stateRep [I
152 172 22 n I
154 170 23 isInitial Z
156 159 24 q I
162 163 24 newState I
164 170 24 newState I
166 169 25 q I
173 183 22 n I
175 181 23 numTransitions I
176 181 24 i I
MethodParameters:
Name Flags
a
maxDeterminizedStates
}
SourceFile: "MinimizationOperations.java"
NestMembers:
org.apache.lucene.util.automaton.MinimizationOperations$IntPair org.apache.lucene.util.automaton.MinimizationOperations$StateList org.apache.lucene.util.automaton.MinimizationOperations$StateListNode
InnerClasses:
final IntPair = org.apache.lucene.util.automaton.MinimizationOperations$IntPair of org.apache.lucene.util.automaton.MinimizationOperations
final StateList = org.apache.lucene.util.automaton.MinimizationOperations$StateList of org.apache.lucene.util.automaton.MinimizationOperations
final StateListNode = org.apache.lucene.util.automaton.MinimizationOperations$StateListNode of org.apache.lucene.util.automaton.MinimizationOperations