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=28, 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
iconst_0
istore 16 /* q */
start local 16 // int q
39: goto 54
40: .line 98
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 16 /* q */
invokevirtual org.apache.lucene.util.automaton.Automaton.isAccept:(I)Z
ifeq 41
iconst_0
goto 42
StackMap locals:
StackMap stack:
41: iconst_1
StackMap locals:
StackMap stack: int
42: istore 17 /* j */
start local 17 // int j
43: .line 99
aload 6 /* partition */
iload 17 /* j */
aaload
iload 16 /* q */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
44: .line 100
aload 8 /* block */
iload 16 /* q */
iload 17 /* j */
iastore
45: .line 101
iconst_0
istore 18 /* x */
start local 18 // int x
46: goto 52
47: .line 102
StackMap locals: int int
StackMap stack:
aload 5 /* reverse */
aload 0 /* a */
iload 16 /* q */
aload 2 /* sigma */
iload 18 /* x */
iaload
invokevirtual org.apache.lucene.util.automaton.Automaton.step:(II)I
aaload
astore 19 /* r */
start local 19 // java.util.ArrayList[] r
48: .line 103
aload 19 /* r */
iload 18 /* x */
aaload
ifnonnull 50
49: .line 104
aload 19 /* r */
iload 18 /* x */
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
aastore
50: .line 106
StackMap locals: java.util.ArrayList[]
StackMap stack:
aload 19 /* r */
iload 18 /* x */
aaload
iload 16 /* q */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 19 // java.util.ArrayList[] r
51: .line 101
iinc 18 /* x */ 1
StackMap locals:
StackMap stack:
52: iload 18 /* x */
iload 3 /* sigmaLen */
if_icmplt 47
end local 18 // int x
end local 17 // int j
53: .line 97
iinc 16 /* q */ 1
StackMap locals:
StackMap stack:
54: iload 16 /* q */
iload 4 /* statesLen */
if_icmplt 40
end local 16 // int q
55: .line 110
iconst_0
istore 16 /* j */
start local 16 // int j
56: goto 67
57: .line 111
StackMap locals:
StackMap stack:
iconst_0
istore 17 /* x */
start local 17 // int x
58: goto 65
59: .line 112
StackMap locals: int
StackMap stack:
aload 6 /* partition */
iload 16 /* j */
aaload
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 19
goto 63
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 int top java.util.Iterator
StackMap stack:
60: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 18 /* q */
start local 18 // int q
61: .line 113
aload 5 /* reverse */
iload 18 /* q */
aaload
iload 17 /* x */
aaload
ifnull 63
62: .line 114
aload 10 /* active2 */
iload 18 /* q */
aaload
iload 17 /* x */
aload 9 /* active */
iload 16 /* j */
aaload
iload 17 /* x */
aaload
iload 18 /* q */
invokevirtual org.apache.lucene.util.automaton.MinimizationOperations$StateList.add:(I)Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode;
aastore
end local 18 // int q
63: .line 112
StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 60
64: .line 111
iinc 17 /* 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 int int
StackMap stack:
65: iload 17 /* x */
iload 3 /* sigmaLen */
if_icmplt 59
end local 17 // int x
66: .line 110
iinc 16 /* j */ 1
StackMap locals:
StackMap stack:
67: iload 16 /* j */
iconst_1
if_icmple 57
end local 16 // int j
68: .line 121
iconst_0
istore 16 /* x */
start local 16 // int x
69: goto 76
70: .line 122
StackMap locals:
StackMap stack:
aload 9 /* active */
iconst_0
aaload
iload 16 /* x */
aaload
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateList.size:I
aload 9 /* active */
iconst_1
aaload
iload 16 /* x */
aaload
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateList.size:I
if_icmpgt 71
iconst_0
goto 72
StackMap locals:
StackMap stack:
71: iconst_1
StackMap locals:
StackMap stack: int
72: istore 17 /* j */
start local 17 // int j
73: .line 123
aload 11 /* pending */
new org.apache.lucene.util.automaton.MinimizationOperations$IntPair
dup
iload 17 /* j */
iload 16 /* x */
invokespecial org.apache.lucene.util.automaton.MinimizationOperations$IntPair.<init>:(II)V
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
74: .line 124
aload 12 /* pending2 */
iload 16 /* x */
iload 4 /* statesLen */
imul
iload 17 /* j */
iadd
invokevirtual java.util.BitSet.set:(I)V
end local 17 // int j
75: .line 121
iinc 16 /* x */ 1
StackMap locals:
StackMap stack:
76: iload 16 /* x */
iload 3 /* sigmaLen */
if_icmplt 70
end local 16 // int x
77: .line 128
iconst_2
istore 16 /* k */
start local 16 // int k
78: .line 130
goto 142
79: .line 132
StackMap locals:
StackMap stack:
aload 11 /* pending */
invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
checkcast org.apache.lucene.util.automaton.MinimizationOperations$IntPair
astore 17 /* ip */
start local 17 // org.apache.lucene.util.automaton.MinimizationOperations$IntPair ip
80: .line 133
aload 17 /* ip */
getfield org.apache.lucene.util.automaton.MinimizationOperations$IntPair.n1:I
istore 18 /* p */
start local 18 // int p
81: .line 134
aload 17 /* ip */
getfield org.apache.lucene.util.automaton.MinimizationOperations$IntPair.n2:I
istore 19 /* x */
start local 19 // int x
82: .line 136
aload 12 /* pending2 */
iload 19 /* x */
iload 4 /* statesLen */
imul
iload 18 /* p */
iadd
invokevirtual java.util.BitSet.clear:(I)V
83: .line 138
aload 9 /* active */
iload 18 /* p */
aaload
iload 19 /* x */
aaload
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateList.first:Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode;
astore 20 /* m */
start local 20 // org.apache.lucene.util.automaton.MinimizationOperations$StateListNode m
84: goto 98
85: .line 139
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 org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int org.apache.lucene.util.automaton.MinimizationOperations$StateListNode
StackMap stack:
aload 5 /* reverse */
aload 20 /* m */
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateListNode.q:I
aaload
iload 19 /* x */
aaload
astore 21 /* r */
start local 21 // java.util.ArrayList r
86: .line 140
aload 21 /* r */
ifnull 97
87: .line 141
aload 21 /* r */
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 23
goto 96
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 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:
88: aload 23
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 22 /* i */
start local 22 // int i
89: .line 142
aload 13 /* split */
iload 22 /* i */
invokevirtual java.util.BitSet.get:(I)Z
ifne 96
90: .line 143
aload 13 /* split */
iload 22 /* i */
invokevirtual java.util.BitSet.set:(I)V
91: .line 144
aload 8 /* block */
iload 22 /* i */
iaload
istore 24 /* j */
start local 24 // int j
92: .line 145
aload 7 /* splitblock */
iload 24 /* j */
aaload
iload 22 /* i */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
93: .line 146
aload 15 /* refine2 */
iload 24 /* j */
invokevirtual java.util.BitSet.get:(I)Z
ifne 96
94: .line 147
aload 15 /* refine2 */
iload 24 /* j */
invokevirtual java.util.BitSet.set:(I)V
95: .line 148
aload 14 /* refine */
iload 24 /* j */
invokevirtual java.util.BitSet.set:(I)V
end local 24 // int j
end local 22 // int i
96: .line 141
StackMap locals:
StackMap stack:
aload 23
invokeinterface java.util.Iterator.hasNext:()Z
ifne 88
end local 21 // java.util.ArrayList r
97: .line 138
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 org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int org.apache.lucene.util.automaton.MinimizationOperations$StateListNode
StackMap stack:
aload 20 /* m */
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateListNode.next:Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode;
astore 20 /* m */
StackMap locals:
StackMap stack:
98: aload 20 /* m */
ifnonnull 85
end local 20 // org.apache.lucene.util.automaton.MinimizationOperations$StateListNode m
99: .line 156
aload 14 /* refine */
iconst_0
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 20 /* j */
start local 20 // int j
100: goto 140
101: .line 157
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 org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int int
StackMap stack:
aload 7 /* splitblock */
iload 20 /* j */
aaload
astore 21 /* sb */
start local 21 // java.util.ArrayList sb
102: .line 158
aload 21 /* sb */
invokevirtual java.util.ArrayList.size:()I
aload 6 /* partition */
iload 20 /* j */
aaload
invokevirtual java.util.HashSet.size:()I
if_icmpge 133
103: .line 159
aload 6 /* partition */
iload 20 /* j */
aaload
astore 22 /* b1 */
start local 22 // java.util.HashSet b1
104: .line 160
aload 6 /* partition */
iload 16 /* k */
aaload
astore 23 /* b2 */
start local 23 // java.util.HashSet b2
105: .line 161
aload 21 /* sb */
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 25
goto 118
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 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:
106: aload 25
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 24 /* s */
start local 24 // int s
107: .line 162
aload 22 /* b1 */
iload 24 /* s */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
pop
108: .line 163
aload 23 /* b2 */
iload 24 /* s */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
109: .line 164
aload 8 /* block */
iload 24 /* s */
iload 16 /* k */
iastore
110: .line 165
iconst_0
istore 26 /* c */
start local 26 // int c
111: goto 117
112: .line 166
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 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 24 /* s */
aaload
iload 26 /* c */
aaload
astore 27 /* sn */
start local 27 // org.apache.lucene.util.automaton.MinimizationOperations$StateListNode sn
113: .line 167
aload 27 /* sn */
ifnull 116
aload 27 /* sn */
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateListNode.sl:Lorg/apache/lucene/util/automaton/MinimizationOperations$StateList;
aload 9 /* active */
iload 20 /* j */
aaload
iload 26 /* c */
aaload
if_acmpne 116
114: .line 168
aload 27 /* sn */
invokevirtual org.apache.lucene.util.automaton.MinimizationOperations$StateListNode.remove:()V
115: .line 169
aload 10 /* active2 */
iload 24 /* s */
aaload
iload 26 /* c */
aload 9 /* active */
iload 16 /* k */
aaload
iload 26 /* c */
aaload
iload 24 /* s */
invokevirtual org.apache.lucene.util.automaton.MinimizationOperations$StateList.add:(I)Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode;
aastore
end local 27 // org.apache.lucene.util.automaton.MinimizationOperations$StateListNode sn
116: .line 165
StackMap locals:
StackMap stack:
iinc 26 /* c */ 1
StackMap locals:
StackMap stack:
117: iload 26 /* c */
iload 3 /* sigmaLen */
if_icmplt 112
end local 26 // int c
end local 24 // int s
118: .line 161
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 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 25
invokeinterface java.util.Iterator.hasNext:()Z
ifne 106
119: .line 174
iconst_0
istore 24 /* c */
start local 24 // int c
120: goto 131
121: .line 175
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 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 20 /* j */
aaload
iload 24 /* c */
aaload
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateList.size:I
istore 25 /* aj */
start local 25 // int aj
122: .line 176
aload 9 /* active */
iload 16 /* k */
aaload
iload 24 /* c */
aaload
getfield org.apache.lucene.util.automaton.MinimizationOperations$StateList.size:I
istore 26 /* ak */
start local 26 // int ak
123: .line 177
iload 24 /* c */
iload 4 /* statesLen */
imul
istore 27 /* ofs */
start local 27 // int ofs
124: .line 178
aload 12 /* pending2 */
iload 27 /* ofs */
iload 20 /* j */
iadd
invokevirtual java.util.BitSet.get:(I)Z
ifne 128
iload 25 /* aj */
ifle 128
iload 25 /* aj */
iload 26 /* ak */
if_icmpgt 128
125: .line 179
aload 12 /* pending2 */
iload 27 /* ofs */
iload 20 /* j */
iadd
invokevirtual java.util.BitSet.set:(I)V
126: .line 180
aload 11 /* pending */
new org.apache.lucene.util.automaton.MinimizationOperations$IntPair
dup
iload 20 /* j */
iload 24 /* c */
invokespecial org.apache.lucene.util.automaton.MinimizationOperations$IntPair.<init>:(II)V
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
127: .line 181
goto 130
128: .line 182
StackMap locals: int int int
StackMap stack:
aload 12 /* pending2 */
iload 27 /* ofs */
iload 16 /* k */
iadd
invokevirtual java.util.BitSet.set:(I)V
129: .line 183
aload 11 /* pending */
new org.apache.lucene.util.automaton.MinimizationOperations$IntPair
dup
iload 16 /* k */
iload 24 /* c */
invokespecial org.apache.lucene.util.automaton.MinimizationOperations$IntPair.<init>:(II)V
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
end local 27 // int ofs
end local 26 // int ak
end local 25 // int aj
130: .line 174
StackMap locals:
StackMap stack:
iinc 24 /* c */ 1
StackMap locals:
StackMap stack:
131: iload 24 /* c */
iload 3 /* sigmaLen */
if_icmplt 121
end local 24 // int c
132: .line 186
iinc 16 /* k */ 1
end local 23 // java.util.HashSet b2
end local 22 // java.util.HashSet b1
133: .line 188
StackMap locals:
StackMap stack:
aload 15 /* refine2 */
iload 20 /* j */
invokevirtual java.util.BitSet.clear:(I)V
134: .line 189
aload 21 /* sb */
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 23
goto 137
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 org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int int java.util.ArrayList top java.util.Iterator
StackMap stack:
135: aload 23
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 22 /* s */
start local 22 // int s
136: .line 190
aload 13 /* split */
iload 22 /* s */
invokevirtual java.util.BitSet.clear:(I)V
end local 22 // int s
137: .line 189
StackMap locals:
StackMap stack:
aload 23
invokeinterface java.util.Iterator.hasNext:()Z
ifne 135
138: .line 192
aload 21 /* sb */
invokevirtual java.util.ArrayList.clear:()V
end local 21 // java.util.ArrayList sb
139: .line 156
aload 14 /* refine */
iload 20 /* j */
iconst_1
iadd
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 20 /* 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 int org.apache.lucene.util.automaton.MinimizationOperations$IntPair int int int
StackMap stack:
140: iload 20 /* j */
ifge 101
end local 20 // int j
141: .line 194
aload 14 /* refine */
invokevirtual java.util.BitSet.clear:()V
end local 19 // int x
end local 18 // int p
end local 17 // org.apache.lucene.util.automaton.MinimizationOperations$IntPair ip
142: .line 130
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 11 /* pending */
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 79
143: .line 197
new org.apache.lucene.util.automaton.Automaton
dup
invokespecial org.apache.lucene.util.automaton.Automaton.<init>:()V
astore 17 /* result */
start local 17 // org.apache.lucene.util.automaton.Automaton result
144: .line 199
new org.apache.lucene.util.automaton.Transition
dup
invokespecial org.apache.lucene.util.automaton.Transition.<init>:()V
astore 18 /* t */
start local 18 // org.apache.lucene.util.automaton.Transition t
145: .line 204
iload 4 /* statesLen */
newarray 10
astore 19 /* stateMap */
start local 19 // int[] stateMap
146: .line 205
iload 16 /* k */
newarray 10
astore 20 /* stateRep */
start local 20 // int[] stateRep
147: .line 207
aload 17 /* result */
invokevirtual org.apache.lucene.util.automaton.Automaton.createState:()I
pop
148: .line 210
iconst_0
istore 21 /* n */
start local 21 // int n
149: goto 168
150: .line 213
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 org.apache.lucene.util.automaton.Automaton org.apache.lucene.util.automaton.Transition int[] int[] int
StackMap stack:
iconst_0
istore 22 /* isInitial */
start local 22 // boolean isInitial
151: .line 214
aload 6 /* partition */
iload 21 /* n */
aaload
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 24
goto 156
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 org.apache.lucene.util.automaton.Automaton org.apache.lucene.util.automaton.Transition int[] int[] int int top java.util.Iterator
StackMap stack:
152: aload 24
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 23 /* q */
start local 23 // int q
153: .line 215
iload 23 /* q */
ifne 156
154: .line 216
iconst_1
istore 22 /* isInitial */
155: .line 218
goto 157
end local 23 // int q
156: .line 214
StackMap locals:
StackMap stack:
aload 24
invokeinterface java.util.Iterator.hasNext:()Z
ifne 152
157: .line 223
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 org.apache.lucene.util.automaton.Automaton org.apache.lucene.util.automaton.Transition int[] int[] int int
StackMap stack:
iload 22 /* isInitial */
ifeq 160
158: .line 224
iconst_0
istore 23 /* newState */
start local 23 // int newState
159: .line 225
goto 161
end local 23 // int newState
160: .line 226
StackMap locals:
StackMap stack:
aload 17 /* result */
invokevirtual org.apache.lucene.util.automaton.Automaton.createState:()I
istore 23 /* newState */
start local 23 // int newState
161: .line 231
StackMap locals: int
StackMap stack:
aload 6 /* partition */
iload 21 /* n */
aaload
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 25
goto 166
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 org.apache.lucene.util.automaton.Automaton org.apache.lucene.util.automaton.Transition int[] int[] int int int top java.util.Iterator
StackMap stack:
162: 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
163: .line 232
aload 19 /* stateMap */
iload 24 /* q */
iload 23 /* newState */
iastore
164: .line 234
aload 17 /* result */
iload 23 /* newState */
aload 0 /* a */
iload 24 /* q */
invokevirtual org.apache.lucene.util.automaton.Automaton.isAccept:(I)Z
invokevirtual org.apache.lucene.util.automaton.Automaton.setAccept:(IZ)V
165: .line 235
aload 20 /* stateRep */
iload 23 /* newState */
iload 24 /* q */
iastore
end local 24 // int q
166: .line 231
StackMap locals:
StackMap stack:
aload 25
invokeinterface java.util.Iterator.hasNext:()Z
ifne 162
end local 23 // int newState
end local 22 // boolean isInitial
167: .line 210
iinc 21 /* 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 int org.apache.lucene.util.automaton.Automaton org.apache.lucene.util.automaton.Transition int[] int[] int
StackMap stack:
168: iload 21 /* n */
iload 16 /* k */
if_icmplt 150
end local 21 // int n
169: .line 240
iconst_0
istore 21 /* n */
start local 21 // int n
170: goto 179
171: .line 241
StackMap locals:
StackMap stack:
aload 0 /* a */
aload 20 /* stateRep */
iload 21 /* n */
iaload
aload 18 /* t */
invokevirtual org.apache.lucene.util.automaton.Automaton.initTransition:(ILorg/apache/lucene/util/automaton/Transition;)I
istore 22 /* numTransitions */
start local 22 // int numTransitions
172: .line 242
iconst_0
istore 23 /* i */
start local 23 // int i
173: goto 177
174: .line 243
StackMap locals: int int
StackMap stack:
aload 0 /* a */
aload 18 /* t */
invokevirtual org.apache.lucene.util.automaton.Automaton.getNextTransition:(Lorg/apache/lucene/util/automaton/Transition;)V
175: .line 245
aload 17 /* result */
iload 21 /* n */
aload 19 /* stateMap */
aload 18 /* t */
getfield org.apache.lucene.util.automaton.Transition.dest:I
iaload
aload 18 /* t */
getfield org.apache.lucene.util.automaton.Transition.min:I
aload 18 /* t */
getfield org.apache.lucene.util.automaton.Transition.max:I
invokevirtual org.apache.lucene.util.automaton.Automaton.addTransition:(IIII)V
176: .line 242
iinc 23 /* i */ 1
StackMap locals:
StackMap stack:
177: iload 23 /* i */
iload 22 /* numTransitions */
if_icmplt 174
end local 23 // int i
end local 22 // int numTransitions
178: .line 240
iinc 21 /* n */ 1
StackMap locals:
StackMap stack:
179: iload 21 /* n */
iload 16 /* k */
if_icmplt 171
end local 21 // int n
180: .line 248
aload 17 /* result */
invokevirtual org.apache.lucene.util.automaton.Automaton.finishState:()V
181: .line 251
aload 17 /* result */
invokestatic org.apache.lucene.util.automaton.Operations.removeDeadStates:(Lorg/apache/lucene/util/automaton/Automaton;)Lorg/apache/lucene/util/automaton/Automaton;
areturn
end local 20 // int[] stateRep
end local 19 // int[] stateMap
end local 18 // org.apache.lucene.util.automaton.Transition t
end local 17 // org.apache.lucene.util.automaton.Automaton result
end local 16 // int k
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 182 0 a Lorg/apache/lucene/util/automaton/Automaton;
0 182 1 maxDeterminizedStates I
5 9 2 t Lorg/apache/lucene/util/automaton/Transition;
11 182 2 sigma [I
12 182 3 sigmaLen I
13 182 4 statesLen I
15 182 5 reverse [[Ljava/util/ArrayList;
17 182 6 partition [Ljava/util/HashSet;
19 182 7 splitblock [Ljava/util/ArrayList;
20 182 8 block [I
21 182 9 active [[Lorg/apache/lucene/util/automaton/MinimizationOperations$StateList;
22 182 10 active2 [[Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode;
23 182 11 pending Ljava/util/LinkedList<Lorg/apache/lucene/util/automaton/MinimizationOperations$IntPair;>;
24 182 12 pending2 Ljava/util/BitSet;
25 182 13 split Ljava/util/BitSet;
26 182 14 refine Ljava/util/BitSet;
27 182 15 refine2 Ljava/util/BitSet;
28 38 16 q I
32 36 17 x I
39 55 16 q I
43 53 17 j I
46 53 18 x I
48 51 19 r [Ljava/util/ArrayList;
56 68 16 j I
58 66 17 x I
61 63 18 q I
69 77 16 x I
73 75 17 j I
78 182 16 k I
80 142 17 ip Lorg/apache/lucene/util/automaton/MinimizationOperations$IntPair;
81 142 18 p I
82 142 19 x I
84 99 20 m Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode;
86 97 21 r Ljava/util/ArrayList<Ljava/lang/Integer;>;
89 96 22 i I
92 96 24 j I
100 141 20 j I
102 139 21 sb Ljava/util/ArrayList<Ljava/lang/Integer;>;
104 133 22 b1 Ljava/util/HashSet<Ljava/lang/Integer;>;
105 133 23 b2 Ljava/util/HashSet<Ljava/lang/Integer;>;
107 118 24 s I
111 118 26 c I
113 116 27 sn Lorg/apache/lucene/util/automaton/MinimizationOperations$StateListNode;
120 132 24 c I
122 130 25 aj I
123 130 26 ak I
124 130 27 ofs I
136 137 22 s I
144 182 17 result Lorg/apache/lucene/util/automaton/Automaton;
145 182 18 t Lorg/apache/lucene/util/automaton/Transition;
146 182 19 stateMap [I
147 182 20 stateRep [I
149 169 21 n I
151 167 22 isInitial Z
153 156 23 q I
159 160 23 newState I
161 167 23 newState I
163 166 24 q I
170 180 21 n I
172 178 22 numTransitions I
173 178 23 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