class org.apache.lucene.search.TopDocs$MergeSortQueue extends org.apache.lucene.util.PriorityQueue<org.apache.lucene.search.TopDocs$ShardRef>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.lucene.search.TopDocs$MergeSortQueue
super_class: org.apache.lucene.util.PriorityQueue
{
final org.apache.lucene.search.ScoreDoc[][] shardHits;
descriptor: [[Lorg/apache/lucene/search/ScoreDoc;
flags: (0x0010) ACC_FINAL
final org.apache.lucene.search.FieldComparator<?>[] comparators;
descriptor: [Lorg/apache/lucene/search/FieldComparator;
flags: (0x0010) ACC_FINAL
Signature: [Lorg/apache/lucene/search/FieldComparator<*>;
final int[] reverseMul;
descriptor: [I
flags: (0x0010) ACC_FINAL
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/TopDocs;
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.TopDocs$MergeSortQueue.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.lucene.search.Sort, org.apache.lucene.search.TopDocs[]);
descriptor: (Lorg/apache/lucene/search/Sort;[Lorg/apache/lucene/search/TopDocs;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
arraylength
invokespecial org.apache.lucene.util.PriorityQueue.<init>:(I)V
1: aload 0
aload 2
arraylength
anewarray org.apache.lucene.search.ScoreDoc[]
putfield org.apache.lucene.search.TopDocs$MergeSortQueue.shardHits:[[Lorg/apache/lucene/search/ScoreDoc;
2: iconst_0
istore 3
start local 3 3: goto 18
4: StackMap locals: org.apache.lucene.search.TopDocs$MergeSortQueue org.apache.lucene.search.Sort org.apache.lucene.search.TopDocs[] int
StackMap stack:
aload 2
iload 3
aaload
getfield org.apache.lucene.search.TopDocs.scoreDocs:[Lorg/apache/lucene/search/ScoreDoc;
astore 4
start local 4 5: aload 4
ifnull 17
6: aload 0
getfield org.apache.lucene.search.TopDocs$MergeSortQueue.shardHits:[[Lorg/apache/lucene/search/ScoreDoc;
iload 3
aload 4
aastore
7: iconst_0
istore 5
start local 5 8: goto 16
9: StackMap locals: org.apache.lucene.search.ScoreDoc[] int
StackMap stack:
aload 4
iload 5
aaload
astore 6
start local 6 10: aload 6
instanceof org.apache.lucene.search.FieldDoc
ifne 12
11: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "shard "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " was not sorted by the provided Sort (expected FieldDoc but got ScoreDoc)"
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
12: StackMap locals: org.apache.lucene.search.ScoreDoc
StackMap stack:
aload 6
checkcast org.apache.lucene.search.FieldDoc
astore 7
start local 7 13: aload 7
getfield org.apache.lucene.search.FieldDoc.fields:[Ljava/lang/Object;
ifnonnull 15
14: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "shard "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " did not set sort field values (FieldDoc.fields is null)"
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
end local 7 end local 6 15: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
aload 4
arraylength
if_icmplt 9
end local 5 end local 4 17: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
18: iload 3
aload 2
arraylength
if_icmplt 4
end local 3 19: aload 1
invokevirtual org.apache.lucene.search.Sort.getSort:()[Lorg/apache/lucene/search/SortField;
astore 3
start local 3 20: aload 0
aload 3
arraylength
anewarray org.apache.lucene.search.FieldComparator
putfield org.apache.lucene.search.TopDocs$MergeSortQueue.comparators:[Lorg/apache/lucene/search/FieldComparator;
21: aload 0
aload 3
arraylength
newarray 10
putfield org.apache.lucene.search.TopDocs$MergeSortQueue.reverseMul:[I
22: iconst_0
istore 4
start local 4 23: goto 30
24: StackMap locals: org.apache.lucene.search.TopDocs$MergeSortQueue org.apache.lucene.search.Sort org.apache.lucene.search.TopDocs[] org.apache.lucene.search.SortField[] int
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 25: aload 0
getfield org.apache.lucene.search.TopDocs$MergeSortQueue.comparators:[Lorg/apache/lucene/search/FieldComparator;
iload 4
aload 5
iconst_1
iload 4
invokevirtual org.apache.lucene.search.SortField.getComparator:(II)Lorg/apache/lucene/search/FieldComparator;
aastore
26: aload 0
getfield org.apache.lucene.search.TopDocs$MergeSortQueue.reverseMul:[I
iload 4
aload 5
invokevirtual org.apache.lucene.search.SortField.getReverse:()Z
ifeq 27
iconst_m1
goto 28
StackMap locals: org.apache.lucene.search.TopDocs$MergeSortQueue org.apache.lucene.search.Sort org.apache.lucene.search.TopDocs[] org.apache.lucene.search.SortField[] int org.apache.lucene.search.SortField
StackMap stack: int[] int
27: iconst_1
StackMap locals: org.apache.lucene.search.TopDocs$MergeSortQueue org.apache.lucene.search.Sort org.apache.lucene.search.TopDocs[] org.apache.lucene.search.SortField[] int org.apache.lucene.search.SortField
StackMap stack: int[] int int
28: iastore
end local 5 29: iinc 4 1
StackMap locals:
StackMap stack:
30: iload 4
aload 3
arraylength
if_icmplt 24
end local 4 31: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/apache/lucene/search/TopDocs$MergeSortQueue;
0 32 1 sort Lorg/apache/lucene/search/Sort;
0 32 2 shardHits [Lorg/apache/lucene/search/TopDocs;
3 19 3 shardIDX I
5 17 4 shard [Lorg/apache/lucene/search/ScoreDoc;
8 17 5 hitIDX I
10 15 6 sd Lorg/apache/lucene/search/ScoreDoc;
13 15 7 fd Lorg/apache/lucene/search/FieldDoc;
20 32 3 sortFields [Lorg/apache/lucene/search/SortField;
23 31 4 compIDX I
25 29 5 sortField Lorg/apache/lucene/search/SortField;
MethodParameters:
Name Flags
sort
shardHits
public boolean lessThan(org.apache.lucene.search.TopDocs$ShardRef, org.apache.lucene.search.TopDocs$ShardRef);
descriptor: (Lorg/apache/lucene/search/TopDocs$ShardRef;Lorg/apache/lucene/search/TopDocs$ShardRef;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.lucene.search.TopDocs$MergeSortQueue.$assertionsDisabled:Z
ifne 1
aload 1
aload 2
if_acmpne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.search.TopDocs$MergeSortQueue.shardHits:[[Lorg/apache/lucene/search/ScoreDoc;
aload 1
getfield org.apache.lucene.search.TopDocs$ShardRef.shardIndex:I
aaload
aload 1
getfield org.apache.lucene.search.TopDocs$ShardRef.hitIndex:I
aaload
checkcast org.apache.lucene.search.FieldDoc
astore 3
start local 3 2: aload 0
getfield org.apache.lucene.search.TopDocs$MergeSortQueue.shardHits:[[Lorg/apache/lucene/search/ScoreDoc;
aload 2
getfield org.apache.lucene.search.TopDocs$ShardRef.shardIndex:I
aaload
aload 2
getfield org.apache.lucene.search.TopDocs$ShardRef.hitIndex:I
aaload
checkcast org.apache.lucene.search.FieldDoc
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 11
5: StackMap locals: org.apache.lucene.search.FieldDoc org.apache.lucene.search.FieldDoc int
StackMap stack:
aload 0
getfield org.apache.lucene.search.TopDocs$MergeSortQueue.comparators:[Lorg/apache/lucene/search/FieldComparator;
iload 5
aaload
astore 6
start local 6 6: aload 0
getfield org.apache.lucene.search.TopDocs$MergeSortQueue.reverseMul:[I
iload 5
iaload
aload 6
aload 3
getfield org.apache.lucene.search.FieldDoc.fields:[Ljava/lang/Object;
iload 5
aaload
aload 4
getfield org.apache.lucene.search.FieldDoc.fields:[Ljava/lang/Object;
iload 5
aaload
invokevirtual org.apache.lucene.search.FieldComparator.compareValues:(Ljava/lang/Object;Ljava/lang/Object;)I
imul
istore 7
start local 7 7: iload 7
ifeq 10
8: iload 7
ifge 9
iconst_1
ireturn
StackMap locals: org.apache.lucene.search.FieldComparator int
StackMap stack:
9: iconst_0
ireturn
end local 7 end local 6 10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 0
getfield org.apache.lucene.search.TopDocs$MergeSortQueue.comparators:[Lorg/apache/lucene/search/FieldComparator;
arraylength
if_icmplt 5
end local 5 12: aload 1
aload 3
aload 2
aload 4
invokestatic org.apache.lucene.search.TopDocs.tieBreakLessThan:(Lorg/apache/lucene/search/TopDocs$ShardRef;Lorg/apache/lucene/search/ScoreDoc;Lorg/apache/lucene/search/TopDocs$ShardRef;Lorg/apache/lucene/search/ScoreDoc;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/lucene/search/TopDocs$MergeSortQueue;
0 13 1 first Lorg/apache/lucene/search/TopDocs$ShardRef;
0 13 2 second Lorg/apache/lucene/search/TopDocs$ShardRef;
2 13 3 firstFD Lorg/apache/lucene/search/FieldDoc;
3 13 4 secondFD Lorg/apache/lucene/search/FieldDoc;
4 12 5 compIDX I
6 10 6 comp Lorg/apache/lucene/search/FieldComparator;
7 10 7 cmp I
MethodParameters:
Name Flags
first
second
public boolean lessThan(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast org.apache.lucene.search.TopDocs$ShardRef
aload 2
checkcast org.apache.lucene.search.TopDocs$ShardRef
invokevirtual org.apache.lucene.search.TopDocs$MergeSortQueue.lessThan:(Lorg/apache/lucene/search/TopDocs$ShardRef;Lorg/apache/lucene/search/TopDocs$ShardRef;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lorg/apache/lucene/util/PriorityQueue<Lorg/apache/lucene/search/TopDocs$ShardRef;>;
SourceFile: "TopDocs.java"
NestHost: org.apache.lucene.search.TopDocs
InnerClasses:
private MergeSortQueue = org.apache.lucene.search.TopDocs$MergeSortQueue of org.apache.lucene.search.TopDocs
private final ShardRef = org.apache.lucene.search.TopDocs$ShardRef of org.apache.lucene.search.TopDocs