class org.eclipse.jgit.treewalk.InstantComparator implements java.util.Comparator<java.time.Instant>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.eclipse.jgit.treewalk.InstantComparator
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // org.eclipse.jgit.treewalk.InstantComparator this
0: .line 21
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.eclipse.jgit.treewalk.InstantComparator this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/treewalk/InstantComparator;
public int compare(java.time.Instant, java.time.Instant);
descriptor: (Ljava/time/Instant;Ljava/time/Instant;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 // org.eclipse.jgit.treewalk.InstantComparator this
start local 1 // java.time.Instant a
start local 2 // java.time.Instant b
0: .line 25
aload 0 /* this */
aload 1 /* a */
aload 2 /* b */
iconst_0
invokevirtual org.eclipse.jgit.treewalk.InstantComparator.compare:(Ljava/time/Instant;Ljava/time/Instant;Z)I
ireturn
end local 2 // java.time.Instant b
end local 1 // java.time.Instant a
end local 0 // org.eclipse.jgit.treewalk.InstantComparator this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/treewalk/InstantComparator;
0 1 1 a Ljava/time/Instant;
0 1 2 b Ljava/time/Instant;
MethodParameters:
Name Flags
a
b
public int compare(java.time.Instant, java.time.Instant, boolean);
descriptor: (Ljava/time/Instant;Ljava/time/Instant;Z)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=15, args_size=4
start local 0 // org.eclipse.jgit.treewalk.InstantComparator this
start local 1 // java.time.Instant a
start local 2 // java.time.Instant b
start local 3 // boolean forceSecondsOnly
0: .line 42
aload 1 /* a */
invokevirtual java.time.Instant.getEpochSecond:()J
lstore 4 /* aSeconds */
start local 4 // long aSeconds
1: .line 43
aload 2 /* b */
invokevirtual java.time.Instant.getEpochSecond:()J
lstore 6 /* bSeconds */
start local 6 // long bSeconds
2: .line 44
lload 4 /* aSeconds */
lload 6 /* bSeconds */
invokestatic java.lang.Long.compare:(JJ)I
istore 8 /* result */
start local 8 // int result
3: .line 45
iload 8 /* result */
ifeq 5
4: .line 46
iload 8 /* result */
ireturn
5: .line 48
StackMap locals: long long int
StackMap stack:
aload 1 /* a */
invokevirtual java.time.Instant.getNano:()I
istore 9 /* aSubSecond */
start local 9 // int aSubSecond
6: .line 49
aload 2 /* b */
invokevirtual java.time.Instant.getNano:()I
istore 10 /* bSubSecond */
start local 10 // int bSubSecond
7: .line 50
iload 3 /* forceSecondsOnly */
ifne 9
iload 9 /* aSubSecond */
ifeq 9
8: .line 51
iload 10 /* bSubSecond */
ifne 10
9: .line 53
StackMap locals: int int
StackMap stack:
iconst_0
ireturn
10: .line 54
StackMap locals:
StackMap stack:
iload 9 /* aSubSecond */
iload 10 /* bSubSecond */
if_icmpeq 26
11: .line 57
iload 9 /* aSubSecond */
ldc 1000000
irem
istore 11 /* aSubMillis */
start local 11 // int aSubMillis
12: .line 58
iload 10 /* bSubSecond */
ldc 1000000
irem
istore 12 /* bSubMillis */
start local 12 // int bSubMillis
13: .line 59
iload 11 /* aSubMillis */
ifne 16
14: .line 60
iload 10 /* bSubSecond */
iload 12 /* bSubMillis */
isub
istore 10 /* bSubSecond */
15: .line 61
goto 26
StackMap locals: int int
StackMap stack:
16: iload 12 /* bSubMillis */
ifne 19
17: .line 62
iload 9 /* aSubSecond */
iload 11 /* aSubMillis */
isub
istore 9 /* aSubSecond */
18: .line 63
goto 26
19: .line 67
StackMap locals:
StackMap stack:
iload 9 /* aSubSecond */
sipush 1000
irem
istore 13 /* aSubMicros */
start local 13 // int aSubMicros
20: .line 68
iload 10 /* bSubSecond */
sipush 1000
irem
istore 14 /* bSubMicros */
start local 14 // int bSubMicros
21: .line 69
iload 13 /* aSubMicros */
ifne 24
22: .line 70
iload 10 /* bSubSecond */
iload 14 /* bSubMicros */
isub
istore 10 /* bSubSecond */
23: .line 71
goto 26
StackMap locals: int int
StackMap stack:
24: iload 14 /* bSubMicros */
ifne 26
25: .line 72
iload 9 /* aSubSecond */
iload 13 /* aSubMicros */
isub
istore 9 /* aSubSecond */
end local 14 // int bSubMicros
end local 13 // int aSubMicros
end local 12 // int bSubMillis
end local 11 // int aSubMillis
26: .line 76
StackMap locals: org.eclipse.jgit.treewalk.InstantComparator java.time.Instant java.time.Instant int long long int int int
StackMap stack:
iload 9 /* aSubSecond */
iload 10 /* bSubSecond */
invokestatic java.lang.Integer.compare:(II)I
ireturn
end local 10 // int bSubSecond
end local 9 // int aSubSecond
end local 8 // int result
end local 6 // long bSeconds
end local 4 // long aSeconds
end local 3 // boolean forceSecondsOnly
end local 2 // java.time.Instant b
end local 1 // java.time.Instant a
end local 0 // org.eclipse.jgit.treewalk.InstantComparator this
LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/eclipse/jgit/treewalk/InstantComparator;
0 27 1 a Ljava/time/Instant;
0 27 2 b Ljava/time/Instant;
0 27 3 forceSecondsOnly Z
1 27 4 aSeconds J
2 27 6 bSeconds J
3 27 8 result I
6 27 9 aSubSecond I
7 27 10 bSubSecond I
12 26 11 aSubMillis I
13 26 12 bSubMillis I
20 26 13 aSubMicros I
21 26 14 bSubMicros I
MethodParameters:
Name Flags
a
b
forceSecondsOnly
public int compare(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: .line 1
aload 0
aload 1
checkcast java.time.Instant
aload 2
checkcast java.time.Instant
invokevirtual org.eclipse.jgit.treewalk.InstantComparator.compare:(Ljava/time/Instant;Ljava/time/Instant;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/util/Comparator<Ljava/time/Instant;>;
SourceFile: "InstantComparator.java"