public class org.apache.cassandra.db.ClusteringComparator implements java.util.Comparator<org.apache.cassandra.db.Clusterable>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.db.ClusteringComparator
super_class: java.lang.Object
{
private final java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>> clusteringTypes;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
private final java.util.Comparator<org.apache.cassandra.io.sstable.IndexInfo> indexComparator;
descriptor: Ljava/util/Comparator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Comparator<Lorg/apache/cassandra/io/sstable/IndexInfo;>;
private final java.util.Comparator<org.apache.cassandra.io.sstable.IndexInfo> indexReverseComparator;
descriptor: Ljava/util/Comparator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Comparator<Lorg/apache/cassandra/io/sstable/IndexInfo;>;
private final java.util.Comparator<org.apache.cassandra.db.Clusterable> reverseComparator;
descriptor: Ljava/util/Comparator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Comparator<Lorg/apache/cassandra/db/Clusterable;>;
private final java.util.Comparator<org.apache.cassandra.db.rows.Row> rowComparator;
descriptor: Ljava/util/Comparator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Comparator<Lorg/apache/cassandra/db/rows/Row;>;
public void <init>(org.apache.cassandra.db.marshal.AbstractType<?>[]);
descriptor: ([Lorg/apache/cassandra/db/marshal/AbstractType;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.google.common.collect.ImmutableList.copyOf:([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
invokespecial org.apache.cassandra.db.ClusteringComparator.<init>:(Ljava/util/List;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 2 1 clusteringTypes [Lorg/apache/cassandra/db/marshal/AbstractType;
Signature: ([Lorg/apache/cassandra/db/marshal/AbstractType<*>;)V
MethodParameters:
Name Flags
clusteringTypes
public void <init>(java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
invokedynamic compare(Lorg/apache/cassandra/db/ClusteringComparator;)Ljava/util/Comparator;
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;)I
org/apache/cassandra/db/ClusteringComparator.lambda$0(Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)I (7)
(Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)I
putfield org.apache.cassandra.db.ClusteringComparator.rowComparator:Ljava/util/Comparator;
2: aload 0
aload 1
invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableList;
putfield org.apache.cassandra.db.ClusteringComparator.clusteringTypes:Ljava/util/List;
3: aload 0
aload 0
invokedynamic compare(Lorg/apache/cassandra/db/ClusteringComparator;)Ljava/util/Comparator;
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;)I
org/apache/cassandra/db/ClusteringComparator.lambda$1(Lorg/apache/cassandra/io/sstable/IndexInfo;Lorg/apache/cassandra/io/sstable/IndexInfo;)I (7)
(Lorg/apache/cassandra/io/sstable/IndexInfo;Lorg/apache/cassandra/io/sstable/IndexInfo;)I
putfield org.apache.cassandra.db.ClusteringComparator.indexComparator:Ljava/util/Comparator;
4: aload 0
aload 0
invokedynamic compare(Lorg/apache/cassandra/db/ClusteringComparator;)Ljava/util/Comparator;
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;)I
org/apache/cassandra/db/ClusteringComparator.lambda$2(Lorg/apache/cassandra/io/sstable/IndexInfo;Lorg/apache/cassandra/io/sstable/IndexInfo;)I (7)
(Lorg/apache/cassandra/io/sstable/IndexInfo;Lorg/apache/cassandra/io/sstable/IndexInfo;)I
putfield org.apache.cassandra.db.ClusteringComparator.indexReverseComparator:Ljava/util/Comparator;
5: aload 0
aload 0
invokedynamic compare(Lorg/apache/cassandra/db/ClusteringComparator;)Ljava/util/Comparator;
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;)I
org/apache/cassandra/db/ClusteringComparator.lambda$3(Lorg/apache/cassandra/db/Clusterable;Lorg/apache/cassandra/db/Clusterable;)I (7)
(Lorg/apache/cassandra/db/Clusterable;Lorg/apache/cassandra/db/Clusterable;)I
putfield org.apache.cassandra.db.ClusteringComparator.reverseComparator:Ljava/util/Comparator;
6: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: org.apache.cassandra.db.ClusteringComparator java.util.List top java.util.Iterator
StackMap stack:
7: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.marshal.AbstractType
astore 2
start local 2 8: aload 2
invokevirtual org.apache.cassandra.db.marshal.AbstractType.checkComparable:()V
end local 2 9: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 11 1 clusteringTypes Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
8 9 2 type Lorg/apache/cassandra/db/marshal/AbstractType<*>;
Signature: (Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;)V
MethodParameters:
Name Flags
clusteringTypes
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.ClusteringComparator.clusteringTypes:Ljava/util/List;
invokeinterface java.util.List.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/ClusteringComparator;
public java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>> subtypes();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.ClusteringComparator.clusteringTypes:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/ClusteringComparator;
Signature: ()Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
public org.apache.cassandra.db.marshal.AbstractType<?> subtype(int);
descriptor: (I)Lorg/apache/cassandra/db/marshal/AbstractType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.db.ClusteringComparator.clusteringTypes:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.db.marshal.AbstractType
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 1 1 i I
Signature: (I)Lorg/apache/cassandra/db/marshal/AbstractType<*>;
MethodParameters:
Name Flags
i
public org.apache.cassandra.db.Clustering make(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Lorg/apache/cassandra/db/Clustering;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 1
arraylength
aload 0
invokevirtual org.apache.cassandra.db.ClusteringComparator.size:()I
if_icmpeq 2
1: new java.lang.IllegalArgumentException
dup
ldc "Invalid number of components, expecting %d but got %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual org.apache.cassandra.db.ClusteringComparator.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 1
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokestatic org.apache.cassandra.db.CBuilder.create:(Lorg/apache/cassandra/db/ClusteringComparator;)Lorg/apache/cassandra/db/CBuilder;
astore 2
start local 2 3: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: org.apache.cassandra.db.ClusteringComparator java.lang.Object[] org.apache.cassandra.db.CBuilder top int int java.lang.Object[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: aload 3
instanceof java.nio.ByteBuffer
ifeq 7
6: aload 2
aload 3
checkcast java.nio.ByteBuffer
invokevirtual org.apache.cassandra.db.CBuilder.add:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/CBuilder;
pop
goto 8
7: StackMap locals: org.apache.cassandra.db.ClusteringComparator java.lang.Object[] org.apache.cassandra.db.CBuilder java.lang.Object int int java.lang.Object[]
StackMap stack:
aload 2
aload 3
invokevirtual org.apache.cassandra.db.CBuilder.add:(Ljava/lang/Object;)Lorg/apache/cassandra/db/CBuilder;
pop
end local 3 8: StackMap locals: org.apache.cassandra.db.ClusteringComparator java.lang.Object[] org.apache.cassandra.db.CBuilder top int int java.lang.Object[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 5
if_icmplt 4
10: aload 2
invokevirtual org.apache.cassandra.db.CBuilder.build:()Lorg/apache/cassandra/db/Clustering;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 11 1 values [Ljava/lang/Object;
3 11 2 builder Lorg/apache/cassandra/db/CBuilder;
5 8 3 val Ljava/lang/Object;
MethodParameters:
Name Flags
values
public int compare(org.apache.cassandra.db.Clusterable, org.apache.cassandra.db.Clusterable);
descriptor: (Lorg/apache/cassandra/db/Clusterable;Lorg/apache/cassandra/db/Clusterable;)I
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
invokeinterface org.apache.cassandra.db.Clusterable.clustering:()Lorg/apache/cassandra/db/ClusteringPrefix;
aload 2
invokeinterface org.apache.cassandra.db.Clusterable.clustering:()Lorg/apache/cassandra/db/ClusteringPrefix;
invokevirtual org.apache.cassandra.db.ClusteringComparator.compare:(Lorg/apache/cassandra/db/ClusteringPrefix;Lorg/apache/cassandra/db/ClusteringPrefix;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 1 1 c1 Lorg/apache/cassandra/db/Clusterable;
0 1 2 c2 Lorg/apache/cassandra/db/Clusterable;
MethodParameters:
Name Flags
c1
c2
public int compare(org.apache.cassandra.db.ClusteringPrefix, org.apache.cassandra.db.ClusteringPrefix);
descriptor: (Lorg/apache/cassandra/db/ClusteringPrefix;Lorg/apache/cassandra/db/ClusteringPrefix;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.apache.cassandra.db.ClusteringPrefix.size:()I
istore 3
start local 3 1: aload 2
invokeinterface org.apache.cassandra.db.ClusteringPrefix.size:()I
istore 4
start local 4 2: iload 3
iload 4
invokestatic java.lang.Math.min:(II)I
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 9
5: StackMap locals: org.apache.cassandra.db.ClusteringComparator org.apache.cassandra.db.ClusteringPrefix org.apache.cassandra.db.ClusteringPrefix int int int int
StackMap stack:
aload 0
iload 6
aload 1
iload 6
invokeinterface org.apache.cassandra.db.ClusteringPrefix.get:(I)Ljava/nio/ByteBuffer;
aload 2
iload 6
invokeinterface org.apache.cassandra.db.ClusteringPrefix.get:(I)Ljava/nio/ByteBuffer;
invokevirtual org.apache.cassandra.db.ClusteringComparator.compareComponent:(ILjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
istore 7
start local 7 6: iload 7
ifeq 8
7: iload 7
ireturn
end local 7 8: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
iload 5
if_icmplt 5
end local 6 10: iload 3
iload 4
if_icmpne 12
11: aload 1
invokeinterface org.apache.cassandra.db.ClusteringPrefix.kind:()Lorg/apache/cassandra/db/ClusteringPrefix$Kind;
aload 2
invokeinterface org.apache.cassandra.db.ClusteringPrefix.kind:()Lorg/apache/cassandra/db/ClusteringPrefix$Kind;
invokestatic org.apache.cassandra.db.ClusteringPrefix$Kind.compare:(Lorg/apache/cassandra/db/ClusteringPrefix$Kind;Lorg/apache/cassandra/db/ClusteringPrefix$Kind;)I
ireturn
12: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmpge 13
aload 1
invokeinterface org.apache.cassandra.db.ClusteringPrefix.kind:()Lorg/apache/cassandra/db/ClusteringPrefix$Kind;
getfield org.apache.cassandra.db.ClusteringPrefix$Kind.comparedToClustering:I
goto 14
StackMap locals:
StackMap stack:
13: aload 2
invokeinterface org.apache.cassandra.db.ClusteringPrefix.kind:()Lorg/apache/cassandra/db/ClusteringPrefix$Kind;
getfield org.apache.cassandra.db.ClusteringPrefix$Kind.comparedToClustering:I
ineg
StackMap locals:
StackMap stack: int
14: ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 15 1 c1 Lorg/apache/cassandra/db/ClusteringPrefix;
0 15 2 c2 Lorg/apache/cassandra/db/ClusteringPrefix;
1 15 3 s1 I
2 15 4 s2 I
3 15 5 minSize I
4 10 6 i I
6 8 7 cmp I
MethodParameters:
Name Flags
c1
c2
public int compare(org.apache.cassandra.db.Clustering, org.apache.cassandra.db.Clustering);
descriptor: (Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/Clustering;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 0
invokevirtual org.apache.cassandra.db.ClusteringComparator.size:()I
invokevirtual org.apache.cassandra.db.ClusteringComparator.compare:(Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/Clustering;I)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 1 1 c1 Lorg/apache/cassandra/db/Clustering;
0 1 2 c2 Lorg/apache/cassandra/db/Clustering;
MethodParameters:
Name Flags
c1
c2
public int compare(org.apache.cassandra.db.Clustering, org.apache.cassandra.db.Clustering, int);
descriptor: (Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/Clustering;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
iload 4
aload 1
iload 4
invokeinterface org.apache.cassandra.db.Clustering.get:(I)Ljava/nio/ByteBuffer;
aload 2
iload 4
invokeinterface org.apache.cassandra.db.Clustering.get:(I)Ljava/nio/ByteBuffer;
invokevirtual org.apache.cassandra.db.ClusteringComparator.compareComponent:(ILjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
istore 5
start local 5 3: iload 5
ifeq 5
4: iload 5
ireturn
end local 5 5: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 3
if_icmplt 2
end local 4 7: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 8 1 c1 Lorg/apache/cassandra/db/Clustering;
0 8 2 c2 Lorg/apache/cassandra/db/Clustering;
0 8 3 size I
1 7 4 i I
3 5 5 cmp I
MethodParameters:
Name Flags
c1
c2
size
public int compareComponent(int, java.nio.ByteBuffer, java.nio.ByteBuffer);
descriptor: (ILjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 4
1: aload 3
ifnonnull 2
iconst_0
goto 3
StackMap locals:
StackMap stack:
2: iconst_m1
StackMap locals:
StackMap stack: int
3: ireturn
4: StackMap locals:
StackMap stack:
aload 3
ifnonnull 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.ClusteringComparator.clusteringTypes:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.db.marshal.AbstractType
aload 2
aload 3
invokevirtual org.apache.cassandra.db.marshal.AbstractType.compare:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 7 1 i I
0 7 2 v1 Ljava/nio/ByteBuffer;
0 7 3 v2 Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
i
v1
v2
public boolean isCompatibleWith(org.apache.cassandra.db.ClusteringComparator);
descriptor: (Lorg/apache/cassandra/db/ClusteringComparator;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.db.ClusteringComparator.size:()I
aload 1
invokevirtual org.apache.cassandra.db.ClusteringComparator.size:()I
if_icmpge 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 5: goto 11
6: StackMap locals: int
StackMap stack:
aload 1
iload 2
invokevirtual org.apache.cassandra.db.ClusteringComparator.subtype:(I)Lorg/apache/cassandra/db/marshal/AbstractType;
astore 3
start local 3 7: aload 0
iload 2
invokevirtual org.apache.cassandra.db.ClusteringComparator.subtype:(I)Lorg/apache/cassandra/db/marshal/AbstractType;
astore 4
start local 4 8: aload 4
aload 3
invokevirtual org.apache.cassandra.db.marshal.AbstractType.isCompatibleWith:(Lorg/apache/cassandra/db/marshal/AbstractType;)Z
ifne 10
9: iconst_0
ireturn
end local 4 end local 3 10: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 1
invokevirtual org.apache.cassandra.db.ClusteringComparator.size:()I
if_icmplt 6
end local 2 12: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 13 1 previous Lorg/apache/cassandra/db/ClusteringComparator;
5 12 2 i I
7 10 3 tprev Lorg/apache/cassandra/db/marshal/AbstractType<*>;
8 10 4 tnew Lorg/apache/cassandra/db/marshal/AbstractType<*>;
MethodParameters:
Name Flags
previous
public void validate(org.apache.cassandra.db.ClusteringPrefix);
descriptor: (Lorg/apache/cassandra/db/ClusteringPrefix;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 1
iload 2
invokeinterface org.apache.cassandra.db.ClusteringPrefix.get:(I)Ljava/nio/ByteBuffer;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 0
iload 2
invokevirtual org.apache.cassandra.db.ClusteringComparator.subtype:(I)Lorg/apache/cassandra/db/marshal/AbstractType;
aload 3
invokevirtual org.apache.cassandra.db.marshal.AbstractType.validate:(Ljava/nio/ByteBuffer;)V
end local 3 5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 1
invokeinterface org.apache.cassandra.db.ClusteringPrefix.size:()I
if_icmplt 2
end local 2 7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 8 1 clustering Lorg/apache/cassandra/db/ClusteringPrefix;
1 7 2 i I
3 5 3 value Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
clustering
public java.util.Comparator<org.apache.cassandra.db.rows.Row> rowComparator();
descriptor: ()Ljava/util/Comparator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.ClusteringComparator.rowComparator:Ljava/util/Comparator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/ClusteringComparator;
Signature: ()Ljava/util/Comparator<Lorg/apache/cassandra/db/rows/Row;>;
public java.util.Comparator<org.apache.cassandra.io.sstable.IndexInfo> indexComparator(boolean);
descriptor: (Z)Ljava/util/Comparator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 1
aload 0
getfield org.apache.cassandra.db.ClusteringComparator.indexReverseComparator:Ljava/util/Comparator;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.apache.cassandra.db.ClusteringComparator.indexComparator:Ljava/util/Comparator;
StackMap locals:
StackMap stack: java.util.Comparator
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 3 1 reversed Z
Signature: (Z)Ljava/util/Comparator<Lorg/apache/cassandra/io/sstable/IndexInfo;>;
MethodParameters:
Name Flags
reversed
public java.util.Comparator<org.apache.cassandra.db.Clusterable> reversed();
descriptor: ()Ljava/util/Comparator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.ClusteringComparator.reverseComparator:Ljava/util/Comparator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/ClusteringComparator;
Signature: ()Ljava/util/Comparator<Lorg/apache/cassandra/db/Clusterable;>;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: ldc "comparator(%s)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc ", "
invokestatic com.google.common.base.Joiner.on:(Ljava/lang/String;)Lcom/google/common/base/Joiner;
aload 0
getfield org.apache.cassandra.db.ClusteringComparator.clusteringTypes:Ljava/util/List;
invokevirtual com.google.common.base.Joiner.join:(Ljava/lang/Iterable;)Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/ClusteringComparator;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.apache.cassandra.db.ClusteringComparator
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.apache.cassandra.db.ClusteringComparator
astore 2
start local 2 5: aload 0
getfield org.apache.cassandra.db.ClusteringComparator.clusteringTypes:Ljava/util/List;
aload 2
getfield org.apache.cassandra.db.ClusteringComparator.clusteringTypes:Ljava/util/List;
invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 6 1 o Ljava/lang/Object;
5 6 2 that Lorg/apache/cassandra/db/ClusteringComparator;
MethodParameters:
Name Flags
o
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.ClusteringComparator.clusteringTypes:Ljava/util/List;
invokestatic java.util.Objects.hashCode:(Ljava/lang/Object;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/ClusteringComparator;
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: aload 0
aload 1
checkcast org.apache.cassandra.db.Clusterable
aload 2
checkcast org.apache.cassandra.db.Clusterable
invokevirtual org.apache.cassandra.db.ClusteringComparator.compare:(Lorg/apache/cassandra/db/Clusterable;Lorg/apache/cassandra/db/Clusterable;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
private int lambda$0(org.apache.cassandra.db.rows.Row, org.apache.cassandra.db.rows.Row);
descriptor: (Lorg/apache/cassandra/db/rows/Row;Lorg/apache/cassandra/db/rows/Row;)I
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokeinterface org.apache.cassandra.db.rows.Row.clustering:()Lorg/apache/cassandra/db/Clustering;
aload 2
invokeinterface org.apache.cassandra.db.rows.Row.clustering:()Lorg/apache/cassandra/db/Clustering;
invokevirtual org.apache.cassandra.db.ClusteringComparator.compare:(Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/db/Clustering;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 1 1 r1 Lorg/apache/cassandra/db/rows/Row;
0 1 2 r2 Lorg/apache/cassandra/db/rows/Row;
private int lambda$1(org.apache.cassandra.io.sstable.IndexInfo, org.apache.cassandra.io.sstable.IndexInfo);
descriptor: (Lorg/apache/cassandra/io/sstable/IndexInfo;Lorg/apache/cassandra/io/sstable/IndexInfo;)I
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getfield org.apache.cassandra.io.sstable.IndexInfo.lastName:Lorg/apache/cassandra/db/ClusteringPrefix;
aload 2
getfield org.apache.cassandra.io.sstable.IndexInfo.lastName:Lorg/apache/cassandra/db/ClusteringPrefix;
invokevirtual org.apache.cassandra.db.ClusteringComparator.compare:(Lorg/apache/cassandra/db/ClusteringPrefix;Lorg/apache/cassandra/db/ClusteringPrefix;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 1 1 o1 Lorg/apache/cassandra/io/sstable/IndexInfo;
0 1 2 o2 Lorg/apache/cassandra/io/sstable/IndexInfo;
private int lambda$2(org.apache.cassandra.io.sstable.IndexInfo, org.apache.cassandra.io.sstable.IndexInfo);
descriptor: (Lorg/apache/cassandra/io/sstable/IndexInfo;Lorg/apache/cassandra/io/sstable/IndexInfo;)I
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getfield org.apache.cassandra.io.sstable.IndexInfo.firstName:Lorg/apache/cassandra/db/ClusteringPrefix;
aload 2
getfield org.apache.cassandra.io.sstable.IndexInfo.firstName:Lorg/apache/cassandra/db/ClusteringPrefix;
invokevirtual org.apache.cassandra.db.ClusteringComparator.compare:(Lorg/apache/cassandra/db/ClusteringPrefix;Lorg/apache/cassandra/db/ClusteringPrefix;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 1 1 o1 Lorg/apache/cassandra/io/sstable/IndexInfo;
0 1 2 o2 Lorg/apache/cassandra/io/sstable/IndexInfo;
private int lambda$3(org.apache.cassandra.db.Clusterable, org.apache.cassandra.db.Clusterable);
descriptor: (Lorg/apache/cassandra/db/Clusterable;Lorg/apache/cassandra/db/Clusterable;)I
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
aload 1
invokevirtual org.apache.cassandra.db.ClusteringComparator.compare:(Lorg/apache/cassandra/db/Clusterable;Lorg/apache/cassandra/db/Clusterable;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/ClusteringComparator;
0 1 1 c1 Lorg/apache/cassandra/db/Clusterable;
0 1 2 c2 Lorg/apache/cassandra/db/Clusterable;
}
Signature: Ljava/lang/Object;Ljava/util/Comparator<Lorg/apache/cassandra/db/Clusterable;>;
SourceFile: "ClusteringComparator.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Kind = org.apache.cassandra.db.ClusteringPrefix$Kind of org.apache.cassandra.db.ClusteringPrefix