public final class org.apache.cassandra.transport.DataType$Codec
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.transport.DataType$Codec
super_class: java.lang.Object
{
private final org.apache.cassandra.transport.DataType[] ids;
descriptor: [Lorg/apache/cassandra/transport/DataType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: invokestatic org.apache.cassandra.transport.DataType.values:()[Lorg/apache/cassandra/transport/DataType;
astore 1
start local 1 2: aload 0
aload 0
aload 1
invokevirtual org.apache.cassandra.transport.DataType$Codec.getMaxId:([Lorg/apache/cassandra/transport/DataType;)I
iconst_1
iadd
anewarray org.apache.cassandra.transport.DataType
putfield org.apache.cassandra.transport.DataType$Codec.ids:[Lorg/apache/cassandra/transport/DataType;
3: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 11
StackMap locals: org.apache.cassandra.transport.DataType$Codec org.apache.cassandra.transport.DataType[] top int int org.apache.cassandra.transport.DataType[]
StackMap stack:
4: aload 5
iload 3
aaload
astore 2
start local 2 5: aload 2
aload 2
invokevirtual org.apache.cassandra.transport.DataType.getProtocolVersion:()Lorg/apache/cassandra/transport/ProtocolVersion;
invokevirtual org.apache.cassandra.transport.DataType.getId:(Lorg/apache/cassandra/transport/ProtocolVersion;)I
istore 6
start local 6 6: aload 0
getfield org.apache.cassandra.transport.DataType$Codec.ids:[Lorg/apache/cassandra/transport/DataType;
iload 6
aaload
astore 7
start local 7 7: aload 7
ifnull 9
8: new java.lang.IllegalStateException
dup
ldc "Duplicate option id %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 6
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.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: org.apache.cassandra.transport.DataType$Codec org.apache.cassandra.transport.DataType[] org.apache.cassandra.transport.DataType int int org.apache.cassandra.transport.DataType[] int org.apache.cassandra.transport.DataType
StackMap stack:
aload 0
getfield org.apache.cassandra.transport.DataType$Codec.ids:[Lorg/apache/cassandra/transport/DataType;
iload 6
aload 2
aastore
end local 7 end local 6 end local 2 10: iinc 3 1
StackMap locals: org.apache.cassandra.transport.DataType$Codec org.apache.cassandra.transport.DataType[] top int int org.apache.cassandra.transport.DataType[]
StackMap stack:
11: iload 3
iload 4
if_icmplt 4
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/cassandra/transport/DataType$Codec;
2 13 1 values [Lorg/apache/cassandra/transport/DataType;
5 10 2 opt Lorg/apache/cassandra/transport/DataType;
6 10 6 id I
7 10 7 existingType Lorg/apache/cassandra/transport/DataType;
private int getMaxId(org.apache.cassandra.transport.DataType[]);
descriptor: ([Lorg/apache/cassandra/transport/DataType;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: iconst_m1
istore 2
start local 2 1: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.apache.cassandra.transport.DataType$Codec org.apache.cassandra.transport.DataType[] int top int int org.apache.cassandra.transport.DataType[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: iload 2
aload 3
getstatic org.apache.cassandra.transport.ProtocolVersion.CURRENT:Lorg/apache/cassandra/transport/ProtocolVersion;
invokevirtual org.apache.cassandra.transport.DataType.getId:(Lorg/apache/cassandra/transport/ProtocolVersion;)I
invokestatic java.lang.Math.max:(II)I
istore 2
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/transport/DataType$Codec;
0 7 1 values [Lorg/apache/cassandra/transport/DataType;
1 7 2 maxId I
3 4 3 opt Lorg/apache/cassandra/transport/DataType;
MethodParameters:
Name Flags
values
private org.apache.cassandra.transport.DataType fromId(int);
descriptor: (I)Lorg/apache/cassandra/transport/DataType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.transport.DataType$Codec.ids:[Lorg/apache/cassandra/transport/DataType;
iload 1
aaload
astore 2
start local 2 1: aload 2
ifnonnull 3
2: new org.apache.cassandra.transport.ProtocolException
dup
ldc "Unknown option id %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
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.transport.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.apache.cassandra.transport.DataType
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/transport/DataType$Codec;
0 4 1 id I
1 4 2 opt Lorg/apache/cassandra/transport/DataType;
MethodParameters:
Name Flags
id
public org.apache.cassandra.utils.Pair<org.apache.cassandra.transport.DataType, java.lang.Object> decodeOne(io.netty.buffer.ByteBuf, org.apache.cassandra.transport.ProtocolVersion);
descriptor: (Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/utils/Pair;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual io.netty.buffer.ByteBuf.readUnsignedShort:()I
invokevirtual org.apache.cassandra.transport.DataType$Codec.fromId:(I)Lorg/apache/cassandra/transport/DataType;
astore 3
start local 3 1: aload 3
aload 1
aload 2
invokevirtual org.apache.cassandra.transport.DataType.readValue:(Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Ljava/lang/Object;
astore 4
start local 4 2: aload 3
aload 4
invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/transport/DataType$Codec;
0 3 1 body Lio/netty/buffer/ByteBuf;
0 3 2 version Lorg/apache/cassandra/transport/ProtocolVersion;
1 3 3 opt Lorg/apache/cassandra/transport/DataType;
2 3 4 value Ljava/lang/Object;
Signature: (Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/transport/DataType;Ljava/lang/Object;>;
MethodParameters:
Name Flags
body
version
public void writeOne(org.apache.cassandra.utils.Pair<org.apache.cassandra.transport.DataType, java.lang.Object>, io.netty.buffer.ByteBuf, org.apache.cassandra.transport.ProtocolVersion);
descriptor: (Lorg/apache/cassandra/utils/Pair;Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
checkcast org.apache.cassandra.transport.DataType
astore 4
start local 4 1: aload 1
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
astore 5
start local 5 2: aload 2
aload 4
aload 3
invokevirtual org.apache.cassandra.transport.DataType.getId:(Lorg/apache/cassandra/transport/ProtocolVersion;)I
invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
pop
3: aload 4
aload 5
aload 2
aload 3
invokevirtual org.apache.cassandra.transport.DataType.writeValue:(Ljava/lang/Object;Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)V
4: return
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 5 0 this Lorg/apache/cassandra/transport/DataType$Codec;
0 5 1 option Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/transport/DataType;Ljava/lang/Object;>;
0 5 2 dest Lio/netty/buffer/ByteBuf;
0 5 3 version Lorg/apache/cassandra/transport/ProtocolVersion;
1 5 4 opt Lorg/apache/cassandra/transport/DataType;
2 5 5 obj Ljava/lang/Object;
Signature: (Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/transport/DataType;Ljava/lang/Object;>;Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)V
MethodParameters:
Name Flags
option
dest
version
public int oneSerializedSize(org.apache.cassandra.utils.Pair<org.apache.cassandra.transport.DataType, java.lang.Object>, org.apache.cassandra.transport.ProtocolVersion);
descriptor: (Lorg/apache/cassandra/utils/Pair;Lorg/apache/cassandra/transport/ProtocolVersion;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
checkcast org.apache.cassandra.transport.DataType
astore 3
start local 3 1: aload 1
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
astore 4
start local 4 2: iconst_2
aload 3
aload 4
aload 2
invokevirtual org.apache.cassandra.transport.DataType.serializedValueSize:(Ljava/lang/Object;Lorg/apache/cassandra/transport/ProtocolVersion;)I
iadd
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/transport/DataType$Codec;
0 3 1 option Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/transport/DataType;Ljava/lang/Object;>;
0 3 2 version Lorg/apache/cassandra/transport/ProtocolVersion;
1 3 3 opt Lorg/apache/cassandra/transport/DataType;
2 3 4 obj Ljava/lang/Object;
Signature: (Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/transport/DataType;Ljava/lang/Object;>;Lorg/apache/cassandra/transport/ProtocolVersion;)I
MethodParameters:
Name Flags
option
version
}
SourceFile: "DataType.java"
NestHost: org.apache.cassandra.transport.DataType
InnerClasses:
public final Codec = org.apache.cassandra.transport.DataType$Codec of org.apache.cassandra.transport.DataType