public final class com.google.common.collect.Comparators
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.google.common.collect.Comparators
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/collect/Comparators;
public static <T, S extends T> java.util.Comparator<java.lang.Iterable<S>> lexicographical(java.util.Comparator<T>);
descriptor: (Ljava/util/Comparator;)Ljava/util/Comparator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.google.common.collect.LexicographicalOrdering
dup
aload 0
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Comparator
invokespecial com.google.common.collect.LexicographicalOrdering.<init>:(Ljava/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;S:TT;>(Ljava/util/Comparator<TT;>;)Ljava/util/Comparator<Ljava/lang/Iterable<TS;>;>;
MethodParameters:
Name Flags
comparator
public static <T> boolean isInOrder(java.lang.Iterable<? extends T>, java.util.Comparator<T>);
descriptor: (Ljava/lang/Iterable;Ljava/util/Comparator;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 2
start local 2 2: aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 10
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 4: goto 9
5: StackMap locals: java.util.Iterator java.lang.Object
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 4
start local 4 6: aload 1
aload 3
aload 4
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ifle 8
7: iconst_0
ireturn
8: StackMap locals: java.lang.Object
StackMap stack:
aload 4
astore 3
end local 4 9: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 3 10: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 iterable Ljava/lang/Iterable<+TT;>;
0 11 1 comparator Ljava/util/Comparator<TT;>;
2 11 2 it Ljava/util/Iterator<+TT;>;
4 10 3 prev TT;
6 9 4 next TT;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Iterable<+TT;>;Ljava/util/Comparator<TT;>;)Z
MethodParameters:
Name Flags
iterable
comparator
public static <T> boolean isInStrictOrder(java.lang.Iterable<? extends T>, java.util.Comparator<T>);
descriptor: (Ljava/lang/Iterable;Ljava/util/Comparator;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 2
start local 2 2: aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 10
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 4: goto 9
5: StackMap locals: java.util.Iterator java.lang.Object
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 4
start local 4 6: aload 1
aload 3
aload 4
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
iflt 8
7: iconst_0
ireturn
8: StackMap locals: java.lang.Object
StackMap stack:
aload 4
astore 3
end local 4 9: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 3 10: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 iterable Ljava/lang/Iterable<+TT;>;
0 11 1 comparator Ljava/util/Comparator<TT;>;
2 11 2 it Ljava/util/Iterator<+TT;>;
4 10 3 prev TT;
6 9 4 next TT;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Iterable<+TT;>;Ljava/util/Comparator<TT;>;)Z
MethodParameters:
Name Flags
iterable
comparator
public static <T> java.util.stream.Collector<T, ?, java.util.List<T>> least(int, java.util.Comparator<? super T>);
descriptor: (ILjava/util/Comparator;)Ljava/util/stream/Collector;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: iload 0
ldc "k"
invokestatic com.google.common.collect.CollectPreconditions.checkNonnegative:(ILjava/lang/String;)I
pop
1: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: iload 0
aload 1
invokedynamic get(ILjava/util/Comparator;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/google/common/collect/Comparators.lambda$0(ILjava/util/Comparator;)Lcom/google/common/collect/TopKSelector; (6)
()Lcom/google/common/collect/TopKSelector;
3: invokedynamic accept()Ljava/util/function/BiConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
com/google/common/collect/TopKSelector.offer(Ljava/lang/Object;)V (5)
(Lcom/google/common/collect/TopKSelector;Ljava/lang/Object;)V
4: invokedynamic apply()Ljava/util/function/BinaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
com/google/common/collect/TopKSelector.combine(Lcom/google/common/collect/TopKSelector;)Lcom/google/common/collect/TopKSelector; (5)
(Lcom/google/common/collect/TopKSelector;Lcom/google/common/collect/TopKSelector;)Lcom/google/common/collect/TopKSelector;
5: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/google/common/collect/TopKSelector.topK()Ljava/util/List; (5)
(Lcom/google/common/collect/TopKSelector;)Ljava/util/List;
iconst_1
anewarray java.util.stream.Collector$Characteristics
dup
iconst_0
6: getstatic java.util.stream.Collector$Characteristics.UNORDERED:Ljava/util/stream/Collector$Characteristics;
aastore
7: invokestatic java.util.stream.Collector.of:(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;[Ljava/util/stream/Collector$Characteristics;)Ljava/util/stream/Collector;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 k I
0 8 1 comparator Ljava/util/Comparator<-TT;>;
Signature: <T:Ljava/lang/Object;>(ILjava/util/Comparator<-TT;>;)Ljava/util/stream/Collector<TT;*Ljava/util/List<TT;>;>;
MethodParameters:
Name Flags
k
comparator
public static <T> java.util.stream.Collector<T, ?, java.util.List<T>> greatest(int, java.util.Comparator<? super T>);
descriptor: (ILjava/util/Comparator;)Ljava/util/stream/Collector;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
aload 1
invokeinterface java.util.Comparator.reversed:()Ljava/util/Comparator;
invokestatic com.google.common.collect.Comparators.least:(ILjava/util/Comparator;)Ljava/util/stream/Collector;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 k I
0 1 1 comparator Ljava/util/Comparator<-TT;>;
Signature: <T:Ljava/lang/Object;>(ILjava/util/Comparator<-TT;>;)Ljava/util/stream/Collector<TT;*Ljava/util/List<TT;>;>;
MethodParameters:
Name Flags
k
comparator
public static <T> java.util.Comparator<java.util.Optional<T>> emptiesFirst(java.util.Comparator<? super T>);
descriptor: (Ljava/util/Comparator;)Ljava/util/Comparator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/google/common/collect/Comparators.lambda$4(Ljava/util/Optional;)Ljava/lang/Object; (6)
(Ljava/util/Optional;)Ljava/lang/Object;
aload 0
invokestatic java.util.Comparator.nullsFirst:(Ljava/util/Comparator;)Ljava/util/Comparator;
invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;Ljava/util/Comparator;)Ljava/util/Comparator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 valueComparator Ljava/util/Comparator<-TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/Comparator<-TT;>;)Ljava/util/Comparator<Ljava/util/Optional<TT;>;>;
RuntimeInvisibleAnnotations:
com.google.common.annotations.Beta()
MethodParameters:
Name Flags
valueComparator
public static <T> java.util.Comparator<java.util.Optional<T>> emptiesLast(java.util.Comparator<? super T>);
descriptor: (Ljava/util/Comparator;)Ljava/util/Comparator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/google/common/collect/Comparators.lambda$5(Ljava/util/Optional;)Ljava/lang/Object; (6)
(Ljava/util/Optional;)Ljava/lang/Object;
aload 0
invokestatic java.util.Comparator.nullsLast:(Ljava/util/Comparator;)Ljava/util/Comparator;
invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;Ljava/util/Comparator;)Ljava/util/Comparator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 valueComparator Ljava/util/Comparator<-TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/Comparator<-TT;>;)Ljava/util/Comparator<Ljava/util/Optional<TT;>;>;
RuntimeInvisibleAnnotations:
com.google.common.annotations.Beta()
MethodParameters:
Name Flags
valueComparator
private static com.google.common.collect.TopKSelector lambda$0(int, java.util.Comparator);
descriptor: (ILjava/util/Comparator;)Lcom/google/common/collect/TopKSelector;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: iload 0
aload 1
invokestatic com.google.common.collect.TopKSelector.least:(ILjava/util/Comparator;)Lcom/google/common/collect/TopKSelector;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.Object lambda$4(java.util.Optional);
descriptor: (Ljava/util/Optional;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o Ljava/util/Optional<TT;>;
private static java.lang.Object lambda$5(java.util.Optional);
descriptor: (Ljava/util/Optional;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o Ljava/util/Optional<TT;>;
}
SourceFile: "Comparators.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Characteristics = java.util.stream.Collector$Characteristics of java.util.stream.Collector
RuntimeInvisibleAnnotations:
com.google.common.annotations.Beta()
com.google.common.annotations.GwtCompatible()