public final class org.apache.cassandra.cql3.functions.JavaBasedUDFunction extends org.apache.cassandra.cql3.functions.UDFunction
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.cql3.functions.JavaBasedUDFunction
super_class: org.apache.cassandra.cql3.functions.UDFunction
{
private static final java.lang.String BASE_PACKAGE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "org.apache.cassandra.cql3.udf.gen"
private static final java.util.regex.Pattern JAVA_LANG_PREFIX;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final java.util.concurrent.atomic.AtomicInteger classSequence;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.cassandra.cql3.functions.UDFExecutorService executor;
descriptor: Lorg/apache/cassandra/cql3/functions/UDFExecutorService;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjTargetClassLoader targetClassLoader;
descriptor: Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjTargetClassLoader;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.cassandra.cql3.functions.UDFByteCodeVerifier udfByteCodeVerifier;
descriptor: Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.security.ProtectionDomain protectionDomain;
descriptor: Ljava/security/ProtectionDomain;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.eclipse.jdt.internal.compiler.IErrorHandlingPolicy errorHandlingPolicy;
descriptor: Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.eclipse.jdt.internal.compiler.IProblemFactory problemFactory;
descriptor: Lorg/eclipse/jdt/internal/compiler/IProblemFactory;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions;
descriptor: Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] javaSourceTemplate;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.apache.cassandra.cql3.functions.JavaUDF javaUDF;
descriptor: Lorg/apache/cassandra/cql3/functions/JavaUDF;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=12, locals=8, args_size=0
0: ldc "\\bjava\\.lang\\."
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.JAVA_LANG_PREFIX:Ljava/util/regex/Pattern;
1: ldc Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.logger:Lorg/slf4j/Logger;
2: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.classSequence:Ljava/util/concurrent/atomic/AtomicInteger;
3: new org.apache.cassandra.cql3.functions.UDFExecutorService
dup
new org.apache.cassandra.concurrent.NamedThreadFactory
dup
ldc "UserDefinedFunctions"
4: iconst_1
5: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfClassLoader:Ljava/lang/ClassLoader;
6: new org.apache.cassandra.security.SecurityThreadGroup
dup
ldc "UserDefinedFunctions"
aconst_null
invokedynamic initializeThread()Lorg/apache/cassandra/security/SecurityThreadGroup$ThreadInitializer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
org/apache/cassandra/cql3/functions/UDFunction.initializeThread()V (6)
()V
invokespecial org.apache.cassandra.security.SecurityThreadGroup.<init>:(Ljava/lang/String;Ljava/util/Set;Lorg/apache/cassandra/security/SecurityThreadGroup$ThreadInitializer;)V
invokespecial org.apache.cassandra.concurrent.NamedThreadFactory.<init>:(Ljava/lang/String;ILjava/lang/ClassLoader;Ljava/lang/ThreadGroup;)V
7: ldc "userfunction"
8: invokespecial org.apache.cassandra.cql3.functions.UDFExecutorService.<init>:(Lorg/apache/cassandra/concurrent/NamedThreadFactory;Ljava/lang/String;)V
9: putstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.executor:Lorg/apache/cassandra/cql3/functions/UDFExecutorService;
10: new org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjTargetClassLoader
dup
invokespecial org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjTargetClassLoader.<init>:()V
putstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.targetClassLoader:Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjTargetClassLoader;
11: new org.apache.cassandra.cql3.functions.UDFByteCodeVerifier
dup
invokespecial org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.<init>:()V
putstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
12: invokestatic org.eclipse.jdt.internal.compiler.DefaultErrorHandlingPolicies.proceedWithAllProblems:()Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;
putstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.errorHandlingPolicy:Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;
13: new org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory
dup
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokespecial org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory.<init>:(Ljava/util/Locale;)V
putstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.problemFactory:Lorg/eclipse/jdt/internal/compiler/IProblemFactory;
14: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/Class"
ldc "forName"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
15: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/Class"
ldc "getClassLoader"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
16: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/Class"
ldc "getResource"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
17: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/Class"
ldc "getResourceAsStream"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
18: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/ClassLoader"
ldc "clearAssertionStatus"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
19: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/ClassLoader"
ldc "getResource"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
20: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/ClassLoader"
ldc "getResourceAsStream"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
21: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/ClassLoader"
ldc "getResources"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
22: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/ClassLoader"
ldc "getSystemClassLoader"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
23: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/ClassLoader"
ldc "getSystemResource"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
24: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/ClassLoader"
ldc "getSystemResourceAsStream"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
25: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/ClassLoader"
ldc "getSystemResources"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
26: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/ClassLoader"
ldc "loadClass"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
27: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/ClassLoader"
ldc "setClassAssertionStatus"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
28: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/ClassLoader"
ldc "setDefaultAssertionStatus"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
29: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/lang/ClassLoader"
ldc "setPackageAssertionStatus"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
30: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/nio/ByteBuffer"
ldc "allocateDirect"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
31: iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "java/net/InetAddress"
aastore
dup
iconst_1
ldc "java/net/Inet4Address"
aastore
dup
iconst_2
ldc "java/net/Inet6Address"
aastore
dup
astore 3
arraylength
istore 2
iconst_0
istore 1
goto 41
StackMap locals: top int int java.lang.String[]
StackMap stack:
32: aload 3
iload 1
aaload
astore 0
start local 0 33: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
aload 0
ldc "getByAddress"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
34: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
aload 0
ldc "getAllByName"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
35: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
aload 0
ldc "getByName"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
36: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
aload 0
ldc "getLocalHost"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
37: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
aload 0
ldc "getHostName"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
38: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
aload 0
ldc "getCanonicalHostName"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
39: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
aload 0
ldc "isReachable"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
end local 0 40: iinc 1 1
StackMap locals:
StackMap stack:
41: iload 1
iload 2
if_icmplt 32
42: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/net/NetworkInterface"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedClass:(Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
43: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
ldc "java/net/SocketException"
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedClass:(Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
pop
44: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 0
start local 0 45: aload 0
ldc "org.eclipse.jdt.core.compiler.debug.lineNumber"
46: ldc "generate"
47: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
48: aload 0
ldc "org.eclipse.jdt.core.compiler.debug.sourceFile"
49: ldc "disabled"
50: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
51: aload 0
ldc "org.eclipse.jdt.core.compiler.problem.deprecation"
52: ldc "ignore"
53: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
54: aload 0
ldc "org.eclipse.jdt.core.compiler.source"
55: ldc "1.8"
56: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
57: aload 0
ldc "org.eclipse.jdt.core.compiler.codegen.targetPlatform"
58: ldc "1.8"
59: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
60: new org.eclipse.jdt.internal.compiler.impl.CompilerOptions
dup
aload 0
invokespecial org.eclipse.jdt.internal.compiler.impl.CompilerOptions.<init>:(Ljava/util/Map;)V
putstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.compilerOptions:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
61: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.compilerOptions:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
iconst_1
putfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.parseLiteralExpressionsAsConstants:Z
62: aconst_null
astore 1
aconst_null
astore 2
63: ldc Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction;
ldc "JavaSourceUDF.txt"
invokevirtual java.lang.Class.getResource:(Ljava/lang/String;)Ljava/net/URL;
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
astore 3
start local 3 64: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 4
start local 4 65: aload 3
aload 4
ldc 9223372036854775807
invokestatic org.apache.cassandra.utils.FBUtilities.copy:(Ljava/io/InputStream;Ljava/io/OutputStream;J)J
pop2
66: aload 4
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
astore 5
start local 5 67: new java.util.StringTokenizer
dup
aload 5
ldc "#"
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 6
start local 6 68: aload 6
invokevirtual java.util.StringTokenizer.countTokens:()I
anewarray java.lang.String
putstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaSourceTemplate:[Ljava/lang/String;
69: iconst_0
istore 7
start local 7 70: goto 73
71: StackMap locals: java.util.Map java.lang.Throwable java.lang.Throwable java.io.InputStream java.io.ByteArrayOutputStream java.lang.String java.util.StringTokenizer int
StackMap stack:
getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaSourceTemplate:[Ljava/lang/String;
iload 7
aload 6
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
aastore
72: iinc 7 1
StackMap locals:
StackMap stack:
73: aload 6
invokevirtual java.util.StringTokenizer.hasMoreElements:()Z
ifne 71
end local 7 end local 6 end local 5 end local 4 74: aload 3
ifnull 82
aload 3
invokevirtual java.io.InputStream.close:()V
goto 82
StackMap locals: java.util.Map java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
75: astore 1
aload 3
ifnull 76
aload 3
invokevirtual java.io.InputStream.close:()V
end local 3 StackMap locals:
StackMap stack:
76: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
77: astore 2
aload 1
ifnonnull 78
aload 2
astore 1
goto 79
StackMap locals:
StackMap stack:
78: aload 1
aload 2
if_acmpeq 79
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
79: aload 1
athrow
80: StackMap locals: java.util.Map
StackMap stack: java.io.IOException
astore 1
start local 1 81: new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 82: StackMap locals:
StackMap stack:
new java.security.CodeSource
dup
new java.net.URL
dup
ldc "udf"
ldc "localhost"
iconst_0
ldc "/java"
new org.apache.cassandra.cql3.functions.JavaBasedUDFunction$1
dup
invokespecial org.apache.cassandra.cql3.functions.JavaBasedUDFunction$1.<init>:()V
invokespecial java.net.URL.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/net/URLStreamHandler;)V
83: aconst_null
84: invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
astore 1
start local 1 85: goto 88
end local 1 86: StackMap locals:
StackMap stack: java.net.MalformedURLException
astore 2
start local 2 87: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 start local 1 88: StackMap locals: java.security.CodeSource
StackMap stack:
new java.security.ProtectionDomain
dup
aload 1
getstatic org.apache.cassandra.security.ThreadAwareSecurityManager.noPermissions:Ljava/security/PermissionCollection;
getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.targetClassLoader:Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjTargetClassLoader;
aconst_null
invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;Ljava/lang/ClassLoader;[Ljava/security/Principal;)V
putstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.protectionDomain:Ljava/security/ProtectionDomain;
end local 1 end local 0 89: return
LocalVariableTable:
Start End Slot Name Signature
33 40 0 ia Ljava/lang/String;
45 89 0 settings Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
64 76 3 input Ljava/io/InputStream;
65 74 4 output Ljava/io/ByteArrayOutputStream;
67 74 5 template Ljava/lang/String;
68 74 6 st Ljava/util/StringTokenizer;
70 74 7 i I
81 82 1 e Ljava/io/IOException;
85 86 1 codeSource Ljava/security/CodeSource;
88 89 1 codeSource Ljava/security/CodeSource;
87 88 2 e Ljava/net/MalformedURLException;
Exception table:
from to target type
64 74 75 any
63 77 77 any
62 80 80 Class java.io.IOException
82 85 86 Class java.net.MalformedURLException
void <init>(org.apache.cassandra.cql3.functions.FunctionName, java.util.List<org.apache.cassandra.cql3.ColumnIdentifier>, java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>>, org.apache.cassandra.db.marshal.AbstractType<?>, boolean, java.lang.String);
descriptor: (Lorg/apache/cassandra/cql3/functions/FunctionName;Ljava/util/List;Ljava/util/List;Lorg/apache/cassandra/db/marshal/AbstractType;ZLjava/lang/String;)V
flags: (0x0000)
Code:
stack=10, locals=29, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
aload 3
aload 3
invokestatic org.apache.cassandra.cql3.functions.UDHelper.driverTypes:(Ljava/util/List;)[Lcom/datastax/driver/core/DataType;
1: aload 4
aload 4
invokestatic org.apache.cassandra.cql3.functions.UDHelper.driverType:(Lorg/apache/cassandra/db/marshal/AbstractType;)Lcom/datastax/driver/core/DataType;
iload 5
ldc "java"
aload 6
invokespecial org.apache.cassandra.cql3.functions.UDFunction.<init>:(Lorg/apache/cassandra/cql3/functions/FunctionName;Ljava/util/List;Ljava/util/List;[Lcom/datastax/driver/core/DataType;Lorg/apache/cassandra/db/marshal/AbstractType;Lcom/datastax/driver/core/DataType;ZLjava/lang/String;Ljava/lang/String;)V
2: aload 0
getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction.argCodecs:[Lcom/datastax/driver/core/TypeCodec;
iload 5
invokestatic org.apache.cassandra.cql3.functions.UDHelper.typeTokens:([Lcom/datastax/driver/core/TypeCodec;Z)[Lcom/google/common/reflect/TypeToken;
astore 7
start local 7 3: aload 0
getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction.returnCodec:Lcom/datastax/driver/core/TypeCodec;
invokevirtual com.datastax.driver.core.TypeCodec.getJavaType:()Lcom/google/common/reflect/TypeToken;
astore 8
start local 8 4: new java.lang.StringBuilder
dup
ldc "org.apache.cassandra.cql3.udf.gen."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
bipush 112
invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.generateClassName:(Lorg/apache/cassandra/cql3/functions/FunctionName;C)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
start local 9 5: aload 1
bipush 67
invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.generateClassName:(Lorg/apache/cassandra/cql3/functions/FunctionName;C)Ljava/lang/String;
astore 10
start local 10 6: aload 1
bipush 120
invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.generateClassName:(Lorg/apache/cassandra/cql3/functions/FunctionName;C)Ljava/lang/String;
astore 11
start local 11 7: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 12
start local 12 8: iconst_1
istore 13
start local 13 9: iconst_0
istore 14
start local 14 10: goto 40
11: StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction org.apache.cassandra.cql3.functions.FunctionName java.util.List java.util.List org.apache.cassandra.db.marshal.AbstractType int java.lang.String com.google.common.reflect.TypeToken[] com.google.common.reflect.TypeToken java.lang.String java.lang.String java.lang.String java.lang.StringBuilder int int
StackMap stack:
getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaSourceTemplate:[Ljava/lang/String;
iload 14
aaload
astore 15
start local 15 12: iload 14
iconst_1
iand
iconst_1
if_icmpne 38
13: aload 15
dup
astore 16
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 8
-2035517098: 14
-1877165340: 15
-1486239511: 16
-290505194: 17
-290474766: 18
-40060704: 19
3029410: 20
2052076419: 21
default: 38
}
StackMap locals: java.lang.String java.lang.String
StackMap stack:
14: aload 16
ldc "arguments"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 29
goto 38
StackMap locals:
StackMap stack:
15: aload 16
ldc "package_name"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 38
StackMap locals:
StackMap stack:
16: aload 16
ldc "return_type"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 35
goto 38
StackMap locals:
StackMap stack:
17: aload 16
ldc "arguments_aggregate"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 31
goto 38
StackMap locals:
StackMap stack:
18: aload 16
ldc "class_name"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
goto 38
StackMap locals:
StackMap stack:
19: aload 16
ldc "argument_list"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 33
goto 38
StackMap locals:
StackMap stack:
20: aload 16
ldc "body"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 26
goto 38
StackMap locals:
StackMap stack:
21: aload 16
ldc "execute_internal_name"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 37
goto 38
22: StackMap locals:
StackMap stack:
aload 9
astore 15
23: goto 38
24: StackMap locals:
StackMap stack:
aload 10
astore 15
25: goto 38
26: StackMap locals:
StackMap stack:
aload 12
invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.countNewlines:(Ljava/lang/StringBuilder;)I
istore 13
27: aload 6
astore 15
28: goto 38
29: StackMap locals:
StackMap stack:
aload 7
aload 2
iconst_0
invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.generateArguments:([Lcom/google/common/reflect/TypeToken;Ljava/util/List;Z)Ljava/lang/String;
astore 15
30: goto 38
31: StackMap locals:
StackMap stack:
aload 7
aload 2
iconst_1
invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.generateArguments:([Lcom/google/common/reflect/TypeToken;Ljava/util/List;Z)Ljava/lang/String;
astore 15
32: goto 38
33: StackMap locals:
StackMap stack:
aload 7
aload 2
invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.generateArgumentList:([Lcom/google/common/reflect/TypeToken;Ljava/util/List;)Ljava/lang/String;
astore 15
34: goto 38
35: StackMap locals:
StackMap stack:
aload 8
invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaSourceName:(Lcom/google/common/reflect/TypeToken;)Ljava/lang/String;
astore 15
36: goto 38
37: StackMap locals:
StackMap stack:
aload 11
astore 15
38: StackMap locals:
StackMap stack:
aload 12
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 15 39: iinc 14 1
StackMap locals:
StackMap stack:
40: iload 14
getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaSourceTemplate:[Ljava/lang/String;
arraylength
if_icmplt 11
end local 14 41: new java.lang.StringBuilder
dup
aload 9
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
start local 14 42: aload 12
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 15
start local 15 43: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.logger:Lorg/slf4j/Logger;
ldc "Compiling Java source UDF '{}' as class '{}' using source:\n{}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 14
aastore
dup
iconst_2
aload 15
aastore
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
44: new org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit
dup
aload 15
aload 14
invokespecial org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 16
start local 16 45: new org.eclipse.jdt.internal.compiler.Compiler
dup
aload 16
46: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.errorHandlingPolicy:Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;
47: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.compilerOptions:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
48: aload 16
49: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.problemFactory:Lorg/eclipse/jdt/internal/compiler/IProblemFactory;
50: invokespecial org.eclipse.jdt.internal.compiler.Compiler.<init>:(Lorg/eclipse/jdt/internal/compiler/env/INameEnvironment;Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;Lorg/eclipse/jdt/internal/compiler/ICompilerRequestor;Lorg/eclipse/jdt/internal/compiler/IProblemFactory;)V
astore 17
start local 17 51: aload 17
iconst_1
anewarray org.eclipse.jdt.internal.compiler.env.ICompilationUnit
dup
iconst_0
aload 16
aastore
invokevirtual org.eclipse.jdt.internal.compiler.Compiler.compile:([Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;)V
52: aload 16
getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.problemList:Ljava/util/List;
ifnull 76
aload 16
getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.problemList:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 76
53: iconst_0
istore 18
start local 18 54: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 19
start local 19 55: aload 16
getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.problemList:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 21
goto 72
StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction org.apache.cassandra.cql3.functions.FunctionName java.util.List java.util.List org.apache.cassandra.db.marshal.AbstractType int java.lang.String com.google.common.reflect.TypeToken[] com.google.common.reflect.TypeToken java.lang.String java.lang.String java.lang.String java.lang.StringBuilder int java.lang.String java.lang.String org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit org.eclipse.jdt.internal.compiler.Compiler int java.lang.StringBuilder top java.util.Iterator
StackMap stack:
56: aload 21
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jdt.core.compiler.IProblem
astore 20
start local 20 57: aload 20
invokeinterface org.eclipse.jdt.core.compiler.IProblem.getSourceLineNumber:()I
iload 13
isub
i2l
lstore 22
start local 22 58: lload 22
lconst_1
lcmp
ifge 67
59: aload 20
invokeinterface org.eclipse.jdt.core.compiler.IProblem.isError:()Z
ifeq 72
60: aload 19
ldc "GENERATED SOURCE ERROR: line "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
61: aload 20
invokeinterface org.eclipse.jdt.core.compiler.IProblem.getSourceLineNumber:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
62: ldc " (in generated source): "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
63: aload 20
invokeinterface org.eclipse.jdt.core.compiler.IProblem.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
64: bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
65: iconst_1
istore 18
66: goto 72
67: StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction org.apache.cassandra.cql3.functions.FunctionName java.util.List java.util.List org.apache.cassandra.db.marshal.AbstractType int java.lang.String com.google.common.reflect.TypeToken[] com.google.common.reflect.TypeToken java.lang.String java.lang.String java.lang.String java.lang.StringBuilder int java.lang.String java.lang.String org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit org.eclipse.jdt.internal.compiler.Compiler int java.lang.StringBuilder org.eclipse.jdt.core.compiler.IProblem java.util.Iterator long
StackMap stack:
aload 19
ldc "Line "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
68: lload 22
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
69: ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
70: aload 20
invokeinterface org.eclipse.jdt.core.compiler.IProblem.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
71: bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 22 end local 20 72: StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction org.apache.cassandra.cql3.functions.FunctionName java.util.List java.util.List org.apache.cassandra.db.marshal.AbstractType int java.lang.String com.google.common.reflect.TypeToken[] com.google.common.reflect.TypeToken java.lang.String java.lang.String java.lang.String java.lang.StringBuilder int java.lang.String java.lang.String org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit org.eclipse.jdt.internal.compiler.Compiler int java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 21
invokeinterface java.util.Iterator.hasNext:()Z
ifne 56
73: iload 18
ifeq 75
74: new org.apache.cassandra.exceptions.InvalidRequestException
dup
new java.lang.StringBuilder
dup
ldc "Java source compilation failed:\n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n generated source:\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
75: StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction org.apache.cassandra.cql3.functions.FunctionName java.util.List java.util.List org.apache.cassandra.db.marshal.AbstractType int java.lang.String com.google.common.reflect.TypeToken[] com.google.common.reflect.TypeToken java.lang.String java.lang.String java.lang.String java.lang.StringBuilder int java.lang.String java.lang.String org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit org.eclipse.jdt.internal.compiler.Compiler int java.lang.StringBuilder
StackMap stack:
new org.apache.cassandra.exceptions.InvalidRequestException
dup
new java.lang.StringBuilder
dup
ldc "Java source compilation failed:\n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
end local 19 end local 18 76: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
aload 14
getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.targetClassLoader:Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjTargetClassLoader;
aload 14
invokevirtual org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjTargetClassLoader.classData:(Ljava/lang/String;)[B
invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.verify:(Ljava/lang/String;[B)Ljava/util/Set;
astore 18
start local 18 77: new java.lang.StringBuilder
dup
ldc "not allowed method declared: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 19
start local 19 78: aload 18
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 20
start local 20 79: goto 83
80: StackMap locals: java.util.Set java.lang.String java.util.Iterator
StackMap stack:
aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 21
start local 21 81: aload 21
aload 19
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 83
82: aload 20
invokeinterface java.util.Iterator.remove:()V
end local 21 83: StackMap locals:
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 80
end local 20 84: aload 18
invokeinterface java.util.Set.isEmpty:()Z
ifne 86
85: new org.apache.cassandra.exceptions.InvalidRequestException
dup
new java.lang.StringBuilder
dup
ldc "Java UDF validation failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
86: StackMap locals:
StackMap stack:
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 20
start local 20 87: aload 20
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 21
start local 21 88: aload 20
getstatic org.apache.cassandra.cql3.functions.UDFunction.udfClassLoader:Ljava/lang/ClassLoader;
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
89: aload 14
iconst_0
getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.targetClassLoader:Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjTargetClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 22
start local 22 90: iconst_0
istore 23
start local 23 91: aload 22
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
dup
astore 27
arraylength
istore 26
iconst_0
istore 25
goto 96
StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction org.apache.cassandra.cql3.functions.FunctionName java.util.List java.util.List org.apache.cassandra.db.marshal.AbstractType int java.lang.String com.google.common.reflect.TypeToken[] com.google.common.reflect.TypeToken java.lang.String java.lang.String java.lang.String java.lang.StringBuilder int java.lang.String java.lang.String org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit org.eclipse.jdt.internal.compiler.Compiler java.util.Set java.lang.String java.lang.Thread java.lang.ClassLoader java.lang.Class int top int int java.lang.reflect.Method[]
StackMap stack:
92: aload 27
iload 25
aaload
astore 24
start local 24 93: aload 24
invokevirtual java.lang.reflect.Method.isSynthetic:()Z
ifne 95
94: iinc 23 1
end local 24 95: StackMap locals:
StackMap stack:
iinc 25 1
StackMap locals:
StackMap stack:
96: iload 25
iload 26
if_icmplt 92
97: iload 23
iconst_3
if_icmpne 98
aload 22
invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
arraylength
iconst_1
if_icmpeq 99
98: StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction org.apache.cassandra.cql3.functions.FunctionName java.util.List java.util.List org.apache.cassandra.db.marshal.AbstractType int java.lang.String com.google.common.reflect.TypeToken[] com.google.common.reflect.TypeToken java.lang.String java.lang.String java.lang.String java.lang.StringBuilder int java.lang.String java.lang.String org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit org.eclipse.jdt.internal.compiler.Compiler java.util.Set java.lang.String java.lang.Thread java.lang.ClassLoader java.lang.Class int
StackMap stack:
new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Check your source to not define additional Java methods or constructors"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
99: StackMap locals:
StackMap stack:
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
iconst_3
anewarray java.lang.Class
dup
iconst_0
100: ldc Lcom/datastax/driver/core/TypeCodec;
aastore
dup
iconst_1
ldc [Lcom/datastax/driver/core/TypeCodec;
aastore
dup
iconst_2
ldc Lorg/apache/cassandra/cql3/functions/UDFContext;
aastore
invokevirtual java.lang.invoke.MethodType.appendParameterTypes:([Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
101: astore 24
start local 24 102: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
aload 22
aload 24
invokevirtual java.lang.invoke.MethodHandles$Lookup.findConstructor:(Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 25
start local 25 103: aload 0
aload 25
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction.returnCodec:Lcom/datastax/driver/core/TypeCodec;
aastore
dup
iconst_1
aload 0
getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction.argCodecs:[Lcom/datastax/driver/core/TypeCodec;
aastore
dup
iconst_2
aload 0
getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfContext:Lorg/apache/cassandra/cql3/functions/UDFContext;
aastore
invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.functions.JavaUDF
putfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaUDF:Lorg/apache/cassandra/cql3/functions/JavaUDF;
end local 25 end local 24 end local 23 end local 22 104: goto 108
105: StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction org.apache.cassandra.cql3.functions.FunctionName java.util.List java.util.List org.apache.cassandra.db.marshal.AbstractType int java.lang.String com.google.common.reflect.TypeToken[] com.google.common.reflect.TypeToken java.lang.String java.lang.String java.lang.String java.lang.StringBuilder int java.lang.String java.lang.String org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit org.eclipse.jdt.internal.compiler.Compiler java.util.Set java.lang.String java.lang.Thread java.lang.ClassLoader
StackMap stack: java.lang.Throwable
astore 28
106: aload 20
aload 21
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
107: aload 28
athrow
108: StackMap locals:
StackMap stack:
aload 20
aload 21
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 109: goto 117
110: StackMap locals: org.apache.cassandra.cql3.functions.JavaBasedUDFunction org.apache.cassandra.cql3.functions.FunctionName java.util.List java.util.List org.apache.cassandra.db.marshal.AbstractType int java.lang.String com.google.common.reflect.TypeToken[] com.google.common.reflect.TypeToken java.lang.String java.lang.String java.lang.String java.lang.StringBuilder int java.lang.String java.lang.String
StackMap stack: java.lang.reflect.InvocationTargetException
astore 16
start local 16 111: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Could not compile function '%s' from Java source: %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 16
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
end local 16 112: StackMap locals:
StackMap stack: java.lang.Throwable
astore 16
start local 16 113: aload 16
athrow
end local 16 114: StackMap locals:
StackMap stack: java.lang.Throwable
astore 16
start local 16 115: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.logger:Lorg/slf4j/Logger;
ldc "Could not compile function '%s' from Java source:%n%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 15
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 16
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
116: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "Could not compile function '%s' from Java source: %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 16
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
end local 16 117: StackMap locals:
StackMap stack:
return
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 118 0 this Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction;
0 118 1 name Lorg/apache/cassandra/cql3/functions/FunctionName;
0 118 2 argNames Ljava/util/List<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;
0 118 3 argTypes Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
0 118 4 returnType Lorg/apache/cassandra/db/marshal/AbstractType<*>;
0 118 5 calledOnNullInput Z
0 118 6 body Ljava/lang/String;
3 118 7 javaParamTypes [Lcom/google/common/reflect/TypeToken;
4 118 8 javaReturnType Lcom/google/common/reflect/TypeToken<*>;
5 118 9 pkgName Ljava/lang/String;
6 118 10 clsName Ljava/lang/String;
7 118 11 executeInternalName Ljava/lang/String;
8 118 12 javaSourceBuilder Ljava/lang/StringBuilder;
9 118 13 lineOffset I
10 41 14 i I
12 39 15 s Ljava/lang/String;
42 118 14 targetClassName Ljava/lang/String;
43 118 15 javaSource Ljava/lang/String;
45 109 16 compilationUnit Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjCompilationUnit;
51 109 17 compiler Lorg/eclipse/jdt/internal/compiler/Compiler;
54 76 18 fullSource Z
55 76 19 problems Ljava/lang/StringBuilder;
57 72 20 problem Lorg/eclipse/jdt/core/compiler/IProblem;
58 72 22 ln J
77 109 18 errors Ljava/util/Set<Ljava/lang/String;>;
78 109 19 validDeclare Ljava/lang/String;
79 84 20 i Ljava/util/Iterator<Ljava/lang/String;>;
81 83 21 error Ljava/lang/String;
87 109 20 thread Ljava/lang/Thread;
88 109 21 orig Ljava/lang/ClassLoader;
90 104 22 cls Ljava/lang/Class;
91 104 23 nonSyntheticMethodCount I
93 95 24 m Ljava/lang/reflect/Method;
102 104 24 methodType Ljava/lang/invoke/MethodType;
103 104 25 ctor Ljava/lang/invoke/MethodHandle;
111 112 16 e Ljava/lang/reflect/InvocationTargetException;
113 114 16 e Ljava/lang/Throwable;
115 117 16 e Ljava/lang/Throwable;
Exception table:
from to target type
88 105 105 any
44 109 110 Class java.lang.reflect.InvocationTargetException
44 109 112 Class org.apache.cassandra.exceptions.InvalidRequestException
44 109 112 Class java.lang.VirtualMachineError
44 109 114 Class java.lang.Throwable
Signature: (Lorg/apache/cassandra/cql3/functions/FunctionName;Ljava/util/List<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;Lorg/apache/cassandra/db/marshal/AbstractType<*>;ZLjava/lang/String;)V
MethodParameters:
Name Flags
name
argNames
argTypes
returnType
calledOnNullInput
body
protected java.util.concurrent.ExecutorService executor();
descriptor: ()Ljava/util/concurrent/ExecutorService;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.executor:Lorg/apache/cassandra/cql3/functions/UDFExecutorService;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction;
protected java.nio.ByteBuffer executeUserDefined(org.apache.cassandra.transport.ProtocolVersion, java.util.List<java.nio.ByteBuffer>);
descriptor: (Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/util/List;)Ljava/nio/ByteBuffer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaUDF:Lorg/apache/cassandra/cql3/functions/JavaUDF;
aload 1
aload 2
invokevirtual org.apache.cassandra.cql3.functions.JavaUDF.executeImpl:(Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/util/List;)Ljava/nio/ByteBuffer;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction;
0 1 1 protocolVersion Lorg/apache/cassandra/transport/ProtocolVersion;
0 1 2 params Ljava/util/List<Ljava/nio/ByteBuffer;>;
Signature: (Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/util/List<Ljava/nio/ByteBuffer;>;)Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
protocolVersion
params
protected executeAggregateUserDefined(org.apache.cassandra.transport.ProtocolVersion, , java.util.List<java.nio.ByteBuffer>);
descriptor: (Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/lang/Object;Ljava/util/List;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaUDF:Lorg/apache/cassandra/cql3/functions/JavaUDF;
aload 1
aload 2
aload 3
invokevirtual org.apache.cassandra.cql3.functions.JavaUDF.executeAggregateImpl:(Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/lang/Object;Ljava/util/List;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction;
0 1 1 protocolVersion Lorg/apache/cassandra/transport/ProtocolVersion;
0 1 2 firstParam Ljava/lang/Object;
0 1 3 params Ljava/util/List<Ljava/nio/ByteBuffer;>;
Signature: (Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/lang/Object;Ljava/util/List<Ljava/nio/ByteBuffer;>;)Ljava/lang/Object;
MethodParameters:
Name Flags
protocolVersion
firstParam
params
private static int countNewlines(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.StringBuilder.charAt:(I)C
bipush 10
if_icmpne 5
4: iinc 1 1
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
invokevirtual java.lang.StringBuilder.length:()I
if_icmplt 3
end local 2 7: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 javaSource Ljava/lang/StringBuilder;
1 8 1 ln I
2 7 2 i I
MethodParameters:
Name Flags
javaSource
private static java.lang.String generateClassName(org.apache.cassandra.cql3.functions.FunctionName, char);
descriptor: (Lorg/apache/cassandra/cql3/functions/FunctionName;C)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.cassandra.cql3.functions.FunctionName.toString:()Ljava/lang/String;
astore 2
start local 2 1: new java.lang.StringBuilder
dup
aload 2
invokevirtual java.lang.String.length:()I
bipush 10
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
start local 3 2: aload 3
iload 1
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
3: iconst_0
istore 4
start local 4 4: goto 10
5: StackMap locals: java.lang.String java.lang.StringBuilder int
StackMap stack:
aload 2
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 6: iload 5
invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
ifeq 8
7: aload 3
iload 5
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
goto 9
8: StackMap locals: int
StackMap stack:
aload 3
iload 5
i2s
ldc 65535
iand
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 5 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 2
invokevirtual java.lang.String.length:()I
if_icmplt 5
end local 4 11: aload 3
bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
12: invokestatic java.util.concurrent.ThreadLocalRandom.current:()Ljava/util/concurrent/ThreadLocalRandom;
invokevirtual java.util.concurrent.ThreadLocalRandom.nextInt:()I
ldc 16777215
iand
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
13: bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
14: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.classSequence:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
15: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 name Lorg/apache/cassandra/cql3/functions/FunctionName;
0 16 1 prefix C
1 16 2 qualifiedName Ljava/lang/String;
2 16 3 sb Ljava/lang/StringBuilder;
4 11 4 i I
6 9 5 c C
MethodParameters:
Name Flags
name
prefix
public static java.lang.String javaSourceName(com.google.common.reflect.TypeToken<?>);
descriptor: (Lcom/google/common/reflect/TypeToken;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.reflect.TypeToken.toString:()Ljava/lang/String;
astore 1
start local 1 1: getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.JAVA_LANG_PREFIX:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
ldc ""
invokevirtual java.util.regex.Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 type Lcom/google/common/reflect/TypeToken<*>;
1 2 1 n Ljava/lang/String;
Signature: (Lcom/google/common/reflect/TypeToken<*>;)Ljava/lang/String;
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
MethodParameters:
Name Flags
type
private static java.lang.String generateArgumentList(com.google.common.reflect.TypeToken<?>[], java.util.List<org.apache.cassandra.cql3.ColumnIdentifier>);
descriptor: ([Lcom/google/common/reflect/TypeToken;Ljava/util/List;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
bipush 32
aload 0
arraylength
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 9
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 3
ifle 5
4: aload 2
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals:
StackMap stack:
aload 2
aload 0
iload 3
aaload
invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaSourceName:(Lcom/google/common/reflect/TypeToken;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
7: aload 1
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 0
arraylength
if_icmplt 3
end local 3 10: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 paramTypes [Lcom/google/common/reflect/TypeToken;
0 11 1 argNames Ljava/util/List<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;
1 11 2 code Ljava/lang/StringBuilder;
2 10 3 i I
Signature: ([Lcom/google/common/reflect/TypeToken<*>;Ljava/util/List<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;)Ljava/lang/String;
MethodParameters:
Name Flags
paramTypes
argNames
private static java.lang.String generateArguments(com.google.common.reflect.TypeToken<?>[], java.util.List<org.apache.cassandra.cql3.ColumnIdentifier>, boolean);
descriptor: ([Lcom/google/common/reflect/TypeToken;Ljava/util/List;Z)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
bipush 64
aload 0
arraylength
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 14
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 4
ifle 5
4: aload 3
ldc ",\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
ifeq 7
6: aload 3
ldc " /* parameter '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "' */\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: StackMap locals:
StackMap stack:
aload 3
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
iload 4
aaload
invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaSourceName:(Lcom/google/common/reflect/TypeToken;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: iload 2
ifeq 10
iload 4
ifne 10
9: aload 3
ldc "firstParam"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 13
10: StackMap locals:
StackMap stack:
aload 3
aload 0
iload 4
aaload
invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.composeMethod:(Lcom/google/common/reflect/TypeToken;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "(protocolVersion, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", params.get("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
ifeq 11
iload 4
iconst_1
isub
goto 12
StackMap locals:
StackMap stack: java.lang.StringBuilder
11: iload 4
StackMap locals: com.google.common.reflect.TypeToken[] java.util.List int java.lang.StringBuilder int
StackMap stack: java.lang.StringBuilder int
12: invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "))"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
aload 0
arraylength
if_icmplt 3
end local 4 15: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 paramTypes [Lcom/google/common/reflect/TypeToken;
0 16 1 argNames Ljava/util/List<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;
0 16 2 forAggregate Z
1 16 3 code Ljava/lang/StringBuilder;
2 15 4 i I
Signature: ([Lcom/google/common/reflect/TypeToken<*>;Ljava/util/List<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;Z)Ljava/lang/String;
MethodParameters:
Name Flags
paramTypes
argNames
forAggregate
private static java.lang.String composeMethod(com.google.common.reflect.TypeToken<?>);
descriptor: (Lcom/google/common/reflect/TypeToken;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.reflect.TypeToken.isPrimitive:()Z
ifeq 1
new java.lang.StringBuilder
dup
ldc "super.compose_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.google.common.reflect.TypeToken.getRawType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: ldc "super.compose"
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type Lcom/google/common/reflect/TypeToken<*>;
Signature: (Lcom/google/common/reflect/TypeToken<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
type
}
SourceFile: "JavaBasedUDFunction.java"
NestMembers:
org.apache.cassandra.cql3.functions.JavaBasedUDFunction$1 org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjTargetClassLoader
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
org.apache.cassandra.cql3.functions.JavaBasedUDFunction$1
final EcjCompilationUnit = org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit of org.apache.cassandra.cql3.functions.JavaBasedUDFunction
final EcjTargetClassLoader = org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjTargetClassLoader of org.apache.cassandra.cql3.functions.JavaBasedUDFunction
public abstract ThreadInitializer = org.apache.cassandra.security.SecurityThreadGroup$ThreadInitializer of org.apache.cassandra.security.SecurityThreadGroup