final class java.util.Comparators$NullComparator<T> implements java.util.Comparator<T>, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.util.Comparators$NullComparator
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -7569533591570686392
private final boolean nullFirst;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Comparator<T> real;
descriptor: Ljava/util/Comparator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Comparator<TT;>;
void <init>(boolean, java.util.Comparator<? super T>);
descriptor: (ZLjava/util/Comparator;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield java.util.Comparators$NullComparator.nullFirst:Z
2: aload 0
aload 2
putfield java.util.Comparators$NullComparator.real:Ljava/util/Comparator;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/Comparators$NullComparator<TT;>;
0 4 1 nullFirst Z
0 4 2 real Ljava/util/Comparator<-TT;>;
Signature: (ZLjava/util/Comparator<-TT;>;)V
MethodParameters:
Name Flags
nullFirst
real
public int compare(T, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 5
1: aload 2
ifnonnull 2
iconst_0
goto 4
StackMap locals:
StackMap stack:
2: aload 0
getfield java.util.Comparators$NullComparator.nullFirst:Z
ifeq 3
iconst_m1
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ireturn
5: StackMap locals:
StackMap stack:
aload 2
ifnonnull 9
6: aload 0
getfield java.util.Comparators$NullComparator.nullFirst:Z
ifeq 7
iconst_1
goto 8
StackMap locals:
StackMap stack:
7: iconst_m1
StackMap locals:
StackMap stack: int
8: ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield java.util.Comparators$NullComparator.real:Ljava/util/Comparator;
ifnonnull 10
iconst_0
goto 11
StackMap locals:
StackMap stack:
10: aload 0
getfield java.util.Comparators$NullComparator.real:Ljava/util/Comparator;
aload 1
aload 2
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
StackMap locals:
StackMap stack: int
11: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/Comparators$NullComparator<TT;>;
0 12 1 a TT;
0 12 2 b TT;
Signature: (TT;TT;)I
MethodParameters:
Name Flags
a
b
public java.util.Comparator<T> thenComparing(java.util.Comparator<? super T>);
descriptor: (Ljava/util/Comparator;)Ljava/util/Comparator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: new java.util.Comparators$NullComparator
dup
aload 0
getfield java.util.Comparators$NullComparator.nullFirst:Z
aload 0
getfield java.util.Comparators$NullComparator.real:Ljava/util/Comparator;
ifnonnull 2
aload 1
goto 3
StackMap locals: java.util.Comparators$NullComparator java.util.Comparator
StackMap stack: new 1 new 1 int
2: aload 0
getfield java.util.Comparators$NullComparator.real:Ljava/util/Comparator;
aload 1
invokeinterface java.util.Comparator.thenComparing:(Ljava/util/Comparator;)Ljava/util/Comparator;
StackMap locals: java.util.Comparators$NullComparator java.util.Comparator
StackMap stack: new 1 new 1 int java.util.Comparator
3: invokespecial java.util.Comparators$NullComparator.<init>:(ZLjava/util/Comparator;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/Comparators$NullComparator<TT;>;
0 4 1 other Ljava/util/Comparator<-TT;>;
Signature: (Ljava/util/Comparator<-TT;>;)Ljava/util/Comparator<TT;>;
MethodParameters:
Name Flags
other
public java.util.Comparator<T> reversed();
descriptor: ()Ljava/util/Comparator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.util.Comparators$NullComparator
dup
aload 0
getfield java.util.Comparators$NullComparator.nullFirst:Z
ifeq 1
iconst_0
goto 2
StackMap locals: java.util.Comparators$NullComparator
StackMap stack: new 0 new 0
1: iconst_1
StackMap locals: java.util.Comparators$NullComparator
StackMap stack: new 0 new 0 int
2: aload 0
getfield java.util.Comparators$NullComparator.real:Ljava/util/Comparator;
ifnonnull 3
aconst_null
goto 4
StackMap locals: java.util.Comparators$NullComparator
StackMap stack: new 0 new 0 int
3: aload 0
getfield java.util.Comparators$NullComparator.real:Ljava/util/Comparator;
invokeinterface java.util.Comparator.reversed:()Ljava/util/Comparator;
StackMap locals: java.util.Comparators$NullComparator
StackMap stack: new 0 new 0 int java.util.Comparator
4: invokespecial java.util.Comparators$NullComparator.<init>:(ZLjava/util/Comparator;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/Comparators$NullComparator<TT;>;
Signature: ()Ljava/util/Comparator<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Comparator<TT;>;Ljava/io/Serializable;
SourceFile: "Comparators.java"
NestHost: java.util.Comparators
InnerClasses:
final NullComparator = java.util.Comparators$NullComparator of java.util.Comparators