public class org.jf.util.LinearSearch
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jf.util.LinearSearch
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.jf.util.LinearSearch this
0: .line 37
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.jf.util.LinearSearch this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jf/util/LinearSearch;
public static <T> int linearSearch(java.util.List<? extends T>, java.util.Comparator<T>, T, );
descriptor: (Ljava/util/List;Ljava/util/Comparator;Ljava/lang/Object;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 // java.util.List list
start local 1 // java.util.Comparator comparator
start local 2 // java.lang.Object key
start local 3 // int initialGuess
0: .line 49
iload 3 /* initialGuess */
istore 4 /* guess */
start local 4 // int guess
1: .line 50
iload 4 /* guess */
aload 0 /* list */
invokeinterface java.util.List.size:()I
if_icmplt 3
2: .line 51
aload 0 /* list */
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 4 /* guess */
3: .line 53
StackMap locals: int
StackMap stack:
aload 1 /* comparator */
aload 0 /* list */
iload 4 /* guess */
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
aload 2 /* key */
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
istore 5 /* comparison */
start local 5 // int comparison
4: .line 54
iload 5 /* comparison */
ifne 6
5: .line 55
iload 4 /* guess */
ireturn
6: .line 57
StackMap locals: int
StackMap stack:
iload 5 /* comparison */
ifge 17
7: .line 58
iinc 4 /* guess */ 1
8: .line 59
goto 15
9: .line 60
StackMap locals:
StackMap stack:
aload 1 /* comparator */
aload 0 /* list */
iload 4 /* guess */
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
aload 2 /* key */
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
istore 5 /* comparison */
10: .line 61
iload 5 /* comparison */
ifne 12
11: .line 62
iload 4 /* guess */
ireturn
12: .line 64
StackMap locals:
StackMap stack:
iload 5 /* comparison */
ifle 14
13: .line 65
iload 4 /* guess */
iconst_1
iadd
ineg
ireturn
14: .line 67
StackMap locals:
StackMap stack:
iinc 4 /* guess */ 1
15: .line 59
StackMap locals:
StackMap stack:
iload 4 /* guess */
aload 0 /* list */
invokeinterface java.util.List.size:()I
if_icmplt 9
16: .line 69
aload 0 /* list */
invokeinterface java.util.List.size:()I
iconst_1
iadd
ineg
ireturn
17: .line 71
StackMap locals:
StackMap stack:
iinc 4 /* guess */ -1
18: .line 72
goto 25
19: .line 73
StackMap locals:
StackMap stack:
aload 1 /* comparator */
aload 0 /* list */
iload 4 /* guess */
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
aload 2 /* key */
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
istore 5 /* comparison */
20: .line 74
iload 5 /* comparison */
ifne 22
21: .line 75
iload 4 /* guess */
ireturn
22: .line 77
StackMap locals:
StackMap stack:
iload 5 /* comparison */
ifge 24
23: .line 78
iload 4 /* guess */
iconst_2
iadd
ineg
ireturn
24: .line 80
StackMap locals:
StackMap stack:
iinc 4 /* guess */ -1
25: .line 72
StackMap locals:
StackMap stack:
iload 4 /* guess */
ifge 19
26: .line 82
iconst_m1
ireturn
end local 5 // int comparison
end local 4 // int guess
end local 3 // int initialGuess
end local 2 // java.lang.Object key
end local 1 // java.util.Comparator comparator
end local 0 // java.util.List list
LocalVariableTable:
Start End Slot Name Signature
0 27 0 list Ljava/util/List<+TT;>;
0 27 1 comparator Ljava/util/Comparator<TT;>;
0 27 2 key TT;
0 27 3 initialGuess I
1 27 4 guess I
4 27 5 comparison I
Signature: <T:Ljava/lang/Object;>(Ljava/util/List<+TT;>;Ljava/util/Comparator<TT;>;TT;I)I
MethodParameters:
Name Flags
list
comparator
key
initialGuess
}
SourceFile: "LinearSearch.java"