public abstract class org.apache.lucene.util.IntroSelector extends org.apache.lucene.util.Selector
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.lucene.util.IntroSelector
super_class: org.apache.lucene.util.Selector
{
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/util/IntroSelector;
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.util.IntroSelector.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.lucene.util.Selector.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/util/IntroSelector;
public final void select(int, int, int);
descriptor: (III)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
iload 2
iload 3
invokevirtual org.apache.lucene.util.IntroSelector.checkArgs:(III)V
1: iconst_2
iload 2
iload 1
isub
i2l
iconst_2
invokestatic org.apache.lucene.util.MathUtil.log:(JI)I
imul
istore 4
start local 4 2: aload 0
iload 1
iload 2
iload 3
iload 4
invokevirtual org.apache.lucene.util.IntroSelector.quickSelect:(IIII)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/lucene/util/IntroSelector;
0 4 1 from I
0 4 2 to I
0 4 3 k I
2 4 4 maxDepth I
MethodParameters:
Name Flags
from
to
k
void slowSelect(int, int, int);
descriptor: (III)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.apache.lucene.util.IntroSelector$1
dup
aload 0
invokespecial org.apache.lucene.util.IntroSelector$1.<init>:(Lorg/apache/lucene/util/IntroSelector;)V
1: iload 1
iload 2
invokevirtual org.apache.lucene.util.IntroSelector$1.sort:(II)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/lucene/util/IntroSelector;
0 3 1 from I
0 3 2 to I
0 3 3 k I
MethodParameters:
Name Flags
from
to
k
private void quickSelect(int, int, int, int);
descriptor: (IIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.apache.lucene.util.IntroSelector.$assertionsDisabled:Z
ifne 1
iload 1
iload 3
if_icmple 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.apache.lucene.util.IntroSelector.$assertionsDisabled:Z
ifne 2
iload 3
iload 2
if_icmplt 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iload 2
iload 1
isub
iconst_1
if_icmpne 4
3: return
4: StackMap locals:
StackMap stack:
iinc 4 -1
iload 4
ifge 7
5: aload 0
iload 1
iload 2
iload 3
invokevirtual org.apache.lucene.util.IntroSelector.slowSelect:(III)V
6: return
7: StackMap locals:
StackMap stack:
iload 1
iload 2
iadd
iconst_1
iushr
istore 5
start local 5 8: aload 0
iload 1
iload 2
iconst_1
isub
invokevirtual org.apache.lucene.util.IntroSelector.compare:(II)I
ifle 10
9: aload 0
iload 1
iload 2
iconst_1
isub
invokevirtual org.apache.lucene.util.IntroSelector.swap:(II)V
10: StackMap locals: int
StackMap stack:
aload 0
iload 2
iconst_1
isub
iload 5
invokevirtual org.apache.lucene.util.IntroSelector.compare:(II)I
ifle 14
11: aload 0
iload 2
iconst_1
isub
iload 5
invokevirtual org.apache.lucene.util.IntroSelector.swap:(II)V
12: aload 0
iload 1
iload 2
iconst_1
isub
invokevirtual org.apache.lucene.util.IntroSelector.compare:(II)I
ifle 14
13: aload 0
iload 1
iload 2
iconst_1
isub
invokevirtual org.apache.lucene.util.IntroSelector.swap:(II)V
14: StackMap locals:
StackMap stack:
aload 0
iload 2
iconst_1
isub
invokevirtual org.apache.lucene.util.IntroSelector.setPivot:(I)V
15: iload 1
iconst_1
iadd
istore 6
start local 6 16: iload 2
iconst_2
isub
istore 7
start local 7 17: goto 19
18: StackMap locals: int int
StackMap stack:
iinc 6 1
19: StackMap locals:
StackMap stack:
aload 0
iload 6
invokevirtual org.apache.lucene.util.IntroSelector.comparePivot:(I)I
ifgt 18
20: goto 22
21: StackMap locals:
StackMap stack:
iinc 7 -1
22: StackMap locals:
StackMap stack:
iload 6
iload 7
if_icmpge 23
aload 0
iload 7
invokevirtual org.apache.lucene.util.IntroSelector.comparePivot:(I)I
ifle 21
23: StackMap locals:
StackMap stack:
iload 6
iload 7
if_icmpge 27
24: aload 0
iload 6
iload 7
invokevirtual org.apache.lucene.util.IntroSelector.swap:(II)V
25: iinc 7 -1
26: goto 19
27: StackMap locals:
StackMap stack:
aload 0
iload 6
iload 2
iconst_1
isub
invokevirtual org.apache.lucene.util.IntroSelector.swap:(II)V
28: iload 6
iload 3
if_icmpne 30
29: return
30: StackMap locals:
StackMap stack:
iload 6
iload 3
if_icmpge 33
31: aload 0
iload 6
iconst_1
iadd
iload 2
iload 3
iload 4
invokevirtual org.apache.lucene.util.IntroSelector.quickSelect:(IIII)V
32: goto 34
33: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 6
iload 3
iload 4
invokevirtual org.apache.lucene.util.IntroSelector.quickSelect:(IIII)V
34: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/apache/lucene/util/IntroSelector;
0 35 1 from I
0 35 2 to I
0 35 3 k I
0 35 4 maxDepth I
8 35 5 mid I
16 35 6 left I
17 35 7 right I
MethodParameters:
Name Flags
from
to
k
maxDepth
protected int compare(int, int);
descriptor: (II)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual org.apache.lucene.util.IntroSelector.setPivot:(I)V
1: aload 0
iload 2
invokevirtual org.apache.lucene.util.IntroSelector.comparePivot:(I)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/lucene/util/IntroSelector;
0 2 1 i I
0 2 2 j I
MethodParameters:
Name Flags
i
j
protected abstract void setPivot(int);
descriptor: (I)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
i
protected abstract int comparePivot(int);
descriptor: (I)I
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
j
}
SourceFile: "IntroSelector.java"
NestMembers:
org.apache.lucene.util.IntroSelector$1
InnerClasses:
org.apache.lucene.util.IntroSelector$1