public class org.apache.cassandra.cql3.functions.FunctionCall extends org.apache.cassandra.cql3.Term$NonTerminal
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.cql3.functions.FunctionCall
  super_class: org.apache.cassandra.cql3.Term$NonTerminal
{
  private final org.apache.cassandra.cql3.functions.ScalarFunction fun;
    descriptor: Lorg/apache/cassandra/cql3/functions/ScalarFunction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<org.apache.cassandra.cql3.Term> terms;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/cassandra/cql3/Term;>;

  private static volatile int[] $SWITCH_TABLE$org$apache$cassandra$db$marshal$CollectionType$Kind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private void <init>(org.apache.cassandra.cql3.functions.ScalarFunction, java.util.List<org.apache.cassandra.cql3.Term>);
    descriptor: (Lorg/apache/cassandra/cql3/functions/ScalarFunction;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.cassandra.cql3.functions.FunctionCall this
        start local 1 // org.apache.cassandra.cql3.functions.ScalarFunction fun
        start local 2 // java.util.List terms
         0: .line 38
            aload 0 /* this */
            invokespecial org.apache.cassandra.cql3.Term$NonTerminal.<init>:()V
         1: .line 40
            aload 0 /* this */
            aload 1 /* fun */
            putfield org.apache.cassandra.cql3.functions.FunctionCall.fun:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
         2: .line 41
            aload 0 /* this */
            aload 2 /* terms */
            putfield org.apache.cassandra.cql3.functions.FunctionCall.terms:Ljava/util/List;
         3: .line 42
            return
        end local 2 // java.util.List terms
        end local 1 // org.apache.cassandra.cql3.functions.ScalarFunction fun
        end local 0 // org.apache.cassandra.cql3.functions.FunctionCall this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/cassandra/cql3/functions/FunctionCall;
            0    4     1    fun  Lorg/apache/cassandra/cql3/functions/ScalarFunction;
            0    4     2  terms  Ljava/util/List<Lorg/apache/cassandra/cql3/Term;>;
    Signature: (Lorg/apache/cassandra/cql3/functions/ScalarFunction;Ljava/util/List<Lorg/apache/cassandra/cql3/Term;>;)V
    MethodParameters:
       Name  Flags
      fun    
      terms  

  public void addFunctionsTo(java.util.List<org.apache.cassandra.cql3.functions.Function>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.cql3.functions.FunctionCall this
        start local 1 // java.util.List functions
         0: .line 46
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.FunctionCall.terms:Ljava/util/List;
            aload 1 /* functions */
            invokestatic org.apache.cassandra.cql3.Terms.addFunctions:(Ljava/lang/Iterable;Ljava/util/List;)V
         1: .line 47
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.FunctionCall.fun:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
            aload 1 /* functions */
            invokeinterface org.apache.cassandra.cql3.functions.ScalarFunction.addFunctionsTo:(Ljava/util/List;)V
         2: .line 48
            return
        end local 1 // java.util.List functions
        end local 0 // org.apache.cassandra.cql3.functions.FunctionCall this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/apache/cassandra/cql3/functions/FunctionCall;
            0    3     1  functions  Ljava/util/List<Lorg/apache/cassandra/cql3/functions/Function;>;
    Signature: (Ljava/util/List<Lorg/apache/cassandra/cql3/functions/Function;>;)V
    MethodParameters:
           Name  Flags
      functions  

  public void collectMarkerSpecification(org.apache.cassandra.cql3.VariableSpecifications);
    descriptor: (Lorg/apache/cassandra/cql3/VariableSpecifications;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.cassandra.cql3.functions.FunctionCall this
        start local 1 // org.apache.cassandra.cql3.VariableSpecifications boundNames
         0: .line 52
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.FunctionCall.terms:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.cql3.functions.FunctionCall org.apache.cassandra.cql3.VariableSpecifications top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.cql3.Term
            astore 2 /* t */
        start local 2 // org.apache.cassandra.cql3.Term t
         2: .line 53
            aload 2 /* t */
            aload 1 /* boundNames */
            invokeinterface org.apache.cassandra.cql3.Term.collectMarkerSpecification:(Lorg/apache/cassandra/cql3/VariableSpecifications;)V
        end local 2 // org.apache.cassandra.cql3.Term t
         3: .line 52
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 54
            return
        end local 1 // org.apache.cassandra.cql3.VariableSpecifications boundNames
        end local 0 // org.apache.cassandra.cql3.functions.FunctionCall this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/apache/cassandra/cql3/functions/FunctionCall;
            0    5     1  boundNames  Lorg/apache/cassandra/cql3/VariableSpecifications;
            2    3     2           t  Lorg/apache/cassandra/cql3/Term;
    MethodParameters:
            Name  Flags
      boundNames  

  public org.apache.cassandra.cql3.Term$Terminal bind(org.apache.cassandra.cql3.QueryOptions);
    descriptor: (Lorg/apache/cassandra/cql3/QueryOptions;)Lorg/apache/cassandra/cql3/Term$Terminal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.cql3.functions.FunctionCall this
        start local 1 // org.apache.cassandra.cql3.QueryOptions options
         0: .line 58
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.FunctionCall.fun:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.functions.FunctionCall.bindAndGet:(Lorg/apache/cassandra/cql3/QueryOptions;)Ljava/nio/ByteBuffer;
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getProtocolVersion:()Lorg/apache/cassandra/transport/ProtocolVersion;
            invokestatic org.apache.cassandra.cql3.functions.FunctionCall.makeTerminal:(Lorg/apache/cassandra/cql3/functions/Function;Ljava/nio/ByteBuffer;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/cql3/Term$Terminal;
            areturn
        end local 1 // org.apache.cassandra.cql3.QueryOptions options
        end local 0 // org.apache.cassandra.cql3.functions.FunctionCall this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/cassandra/cql3/functions/FunctionCall;
            0    1     1  options  Lorg/apache/cassandra/cql3/QueryOptions;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
         Name  Flags
      options  

  public java.nio.ByteBuffer bindAndGet(org.apache.cassandra.cql3.QueryOptions);
    descriptor: (Lorg/apache/cassandra/cql3/QueryOptions;)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.apache.cassandra.cql3.functions.FunctionCall this
        start local 1 // org.apache.cassandra.cql3.QueryOptions options
         0: .line 63
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.FunctionCall.terms:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* buffers */
        start local 2 // java.util.List buffers
         1: .line 64
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.FunctionCall.terms:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.apache.cassandra.cql3.functions.FunctionCall org.apache.cassandra.cql3.QueryOptions java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.cql3.Term
            astore 3 /* t */
        start local 3 // org.apache.cassandra.cql3.Term t
         3: .line 66
            aload 3 /* t */
            aload 1 /* options */
            invokeinterface org.apache.cassandra.cql3.Term.bindAndGet:(Lorg/apache/cassandra/cql3/QueryOptions;)Ljava/nio/ByteBuffer;
            astore 5 /* functionArg */
        start local 5 // java.nio.ByteBuffer functionArg
         4: .line 67
            aload 5 /* functionArg */
            ldc "Invalid unset value for argument in call to function %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.FunctionCall.fun:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
            invokeinterface org.apache.cassandra.cql3.functions.ScalarFunction.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
            aastore
            invokestatic org.apache.cassandra.cql3.statements.RequestValidations.checkBindValueSet:(Ljava/nio/ByteBuffer;Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 68
            aload 2 /* buffers */
            aload 5 /* functionArg */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.nio.ByteBuffer functionArg
        end local 3 // org.apache.cassandra.cql3.Term t
         6: .line 64
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 70
            aload 1 /* options */
            invokevirtual org.apache.cassandra.cql3.QueryOptions.getProtocolVersion:()Lorg/apache/cassandra/transport/ProtocolVersion;
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.FunctionCall.fun:Lorg/apache/cassandra/cql3/functions/ScalarFunction;
            aload 2 /* buffers */
            invokestatic org.apache.cassandra.cql3.functions.FunctionCall.executeInternal:(Lorg/apache/cassandra/transport/ProtocolVersion;Lorg/apache/cassandra/cql3/functions/ScalarFunction;Ljava/util/List;)Ljava/nio/ByteBuffer;
            areturn
        end local 2 // java.util.List buffers
        end local 1 // org.apache.cassandra.cql3.QueryOptions options
        end local 0 // org.apache.cassandra.cql3.functions.FunctionCall this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/apache/cassandra/cql3/functions/FunctionCall;
            0    8     1      options  Lorg/apache/cassandra/cql3/QueryOptions;
            1    8     2      buffers  Ljava/util/List<Ljava/nio/ByteBuffer;>;
            3    6     3            t  Lorg/apache/cassandra/cql3/Term;
            4    6     5  functionArg  Ljava/nio/ByteBuffer;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
         Name  Flags
      options  

  private static java.nio.ByteBuffer executeInternal(org.apache.cassandra.transport.ProtocolVersion, org.apache.cassandra.cql3.functions.ScalarFunction, java.util.List<java.nio.ByteBuffer>);
    descriptor: (Lorg/apache/cassandra/transport/ProtocolVersion;Lorg/apache/cassandra/cql3/functions/ScalarFunction;Ljava/util/List;)Ljava/nio/ByteBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        start local 1 // org.apache.cassandra.cql3.functions.ScalarFunction fun
        start local 2 // java.util.List params
         0: .line 75
            aload 1 /* fun */
            aload 0 /* protocolVersion */
            aload 2 /* params */
            invokeinterface org.apache.cassandra.cql3.functions.ScalarFunction.execute:(Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/util/List;)Ljava/nio/ByteBuffer;
            astore 3 /* result */
        start local 3 // java.nio.ByteBuffer result
         1: .line 79
            aload 3 /* result */
            ifnull 3
         2: .line 80
            aload 1 /* fun */
            invokeinterface org.apache.cassandra.cql3.functions.ScalarFunction.returnType:()Lorg/apache/cassandra/db/marshal/AbstractType;
            aload 3 /* result */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.validate:(Ljava/nio/ByteBuffer;)V
         3: .line 81
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 3 /* result */
         4: areturn
         5: .line 83
      StackMap locals:
      StackMap stack: org.apache.cassandra.serializers.MarshalException
            astore 4 /* e */
        start local 4 // org.apache.cassandra.serializers.MarshalException e
         6: .line 85
            new java.lang.RuntimeException
            dup
            ldc "Return of function %s (%s) is not a valid value for its declared return type %s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 86
            aload 1 /* fun */
            aastore
            dup
            iconst_1
            aload 3 /* result */
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytesToHex:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* fun */
            invokeinterface org.apache.cassandra.cql3.functions.ScalarFunction.returnType:()Lorg/apache/cassandra/db/marshal/AbstractType;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.asCQL3Type:()Lorg/apache/cassandra/cql3/CQL3Type;
            aastore
         8: .line 85
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         9: .line 86
            aload 4 /* e */
        10: .line 85
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // org.apache.cassandra.serializers.MarshalException e
        end local 3 // java.nio.ByteBuffer result
        end local 2 // java.util.List params
        end local 1 // org.apache.cassandra.cql3.functions.ScalarFunction fun
        end local 0 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0  protocolVersion  Lorg/apache/cassandra/transport/ProtocolVersion;
            0   11     1              fun  Lorg/apache/cassandra/cql3/functions/ScalarFunction;
            0   11     2           params  Ljava/util/List<Ljava/nio/ByteBuffer;>;
            1   11     3           result  Ljava/nio/ByteBuffer;
            6   11     4                e  Lorg/apache/cassandra/serializers/MarshalException;
      Exception table:
        from    to  target  type
           1     4       5  Class org.apache.cassandra.serializers.MarshalException
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    Signature: (Lorg/apache/cassandra/transport/ProtocolVersion;Lorg/apache/cassandra/cql3/functions/ScalarFunction;Ljava/util/List<Ljava/nio/ByteBuffer;>;)Ljava/nio/ByteBuffer;
    MethodParameters:
                 Name  Flags
      protocolVersion  
      fun              
      params           

  public boolean containsBindMarker();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.apache.cassandra.cql3.functions.FunctionCall this
         0: .line 92
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.FunctionCall.terms:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.apache.cassandra.cql3.functions.FunctionCall top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.cql3.Term
            astore 1 /* t */
        start local 1 // org.apache.cassandra.cql3.Term t
         2: .line 94
            aload 1 /* t */
            invokeinterface org.apache.cassandra.cql3.Term.containsBindMarker:()Z
            ifeq 4
         3: .line 95
            iconst_1
            ireturn
        end local 1 // org.apache.cassandra.cql3.Term t
         4: .line 92
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 97
            iconst_0
            ireturn
        end local 0 // org.apache.cassandra.cql3.functions.FunctionCall this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/cassandra/cql3/functions/FunctionCall;
            2    4     1     t  Lorg/apache/cassandra/cql3/Term;

  private static org.apache.cassandra.cql3.Term$Terminal makeTerminal(org.apache.cassandra.cql3.functions.Function, java.nio.ByteBuffer, org.apache.cassandra.transport.ProtocolVersion);
    descriptor: (Lorg/apache/cassandra/cql3/functions/Function;Ljava/nio/ByteBuffer;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/cql3/Term$Terminal;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.cql3.functions.Function fun
        start local 1 // java.nio.ByteBuffer result
        start local 2 // org.apache.cassandra.transport.ProtocolVersion version
         0: .line 102
            aload 1 /* result */
            ifnonnull 2
         1: .line 103
            aconst_null
            areturn
         2: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* fun */
            invokeinterface org.apache.cassandra.cql3.functions.Function.returnType:()Lorg/apache/cassandra/db/marshal/AbstractType;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isCollection:()Z
            ifeq 8
         3: .line 106
            invokestatic org.apache.cassandra.cql3.functions.FunctionCall.$SWITCH_TABLE$org$apache$cassandra$db$marshal$CollectionType$Kind:()[I
            aload 0 /* fun */
            invokeinterface org.apache.cassandra.cql3.functions.Function.returnType:()Lorg/apache/cassandra/db/marshal/AbstractType;
            checkcast org.apache.cassandra.db.marshal.CollectionType
            getfield org.apache.cassandra.db.marshal.CollectionType.kind:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            invokevirtual org.apache.cassandra.db.marshal.CollectionType$Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 6
                    2: 5
                    3: 4
              default: 7
          }
         4: .line 109
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            aload 0 /* fun */
            invokeinterface org.apache.cassandra.cql3.functions.Function.returnType:()Lorg/apache/cassandra/db/marshal/AbstractType;
            checkcast org.apache.cassandra.db.marshal.ListType
            aload 2 /* version */
            invokestatic org.apache.cassandra.cql3.Lists$Value.fromSerialized:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/marshal/ListType;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/cql3/Lists$Value;
            areturn
         5: .line 111
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            aload 0 /* fun */
            invokeinterface org.apache.cassandra.cql3.functions.Function.returnType:()Lorg/apache/cassandra/db/marshal/AbstractType;
            checkcast org.apache.cassandra.db.marshal.SetType
            aload 2 /* version */
            invokestatic org.apache.cassandra.cql3.Sets$Value.fromSerialized:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/marshal/SetType;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/cql3/Sets$Value;
            areturn
         6: .line 113
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            aload 0 /* fun */
            invokeinterface org.apache.cassandra.cql3.functions.Function.returnType:()Lorg/apache/cassandra/db/marshal/AbstractType;
            checkcast org.apache.cassandra.db.marshal.MapType
            aload 2 /* version */
            invokestatic org.apache.cassandra.cql3.Maps$Value.fromSerialized:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/marshal/MapType;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/cql3/Maps$Value;
            areturn
         7: .line 115
      StackMap locals:
      StackMap stack:
            goto 10
         8: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* fun */
            invokeinterface org.apache.cassandra.cql3.functions.Function.returnType:()Lorg/apache/cassandra/db/marshal/AbstractType;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isUDT:()Z
            ifeq 10
         9: .line 118
            aload 1 /* result */
            aload 0 /* fun */
            invokeinterface org.apache.cassandra.cql3.functions.Function.returnType:()Lorg/apache/cassandra/db/marshal/AbstractType;
            checkcast org.apache.cassandra.db.marshal.UserType
            invokestatic org.apache.cassandra.cql3.UserTypes$Value.fromSerialized:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/marshal/UserType;)Lorg/apache/cassandra/cql3/UserTypes$Value;
            areturn
        10: .line 121
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.cql3.Constants$Value
            dup
            aload 1 /* result */
            invokespecial org.apache.cassandra.cql3.Constants$Value.<init>:(Ljava/nio/ByteBuffer;)V
            areturn
        end local 2 // org.apache.cassandra.transport.ProtocolVersion version
        end local 1 // java.nio.ByteBuffer result
        end local 0 // org.apache.cassandra.cql3.functions.Function fun
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0      fun  Lorg/apache/cassandra/cql3/functions/Function;
            0   11     1   result  Ljava/nio/ByteBuffer;
            0   11     2  version  Lorg/apache/cassandra/transport/ProtocolVersion;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
         Name  Flags
      fun      
      result   
      version  

  static int[] $SWITCH_TABLE$org$apache$cassandra$db$marshal$CollectionType$Kind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 33
            getstatic org.apache.cassandra.cql3.functions.FunctionCall.$SWITCH_TABLE$org$apache$cassandra$db$marshal$CollectionType$Kind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.cassandra.db.marshal.CollectionType$Kind.values:()[Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.cassandra.db.marshal.CollectionType$Kind.LIST:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            invokevirtual org.apache.cassandra.db.marshal.CollectionType$Kind.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.cassandra.db.marshal.CollectionType$Kind.MAP:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            invokevirtual org.apache.cassandra.db.marshal.CollectionType$Kind.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.cassandra.db.marshal.CollectionType$Kind.SET:Lorg/apache/cassandra/db/marshal/CollectionType$Kind;
            invokevirtual org.apache.cassandra.db.marshal.CollectionType$Kind.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.apache.cassandra.cql3.functions.FunctionCall.$SWITCH_TABLE$org$apache$cassandra$db$marshal$CollectionType$Kind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
}
SourceFile: "FunctionCall.java"
NestMembers:
  org.apache.cassandra.cql3.functions.FunctionCall$Raw
InnerClasses:
  public Value = org.apache.cassandra.cql3.Constants$Value of org.apache.cassandra.cql3.Constants
  public Value = org.apache.cassandra.cql3.Lists$Value of org.apache.cassandra.cql3.Lists
  public Value = org.apache.cassandra.cql3.Maps$Value of org.apache.cassandra.cql3.Maps
  public Value = org.apache.cassandra.cql3.Sets$Value of org.apache.cassandra.cql3.Sets
  public abstract NonTerminal = org.apache.cassandra.cql3.Term$NonTerminal of org.apache.cassandra.cql3.Term
  public abstract Terminal = org.apache.cassandra.cql3.Term$Terminal of org.apache.cassandra.cql3.Term
  public Value = org.apache.cassandra.cql3.UserTypes$Value of org.apache.cassandra.cql3.UserTypes
  public Raw = org.apache.cassandra.cql3.functions.FunctionCall$Raw of org.apache.cassandra.cql3.functions.FunctionCall
  public abstract Kind = org.apache.cassandra.db.marshal.CollectionType$Kind of org.apache.cassandra.db.marshal.CollectionType