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: .line 71
            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: .line 73
            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: .line 75
            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: .line 80
            new org.apache.cassandra.cql3.functions.UDFExecutorService
            dup
            new org.apache.cassandra.concurrent.NamedThreadFactory
            dup
            ldc "UserDefinedFunctions"
         4: .line 81
            iconst_1
         5: .line 82
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfClassLoader:Ljava/lang/ClassLoader;
         6: .line 83
            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: .line 84
            ldc "userfunction"
         8: .line 80
            invokespecial org.apache.cassandra.cql3.functions.UDFExecutorService.<init>:(Lorg/apache/cassandra/concurrent/NamedThreadFactory;Ljava/lang/String;)V
         9: .line 79
            putstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.executor:Lorg/apache/cassandra/cql3/functions/UDFExecutorService;
        10: .line 86
            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: .line 88
            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: .line 92
            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: .line 93
            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: .line 105
            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: .line 106
            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: .line 107
            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: .line 108
            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: .line 109
            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: .line 110
            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: .line 111
            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: .line 112
            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: .line 113
            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: .line 114
            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: .line 115
            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: .line 116
            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: .line 117
            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: .line 118
            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: .line 119
            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: .line 120
            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: .line 121
            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: .line 122
            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 /* ia */
        start local 0 // java.lang.String ia
        33: .line 125
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
            aload 0 /* ia */
            ldc "getByAddress"
            invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
            pop
        34: .line 126
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
            aload 0 /* ia */
            ldc "getAllByName"
            invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
            pop
        35: .line 127
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
            aload 0 /* ia */
            ldc "getByName"
            invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
            pop
        36: .line 128
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
            aload 0 /* ia */
            ldc "getLocalHost"
            invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
            pop
        37: .line 130
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
            aload 0 /* ia */
            ldc "getHostName"
            invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
            pop
        38: .line 131
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
            aload 0 /* ia */
            ldc "getCanonicalHostName"
            invokevirtual org.apache.cassandra.cql3.functions.UDFByteCodeVerifier.addDisallowedMethodCall:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
            pop
        39: .line 133
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
            aload 0 /* ia */
            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 // java.lang.String ia
        40: .line 122
            iinc 1 1
      StackMap locals:
      StackMap stack:
        41: iload 1
            iload 2
            if_icmplt 32
        42: .line 135
            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: .line 136
            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: .line 138
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* settings */
        start local 0 // java.util.Map settings
        45: .line 139
            aload 0 /* settings */
            ldc "org.eclipse.jdt.core.compiler.debug.lineNumber"
        46: .line 140
            ldc "generate"
        47: .line 139
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        48: .line 141
            aload 0 /* settings */
            ldc "org.eclipse.jdt.core.compiler.debug.sourceFile"
        49: .line 142
            ldc "disabled"
        50: .line 141
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        51: .line 143
            aload 0 /* settings */
            ldc "org.eclipse.jdt.core.compiler.problem.deprecation"
        52: .line 144
            ldc "ignore"
        53: .line 143
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        54: .line 145
            aload 0 /* settings */
            ldc "org.eclipse.jdt.core.compiler.source"
        55: .line 146
            ldc "1.8"
        56: .line 145
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        57: .line 147
            aload 0 /* settings */
            ldc "org.eclipse.jdt.core.compiler.codegen.targetPlatform"
        58: .line 148
            ldc "1.8"
        59: .line 147
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        60: .line 150
            new org.eclipse.jdt.internal.compiler.impl.CompilerOptions
            dup
            aload 0 /* settings */
            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: .line 151
            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: .line 153
            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 /* input */
        start local 3 // java.io.InputStream input
        64: .line 155
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 4 /* output */
        start local 4 // java.io.ByteArrayOutputStream output
        65: .line 156
            aload 3 /* input */
            aload 4 /* output */
            ldc 9223372036854775807
            invokestatic org.apache.cassandra.utils.FBUtilities.copy:(Ljava/io/InputStream;Ljava/io/OutputStream;J)J
            pop2
        66: .line 157
            aload 4 /* output */
            invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
            astore 5 /* template */
        start local 5 // java.lang.String template
        67: .line 159
            new java.util.StringTokenizer
            dup
            aload 5 /* template */
            ldc "#"
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* st */
        start local 6 // java.util.StringTokenizer st
        68: .line 160
            aload 6 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            anewarray java.lang.String
            putstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaSourceTemplate:[Ljava/lang/String;
        69: .line 161
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        70: goto 73
        71: .line 162
      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 /* i */
            aload 6 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            aastore
        72: .line 161
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        73: aload 6 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreElements:()Z
            ifne 71
        end local 7 // int i
        end local 6 // java.util.StringTokenizer st
        end local 5 // java.lang.String template
        end local 4 // java.io.ByteArrayOutputStream output
        74: .line 163
            aload 3 /* input */
            ifnull 82
            aload 3 /* input */
            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 /* input */
            ifnull 76
            aload 3 /* input */
            invokevirtual java.io.InputStream.close:()V
        end local 3 // java.io.InputStream input
      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: .line 164
      StackMap locals: java.util.Map
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
        81: .line 166
            new java.lang.RuntimeException
            dup
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        82: .line 172
      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: .line 178
            aconst_null
        84: .line 172
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 1 /* codeSource */
        start local 1 // java.security.CodeSource codeSource
        85: .line 179
            goto 88
        end local 1 // java.security.CodeSource codeSource
        86: .line 180
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            astore 2 /* e */
        start local 2 // java.net.MalformedURLException e
        87: .line 182
            new java.lang.RuntimeException
            dup
            aload 2 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.net.MalformedURLException e
        start local 1 // java.security.CodeSource codeSource
        88: .line 185
      StackMap locals: java.security.CodeSource
      StackMap stack:
            new java.security.ProtectionDomain
            dup
            aload 1 /* codeSource */
            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 // java.security.CodeSource codeSource
        end local 0 // java.util.Map settings
        89: .line 186
            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 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction this
        start local 1 // org.apache.cassandra.cql3.functions.FunctionName name
        start local 2 // java.util.List argNames
        start local 3 // java.util.List argTypes
        start local 4 // org.apache.cassandra.db.marshal.AbstractType returnType
        start local 5 // boolean calledOnNullInput
        start local 6 // java.lang.String body
         0: .line 193
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* argNames */
            aload 3 /* argTypes */
            aload 3 /* argTypes */
            invokestatic org.apache.cassandra.cql3.functions.UDHelper.driverTypes:(Ljava/util/List;)[Lcom/datastax/driver/core/DataType;
         1: .line 194
            aload 4 /* returnType */
            aload 4 /* returnType */
            invokestatic org.apache.cassandra.cql3.functions.UDHelper.driverType:(Lorg/apache/cassandra/db/marshal/AbstractType;)Lcom/datastax/driver/core/DataType;
            iload 5 /* calledOnNullInput */
            ldc "java"
            aload 6 /* body */
            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: .line 197
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction.argCodecs:[Lcom/datastax/driver/core/TypeCodec;
            iload 5 /* calledOnNullInput */
            invokestatic org.apache.cassandra.cql3.functions.UDHelper.typeTokens:([Lcom/datastax/driver/core/TypeCodec;Z)[Lcom/google/common/reflect/TypeToken;
            astore 7 /* javaParamTypes */
        start local 7 // com.google.common.reflect.TypeToken[] javaParamTypes
         3: .line 199
            aload 0 /* this */
            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 /* javaReturnType */
        start local 8 // com.google.common.reflect.TypeToken javaReturnType
         4: .line 202
            new java.lang.StringBuilder
            dup
            ldc "org.apache.cassandra.cql3.udf.gen."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            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 /* pkgName */
        start local 9 // java.lang.String pkgName
         5: .line 203
            aload 1 /* name */
            bipush 67
            invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.generateClassName:(Lorg/apache/cassandra/cql3/functions/FunctionName;C)Ljava/lang/String;
            astore 10 /* clsName */
        start local 10 // java.lang.String clsName
         6: .line 205
            aload 1 /* name */
            bipush 120
            invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.generateClassName:(Lorg/apache/cassandra/cql3/functions/FunctionName;C)Ljava/lang/String;
            astore 11 /* executeInternalName */
        start local 11 // java.lang.String executeInternalName
         7: .line 207
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 12 /* javaSourceBuilder */
        start local 12 // java.lang.StringBuilder javaSourceBuilder
         8: .line 208
            iconst_1
            istore 13 /* lineOffset */
        start local 13 // int lineOffset
         9: .line 209
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        10: goto 40
        11: .line 211
      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 /* i */
            aaload
            astore 15 /* s */
        start local 15 // java.lang.String s
        12: .line 214
            iload 14 /* i */
            iconst_1
            iand
            iconst_1
            if_icmpne 38
        13: .line 216
            aload 15 /* s */
            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: .line 219
      StackMap locals:
      StackMap stack:
            aload 9 /* pkgName */
            astore 15 /* s */
        23: .line 220
            goto 38
        24: .line 222
      StackMap locals:
      StackMap stack:
            aload 10 /* clsName */
            astore 15 /* s */
        25: .line 223
            goto 38
        26: .line 225
      StackMap locals:
      StackMap stack:
            aload 12 /* javaSourceBuilder */
            invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.countNewlines:(Ljava/lang/StringBuilder;)I
            istore 13 /* lineOffset */
        27: .line 226
            aload 6 /* body */
            astore 15 /* s */
        28: .line 227
            goto 38
        29: .line 229
      StackMap locals:
      StackMap stack:
            aload 7 /* javaParamTypes */
            aload 2 /* argNames */
            iconst_0
            invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.generateArguments:([Lcom/google/common/reflect/TypeToken;Ljava/util/List;Z)Ljava/lang/String;
            astore 15 /* s */
        30: .line 230
            goto 38
        31: .line 232
      StackMap locals:
      StackMap stack:
            aload 7 /* javaParamTypes */
            aload 2 /* argNames */
            iconst_1
            invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.generateArguments:([Lcom/google/common/reflect/TypeToken;Ljava/util/List;Z)Ljava/lang/String;
            astore 15 /* s */
        32: .line 233
            goto 38
        33: .line 235
      StackMap locals:
      StackMap stack:
            aload 7 /* javaParamTypes */
            aload 2 /* argNames */
            invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.generateArgumentList:([Lcom/google/common/reflect/TypeToken;Ljava/util/List;)Ljava/lang/String;
            astore 15 /* s */
        34: .line 236
            goto 38
        35: .line 238
      StackMap locals:
      StackMap stack:
            aload 8 /* javaReturnType */
            invokestatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaSourceName:(Lcom/google/common/reflect/TypeToken;)Ljava/lang/String;
            astore 15 /* s */
        36: .line 239
            goto 38
        37: .line 241
      StackMap locals:
      StackMap stack:
            aload 11 /* executeInternalName */
            astore 15 /* s */
        38: .line 246
      StackMap locals:
      StackMap stack:
            aload 12 /* javaSourceBuilder */
            aload 15 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 15 // java.lang.String s
        39: .line 209
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        40: iload 14 /* i */
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaSourceTemplate:[Ljava/lang/String;
            arraylength
            if_icmplt 11
        end local 14 // int i
        41: .line 249
            new java.lang.StringBuilder
            dup
            aload 9 /* pkgName */
            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 /* clsName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 14 /* targetClassName */
        start local 14 // java.lang.String targetClassName
        42: .line 251
            aload 12 /* javaSourceBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 15 /* javaSource */
        start local 15 // java.lang.String javaSource
        43: .line 253
            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 /* name */
            aastore
            dup
            iconst_1
            aload 14 /* targetClassName */
            aastore
            dup
            iconst_2
            aload 15 /* javaSource */
            aastore
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
        44: .line 257
            new org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit
            dup
            aload 15 /* javaSource */
            aload 14 /* targetClassName */
            invokespecial org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 16 /* compilationUnit */
        start local 16 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit compilationUnit
        45: .line 259
            new org.eclipse.jdt.internal.compiler.Compiler
            dup
            aload 16 /* compilationUnit */
        46: .line 260
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.errorHandlingPolicy:Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;
        47: .line 261
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.compilerOptions:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
        48: .line 262
            aload 16 /* compilationUnit */
        49: .line 263
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.problemFactory:Lorg/eclipse/jdt/internal/compiler/IProblemFactory;
        50: .line 259
            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 /* compiler */
        start local 17 // org.eclipse.jdt.internal.compiler.Compiler compiler
        51: .line 264
            aload 17 /* compiler */
            iconst_1
            anewarray org.eclipse.jdt.internal.compiler.env.ICompilationUnit
            dup
            iconst_0
            aload 16 /* compilationUnit */
            aastore
            invokevirtual org.eclipse.jdt.internal.compiler.Compiler.compile:([Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;)V
        52: .line 266
            aload 16 /* compilationUnit */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.problemList:Ljava/util/List;
            ifnull 76
            aload 16 /* compilationUnit */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit.problemList:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 76
        53: .line 268
            iconst_0
            istore 18 /* fullSource */
        start local 18 // boolean fullSource
        54: .line 269
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 19 /* problems */
        start local 19 // java.lang.StringBuilder problems
        55: .line 270
            aload 16 /* compilationUnit */
            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 /* problem */
        start local 20 // org.eclipse.jdt.core.compiler.IProblem problem
        57: .line 272
            aload 20 /* problem */
            invokeinterface org.eclipse.jdt.core.compiler.IProblem.getSourceLineNumber:()I
            iload 13 /* lineOffset */
            isub
            i2l
            lstore 22 /* ln */
        start local 22 // long ln
        58: .line 273
            lload 22 /* ln */
            lconst_1
            lcmp
            ifge 67
        59: .line 275
            aload 20 /* problem */
            invokeinterface org.eclipse.jdt.core.compiler.IProblem.isError:()Z
            ifeq 72
        60: .line 279
            aload 19 /* problems */
            ldc "GENERATED SOURCE ERROR: line "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        61: .line 280
            aload 20 /* problem */
            invokeinterface org.eclipse.jdt.core.compiler.IProblem.getSourceLineNumber:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        62: .line 281
            ldc " (in generated source): "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        63: .line 282
            aload 20 /* problem */
            invokeinterface org.eclipse.jdt.core.compiler.IProblem.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        64: .line 283
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        65: .line 284
            iconst_1
            istore 18 /* fullSource */
        66: .line 286
            goto 72
        67: .line 289
      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 /* problems */
            ldc "Line "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        68: .line 290
            lload 22 /* ln */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        69: .line 291
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        70: .line 292
            aload 20 /* problem */
            invokeinterface org.eclipse.jdt.core.compiler.IProblem.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        71: .line 293
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 22 // long ln
        end local 20 // org.eclipse.jdt.core.compiler.IProblem problem
        72: .line 270
      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: .line 297
            iload 18 /* fullSource */
            ifeq 75
        74: .line 298
            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 /* problems */
            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 /* javaSource */
            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: .line 300
      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 /* problems */
            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 // java.lang.StringBuilder problems
        end local 18 // boolean fullSource
        76: .line 304
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.udfByteCodeVerifier:Lorg/apache/cassandra/cql3/functions/UDFByteCodeVerifier;
            aload 14 /* targetClassName */
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.targetClassLoader:Lorg/apache/cassandra/cql3/functions/JavaBasedUDFunction$EcjTargetClassLoader;
            aload 14 /* targetClassName */
            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 /* errors */
        start local 18 // java.util.Set errors
        77: .line 305
            new java.lang.StringBuilder
            dup
            ldc "not allowed method declared: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* executeInternalName */
            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 /* validDeclare */
        start local 19 // java.lang.String validDeclare
        78: .line 306
            aload 18 /* errors */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 20 /* i */
        start local 20 // java.util.Iterator i
        79: goto 83
        80: .line 308
      StackMap locals: java.util.Set java.lang.String java.util.Iterator
      StackMap stack:
            aload 20 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 21 /* error */
        start local 21 // java.lang.String error
        81: .line 310
            aload 21 /* error */
            aload 19 /* validDeclare */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 83
        82: .line 311
            aload 20 /* i */
            invokeinterface java.util.Iterator.remove:()V
        end local 21 // java.lang.String error
        83: .line 306
      StackMap locals:
      StackMap stack:
            aload 20 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 80
        end local 20 // java.util.Iterator i
        84: .line 313
            aload 18 /* errors */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 86
        85: .line 314
            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 /* errors */
            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: .line 317
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 20 /* thread */
        start local 20 // java.lang.Thread thread
        87: .line 318
            aload 20 /* thread */
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 21 /* orig */
        start local 21 // java.lang.ClassLoader orig
        88: .line 321
            aload 20 /* thread */
            getstatic org.apache.cassandra.cql3.functions.UDFunction.udfClassLoader:Ljava/lang/ClassLoader;
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        89: .line 324
            aload 14 /* targetClassName */
            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 /* cls */
        start local 22 // java.lang.Class cls
        90: .line 327
            iconst_0
            istore 23 /* nonSyntheticMethodCount */
        start local 23 // int nonSyntheticMethodCount
        91: .line 328
            aload 22 /* cls */
            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 /* m */
        start local 24 // java.lang.reflect.Method m
        93: .line 330
            aload 24 /* m */
            invokevirtual java.lang.reflect.Method.isSynthetic:()Z
            ifne 95
        94: .line 332
            iinc 23 /* nonSyntheticMethodCount */ 1
        end local 24 // java.lang.reflect.Method m
        95: .line 328
      StackMap locals:
      StackMap stack:
            iinc 25 1
      StackMap locals:
      StackMap stack:
        96: iload 25
            iload 26
            if_icmplt 92
        97: .line 336
            iload 23 /* nonSyntheticMethodCount */
            iconst_3
            if_icmpne 98
            aload 22 /* cls */
            invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
            arraylength
            iconst_1
            if_icmpeq 99
        98: .line 337
      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: .line 338
      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: .line 339
            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: .line 338
            astore 24 /* methodType */
        start local 24 // java.lang.invoke.MethodType methodType
       102: .line 340
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            aload 22 /* cls */
            aload 24 /* methodType */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findConstructor:(Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 25 /* ctor */
        start local 25 // java.lang.invoke.MethodHandle ctor
       103: .line 341
            aload 0 /* this */
            aload 25 /* ctor */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction.returnCodec:Lcom/datastax/driver/core/TypeCodec;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction.argCodecs:[Lcom/datastax/driver/core/TypeCodec;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            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 // java.lang.invoke.MethodHandle ctor
        end local 24 // java.lang.invoke.MethodType methodType
        end local 23 // int nonSyntheticMethodCount
        end local 22 // java.lang.Class cls
       104: .line 342
            goto 108
       105: .line 344
      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: .line 345
            aload 20 /* thread */
            aload 21 /* orig */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
       107: .line 346
            aload 28
            athrow
       108: .line 345
      StackMap locals:
      StackMap stack:
            aload 20 /* thread */
            aload 21 /* orig */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        end local 21 // java.lang.ClassLoader orig
        end local 20 // java.lang.Thread thread
        end local 19 // java.lang.String validDeclare
        end local 18 // java.util.Set errors
        end local 17 // org.eclipse.jdt.internal.compiler.Compiler compiler
        end local 16 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction$EcjCompilationUnit compilationUnit
       109: .line 347
            goto 117
       110: .line 348
      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 /* e */
        start local 16 // java.lang.reflect.InvocationTargetException e
       111: .line 351
            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 /* name */
            aastore
            dup
            iconst_1
            aload 16 /* e */
            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 // java.lang.reflect.InvocationTargetException e
       112: .line 353
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 16 /* e */
        start local 16 // java.lang.Throwable e
       113: .line 355
            aload 16 /* e */
            athrow
        end local 16 // java.lang.Throwable e
       114: .line 357
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 16 /* e */
        start local 16 // java.lang.Throwable e
       115: .line 359
            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 /* name */
            aastore
            dup
            iconst_1
            aload 15 /* javaSource */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 16 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
       116: .line 360
            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 /* name */
            aastore
            dup
            iconst_1
            aload 16 /* e */
            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 // java.lang.Throwable e
       117: .line 362
      StackMap locals:
      StackMap stack:
            return
        end local 15 // java.lang.String javaSource
        end local 14 // java.lang.String targetClassName
        end local 13 // int lineOffset
        end local 12 // java.lang.StringBuilder javaSourceBuilder
        end local 11 // java.lang.String executeInternalName
        end local 10 // java.lang.String clsName
        end local 9 // java.lang.String pkgName
        end local 8 // com.google.common.reflect.TypeToken javaReturnType
        end local 7 // com.google.common.reflect.TypeToken[] javaParamTypes
        end local 6 // java.lang.String body
        end local 5 // boolean calledOnNullInput
        end local 4 // org.apache.cassandra.db.marshal.AbstractType returnType
        end local 3 // java.util.List argTypes
        end local 2 // java.util.List argNames
        end local 1 // org.apache.cassandra.cql3.functions.FunctionName name
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction this
      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 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction this
         0: .line 366
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.executor:Lorg/apache/cassandra/cql3/functions/UDFExecutorService;
            areturn
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction this
      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 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction this
        start local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        start local 2 // java.util.List params
         0: .line 371
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaUDF:Lorg/apache/cassandra/cql3/functions/JavaUDF;
            aload 1 /* protocolVersion */
            aload 2 /* params */
            invokevirtual org.apache.cassandra.cql3.functions.JavaUDF.executeImpl:(Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/util/List;)Ljava/nio/ByteBuffer;
            areturn
        end local 2 // java.util.List params
        end local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction this
      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 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction this
        start local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        start local 2 // java.lang.Object firstParam
        start local 3 // java.util.List params
         0: .line 376
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.JavaBasedUDFunction.javaUDF:Lorg/apache/cassandra/cql3/functions/JavaUDF;
            aload 1 /* protocolVersion */
            aload 2 /* firstParam */
            aload 3 /* params */
            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 // java.util.List params
        end local 2 // java.lang.Object firstParam
        end local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        end local 0 // org.apache.cassandra.cql3.functions.JavaBasedUDFunction this
      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 // java.lang.StringBuilder javaSource
         0: .line 381
            iconst_0
            istore 1 /* ln */
        start local 1 // int ln
         1: .line 382
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 383
      StackMap locals: int int
      StackMap stack:
            aload 0 /* javaSource */
            iload 2 /* i */
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            bipush 10
            if_icmpne 5
         4: .line 384
            iinc 1 /* ln */ 1
         5: .line 382
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* javaSource */
            invokevirtual java.lang.StringBuilder.length:()I
            if_icmplt 3
        end local 2 // int i
         7: .line 385
            iload 1 /* ln */
            ireturn
        end local 1 // int ln
        end local 0 // java.lang.StringBuilder javaSource
      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 // org.apache.cassandra.cql3.functions.FunctionName name
        start local 1 // char prefix
         0: .line 390
            aload 0 /* name */
            invokevirtual org.apache.cassandra.cql3.functions.FunctionName.toString:()Ljava/lang/String;
            astore 2 /* qualifiedName */
        start local 2 // java.lang.String qualifiedName
         1: .line 392
            new java.lang.StringBuilder
            dup
            aload 2 /* qualifiedName */
            invokevirtual java.lang.String.length:()I
            bipush 10
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         2: .line 393
            aload 3 /* sb */
            iload 1 /* prefix */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 394
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 10
         5: .line 396
      StackMap locals: java.lang.String java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* qualifiedName */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         6: .line 397
            iload 5 /* c */
            invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
            ifeq 8
         7: .line 398
            aload 3 /* sb */
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
            goto 9
         8: .line 400
      StackMap locals: int
      StackMap stack:
            aload 3 /* sb */
            iload 5 /* c */
            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 // char c
         9: .line 394
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 2 /* qualifiedName */
            invokevirtual java.lang.String.length:()I
            if_icmplt 5
        end local 4 // int i
        11: .line 402
            aload 3 /* sb */
            bipush 95
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        12: .line 403
            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: .line 404
            bipush 95
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        14: .line 405
            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: .line 406
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder sb
        end local 2 // java.lang.String qualifiedName
        end local 1 // char prefix
        end local 0 // org.apache.cassandra.cql3.functions.FunctionName name
      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 // com.google.common.reflect.TypeToken type
         0: .line 412
            aload 0 /* type */
            invokevirtual com.google.common.reflect.TypeToken.toString:()Ljava/lang/String;
            astore 1 /* n */
        start local 1 // java.lang.String n
         1: .line 413
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.JAVA_LANG_PREFIX:Ljava/util/regex/Pattern;
            aload 1 /* n */
            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 // java.lang.String n
        end local 0 // com.google.common.reflect.TypeToken type
      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 // com.google.common.reflect.TypeToken[] paramTypes
        start local 1 // java.util.List argNames
         0: .line 419
            new java.lang.StringBuilder
            dup
            bipush 32
            aload 0 /* paramTypes */
            arraylength
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* code */
        start local 2 // java.lang.StringBuilder code
         1: .line 420
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 9
         3: .line 422
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 3 /* i */
            ifle 5
         4: .line 423
            aload 2 /* code */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 424
      StackMap locals:
      StackMap stack:
            aload 2 /* code */
            aload 0 /* paramTypes */
            iload 3 /* i */
            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: .line 425
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         7: .line 426
            aload 1 /* argNames */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         8: .line 420
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 0 /* paramTypes */
            arraylength
            if_icmplt 3
        end local 3 // int i
        10: .line 428
            aload 2 /* code */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder code
        end local 1 // java.util.List argNames
        end local 0 // com.google.common.reflect.TypeToken[] paramTypes
      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 // com.google.common.reflect.TypeToken[] paramTypes
        start local 1 // java.util.List argNames
        start local 2 // boolean forAggregate
         0: .line 452
            new java.lang.StringBuilder
            dup
            bipush 64
            aload 0 /* paramTypes */
            arraylength
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* code */
        start local 3 // java.lang.StringBuilder code
         1: .line 453
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 14
         3: .line 455
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 4 /* i */
            ifle 5
         4: .line 457
            aload 3 /* code */
            ldc ",\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 460
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.cql3.functions.JavaBasedUDFunction.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 7
         6: .line 461
            aload 3 /* code */
            ldc "            /* parameter '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* argNames */
            iload 4 /* i */
            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: .line 464
      StackMap locals:
      StackMap stack:
            aload 3 /* code */
            ldc "            ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* paramTypes */
            iload 4 /* i */
            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: .line 466
            iload 2 /* forAggregate */
            ifeq 10
            iload 4 /* i */
            ifne 10
         9: .line 469
            aload 3 /* code */
            ldc "firstParam"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 13
        10: .line 472
      StackMap locals:
      StackMap stack:
            aload 3 /* code */
            aload 0 /* paramTypes */
            iload 4 /* i */
            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 /* i */
            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 /* forAggregate */
            ifeq 11
            iload 4 /* i */
            iconst_1
            isub
            goto 12
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        11: iload 4 /* i */
      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: .line 453
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            aload 0 /* paramTypes */
            arraylength
            if_icmplt 3
        end local 4 // int i
        15: .line 474
            aload 3 /* code */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder code
        end local 2 // boolean forAggregate
        end local 1 // java.util.List argNames
        end local 0 // com.google.common.reflect.TypeToken[] paramTypes
      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 // com.google.common.reflect.TypeToken type
         0: .line 479
            aload 0 /* type */
            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 /* type */
            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 // com.google.common.reflect.TypeToken type
      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