public class org.apache.cassandra.utils.IntervalTree$Serializer<C extends java.lang.Comparable<? super C>, D, I extends org.apache.cassandra.utils.Interval<C, D>> implements org.apache.cassandra.io.IVersionedSerializer<org.apache.cassandra.utils.IntervalTree<C, D, I>>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.utils.IntervalTree$Serializer
super_class: java.lang.Object
{
private final org.apache.cassandra.io.ISerializer<C> pointSerializer;
descriptor: Lorg/apache/cassandra/io/ISerializer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/apache/cassandra/io/ISerializer<TC;>;
private final org.apache.cassandra.io.ISerializer<D> dataSerializer;
descriptor: Lorg/apache/cassandra/io/ISerializer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/apache/cassandra/io/ISerializer<TD;>;
private final java.lang.reflect.Constructor<I> constructor;
descriptor: Ljava/lang/reflect/Constructor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/reflect/Constructor<TI;>;
private void <init>(org.apache.cassandra.io.ISerializer<C>, org.apache.cassandra.io.ISerializer<D>, java.lang.reflect.Constructor<I>);
descriptor: (Lorg/apache/cassandra/io/ISerializer;Lorg/apache/cassandra/io/ISerializer;Ljava/lang/reflect/Constructor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.apache.cassandra.utils.IntervalTree$Serializer.pointSerializer:Lorg/apache/cassandra/io/ISerializer;
2: aload 0
aload 2
putfield org.apache.cassandra.utils.IntervalTree$Serializer.dataSerializer:Lorg/apache/cassandra/io/ISerializer;
3: aload 0
aload 3
putfield org.apache.cassandra.utils.IntervalTree$Serializer.constructor:Ljava/lang/reflect/Constructor;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/utils/IntervalTree$Serializer<TC;TD;TI;>;
0 5 1 pointSerializer Lorg/apache/cassandra/io/ISerializer<TC;>;
0 5 2 dataSerializer Lorg/apache/cassandra/io/ISerializer<TD;>;
0 5 3 constructor Ljava/lang/reflect/Constructor<TI;>;
Signature: (Lorg/apache/cassandra/io/ISerializer<TC;>;Lorg/apache/cassandra/io/ISerializer<TD;>;Ljava/lang/reflect/Constructor<TI;>;)V
MethodParameters:
Name Flags
pointSerializer
dataSerializer
constructor
public void serialize(org.apache.cassandra.utils.IntervalTree<C, D, I>, org.apache.cassandra.io.util.DataOutputPlus, );
descriptor: (Lorg/apache/cassandra/utils/IntervalTree;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 1
getfield org.apache.cassandra.utils.IntervalTree.count:I
invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
1: aload 1
invokevirtual org.apache.cassandra.utils.IntervalTree.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: org.apache.cassandra.utils.IntervalTree$Serializer org.apache.cassandra.utils.IntervalTree org.apache.cassandra.io.util.DataOutputPlus int top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.utils.Interval
astore 4
start local 4 3: aload 0
getfield org.apache.cassandra.utils.IntervalTree$Serializer.pointSerializer:Lorg/apache/cassandra/io/ISerializer;
aload 4
getfield org.apache.cassandra.utils.Interval.min:Ljava/lang/Object;
checkcast java.lang.Comparable
aload 2
invokeinterface org.apache.cassandra.io.ISerializer.serialize:(Ljava/lang/Object;Lorg/apache/cassandra/io/util/DataOutputPlus;)V
4: aload 0
getfield org.apache.cassandra.utils.IntervalTree$Serializer.pointSerializer:Lorg/apache/cassandra/io/ISerializer;
aload 4
getfield org.apache.cassandra.utils.Interval.max:Ljava/lang/Object;
checkcast java.lang.Comparable
aload 2
invokeinterface org.apache.cassandra.io.ISerializer.serialize:(Ljava/lang/Object;Lorg/apache/cassandra/io/util/DataOutputPlus;)V
5: aload 0
getfield org.apache.cassandra.utils.IntervalTree$Serializer.dataSerializer:Lorg/apache/cassandra/io/ISerializer;
aload 4
getfield org.apache.cassandra.utils.Interval.data:Ljava/lang/Object;
aload 2
invokeinterface org.apache.cassandra.io.ISerializer.serialize:(Ljava/lang/Object;Lorg/apache/cassandra/io/util/DataOutputPlus;)V
end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: return
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/utils/IntervalTree$Serializer<TC;TD;TI;>;
0 8 1 it Lorg/apache/cassandra/utils/IntervalTree<TC;TD;TI;>;
0 8 2 out Lorg/apache/cassandra/io/util/DataOutputPlus;
0 8 3 version I
3 6 4 interval Lorg/apache/cassandra/utils/Interval<TC;TD;>;
Exceptions:
throws java.io.IOException
Signature: (Lorg/apache/cassandra/utils/IntervalTree<TC;TD;TI;>;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
MethodParameters:
Name Flags
it
out
version
public org.apache.cassandra.utils.IntervalTree<C, D, I> deserialize(org.apache.cassandra.io.util.DataInputPlus, int);
descriptor: (Lorg/apache/cassandra/io/util/DataInputPlus;I)Lorg/apache/cassandra/utils/IntervalTree;
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
iload 2
aconst_null
invokevirtual org.apache.cassandra.utils.IntervalTree$Serializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;ILjava/util/Comparator;)Lorg/apache/cassandra/utils/IntervalTree;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/utils/IntervalTree$Serializer<TC;TD;TI;>;
0 1 1 in Lorg/apache/cassandra/io/util/DataInputPlus;
0 1 2 version I
Exceptions:
throws java.io.IOException
Signature: (Lorg/apache/cassandra/io/util/DataInputPlus;I)Lorg/apache/cassandra/utils/IntervalTree<TC;TD;TI;>;
MethodParameters:
Name Flags
in
version
public org.apache.cassandra.utils.IntervalTree<C, D, I> deserialize(org.apache.cassandra.io.util.DataInputPlus, int, java.util.Comparator<C>);
descriptor: (Lorg/apache/cassandra/io/util/DataInputPlus;ILjava/util/Comparator;)Lorg/apache/cassandra/utils/IntervalTree;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readInt:()I
istore 4
start local 4 1: new java.util.ArrayList
dup
iload 4
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 9
4: StackMap locals: int java.util.List int
StackMap stack:
aload 0
getfield org.apache.cassandra.utils.IntervalTree$Serializer.pointSerializer:Lorg/apache/cassandra/io/ISerializer;
aload 1
invokeinterface org.apache.cassandra.io.ISerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;)Ljava/lang/Object;
checkcast java.lang.Comparable
astore 7
start local 7 5: aload 0
getfield org.apache.cassandra.utils.IntervalTree$Serializer.pointSerializer:Lorg/apache/cassandra/io/ISerializer;
aload 1
invokeinterface org.apache.cassandra.io.ISerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;)Ljava/lang/Object;
checkcast java.lang.Comparable
astore 8
start local 8 6: aload 0
getfield org.apache.cassandra.utils.IntervalTree$Serializer.dataSerializer:Lorg/apache/cassandra/io/ISerializer;
aload 1
invokeinterface org.apache.cassandra.io.ISerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;)Ljava/lang/Object;
astore 9
start local 9 7: aload 5
aload 0
getfield org.apache.cassandra.utils.IntervalTree$Serializer.constructor:Ljava/lang/reflect/Constructor;
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 7
aastore
dup
iconst_1
aload 8
aastore
dup
iconst_2
aload 9
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.utils.Interval
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 end local 7 8: iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
iload 4
if_icmplt 4
end local 6 10: new org.apache.cassandra.utils.IntervalTree
dup
aload 5
invokespecial org.apache.cassandra.utils.IntervalTree.<init>:(Ljava/util/Collection;)V
11: areturn
end local 5 end local 4 12: StackMap locals: org.apache.cassandra.utils.IntervalTree$Serializer org.apache.cassandra.io.util.DataInputPlus int java.util.Comparator
StackMap stack: java.lang.ReflectiveOperationException
astore 4
start local 4 13: new java.lang.RuntimeException
dup
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/cassandra/utils/IntervalTree$Serializer<TC;TD;TI;>;
0 14 1 in Lorg/apache/cassandra/io/util/DataInputPlus;
0 14 2 version I
0 14 3 comparator Ljava/util/Comparator<TC;>;
1 12 4 count I
2 12 5 intervals Ljava/util/List<TI;>;
3 10 6 i I
5 8 7 min TC;
6 8 8 max TC;
7 8 9 data TD;
13 14 4 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
0 11 12 Class java.lang.InstantiationException
0 11 12 Class java.lang.reflect.InvocationTargetException
0 11 12 Class java.lang.IllegalAccessException
Exceptions:
throws java.io.IOException
Signature: (Lorg/apache/cassandra/io/util/DataInputPlus;ILjava/util/Comparator<TC;>;)Lorg/apache/cassandra/utils/IntervalTree<TC;TD;TI;>;
MethodParameters:
Name Flags
in
version
comparator
public long serializedSize(org.apache.cassandra.utils.IntervalTree<C, D, I>, );
descriptor: (Lorg/apache/cassandra/utils/IntervalTree;I)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
invokestatic org.apache.cassandra.db.TypeSizes.sizeof:(I)I
i2l
lstore 3
start local 3 1: aload 1
invokevirtual org.apache.cassandra.utils.IntervalTree.iterator:()Ljava/util/Iterator;
astore 6
goto 6
StackMap locals: org.apache.cassandra.utils.IntervalTree$Serializer org.apache.cassandra.utils.IntervalTree int long top java.util.Iterator
StackMap stack:
2: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.utils.Interval
astore 5
start local 5 3: lload 3
aload 0
getfield org.apache.cassandra.utils.IntervalTree$Serializer.pointSerializer:Lorg/apache/cassandra/io/ISerializer;
aload 5
getfield org.apache.cassandra.utils.Interval.min:Ljava/lang/Object;
checkcast java.lang.Comparable
invokeinterface org.apache.cassandra.io.ISerializer.serializedSize:(Ljava/lang/Object;)J
ladd
lstore 3
4: lload 3
aload 0
getfield org.apache.cassandra.utils.IntervalTree$Serializer.pointSerializer:Lorg/apache/cassandra/io/ISerializer;
aload 5
getfield org.apache.cassandra.utils.Interval.max:Ljava/lang/Object;
checkcast java.lang.Comparable
invokeinterface org.apache.cassandra.io.ISerializer.serializedSize:(Ljava/lang/Object;)J
ladd
lstore 3
5: lload 3
aload 0
getfield org.apache.cassandra.utils.IntervalTree$Serializer.dataSerializer:Lorg/apache/cassandra/io/ISerializer;
aload 5
getfield org.apache.cassandra.utils.Interval.data:Ljava/lang/Object;
invokeinterface org.apache.cassandra.io.ISerializer.serializedSize:(Ljava/lang/Object;)J
ladd
lstore 3
end local 5 6: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: lload 3
lreturn
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/utils/IntervalTree$Serializer<TC;TD;TI;>;
0 8 1 it Lorg/apache/cassandra/utils/IntervalTree<TC;TD;TI;>;
0 8 2 version I
1 8 3 size J
3 6 5 interval Lorg/apache/cassandra/utils/Interval<TC;TD;>;
Signature: (Lorg/apache/cassandra/utils/IntervalTree<TC;TD;TI;>;I)J
MethodParameters:
Name Flags
it
version
public void serialize(java.lang.Object, org.apache.cassandra.io.util.DataOutputPlus, int);
descriptor: (Ljava/lang/Object;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
checkcast org.apache.cassandra.utils.IntervalTree
aload 2
iload 3
invokevirtual org.apache.cassandra.utils.IntervalTree$Serializer.serialize:(Lorg/apache/cassandra/utils/IntervalTree;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public long serializedSize(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)J
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.utils.IntervalTree
iload 2
invokevirtual org.apache.cassandra.utils.IntervalTree$Serializer.serializedSize:(Lorg/apache/cassandra/utils/IntervalTree;I)J
lreturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object deserialize(org.apache.cassandra.io.util.DataInputPlus, int);
descriptor: (Lorg/apache/cassandra/io/util/DataInputPlus;I)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
iload 2
invokevirtual org.apache.cassandra.utils.IntervalTree$Serializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;I)Lorg/apache/cassandra/utils/IntervalTree;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
}
Signature: <C::Ljava/lang/Comparable<-TC;>;D:Ljava/lang/Object;I:Lorg/apache/cassandra/utils/Interval<TC;TD;>;>Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer<Lorg/apache/cassandra/utils/IntervalTree<TC;TD;TI;>;>;
SourceFile: "IntervalTree.java"
NestHost: org.apache.cassandra.utils.IntervalTree
InnerClasses:
public Serializer = org.apache.cassandra.utils.IntervalTree$Serializer of org.apache.cassandra.utils.IntervalTree