public final class org.apache.cassandra.cql3.functions.UDHelper
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.cql3.functions.UDHelper
super_class: java.lang.Object
{
private static final java.lang.invoke.MethodHandle methodParseOne;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.datastax.driver.core.CodecRegistry codecRegistry;
descriptor: Lcom/datastax/driver/core/CodecRegistry;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=2, args_size=0
0: ldc "com.datastax.driver.core.DataTypeClassNameParser"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 0
start local 0 1: aload 0
ldc "parseOne"
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Lcom/datastax/driver/core/ProtocolVersion;
aastore
dup
iconst_2
ldc Lcom/datastax/driver/core/CodecRegistry;
aastore
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 1
start local 1 2: aload 1
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
3: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
aload 1
invokevirtual java.lang.invoke.MethodHandles$Lookup.unreflect:(Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
putstatic org.apache.cassandra.cql3.functions.UDHelper.methodParseOne:Ljava/lang/invoke/MethodHandle;
4: new com.datastax.driver.core.CodecRegistry
dup
invokespecial com.datastax.driver.core.CodecRegistry.<init>:()V
putstatic org.apache.cassandra.cql3.functions.UDHelper.codecRegistry:Lcom/datastax/driver/core/CodecRegistry;
end local 1 end local 0 5: goto 8
6: StackMap locals:
StackMap stack: java.lang.Exception
astore 0
start local 0 7: new java.lang.RuntimeException
dup
aload 0
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 0 8: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
1 5 0 cls Ljava/lang/Class<*>;
2 5 1 m Ljava/lang/reflect/Method;
7 8 0 e Ljava/lang/Exception;
Exception table:
from to target type
0 5 6 Class java.lang.Exception
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/functions/UDHelper;
static com.datastax.driver.core.TypeCodec<java.lang.Object>[] codecsFor(com.datastax.driver.core.DataType[]);
descriptor: ([Lcom/datastax/driver/core/DataType;)[Lcom/datastax/driver/core/TypeCodec;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
arraylength
anewarray com.datastax.driver.core.TypeCodec
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: com.datastax.driver.core.TypeCodec[] int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
aaload
invokestatic org.apache.cassandra.cql3.functions.UDHelper.codecFor:(Lcom/datastax/driver/core/DataType;)Lcom/datastax/driver/core/TypeCodec;
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 dataType [Lcom/datastax/driver/core/DataType;
1 7 1 codecs [Lcom/datastax/driver/core/TypeCodec;
2 6 2 i I
Signature: ([Lcom/datastax/driver/core/DataType;)[Lcom/datastax/driver/core/TypeCodec<Ljava/lang/Object;>;
MethodParameters:
Name Flags
dataType
public static com.datastax.driver.core.TypeCodec<java.lang.Object> codecFor(com.datastax.driver.core.DataType);
descriptor: (Lcom/datastax/driver/core/DataType;)Lcom/datastax/driver/core/TypeCodec;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.cql3.functions.UDHelper.codecRegistry:Lcom/datastax/driver/core/CodecRegistry;
aload 0
invokevirtual com.datastax.driver.core.CodecRegistry.codecFor:(Lcom/datastax/driver/core/DataType;)Lcom/datastax/driver/core/TypeCodec;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 dataType Lcom/datastax/driver/core/DataType;
Signature: (Lcom/datastax/driver/core/DataType;)Lcom/datastax/driver/core/TypeCodec<Ljava/lang/Object;>;
MethodParameters:
Name Flags
dataType
public static com.google.common.reflect.TypeToken<?>[] typeTokens(com.datastax.driver.core.TypeCodec<java.lang.Object>[], boolean);
descriptor: ([Lcom/datastax/driver/core/TypeCodec;Z)[Lcom/google/common/reflect/TypeToken;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
arraylength
anewarray com.google.common.reflect.TypeToken
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 22
3: StackMap locals: com.google.common.reflect.TypeToken[] int
StackMap stack:
aload 0
iload 3
aaload
invokevirtual com.datastax.driver.core.TypeCodec.getJavaType:()Lcom/google/common/reflect/TypeToken;
astore 4
start local 4 4: iload 1
ifne 20
5: aload 4
invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
astore 5
start local 5 6: aload 5
ldc Ljava/lang/Integer;
if_acmpne 8
7: getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
astore 4
goto 20
8: StackMap locals: com.google.common.reflect.TypeToken java.lang.Class
StackMap stack:
aload 5
ldc Ljava/lang/Long;
if_acmpne 10
9: getstatic java.lang.Long.TYPE:Ljava/lang/Class;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
astore 4
goto 20
10: StackMap locals:
StackMap stack:
aload 5
ldc Ljava/lang/Byte;
if_acmpne 12
11: getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
astore 4
goto 20
12: StackMap locals:
StackMap stack:
aload 5
ldc Ljava/lang/Short;
if_acmpne 14
13: getstatic java.lang.Short.TYPE:Ljava/lang/Class;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
astore 4
goto 20
14: StackMap locals:
StackMap stack:
aload 5
ldc Ljava/lang/Float;
if_acmpne 16
15: getstatic java.lang.Float.TYPE:Ljava/lang/Class;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
astore 4
goto 20
16: StackMap locals:
StackMap stack:
aload 5
ldc Ljava/lang/Double;
if_acmpne 18
17: getstatic java.lang.Double.TYPE:Ljava/lang/Class;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
astore 4
goto 20
18: StackMap locals:
StackMap stack:
aload 5
ldc Ljava/lang/Boolean;
if_acmpne 20
19: getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
invokestatic com.google.common.reflect.TypeToken.of:(Ljava/lang/Class;)Lcom/google/common/reflect/TypeToken;
astore 4
end local 5 20: StackMap locals:
StackMap stack:
aload 2
iload 3
aload 4
aastore
end local 4 21: iinc 3 1
StackMap locals:
StackMap stack:
22: iload 3
aload 2
arraylength
if_icmplt 3
end local 3 23: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 dataTypes [Lcom/datastax/driver/core/TypeCodec;
0 24 1 calledOnNullInput Z
1 24 2 paramTypes [Lcom/google/common/reflect/TypeToken;
2 23 3 i I
4 21 4 typeToken Lcom/google/common/reflect/TypeToken<*>;
6 20 5 clazz Ljava/lang/Class<*>;
Signature: ([Lcom/datastax/driver/core/TypeCodec<Ljava/lang/Object;>;Z)[Lcom/google/common/reflect/TypeToken<*>;
MethodParameters:
Name Flags
dataTypes
calledOnNullInput
public static com.datastax.driver.core.DataType[] driverTypes(java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>>);
descriptor: (Ljava/util/List;)[Lcom/datastax/driver/core/DataType;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokeinterface java.util.List.size:()I
anewarray com.datastax.driver.core.DataType
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: com.datastax.driver.core.DataType[] int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.db.marshal.AbstractType
invokestatic org.apache.cassandra.cql3.functions.UDHelper.driverType:(Lorg/apache/cassandra/db/marshal/AbstractType;)Lcom/datastax/driver/core/DataType;
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 1
arraylength
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 abstractTypes Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
1 7 1 argDataTypes [Lcom/datastax/driver/core/DataType;
2 6 2 i I
Signature: (Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;)[Lcom/datastax/driver/core/DataType;
MethodParameters:
Name Flags
abstractTypes
public static com.datastax.driver.core.DataType driverType(org.apache.cassandra.db.marshal.AbstractType);
descriptor: (Lorg/apache/cassandra/db/marshal/AbstractType;)Lcom/datastax/driver/core/DataType;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.db.marshal.AbstractType.asCQL3Type:()Lorg/apache/cassandra/cql3/CQL3Type;
astore 1
start local 1 1: aload 1
invokeinterface org.apache.cassandra.cql3.CQL3Type.getType:()Lorg/apache/cassandra/db/marshal/AbstractType;
invokevirtual org.apache.cassandra.db.marshal.AbstractType.toString:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
invokestatic org.apache.cassandra.cql3.functions.UDHelper.driverTypeFromAbstractType:(Ljava/lang/String;)Lcom/datastax/driver/core/DataType;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 abstractType Lorg/apache/cassandra/db/marshal/AbstractType;
1 3 1 cqlType Lorg/apache/cassandra/cql3/CQL3Type;
2 3 2 abstractTypeDef Ljava/lang/String;
MethodParameters:
Name Flags
abstractType
public static com.datastax.driver.core.DataType driverTypeFromAbstractType(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/datastax/driver/core/DataType;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic org.apache.cassandra.cql3.functions.UDHelper.methodParseOne:Ljava/lang/invoke/MethodHandle;
aload 0
1: getstatic org.apache.cassandra.transport.ProtocolVersion.CURRENT:Lorg/apache/cassandra/transport/ProtocolVersion;
invokevirtual org.apache.cassandra.transport.ProtocolVersion.asInt:()I
invokestatic com.datastax.driver.core.ProtocolVersion.fromInt:(I)Lcom/datastax/driver/core/ProtocolVersion;
2: getstatic org.apache.cassandra.cql3.functions.UDHelper.codecRegistry:Lcom/datastax/driver/core/CodecRegistry;
3: invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/String;Lcom/datastax/driver/core/ProtocolVersion;Lcom/datastax/driver/core/CodecRegistry;)Lcom/datastax/driver/core/DataType;
4: areturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 6: aload 1
athrow
end local 1 7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 8: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "cannot parse driver type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 abstractTypeDef Ljava/lang/String;
6 7 1 e Ljava/lang/Throwable;
8 9 1 e Ljava/lang/Throwable;
Exception table:
from to target type
0 4 5 Class java.lang.RuntimeException
0 4 5 Class java.lang.Error
0 4 7 Class java.lang.Throwable
MethodParameters:
Name Flags
abstractTypeDef
public static deserialize(com.datastax.driver.core.TypeCodec<?>, org.apache.cassandra.transport.ProtocolVersion, java.nio.ByteBuffer);
descriptor: (Lcom/datastax/driver/core/TypeCodec;Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/nio/ByteBuffer;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
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.transport.ProtocolVersion.asInt:()I
invokestatic com.datastax.driver.core.ProtocolVersion.fromInt:(I)Lcom/datastax/driver/core/ProtocolVersion;
invokevirtual com.datastax.driver.core.TypeCodec.deserialize:(Ljava/nio/ByteBuffer;Lcom/datastax/driver/core/ProtocolVersion;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 codec Lcom/datastax/driver/core/TypeCodec<*>;
0 1 1 protocolVersion Lorg/apache/cassandra/transport/ProtocolVersion;
0 1 2 value Ljava/nio/ByteBuffer;
Signature: (Lcom/datastax/driver/core/TypeCodec<*>;Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/nio/ByteBuffer;)Ljava/lang/Object;
MethodParameters:
Name Flags
codec
protocolVersion
value
public static java.nio.ByteBuffer serialize(com.datastax.driver.core.TypeCodec<?>, org.apache.cassandra.transport.ProtocolVersion, );
descriptor: (Lcom/datastax/driver/core/TypeCodec;Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/lang/Object;)Ljava/nio/ByteBuffer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.datastax.driver.core.TypeCodec.getJavaType:()Lcom/google/common/reflect/TypeToken;
invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 2
1: new com.datastax.driver.core.exceptions.InvalidTypeException
dup
new java.lang.StringBuilder
dup
ldc "Invalid value for CQL type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.datastax.driver.core.TypeCodec.getCqlType:()Lcom/datastax/driver/core/DataType;
invokevirtual com.datastax.driver.core.DataType.getName:()Lcom/datastax/driver/core/DataType$Name;
invokevirtual com.datastax.driver.core.DataType$Name.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.datastax.driver.core.exceptions.InvalidTypeException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual org.apache.cassandra.transport.ProtocolVersion.asInt:()I
invokestatic com.datastax.driver.core.ProtocolVersion.fromInt:(I)Lcom/datastax/driver/core/ProtocolVersion;
invokevirtual com.datastax.driver.core.TypeCodec.serialize:(Ljava/lang/Object;Lcom/datastax/driver/core/ProtocolVersion;)Ljava/nio/ByteBuffer;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 codec Lcom/datastax/driver/core/TypeCodec<*>;
0 3 1 protocolVersion Lorg/apache/cassandra/transport/ProtocolVersion;
0 3 2 value Ljava/lang/Object;
Signature: (Lcom/datastax/driver/core/TypeCodec<*>;Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/lang/Object;)Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
codec
protocolVersion
value
public static java.lang.Class<?> asJavaClass(com.datastax.driver.core.TypeCodec<?>);
descriptor: (Lcom/datastax/driver/core/TypeCodec;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.datastax.driver.core.TypeCodec.getJavaType:()Lcom/google/common/reflect/TypeToken;
invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 codec Lcom/datastax/driver/core/TypeCodec<*>;
Signature: (Lcom/datastax/driver/core/TypeCodec<*>;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
codec
public static boolean isNullOrEmpty(org.apache.cassandra.db.marshal.AbstractType<?>, java.nio.ByteBuffer);
descriptor: (Lorg/apache/cassandra/db/marshal/AbstractType;Ljava/nio/ByteBuffer;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 3
1: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
ifne 2
aload 0
invokevirtual org.apache.cassandra.db.marshal.AbstractType.isEmptyValueMeaningless:()Z
ifne 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 type Lorg/apache/cassandra/db/marshal/AbstractType<*>;
0 4 1 bb Ljava/nio/ByteBuffer;
Signature: (Lorg/apache/cassandra/db/marshal/AbstractType<*>;Ljava/nio/ByteBuffer;)Z
MethodParameters:
Name Flags
type
bb
}
SourceFile: "UDHelper.java"
InnerClasses:
public Name = com.datastax.driver.core.DataType$Name of com.datastax.driver.core.DataType
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles