public class org.apache.cassandra.serializers.TupleSerializer extends org.apache.cassandra.serializers.BytesSerializer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.serializers.TupleSerializer
super_class: org.apache.cassandra.serializers.BytesSerializer
{
public final java.util.List<org.apache.cassandra.serializers.TypeSerializer<?>> fields;
descriptor: Ljava/util/List;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/util/List<Lorg/apache/cassandra/serializers/TypeSerializer<*>;>;
public void <init>(java.util.List<org.apache.cassandra.serializers.TypeSerializer<?>>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.apache.cassandra.serializers.BytesSerializer.<init>:()V
1: aload 0
aload 1
putfield org.apache.cassandra.serializers.TupleSerializer.fields:Ljava/util/List;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/serializers/TupleSerializer;
0 3 1 fields Ljava/util/List<Lorg/apache/cassandra/serializers/TypeSerializer<*>;>;
Signature: (Ljava/util/List<Lorg/apache/cassandra/serializers/TypeSerializer<*>;>;)V
MethodParameters:
Name Flags
fields
public void validate(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 15
3: StackMap locals: java.nio.ByteBuffer int
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 5
4: return
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_4
if_icmpge 7
6: new org.apache.cassandra.serializers.MarshalException
dup
ldc "Not enough bytes to read size of %dth component"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 3
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 org.apache.cassandra.serializers.MarshalException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 4
start local 4 8: iload 4
ifge 10
9: goto 14
10: StackMap locals: int
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 4
if_icmpge 12
11: new org.apache.cassandra.serializers.MarshalException
dup
ldc "Not enough bytes to read %dth component"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 3
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 org.apache.cassandra.serializers.MarshalException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 2
iload 4
invokestatic org.apache.cassandra.utils.ByteBufferUtil.readBytes:(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
astore 5
start local 5 13: aload 0
getfield org.apache.cassandra.serializers.TupleSerializer.fields:Ljava/util/List;
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.serializers.TypeSerializer
aload 5
invokeinterface org.apache.cassandra.serializers.TypeSerializer.validate:(Ljava/nio/ByteBuffer;)V
end local 5 end local 4 14: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
15: iload 3
aload 0
getfield org.apache.cassandra.serializers.TupleSerializer.fields:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 3
end local 3 16: aload 2
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 18
17: new org.apache.cassandra.serializers.MarshalException
dup
ldc "Invalid remaining data after end of tuple value"
invokespecial org.apache.cassandra.serializers.MarshalException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/cassandra/serializers/TupleSerializer;
0 19 1 bytes Ljava/nio/ByteBuffer;
1 19 2 input Ljava/nio/ByteBuffer;
2 16 3 i I
8 14 4 size I
13 14 5 field Ljava/nio/ByteBuffer;
Exceptions:
throws org.apache.cassandra.serializers.MarshalException
MethodParameters:
Name Flags
bytes
}
SourceFile: "TupleSerializer.java"