public class org.apache.lucene.search.grouping.FirstPassGroupingCollector<T> extends org.apache.lucene.search.SimpleCollector
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.lucene.search.grouping.FirstPassGroupingCollector
super_class: org.apache.lucene.search.SimpleCollector
{
private final org.apache.lucene.search.grouping.GroupSelector<T> groupSelector;
descriptor: Lorg/apache/lucene/search/grouping/GroupSelector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/apache/lucene/search/grouping/GroupSelector<TT;>;
private final org.apache.lucene.search.FieldComparator<?>[] comparators;
descriptor: [Lorg/apache/lucene/search/FieldComparator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Lorg/apache/lucene/search/FieldComparator<*>;
private final org.apache.lucene.search.LeafFieldComparator[] leafComparators;
descriptor: [Lorg/apache/lucene/search/LeafFieldComparator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] reversed;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int topNGroups;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean needsScores;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.HashMap<T, org.apache.lucene.search.grouping.CollectedSearchGroup<T>> groupMap;
descriptor: Ljava/util/HashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/HashMap<TT;Lorg/apache/lucene/search/grouping/CollectedSearchGroup<TT;>;>;
private final int compIDXEnd;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected java.util.TreeSet<org.apache.lucene.search.grouping.CollectedSearchGroup<T>> orderedGroups;
descriptor: Ljava/util/TreeSet;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/TreeSet<Lorg/apache/lucene/search/grouping/CollectedSearchGroup<TT;>;>;
private int docBase;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int spareSlot;
descriptor: I
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/lucene/search/grouping/FirstPassGroupingCollector;
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.lucene.search.grouping.FirstPassGroupingCollector.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.lucene.search.grouping.GroupSelector<T>, org.apache.lucene.search.Sort, );
descriptor: (Lorg/apache/lucene/search/grouping/GroupSelector;Lorg/apache/lucene/search/Sort;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial org.apache.lucene.search.SimpleCollector.<init>:()V
1: aload 0
aload 1
putfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupSelector:Lorg/apache/lucene/search/grouping/GroupSelector;
2: iload 3
iconst_1
if_icmpge 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "topNGroups must be >= 1 (got "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector org.apache.lucene.search.grouping.GroupSelector org.apache.lucene.search.Sort int
StackMap stack:
aload 0
iload 3
putfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.topNGroups:I
5: aload 0
aload 2
invokevirtual org.apache.lucene.search.Sort.needsScores:()Z
putfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.needsScores:Z
6: aload 2
invokevirtual org.apache.lucene.search.Sort.getSort:()[Lorg/apache/lucene/search/SortField;
astore 4
start local 4 7: aload 0
aload 4
arraylength
anewarray org.apache.lucene.search.FieldComparator
putfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.comparators:[Lorg/apache/lucene/search/FieldComparator;
8: aload 0
aload 4
arraylength
anewarray org.apache.lucene.search.LeafFieldComparator
putfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.leafComparators:[Lorg/apache/lucene/search/LeafFieldComparator;
9: aload 0
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.comparators:[Lorg/apache/lucene/search/FieldComparator;
arraylength
iconst_1
isub
putfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.compIDXEnd:I
10: aload 0
aload 4
arraylength
newarray 10
putfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.reversed:[I
11: iconst_0
istore 5
start local 5 12: goto 19
13: StackMap locals: org.apache.lucene.search.SortField[] int
StackMap stack:
aload 4
iload 5
aaload
astore 6
start local 6 14: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.comparators:[Lorg/apache/lucene/search/FieldComparator;
iload 5
aload 6
iload 3
iconst_1
iadd
iload 5
invokevirtual org.apache.lucene.search.SortField.getComparator:(II)Lorg/apache/lucene/search/FieldComparator;
aastore
15: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.reversed:[I
iload 5
aload 6
invokevirtual org.apache.lucene.search.SortField.getReverse:()Z
ifeq 16
iconst_m1
goto 17
StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector org.apache.lucene.search.grouping.GroupSelector org.apache.lucene.search.Sort int org.apache.lucene.search.SortField[] int org.apache.lucene.search.SortField
StackMap stack: int[] int
16: iconst_1
StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector org.apache.lucene.search.grouping.GroupSelector org.apache.lucene.search.Sort int org.apache.lucene.search.SortField[] int org.apache.lucene.search.SortField
StackMap stack: int[] int int
17: iastore
end local 6 18: iinc 5 1
StackMap locals:
StackMap stack:
19: iload 5
aload 4
arraylength
if_icmplt 13
end local 5 20: aload 0
iload 3
putfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.spareSlot:I
21: aload 0
new java.util.HashMap
dup
iload 3
invokespecial java.util.HashMap.<init>:(I)V
putfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupMap:Ljava/util/HashMap;
22: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/apache/lucene/search/grouping/FirstPassGroupingCollector<TT;>;
0 23 1 groupSelector Lorg/apache/lucene/search/grouping/GroupSelector<TT;>;
0 23 2 groupSort Lorg/apache/lucene/search/Sort;
0 23 3 topNGroups I
7 23 4 sortFields [Lorg/apache/lucene/search/SortField;
12 20 5 i I
14 18 6 sortField Lorg/apache/lucene/search/SortField;
Signature: (Lorg/apache/lucene/search/grouping/GroupSelector<TT;>;Lorg/apache/lucene/search/Sort;I)V
MethodParameters:
Name Flags
groupSelector
groupSort
topNGroups
public org.apache.lucene.search.ScoreMode scoreMode();
descriptor: ()Lorg/apache/lucene/search/ScoreMode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.needsScores:Z
ifeq 1
getstatic org.apache.lucene.search.ScoreMode.COMPLETE:Lorg/apache/lucene/search/ScoreMode;
goto 2
StackMap locals:
StackMap stack:
1: getstatic org.apache.lucene.search.ScoreMode.COMPLETE_NO_SCORES:Lorg/apache/lucene/search/ScoreMode;
StackMap locals:
StackMap stack: org.apache.lucene.search.ScoreMode
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/lucene/search/grouping/FirstPassGroupingCollector<TT;>;
public java.util.Collection<org.apache.lucene.search.grouping.SearchGroup<T>> getTopGroups(int);
descriptor: (I)Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: iload 1
ifge 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "groupOffset must be >= 0 (got "
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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
iload 1
if_icmpgt 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
ifnonnull 6
5: aload 0
invokevirtual org.apache.lucene.search.grouping.FirstPassGroupingCollector.buildSortedSet:()V
6: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 7: iconst_0
istore 3
start local 3 8: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.comparators:[Lorg/apache/lucene/search/FieldComparator;
arraylength
istore 4
start local 4 9: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
invokevirtual java.util.TreeSet.iterator:()Ljava/util/Iterator;
astore 6
goto 22
StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector int java.util.Collection int int top java.util.Iterator
StackMap stack:
10: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.lucene.search.grouping.CollectedSearchGroup
astore 5
start local 5 11: iload 3
iinc 3 1
iload 1
if_icmpge 13
12: goto 22
13: StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector int java.util.Collection int int org.apache.lucene.search.grouping.CollectedSearchGroup java.util.Iterator
StackMap stack:
new org.apache.lucene.search.grouping.SearchGroup
dup
invokespecial org.apache.lucene.search.grouping.SearchGroup.<init>:()V
astore 7
start local 7 14: aload 7
aload 5
getfield org.apache.lucene.search.grouping.CollectedSearchGroup.groupValue:Ljava/lang/Object;
putfield org.apache.lucene.search.grouping.SearchGroup.groupValue:Ljava/lang/Object;
15: aload 7
iload 4
anewarray java.lang.Object
putfield org.apache.lucene.search.grouping.SearchGroup.sortValues:[Ljava/lang/Object;
16: iconst_0
istore 8
start local 8 17: goto 20
18: StackMap locals: org.apache.lucene.search.grouping.SearchGroup int
StackMap stack:
aload 7
getfield org.apache.lucene.search.grouping.SearchGroup.sortValues:[Ljava/lang/Object;
iload 8
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.comparators:[Lorg/apache/lucene/search/FieldComparator;
iload 8
aaload
aload 5
getfield org.apache.lucene.search.grouping.CollectedSearchGroup.comparatorSlot:I
invokevirtual org.apache.lucene.search.FieldComparator.value:(I)Ljava/lang/Object;
aastore
19: iinc 8 1
StackMap locals:
StackMap stack:
20: iload 8
iload 4
if_icmplt 18
end local 8 21: aload 2
aload 7
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 5 22: StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector int java.util.Collection int int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
23: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/apache/lucene/search/grouping/FirstPassGroupingCollector<TT;>;
0 24 1 groupOffset I
7 24 2 result Ljava/util/Collection<Lorg/apache/lucene/search/grouping/SearchGroup<TT;>;>;
8 24 3 upto I
9 24 4 sortFieldCount I
11 22 5 group Lorg/apache/lucene/search/grouping/CollectedSearchGroup<TT;>;
14 22 7 searchGroup Lorg/apache/lucene/search/grouping/SearchGroup<TT;>;
17 21 8 sortFieldIDX I
Exceptions:
throws java.io.IOException
Signature: (I)Ljava/util/Collection<Lorg/apache/lucene/search/grouping/SearchGroup<TT;>;>;
MethodParameters:
Name Flags
groupOffset
public void setScorer(org.apache.lucene.search.Scorable);
descriptor: (Lorg/apache/lucene/search/Scorable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.leafComparators:[Lorg/apache/lucene/search/LeafFieldComparator;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 4
StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector org.apache.lucene.search.Scorable top int int org.apache.lucene.search.LeafFieldComparator[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 2
aload 1
invokeinterface org.apache.lucene.search.LeafFieldComparator.setScorer:(Lorg/apache/lucene/search/Scorable;)V
end local 2 3: iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
iload 4
if_icmplt 1
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/lucene/search/grouping/FirstPassGroupingCollector<TT;>;
0 6 1 scorer Lorg/apache/lucene/search/Scorable;
2 3 2 comparator Lorg/apache/lucene/search/LeafFieldComparator;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
scorer
private boolean isCompetitive(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
ifnull 10
1: iconst_0
istore 2
start local 2 2: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.reversed:[I
iload 2
iaload
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.leafComparators:[Lorg/apache/lucene/search/LeafFieldComparator;
iload 2
aaload
iload 1
invokeinterface org.apache.lucene.search.LeafFieldComparator.compareBottom:(I)I
imul
istore 3
start local 3 3: iload 3
ifge 5
4: iconst_0
ireturn
5: StackMap locals: int
StackMap stack:
iload 3
ifle 7
6: goto 10
7: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.compIDXEnd:I
if_icmpne 9
8: iconst_0
ireturn
end local 3 9: StackMap locals:
StackMap stack:
iinc 2 1
goto 2
end local 2 10: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/lucene/search/grouping/FirstPassGroupingCollector<TT;>;
0 11 1 doc I
2 10 2 compIDX I
3 9 3 c I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
doc
public void collect(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual org.apache.lucene.search.grouping.FirstPassGroupingCollector.isCompetitive:(I)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupSelector:Lorg/apache/lucene/search/grouping/GroupSelector;
iload 1
invokevirtual org.apache.lucene.search.grouping.GroupSelector.advanceTo:(I)Lorg/apache/lucene/search/grouping/GroupSelector$State;
pop
3: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupSelector:Lorg/apache/lucene/search/grouping/GroupSelector;
invokevirtual org.apache.lucene.search.grouping.GroupSelector.currentValue:()Ljava/lang/Object;
astore 2
start local 2 4: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupMap:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.lucene.search.grouping.CollectedSearchGroup
astore 3
start local 3 5: aload 3
ifnonnull 40
6: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.topNGroups:I
if_icmpge 20
7: new org.apache.lucene.search.grouping.CollectedSearchGroup
dup
invokespecial org.apache.lucene.search.grouping.CollectedSearchGroup.<init>:()V
astore 4
start local 4 8: aload 4
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupSelector:Lorg/apache/lucene/search/grouping/GroupSelector;
invokevirtual org.apache.lucene.search.grouping.GroupSelector.copyValue:()Ljava/lang/Object;
putfield org.apache.lucene.search.grouping.CollectedSearchGroup.groupValue:Ljava/lang/Object;
9: aload 4
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
putfield org.apache.lucene.search.grouping.CollectedSearchGroup.comparatorSlot:I
10: aload 4
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.docBase:I
iload 1
iadd
putfield org.apache.lucene.search.grouping.CollectedSearchGroup.topDoc:I
11: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.leafComparators:[Lorg/apache/lucene/search/LeafFieldComparator;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 15
StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector int java.lang.Object org.apache.lucene.search.grouping.CollectedSearchGroup org.apache.lucene.search.grouping.CollectedSearchGroup top int int org.apache.lucene.search.LeafFieldComparator[]
StackMap stack:
12: aload 8
iload 6
aaload
astore 5
start local 5 13: aload 5
aload 4
getfield org.apache.lucene.search.grouping.CollectedSearchGroup.comparatorSlot:I
iload 1
invokeinterface org.apache.lucene.search.LeafFieldComparator.copy:(II)V
end local 5 14: iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
iload 7
if_icmplt 12
16: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupMap:Ljava/util/HashMap;
aload 4
getfield org.apache.lucene.search.grouping.CollectedSearchGroup.groupValue:Ljava/lang/Object;
aload 4
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.topNGroups:I
if_icmpne 19
18: aload 0
invokevirtual org.apache.lucene.search.grouping.FirstPassGroupingCollector.buildSortedSet:()V
19: StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector int java.lang.Object org.apache.lucene.search.grouping.CollectedSearchGroup org.apache.lucene.search.grouping.CollectedSearchGroup
StackMap stack:
return
end local 4 20: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
invokevirtual java.util.TreeSet.pollLast:()Ljava/lang/Object;
checkcast org.apache.lucene.search.grouping.CollectedSearchGroup
astore 4
start local 4 21: getstatic org.apache.lucene.search.grouping.FirstPassGroupingCollector.$assertionsDisabled:Z
ifne 22
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
invokevirtual java.util.TreeSet.size:()I
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.topNGroups:I
iconst_1
isub
if_icmpeq 22
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
22: StackMap locals: org.apache.lucene.search.grouping.CollectedSearchGroup
StackMap stack:
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupMap:Ljava/util/HashMap;
aload 4
getfield org.apache.lucene.search.grouping.CollectedSearchGroup.groupValue:Ljava/lang/Object;
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
23: aload 4
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupSelector:Lorg/apache/lucene/search/grouping/GroupSelector;
invokevirtual org.apache.lucene.search.grouping.GroupSelector.copyValue:()Ljava/lang/Object;
putfield org.apache.lucene.search.grouping.CollectedSearchGroup.groupValue:Ljava/lang/Object;
24: aload 4
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.docBase:I
iload 1
iadd
putfield org.apache.lucene.search.grouping.CollectedSearchGroup.topDoc:I
25: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.leafComparators:[Lorg/apache/lucene/search/LeafFieldComparator;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 29
StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector int java.lang.Object org.apache.lucene.search.grouping.CollectedSearchGroup org.apache.lucene.search.grouping.CollectedSearchGroup top int int org.apache.lucene.search.LeafFieldComparator[]
StackMap stack:
26: aload 8
iload 6
aaload
astore 5
start local 5 27: aload 5
aload 4
getfield org.apache.lucene.search.grouping.CollectedSearchGroup.comparatorSlot:I
iload 1
invokeinterface org.apache.lucene.search.LeafFieldComparator.copy:(II)V
end local 5 28: iinc 6 1
StackMap locals:
StackMap stack:
29: iload 6
iload 7
if_icmplt 26
30: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupMap:Ljava/util/HashMap;
aload 4
getfield org.apache.lucene.search.grouping.CollectedSearchGroup.groupValue:Ljava/lang/Object;
aload 4
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
31: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
aload 4
invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
pop
32: getstatic org.apache.lucene.search.grouping.FirstPassGroupingCollector.$assertionsDisabled:Z
ifne 33
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
invokevirtual java.util.TreeSet.size:()I
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.topNGroups:I
if_icmpeq 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
33: StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector int java.lang.Object org.apache.lucene.search.grouping.CollectedSearchGroup org.apache.lucene.search.grouping.CollectedSearchGroup
StackMap stack:
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
invokevirtual java.util.TreeSet.last:()Ljava/lang/Object;
checkcast org.apache.lucene.search.grouping.CollectedSearchGroup
getfield org.apache.lucene.search.grouping.CollectedSearchGroup.comparatorSlot:I
istore 5
start local 5 34: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.leafComparators:[Lorg/apache/lucene/search/LeafFieldComparator;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 38
StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector int java.lang.Object org.apache.lucene.search.grouping.CollectedSearchGroup org.apache.lucene.search.grouping.CollectedSearchGroup int top int int org.apache.lucene.search.LeafFieldComparator[]
StackMap stack:
35: aload 9
iload 7
aaload
astore 6
start local 6 36: aload 6
iload 5
invokeinterface org.apache.lucene.search.LeafFieldComparator.setBottom:(I)V
end local 6 37: iinc 7 1
StackMap locals:
StackMap stack:
38: iload 7
iload 8
if_icmplt 35
39: return
end local 5 end local 4 40: StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector int java.lang.Object org.apache.lucene.search.grouping.CollectedSearchGroup
StackMap stack:
iconst_0
istore 4
start local 4 41: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.leafComparators:[Lorg/apache/lucene/search/LeafFieldComparator;
iload 4
aaload
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.spareSlot:I
iload 1
invokeinterface org.apache.lucene.search.LeafFieldComparator.copy:(II)V
42: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.reversed:[I
iload 4
iaload
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.comparators:[Lorg/apache/lucene/search/FieldComparator;
iload 4
aaload
aload 3
getfield org.apache.lucene.search.grouping.CollectedSearchGroup.comparatorSlot:I
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.spareSlot:I
invokevirtual org.apache.lucene.search.FieldComparator.compare:(II)I
imul
istore 5
start local 5 43: iload 5
ifge 45
44: return
45: StackMap locals: int
StackMap stack:
iload 5
ifle 52
46: iload 4
iconst_1
iadd
istore 6
start local 6 47: goto 50
48: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.leafComparators:[Lorg/apache/lucene/search/LeafFieldComparator;
iload 6
aaload
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.spareSlot:I
iload 1
invokeinterface org.apache.lucene.search.LeafFieldComparator.copy:(II)V
49: iinc 6 1
StackMap locals:
StackMap stack:
50: iload 6
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.comparators:[Lorg/apache/lucene/search/FieldComparator;
arraylength
if_icmplt 48
end local 6 51: goto 55
52: StackMap locals:
StackMap stack:
iload 4
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.compIDXEnd:I
if_icmpne 54
53: return
end local 5 54: StackMap locals:
StackMap stack:
iinc 4 1
goto 41
end local 4 55: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
ifnull 59
56: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
invokevirtual java.util.TreeSet.last:()Ljava/lang/Object;
checkcast org.apache.lucene.search.grouping.CollectedSearchGroup
astore 4
start local 4 57: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
aload 3
invokevirtual java.util.TreeSet.remove:(Ljava/lang/Object;)Z
pop
58: getstatic org.apache.lucene.search.grouping.FirstPassGroupingCollector.$assertionsDisabled:Z
ifne 60
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
invokevirtual java.util.TreeSet.size:()I
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.topNGroups:I
iconst_1
isub
if_icmpeq 60
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 4 59: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 60: StackMap locals: org.apache.lucene.search.grouping.CollectedSearchGroup
StackMap stack:
aload 3
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.docBase:I
iload 1
iadd
putfield org.apache.lucene.search.grouping.CollectedSearchGroup.topDoc:I
61: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.spareSlot:I
istore 5
start local 5 62: aload 0
aload 3
getfield org.apache.lucene.search.grouping.CollectedSearchGroup.comparatorSlot:I
putfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.spareSlot:I
63: aload 3
iload 5
putfield org.apache.lucene.search.grouping.CollectedSearchGroup.comparatorSlot:I
64: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
ifnull 74
65: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
aload 3
invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
pop
66: getstatic org.apache.lucene.search.grouping.FirstPassGroupingCollector.$assertionsDisabled:Z
ifne 67
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
invokevirtual java.util.TreeSet.size:()I
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.topNGroups:I
if_icmpeq 67
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
67: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
invokevirtual java.util.TreeSet.last:()Ljava/lang/Object;
checkcast org.apache.lucene.search.grouping.CollectedSearchGroup
astore 6
start local 6 68: aload 3
aload 6
if_acmpeq 69
aload 4
aload 6
if_acmpeq 74
69: StackMap locals: org.apache.lucene.search.grouping.CollectedSearchGroup
StackMap stack:
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.leafComparators:[Lorg/apache/lucene/search/LeafFieldComparator;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 73
StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector int java.lang.Object org.apache.lucene.search.grouping.CollectedSearchGroup org.apache.lucene.search.grouping.CollectedSearchGroup int org.apache.lucene.search.grouping.CollectedSearchGroup top int int org.apache.lucene.search.LeafFieldComparator[]
StackMap stack:
70: aload 10
iload 8
aaload
astore 7
start local 7 71: aload 7
aload 6
getfield org.apache.lucene.search.grouping.CollectedSearchGroup.comparatorSlot:I
invokeinterface org.apache.lucene.search.LeafFieldComparator.setBottom:(I)V
end local 7 72: iinc 8 1
StackMap locals:
StackMap stack:
73: iload 8
iload 9
if_icmplt 70
end local 6 74: StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector int java.lang.Object org.apache.lucene.search.grouping.CollectedSearchGroup org.apache.lucene.search.grouping.CollectedSearchGroup int
StackMap stack:
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 75 0 this Lorg/apache/lucene/search/grouping/FirstPassGroupingCollector<TT;>;
0 75 1 doc I
4 75 2 groupValue TT;
5 75 3 group Lorg/apache/lucene/search/grouping/CollectedSearchGroup<TT;>;
8 20 4 sg Lorg/apache/lucene/search/grouping/CollectedSearchGroup<TT;>;
13 14 5 fc Lorg/apache/lucene/search/LeafFieldComparator;
21 40 4 bottomGroup Lorg/apache/lucene/search/grouping/CollectedSearchGroup<TT;>;
27 28 5 fc Lorg/apache/lucene/search/LeafFieldComparator;
34 40 5 lastComparatorSlot I
36 37 6 fc Lorg/apache/lucene/search/LeafFieldComparator;
41 55 4 compIDX I
43 54 5 c I
47 51 6 compIDX2 I
57 59 4 prevLast Lorg/apache/lucene/search/grouping/CollectedSearchGroup<TT;>;
60 75 4 prevLast Lorg/apache/lucene/search/grouping/CollectedSearchGroup<TT;>;
62 75 5 tmp I
68 74 6 newLast Lorg/apache/lucene/search/grouping/CollectedSearchGroup<*>;
71 72 7 fc Lorg/apache/lucene/search/LeafFieldComparator;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
doc
private void buildSortedSet();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: new org.apache.lucene.search.grouping.FirstPassGroupingCollector$1
dup
aload 0
invokespecial org.apache.lucene.search.grouping.FirstPassGroupingCollector$1.<init>:(Lorg/apache/lucene/search/grouping/FirstPassGroupingCollector;)V
astore 1
start local 1 1: aload 0
new java.util.TreeSet
dup
aload 1
invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
putfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
2: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
invokevirtual java.util.TreeSet.addAll:(Ljava/util/Collection;)Z
pop
3: getstatic org.apache.lucene.search.grouping.FirstPassGroupingCollector.$assertionsDisabled:Z
ifne 4
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
invokevirtual java.util.TreeSet.size:()I
ifgt 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: java.util.Comparator
StackMap stack:
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.leafComparators:[Lorg/apache/lucene/search/LeafFieldComparator;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 8
StackMap locals: org.apache.lucene.search.grouping.FirstPassGroupingCollector java.util.Comparator top int int org.apache.lucene.search.LeafFieldComparator[]
StackMap stack:
5: aload 5
iload 3
aaload
astore 2
start local 2 6: aload 2
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.orderedGroups:Ljava/util/TreeSet;
invokevirtual java.util.TreeSet.last:()Ljava/lang/Object;
checkcast org.apache.lucene.search.grouping.CollectedSearchGroup
getfield org.apache.lucene.search.grouping.CollectedSearchGroup.comparatorSlot:I
invokeinterface org.apache.lucene.search.LeafFieldComparator.setBottom:(I)V
end local 2 7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 4
if_icmplt 5
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/lucene/search/grouping/FirstPassGroupingCollector<TT;>;
1 10 1 comparator Ljava/util/Comparator<Lorg/apache/lucene/search/grouping/CollectedSearchGroup<*>;>;
6 7 2 fc Lorg/apache/lucene/search/LeafFieldComparator;
Exceptions:
throws java.io.IOException
protected void doSetNextReader(org.apache.lucene.index.LeafReaderContext);
descriptor: (Lorg/apache/lucene/index/LeafReaderContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield org.apache.lucene.index.LeafReaderContext.docBase:I
putfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.docBase:I
1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.leafComparators:[Lorg/apache/lucene/search/LeafFieldComparator;
iload 2
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.comparators:[Lorg/apache/lucene/search/FieldComparator;
iload 2
aaload
aload 1
invokevirtual org.apache.lucene.search.FieldComparator.getLeafComparator:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/LeafFieldComparator;
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.comparators:[Lorg/apache/lucene/search/FieldComparator;
arraylength
if_icmplt 3
end local 2 6: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupSelector:Lorg/apache/lucene/search/grouping/GroupSelector;
aload 1
invokevirtual org.apache.lucene.search.grouping.GroupSelector.setNextReader:(Lorg/apache/lucene/index/LeafReaderContext;)V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/lucene/search/grouping/FirstPassGroupingCollector<TT;>;
0 8 1 readerContext Lorg/apache/lucene/index/LeafReaderContext;
2 6 2 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
readerContext
public org.apache.lucene.search.grouping.GroupSelector<T> getGroupSelector();
descriptor: ()Lorg/apache/lucene/search/grouping/GroupSelector;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.search.grouping.FirstPassGroupingCollector.groupSelector:Lorg/apache/lucene/search/grouping/GroupSelector;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/search/grouping/FirstPassGroupingCollector<TT;>;
Signature: ()Lorg/apache/lucene/search/grouping/GroupSelector<TT;>;
}
Signature: <T:Ljava/lang/Object;>Lorg/apache/lucene/search/SimpleCollector;
SourceFile: "FirstPassGroupingCollector.java"
NestMembers:
org.apache.lucene.search.grouping.FirstPassGroupingCollector$1
InnerClasses:
org.apache.lucene.search.grouping.FirstPassGroupingCollector$1
public final State = org.apache.lucene.search.grouping.GroupSelector$State of org.apache.lucene.search.grouping.GroupSelector