public class org.apache.cassandra.cql3.functions.TokenFct extends org.apache.cassandra.cql3.functions.NativeScalarFunction
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.cql3.functions.TokenFct
super_class: org.apache.cassandra.cql3.functions.NativeScalarFunction
{
private final org.apache.cassandra.config.CFMetaData cfm;
descriptor: Lorg/apache/cassandra/config/CFMetaData;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.apache.cassandra.config.CFMetaData);
descriptor: (Lorg/apache/cassandra/config/CFMetaData;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "token"
aload 1
getfield org.apache.cassandra.config.CFMetaData.partitioner:Lorg/apache/cassandra/dht/IPartitioner;
invokeinterface org.apache.cassandra.dht.IPartitioner.getTokenValidator:()Lorg/apache/cassandra/db/marshal/AbstractType;
aload 1
invokestatic org.apache.cassandra.cql3.functions.TokenFct.getKeyTypes:(Lorg/apache/cassandra/config/CFMetaData;)[Lorg/apache/cassandra/db/marshal/AbstractType;
invokespecial org.apache.cassandra.cql3.functions.NativeScalarFunction.<init>:(Ljava/lang/String;Lorg/apache/cassandra/db/marshal/AbstractType;[Lorg/apache/cassandra/db/marshal/AbstractType;)V
1: aload 0
aload 1
putfield org.apache.cassandra.cql3.functions.TokenFct.cfm:Lorg/apache/cassandra/config/CFMetaData;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/cql3/functions/TokenFct;
0 3 1 cfm Lorg/apache/cassandra/config/CFMetaData;
MethodParameters:
Name Flags
cfm
private static org.apache.cassandra.db.marshal.AbstractType[] getKeyTypes(org.apache.cassandra.config.CFMetaData);
descriptor: (Lorg/apache/cassandra/config/CFMetaData;)[Lorg/apache/cassandra/db/marshal/AbstractType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.config.CFMetaData.partitionKeyColumns:()Ljava/util/List;
invokeinterface java.util.List.size:()I
anewarray org.apache.cassandra.db.marshal.AbstractType
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
invokevirtual org.apache.cassandra.config.CFMetaData.partitionKeyColumns:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: org.apache.cassandra.config.CFMetaData org.apache.cassandra.db.marshal.AbstractType[] int top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.config.ColumnDefinition
astore 3
start local 3 4: aload 1
iload 2
iinc 2 1
aload 3
getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
aastore
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 cfm Lorg/apache/cassandra/config/CFMetaData;
1 7 1 types [Lorg/apache/cassandra/db/marshal/AbstractType;
2 7 2 i I
4 5 3 def Lorg/apache/cassandra/config/ColumnDefinition;
MethodParameters:
Name Flags
cfm
public java.nio.ByteBuffer execute(org.apache.cassandra.transport.ProtocolVersion, java.util.List<java.nio.ByteBuffer>);
descriptor: (Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/util/List;)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.cql3.functions.TokenFct.cfm:Lorg/apache/cassandra/config/CFMetaData;
invokevirtual org.apache.cassandra.config.CFMetaData.getKeyValidatorAsClusteringComparator:()Lorg/apache/cassandra/db/ClusteringComparator;
invokestatic org.apache.cassandra.db.CBuilder.create:(Lorg/apache/cassandra/db/ClusteringComparator;)Lorg/apache/cassandra/db/CBuilder;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 8
3: StackMap locals: org.apache.cassandra.db.CBuilder int
StackMap stack:
aload 2
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 5
start local 5 4: aload 5
ifnonnull 6
5: aconst_null
areturn
6: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 3
aload 5
invokevirtual org.apache.cassandra.db.CBuilder.add:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/CBuilder;
pop
end local 5 7: iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
aload 2
invokeinterface java.util.List.size:()I
if_icmplt 3
end local 4 9: aload 0
getfield org.apache.cassandra.cql3.functions.TokenFct.cfm:Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.partitioner:Lorg/apache/cassandra/dht/IPartitioner;
invokeinterface org.apache.cassandra.dht.IPartitioner.getTokenFactory:()Lorg/apache/cassandra/dht/Token$TokenFactory;
aload 0
getfield org.apache.cassandra.cql3.functions.TokenFct.cfm:Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.partitioner:Lorg/apache/cassandra/dht/IPartitioner;
aload 3
invokevirtual org.apache.cassandra.db.CBuilder.build:()Lorg/apache/cassandra/db/Clustering;
invokestatic org.apache.cassandra.config.CFMetaData.serializePartitionKey:(Lorg/apache/cassandra/db/ClusteringPrefix;)Ljava/nio/ByteBuffer;
invokeinterface org.apache.cassandra.dht.IPartitioner.getToken:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/dht/Token;
invokevirtual org.apache.cassandra.dht.Token$TokenFactory.toByteArray:(Lorg/apache/cassandra/dht/Token;)Ljava/nio/ByteBuffer;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/cassandra/cql3/functions/TokenFct;
0 10 1 protocolVersion Lorg/apache/cassandra/transport/ProtocolVersion;
0 10 2 parameters Ljava/util/List<Ljava/nio/ByteBuffer;>;
1 10 3 builder Lorg/apache/cassandra/db/CBuilder;
2 9 4 i I
4 7 5 bb Ljava/nio/ByteBuffer;
Exceptions:
throws org.apache.cassandra.exceptions.InvalidRequestException
Signature: (Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/util/List<Ljava/nio/ByteBuffer;>;)Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
protocolVersion
parameters
}
SourceFile: "TokenFct.java"
InnerClasses:
public abstract TokenFactory = org.apache.cassandra.dht.Token$TokenFactory of org.apache.cassandra.dht.Token