public interface java.util.Comparator<T>
minor version: 0
major version: 59
flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
this_class: java.util.Comparator
super_class: java.lang.Object
{
public abstract int compare(T, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: (TT;TT;)I
MethodParameters:
Name Flags
o1
o2
public abstract boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
obj
public java.util.Comparator<T> reversed();
descriptor: ()Ljava/util/Comparator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Collections.reverseOrder:(Ljava/util/Comparator;)Ljava/util/Comparator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Comparator<TT;>;
Signature: ()Ljava/util/Comparator<TT;>;
public java.util.Comparator<T> thenComparing(java.util.Comparator<? super T>);
descriptor: (Ljava/util/Comparator;)Ljava/util/Comparator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, 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: aload 0
aload 1
invokedynamic compare(Ljava/util/Comparator;Ljava/util/Comparator;)Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
java/util/Comparator.lambda$0(Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I (7 itf)
(Ljava/lang/Object;Ljava/lang/Object;)I
1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/Comparator<TT;>;
0 2 1 other Ljava/util/Comparator<-TT;>;
Signature: (Ljava/util/Comparator<-TT;>;)Ljava/util/Comparator<TT;>;
MethodParameters:
Name Flags
other
public <U> java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>);
descriptor: (Ljava/util/function/Function;Ljava/util/Comparator;)Ljava/util/Comparator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;Ljava/util/Comparator;)Ljava/util/Comparator;
invokeinterface java.util.Comparator.thenComparing:(Ljava/util/Comparator;)Ljava/util/Comparator;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Comparator<TT;>;
0 1 1 keyExtractor Ljava/util/function/Function<-TT;+TU;>;
0 1 2 keyComparator Ljava/util/Comparator<-TU;>;
Signature: <U:Ljava/lang/Object;>(Ljava/util/function/Function<-TT;+TU;>;Ljava/util/Comparator<-TU;>;)Ljava/util/Comparator<TT;>;
MethodParameters:
Name Flags
keyExtractor
keyComparator
public <U extends java.lang.Comparable<? super U>> java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U>);
descriptor: (Ljava/util/function/Function;)Ljava/util/Comparator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
invokeinterface java.util.Comparator.thenComparing:(Ljava/util/Comparator;)Ljava/util/Comparator;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Comparator<TT;>;
0 1 1 keyExtractor Ljava/util/function/Function<-TT;+TU;>;
Signature: <U::Ljava/lang/Comparable<-TU;>;>(Ljava/util/function/Function<-TT;+TU;>;)Ljava/util/Comparator<TT;>;
MethodParameters:
Name Flags
keyExtractor
public java.util.Comparator<T> thenComparingInt(java.util.function.ToIntFunction<? super T>);
descriptor: (Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Comparator.comparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
invokeinterface java.util.Comparator.thenComparing:(Ljava/util/Comparator;)Ljava/util/Comparator;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Comparator<TT;>;
0 1 1 keyExtractor Ljava/util/function/ToIntFunction<-TT;>;
Signature: (Ljava/util/function/ToIntFunction<-TT;>;)Ljava/util/Comparator<TT;>;
MethodParameters:
Name Flags
keyExtractor
public java.util.Comparator<T> thenComparingLong(java.util.function.ToLongFunction<? super T>);
descriptor: (Ljava/util/function/ToLongFunction;)Ljava/util/Comparator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Comparator.comparingLong:(Ljava/util/function/ToLongFunction;)Ljava/util/Comparator;
invokeinterface java.util.Comparator.thenComparing:(Ljava/util/Comparator;)Ljava/util/Comparator;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Comparator<TT;>;
0 1 1 keyExtractor Ljava/util/function/ToLongFunction<-TT;>;
Signature: (Ljava/util/function/ToLongFunction<-TT;>;)Ljava/util/Comparator<TT;>;
MethodParameters:
Name Flags
keyExtractor
public java.util.Comparator<T> thenComparingDouble(java.util.function.ToDoubleFunction<? super T>);
descriptor: (Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Comparator.comparingDouble:(Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;
invokeinterface java.util.Comparator.thenComparing:(Ljava/util/Comparator;)Ljava/util/Comparator;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Comparator<TT;>;
0 1 1 keyExtractor Ljava/util/function/ToDoubleFunction<-TT;>;
Signature: (Ljava/util/function/ToDoubleFunction<-TT;>;)Ljava/util/Comparator<TT;>;
MethodParameters:
Name Flags
keyExtractor
public static <T extends java.lang.Comparable<? super T>> java.util.Comparator<T> reverseOrder();
descriptor: ()Ljava/util/Comparator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic java.util.Collections.reverseOrder:()Ljava/util/Comparator;
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: <T::Ljava/lang/Comparable<-TT;>;>()Ljava/util/Comparator<TT;>;
public static <T extends java.lang.Comparable<? super T>> java.util.Comparator<T> naturalOrder();
descriptor: ()Ljava/util/Comparator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic java.util.Comparators$NaturalOrderComparator.INSTANCE:Ljava/util/Comparators$NaturalOrderComparator;
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: <T::Ljava/lang/Comparable<-TT;>;>()Ljava/util/Comparator<TT;>;
public static <T> java.util.Comparator<T> nullsFirst(java.util.Comparator<? super T>);
descriptor: (Ljava/util/Comparator;)Ljava/util/Comparator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.util.Comparators$NullComparator
dup
iconst_1
aload 0
invokespecial java.util.Comparators$NullComparator.<init>:(ZLjava/util/Comparator;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 comparator Ljava/util/Comparator<-TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/Comparator<-TT;>;)Ljava/util/Comparator<TT;>;
MethodParameters:
Name Flags
comparator
public static <T> java.util.Comparator<T> nullsLast(java.util.Comparator<? super T>);
descriptor: (Ljava/util/Comparator;)Ljava/util/Comparator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.util.Comparators$NullComparator
dup
iconst_0
aload 0
invokespecial java.util.Comparators$NullComparator.<init>:(ZLjava/util/Comparator;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 comparator Ljava/util/Comparator<-TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/Comparator<-TT;>;)Ljava/util/Comparator<TT;>;
MethodParameters:
Name Flags
comparator
public static <T, U> java.util.Comparator<T> comparing(java.util.function.Function<? super T, ? extends U>, java.util.Comparator<? super U>);
descriptor: (Ljava/util/function/Function;Ljava/util/Comparator;)Ljava/util/Comparator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
aload 0
invokedynamic compare(Ljava/util/Comparator;Ljava/util/function/Function;)Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
java/util/Comparator.lambda$1(Ljava/util/Comparator;Ljava/util/function/Function;Ljava/lang/Object;Ljava/lang/Object;)I (6 itf)
(Ljava/lang/Object;Ljava/lang/Object;)I
1
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 keyExtractor Ljava/util/function/Function<-TT;+TU;>;
0 4 1 keyComparator Ljava/util/Comparator<-TU;>;
Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;>(Ljava/util/function/Function<-TT;+TU;>;Ljava/util/Comparator<-TU;>;)Ljava/util/Comparator<TT;>;
MethodParameters:
Name Flags
keyExtractor
keyComparator
public static <T, U extends java.lang.Comparable<? super U>> java.util.Comparator<T> comparing(java.util.function.Function<? super T, ? extends U>);
descriptor: (Ljava/util/function/Function;)Ljava/util/Comparator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokedynamic compare(Ljava/util/function/Function;)Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
java/util/Comparator.lambda$2(Ljava/util/function/Function;Ljava/lang/Object;Ljava/lang/Object;)I (6 itf)
(Ljava/lang/Object;Ljava/lang/Object;)I
1
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 keyExtractor Ljava/util/function/Function<-TT;+TU;>;
Signature: <T:Ljava/lang/Object;U::Ljava/lang/Comparable<-TU;>;>(Ljava/util/function/Function<-TT;+TU;>;)Ljava/util/Comparator<TT;>;
MethodParameters:
Name Flags
keyExtractor
public static <T> java.util.Comparator<T> comparingInt(java.util.function.ToIntFunction<? super T>);
descriptor: (Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokedynamic compare(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
java/util/Comparator.lambda$3(Ljava/util/function/ToIntFunction;Ljava/lang/Object;Ljava/lang/Object;)I (6 itf)
(Ljava/lang/Object;Ljava/lang/Object;)I
1
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 keyExtractor Ljava/util/function/ToIntFunction<-TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/function/ToIntFunction<-TT;>;)Ljava/util/Comparator<TT;>;
MethodParameters:
Name Flags
keyExtractor
public static <T> java.util.Comparator<T> comparingLong(java.util.function.ToLongFunction<? super T>);
descriptor: (Ljava/util/function/ToLongFunction;)Ljava/util/Comparator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokedynamic compare(Ljava/util/function/ToLongFunction;)Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
java/util/Comparator.lambda$4(Ljava/util/function/ToLongFunction;Ljava/lang/Object;Ljava/lang/Object;)I (6 itf)
(Ljava/lang/Object;Ljava/lang/Object;)I
1
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 keyExtractor Ljava/util/function/ToLongFunction<-TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/function/ToLongFunction<-TT;>;)Ljava/util/Comparator<TT;>;
MethodParameters:
Name Flags
keyExtractor
public static <T> java.util.Comparator<T> comparingDouble(java.util.function.ToDoubleFunction<? super T>);
descriptor: (Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokedynamic compare(Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
java/util/Comparator.lambda$5(Ljava/util/function/ToDoubleFunction;Ljava/lang/Object;Ljava/lang/Object;)I (6 itf)
(Ljava/lang/Object;Ljava/lang/Object;)I
1
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 keyExtractor Ljava/util/function/ToDoubleFunction<-TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/function/ToDoubleFunction<-TT;>;)Ljava/util/Comparator<TT;>;
MethodParameters:
Name Flags
keyExtractor
private int lambda$0(java.util.Comparator, java.lang.Object, java.lang.Object);
descriptor: (Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 2
aload 3
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
istore 4
start local 4 1: iload 4
ifeq 2
iload 4
goto 3
StackMap locals: int
StackMap stack:
2: aload 1
aload 2
aload 3
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
StackMap locals:
StackMap stack: int
3: ireturn
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/Comparator<TT;>;
0 4 2 c1 TT;
0 4 3 c2 TT;
1 4 4 res I
private static int lambda$1(java.util.Comparator, java.util.function.Function, java.lang.Object, java.lang.Object);
descriptor: (Ljava/util/Comparator;Ljava/util/function/Function;Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
start local 2 start local 3 0: aload 0
aload 1
aload 2
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
1: aload 1
aload 3
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
2: invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
3: ireturn
end local 3 end local 2 LocalVariableTable:
Start End Slot Name Signature
0 4 2 c1 TT;
0 4 3 c2 TT;
private static int lambda$2(java.util.function.Function, java.lang.Object, java.lang.Object);
descriptor: (Ljava/util/function/Function;Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 1 start local 2 0: aload 0
aload 1
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Comparable
aload 0
aload 2
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
ireturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 c1 TT;
0 1 2 c2 TT;
private static int lambda$3(java.util.function.ToIntFunction, java.lang.Object, java.lang.Object);
descriptor: (Ljava/util/function/ToIntFunction;Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 1 start local 2 0: aload 0
aload 1
invokeinterface java.util.function.ToIntFunction.applyAsInt:(Ljava/lang/Object;)I
aload 0
aload 2
invokeinterface java.util.function.ToIntFunction.applyAsInt:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.compare:(II)I
ireturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 c1 TT;
0 1 2 c2 TT;
private static int lambda$4(java.util.function.ToLongFunction, java.lang.Object, java.lang.Object);
descriptor: (Ljava/util/function/ToLongFunction;Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 1 start local 2 0: aload 0
aload 1
invokeinterface java.util.function.ToLongFunction.applyAsLong:(Ljava/lang/Object;)J
aload 0
aload 2
invokeinterface java.util.function.ToLongFunction.applyAsLong:(Ljava/lang/Object;)J
invokestatic java.lang.Long.compare:(JJ)I
ireturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 c1 TT;
0 1 2 c2 TT;
private static int lambda$5(java.util.function.ToDoubleFunction, java.lang.Object, java.lang.Object);
descriptor: (Ljava/util/function/ToDoubleFunction;Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 1 start local 2 0: aload 0
aload 1
invokeinterface java.util.function.ToDoubleFunction.applyAsDouble:(Ljava/lang/Object;)D
aload 0
aload 2
invokeinterface java.util.function.ToDoubleFunction.applyAsDouble:(Ljava/lang/Object;)D
invokestatic java.lang.Double.compare:(DD)I
ireturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 c1 TT;
0 1 2 c2 TT;
private static java.lang.Object $deserializeLambda$(java.lang.invoke.SerializedLambda);
descriptor: (Ljava/lang/invoke/SerializedLambda;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=11, locals=3, args_size=1
0: aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodName:()Ljava/lang/String;
astore 1
iconst_m1
istore 2
aload 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 6
-1647345005: 1
-1647345004: 2
-1647345003: 3
-1647345002: 4
-1647345001: 5
-1647345000: 6
default: 7
}
StackMap locals: java.lang.String int
StackMap stack:
1: aload 1
ldc "lambda$0"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
iconst_0
istore 2
goto 7
StackMap locals:
StackMap stack:
2: aload 1
ldc "lambda$1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
iconst_1
istore 2
goto 7
StackMap locals:
StackMap stack:
3: aload 1
ldc "lambda$2"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
iconst_2
istore 2
goto 7
StackMap locals:
StackMap stack:
4: aload 1
ldc "lambda$3"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
iconst_3
istore 2
goto 7
StackMap locals:
StackMap stack:
5: aload 1
ldc "lambda$4"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
iconst_4
istore 2
goto 7
StackMap locals:
StackMap stack:
6: aload 1
ldc "lambda$5"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
iconst_5
istore 2
StackMap locals:
StackMap stack:
7: iload 2
lookupswitch { // 6
0: 8
1: 9
2: 10
3: 11
4: 12
5: 13
default: 14
}
StackMap locals:
StackMap stack:
8: aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodKind:()I
bipush 7
if_icmpne 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceClass:()Ljava/lang/String;
ldc "java/util/Comparator"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodName:()Ljava/lang/String;
ldc "compare"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodSignature:()Ljava/lang/String;
ldc "(Ljava/lang/Object;Ljava/lang/Object;)I"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplClass:()Ljava/lang/String;
ldc "java/util/Comparator"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodSignature:()Ljava/lang/String;
ldc "(Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
iconst_0
invokevirtual java.lang.invoke.SerializedLambda.getCapturedArg:(I)Ljava/lang/Object;
checkcast java.util.Comparator
aload 0
iconst_1
invokevirtual java.lang.invoke.SerializedLambda.getCapturedArg:(I)Ljava/lang/Object;
checkcast java.util.Comparator
invokedynamic compare(Ljava/util/Comparator;Ljava/util/Comparator;)Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
java/util/Comparator.lambda$0(Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I (7 itf)
(Ljava/lang/Object;Ljava/lang/Object;)I
1
areturn
StackMap locals:
StackMap stack:
9: aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodKind:()I
bipush 6
if_icmpne 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceClass:()Ljava/lang/String;
ldc "java/util/Comparator"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodName:()Ljava/lang/String;
ldc "compare"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodSignature:()Ljava/lang/String;
ldc "(Ljava/lang/Object;Ljava/lang/Object;)I"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplClass:()Ljava/lang/String;
ldc "java/util/Comparator"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodSignature:()Ljava/lang/String;
ldc "(Ljava/util/Comparator;Ljava/util/function/Function;Ljava/lang/Object;Ljava/lang/Object;)I"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
iconst_0
invokevirtual java.lang.invoke.SerializedLambda.getCapturedArg:(I)Ljava/lang/Object;
checkcast java.util.Comparator
aload 0
iconst_1
invokevirtual java.lang.invoke.SerializedLambda.getCapturedArg:(I)Ljava/lang/Object;
checkcast java.util.function.Function
invokedynamic compare(Ljava/util/Comparator;Ljava/util/function/Function;)Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
java/util/Comparator.lambda$1(Ljava/util/Comparator;Ljava/util/function/Function;Ljava/lang/Object;Ljava/lang/Object;)I (6 itf)
(Ljava/lang/Object;Ljava/lang/Object;)I
1
areturn
StackMap locals:
StackMap stack:
10: aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodKind:()I
bipush 6
if_icmpne 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceClass:()Ljava/lang/String;
ldc "java/util/Comparator"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodName:()Ljava/lang/String;
ldc "compare"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodSignature:()Ljava/lang/String;
ldc "(Ljava/lang/Object;Ljava/lang/Object;)I"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplClass:()Ljava/lang/String;
ldc "java/util/Comparator"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodSignature:()Ljava/lang/String;
ldc "(Ljava/util/function/Function;Ljava/lang/Object;Ljava/lang/Object;)I"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
iconst_0
invokevirtual java.lang.invoke.SerializedLambda.getCapturedArg:(I)Ljava/lang/Object;
checkcast java.util.function.Function
invokedynamic compare(Ljava/util/function/Function;)Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
java/util/Comparator.lambda$2(Ljava/util/function/Function;Ljava/lang/Object;Ljava/lang/Object;)I (6 itf)
(Ljava/lang/Object;Ljava/lang/Object;)I
1
areturn
StackMap locals:
StackMap stack:
11: aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodKind:()I
bipush 6
if_icmpne 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceClass:()Ljava/lang/String;
ldc "java/util/Comparator"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodName:()Ljava/lang/String;
ldc "compare"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodSignature:()Ljava/lang/String;
ldc "(Ljava/lang/Object;Ljava/lang/Object;)I"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplClass:()Ljava/lang/String;
ldc "java/util/Comparator"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodSignature:()Ljava/lang/String;
ldc "(Ljava/util/function/ToIntFunction;Ljava/lang/Object;Ljava/lang/Object;)I"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
iconst_0
invokevirtual java.lang.invoke.SerializedLambda.getCapturedArg:(I)Ljava/lang/Object;
checkcast java.util.function.ToIntFunction
invokedynamic compare(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
java/util/Comparator.lambda$3(Ljava/util/function/ToIntFunction;Ljava/lang/Object;Ljava/lang/Object;)I (6 itf)
(Ljava/lang/Object;Ljava/lang/Object;)I
1
areturn
StackMap locals:
StackMap stack:
12: aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodKind:()I
bipush 6
if_icmpne 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceClass:()Ljava/lang/String;
ldc "java/util/Comparator"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodName:()Ljava/lang/String;
ldc "compare"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodSignature:()Ljava/lang/String;
ldc "(Ljava/lang/Object;Ljava/lang/Object;)I"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplClass:()Ljava/lang/String;
ldc "java/util/Comparator"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodSignature:()Ljava/lang/String;
ldc "(Ljava/util/function/ToLongFunction;Ljava/lang/Object;Ljava/lang/Object;)I"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
iconst_0
invokevirtual java.lang.invoke.SerializedLambda.getCapturedArg:(I)Ljava/lang/Object;
checkcast java.util.function.ToLongFunction
invokedynamic compare(Ljava/util/function/ToLongFunction;)Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
java/util/Comparator.lambda$4(Ljava/util/function/ToLongFunction;Ljava/lang/Object;Ljava/lang/Object;)I (6 itf)
(Ljava/lang/Object;Ljava/lang/Object;)I
1
areturn
StackMap locals:
StackMap stack:
13: aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodKind:()I
bipush 6
if_icmpne 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceClass:()Ljava/lang/String;
ldc "java/util/Comparator"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodName:()Ljava/lang/String;
ldc "compare"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodSignature:()Ljava/lang/String;
ldc "(Ljava/lang/Object;Ljava/lang/Object;)I"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplClass:()Ljava/lang/String;
ldc "java/util/Comparator"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
invokevirtual java.lang.invoke.SerializedLambda.getImplMethodSignature:()Ljava/lang/String;
ldc "(Ljava/util/function/ToDoubleFunction;Ljava/lang/Object;Ljava/lang/Object;)I"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
aload 0
iconst_0
invokevirtual java.lang.invoke.SerializedLambda.getCapturedArg:(I)Ljava/lang/Object;
checkcast java.util.function.ToDoubleFunction
invokedynamic compare(Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
java/util/Comparator.lambda$5(Ljava/util/function/ToDoubleFunction;Ljava/lang/Object;Ljava/lang/Object;)I (6 itf)
(Ljava/lang/Object;Ljava/lang/Object;)I
1
areturn
StackMap locals:
StackMap stack:
14: new java.lang.IllegalArgumentException
dup
ldc "Invalid lambda deserialization"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "Comparator.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
final NaturalOrderComparator = java.util.Comparators$NaturalOrderComparator of java.util.Comparators
final NullComparator = java.util.Comparators$NullComparator of java.util.Comparators
RuntimeVisibleAnnotations:
java.lang.FunctionalInterface()