public class org.apache.cassandra.auth.FunctionResource implements org.apache.cassandra.auth.IResource
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.auth.FunctionResource
  super_class: java.lang.Object
{
  private static final java.util.Set<org.apache.cassandra.auth.Permission> COLLECTION_LEVEL_PERMISSIONS;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/apache/cassandra/auth/Permission;>;

  private static final java.util.Set<org.apache.cassandra.auth.Permission> SCALAR_FUNCTION_PERMISSIONS;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/apache/cassandra/auth/Permission;>;

  private static final java.util.Set<org.apache.cassandra.auth.Permission> AGGREGATE_FUNCTION_PERMISSIONS;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/apache/cassandra/auth/Permission;>;

  private static final java.lang.String ROOT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "functions"

  private static final org.apache.cassandra.auth.FunctionResource ROOT_RESOURCE;
    descriptor: Lorg/apache/cassandra/auth/FunctionResource;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.apache.cassandra.auth.FunctionResource$Level level;
    descriptor: Lorg/apache/cassandra/auth/FunctionResource$Level;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String keyspace;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>> argTypes;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;

  private static volatile int[] $SWITCH_TABLE$org$apache$cassandra$auth$FunctionResource$Level;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 47
            ldc Lorg/apache/cassandra/auth/FunctionResource;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.cassandra.auth.FunctionResource.$assertionsDisabled:Z
         3: .line 56
            getstatic org.apache.cassandra.auth.Permission.CREATE:Lorg/apache/cassandra/auth/Permission;
            iconst_4
            anewarray org.apache.cassandra.auth.Permission
            dup
            iconst_0
         4: .line 57
            getstatic org.apache.cassandra.auth.Permission.ALTER:Lorg/apache/cassandra/auth/Permission;
            aastore
            dup
            iconst_1
         5: .line 58
            getstatic org.apache.cassandra.auth.Permission.DROP:Lorg/apache/cassandra/auth/Permission;
            aastore
            dup
            iconst_2
         6: .line 59
            getstatic org.apache.cassandra.auth.Permission.AUTHORIZE:Lorg/apache/cassandra/auth/Permission;
            aastore
            dup
            iconst_3
         7: .line 60
            getstatic org.apache.cassandra.auth.Permission.EXECUTE:Lorg/apache/cassandra/auth/Permission;
            aastore
         8: .line 56
            invokestatic com.google.common.collect.Sets.immutableEnumSet:(Ljava/lang/Enum;[Ljava/lang/Enum;)Lcom/google/common/collect/ImmutableSet;
            putstatic org.apache.cassandra.auth.FunctionResource.COLLECTION_LEVEL_PERMISSIONS:Ljava/util/Set;
         9: .line 62
            getstatic org.apache.cassandra.auth.Permission.ALTER:Lorg/apache/cassandra/auth/Permission;
            iconst_3
            anewarray org.apache.cassandra.auth.Permission
            dup
            iconst_0
        10: .line 63
            getstatic org.apache.cassandra.auth.Permission.DROP:Lorg/apache/cassandra/auth/Permission;
            aastore
            dup
            iconst_1
        11: .line 64
            getstatic org.apache.cassandra.auth.Permission.AUTHORIZE:Lorg/apache/cassandra/auth/Permission;
            aastore
            dup
            iconst_2
        12: .line 65
            getstatic org.apache.cassandra.auth.Permission.EXECUTE:Lorg/apache/cassandra/auth/Permission;
            aastore
        13: .line 62
            invokestatic com.google.common.collect.Sets.immutableEnumSet:(Ljava/lang/Enum;[Ljava/lang/Enum;)Lcom/google/common/collect/ImmutableSet;
            putstatic org.apache.cassandra.auth.FunctionResource.SCALAR_FUNCTION_PERMISSIONS:Ljava/util/Set;
        14: .line 67
            getstatic org.apache.cassandra.auth.Permission.ALTER:Lorg/apache/cassandra/auth/Permission;
            iconst_3
            anewarray org.apache.cassandra.auth.Permission
            dup
            iconst_0
        15: .line 68
            getstatic org.apache.cassandra.auth.Permission.DROP:Lorg/apache/cassandra/auth/Permission;
            aastore
            dup
            iconst_1
        16: .line 69
            getstatic org.apache.cassandra.auth.Permission.AUTHORIZE:Lorg/apache/cassandra/auth/Permission;
            aastore
            dup
            iconst_2
        17: .line 70
            getstatic org.apache.cassandra.auth.Permission.EXECUTE:Lorg/apache/cassandra/auth/Permission;
            aastore
        18: .line 67
            invokestatic com.google.common.collect.Sets.immutableEnumSet:(Ljava/lang/Enum;[Ljava/lang/Enum;)Lcom/google/common/collect/ImmutableSet;
            putstatic org.apache.cassandra.auth.FunctionResource.AGGREGATE_FUNCTION_PERMISSIONS:Ljava/util/Set;
        19: .line 73
            new org.apache.cassandra.auth.FunctionResource
            dup
            invokespecial org.apache.cassandra.auth.FunctionResource.<init>:()V
            putstatic org.apache.cassandra.auth.FunctionResource.ROOT_RESOURCE:Lorg/apache/cassandra/auth/FunctionResource;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.auth.FunctionResource this
         0: .line 80
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 82
            aload 0 /* this */
            getstatic org.apache.cassandra.auth.FunctionResource$Level.ROOT:Lorg/apache/cassandra/auth/FunctionResource$Level;
            putfield org.apache.cassandra.auth.FunctionResource.level:Lorg/apache/cassandra/auth/FunctionResource$Level;
         2: .line 83
            aload 0 /* this */
            aconst_null
            putfield org.apache.cassandra.auth.FunctionResource.keyspace:Ljava/lang/String;
         3: .line 84
            aload 0 /* this */
            aconst_null
            putfield org.apache.cassandra.auth.FunctionResource.name:Ljava/lang/String;
         4: .line 85
            aload 0 /* this */
            aconst_null
            putfield org.apache.cassandra.auth.FunctionResource.argTypes:Ljava/util/List;
         5: .line 86
            return
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/cassandra/auth/FunctionResource;

  private void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.auth.FunctionResource this
        start local 1 // java.lang.String keyspace
         0: .line 88
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 90
            aload 0 /* this */
            getstatic org.apache.cassandra.auth.FunctionResource$Level.KEYSPACE:Lorg/apache/cassandra/auth/FunctionResource$Level;
            putfield org.apache.cassandra.auth.FunctionResource.level:Lorg/apache/cassandra/auth/FunctionResource$Level;
         2: .line 91
            aload 0 /* this */
            aload 1 /* keyspace */
            putfield org.apache.cassandra.auth.FunctionResource.keyspace:Ljava/lang/String;
         3: .line 92
            aload 0 /* this */
            aconst_null
            putfield org.apache.cassandra.auth.FunctionResource.name:Ljava/lang/String;
         4: .line 93
            aload 0 /* this */
            aconst_null
            putfield org.apache.cassandra.auth.FunctionResource.argTypes:Ljava/util/List;
         5: .line 94
            return
        end local 1 // java.lang.String keyspace
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/cassandra/auth/FunctionResource;
            0    6     1  keyspace  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      keyspace  

  private void <init>(java.lang.String, java.lang.String, java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.cassandra.auth.FunctionResource this
        start local 1 // java.lang.String keyspace
        start local 2 // java.lang.String name
        start local 3 // java.util.List argTypes
         0: .line 96
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 98
            aload 0 /* this */
            getstatic org.apache.cassandra.auth.FunctionResource$Level.FUNCTION:Lorg/apache/cassandra/auth/FunctionResource$Level;
            putfield org.apache.cassandra.auth.FunctionResource.level:Lorg/apache/cassandra/auth/FunctionResource$Level;
         2: .line 99
            aload 0 /* this */
            aload 1 /* keyspace */
            putfield org.apache.cassandra.auth.FunctionResource.keyspace:Ljava/lang/String;
         3: .line 100
            aload 0 /* this */
            aload 2 /* name */
            putfield org.apache.cassandra.auth.FunctionResource.name:Ljava/lang/String;
         4: .line 101
            aload 0 /* this */
            aload 3 /* argTypes */
            putfield org.apache.cassandra.auth.FunctionResource.argTypes:Ljava/util/List;
         5: .line 102
            return
        end local 3 // java.util.List argTypes
        end local 2 // java.lang.String name
        end local 1 // java.lang.String keyspace
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/cassandra/auth/FunctionResource;
            0    6     1  keyspace  Ljava/lang/String;
            0    6     2      name  Ljava/lang/String;
            0    6     3  argTypes  Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;)V
    MethodParameters:
          Name  Flags
      keyspace  
      name      
      argTypes  

  public static org.apache.cassandra.auth.FunctionResource root();
    descriptor: ()Lorg/apache/cassandra/auth/FunctionResource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 109
            getstatic org.apache.cassandra.auth.FunctionResource.ROOT_RESOURCE:Lorg/apache/cassandra/auth/FunctionResource;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.apache.cassandra.auth.FunctionResource keyspace(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/cassandra/auth/FunctionResource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String keyspace
         0: .line 121
            new org.apache.cassandra.auth.FunctionResource
            dup
            aload 0 /* keyspace */
            invokespecial org.apache.cassandra.auth.FunctionResource.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String keyspace
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  keyspace  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      keyspace  

  public static org.apache.cassandra.auth.FunctionResource function(java.lang.String, java.lang.String, java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lorg/apache/cassandra/auth/FunctionResource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.String keyspace
        start local 1 // java.lang.String name
        start local 2 // java.util.List argTypes
         0: .line 134
            new org.apache.cassandra.auth.FunctionResource
            dup
            aload 0 /* keyspace */
            aload 1 /* name */
            aload 2 /* argTypes */
            invokespecial org.apache.cassandra.auth.FunctionResource.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
            areturn
        end local 2 // java.util.List argTypes
        end local 1 // java.lang.String name
        end local 0 // java.lang.String keyspace
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  keyspace  Ljava/lang/String;
            0    1     1      name  Ljava/lang/String;
            0    1     2  argTypes  Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;)Lorg/apache/cassandra/auth/FunctionResource;
    MethodParameters:
          Name  Flags
      keyspace  
      name      
      argTypes  

  public static org.apache.cassandra.auth.FunctionResource functionFromCql(java.lang.String, java.lang.String, java.util.List<org.apache.cassandra.cql3.CQL3Type$Raw>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lorg/apache/cassandra/auth/FunctionResource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.lang.String keyspace
        start local 1 // java.lang.String name
        start local 2 // java.util.List argTypes
         0: .line 150
            aload 0 /* keyspace */
            ifnonnull 2
         1: .line 151
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "In this context function name must be explictly qualified by a keyspace"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 153
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* abstractTypes */
        start local 3 // java.util.List abstractTypes
         3: .line 154
            aload 2 /* argTypes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: java.lang.String java.lang.String java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.cql3.CQL3Type$Raw
            astore 4 /* cqlType */
        start local 4 // org.apache.cassandra.cql3.CQL3Type$Raw cqlType
         5: .line 155
            aload 3 /* abstractTypes */
            aload 4 /* cqlType */
            aload 0 /* keyspace */
            invokevirtual org.apache.cassandra.cql3.CQL3Type$Raw.prepare:(Ljava/lang/String;)Lorg/apache/cassandra/cql3/CQL3Type;
            invokeinterface org.apache.cassandra.cql3.CQL3Type.getType:()Lorg/apache/cassandra/db/marshal/AbstractType;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.apache.cassandra.cql3.CQL3Type$Raw cqlType
         6: .line 154
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 157
            new org.apache.cassandra.auth.FunctionResource
            dup
            aload 0 /* keyspace */
            aload 1 /* name */
            aload 3 /* abstractTypes */
            invokespecial org.apache.cassandra.auth.FunctionResource.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
            areturn
        end local 3 // java.util.List abstractTypes
        end local 2 // java.util.List argTypes
        end local 1 // java.lang.String name
        end local 0 // java.lang.String keyspace
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0       keyspace  Ljava/lang/String;
            0    8     1           name  Ljava/lang/String;
            0    8     2       argTypes  Ljava/util/List<Lorg/apache/cassandra/cql3/CQL3Type$Raw;>;
            3    8     3  abstractTypes  Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
            5    6     4        cqlType  Lorg/apache/cassandra/cql3/CQL3Type$Raw;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List<Lorg/apache/cassandra/cql3/CQL3Type$Raw;>;)Lorg/apache/cassandra/auth/FunctionResource;
    MethodParameters:
          Name  Flags
      keyspace  
      name      
      argTypes  

  public static org.apache.cassandra.auth.FunctionResource fromName(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/cassandra/auth/FunctionResource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // java.lang.String name
         0: .line 168
            aload 0 /* name */
            bipush 47
            invokestatic org.apache.commons.lang3.StringUtils.split:(Ljava/lang/String;C)[Ljava/lang/String;
            astore 1 /* parts */
        start local 1 // java.lang.String[] parts
         1: .line 170
            aload 1 /* parts */
            iconst_0
            aaload
            ldc "functions"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
            aload 1 /* parts */
            arraylength
            iconst_3
            if_icmple 3
         2: .line 171
      StackMap locals: java.lang.String[]
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "%s is not a valid function resource name"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* name */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 173
      StackMap locals:
      StackMap stack:
            aload 1 /* parts */
            arraylength
            iconst_1
            if_icmpne 5
         4: .line 174
            invokestatic org.apache.cassandra.auth.FunctionResource.root:()Lorg/apache/cassandra/auth/FunctionResource;
            areturn
         5: .line 176
      StackMap locals:
      StackMap stack:
            aload 1 /* parts */
            arraylength
            iconst_2
            if_icmpne 7
         6: .line 177
            aload 1 /* parts */
            iconst_1
            aaload
            invokestatic org.apache.cassandra.auth.FunctionResource.keyspace:(Ljava/lang/String;)Lorg/apache/cassandra/auth/FunctionResource;
            areturn
         7: .line 179
      StackMap locals:
      StackMap stack:
            aload 1 /* parts */
            iconst_2
            aaload
            ldc "[|]"
            invokestatic org.apache.commons.lang3.StringUtils.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* nameAndArgs */
        start local 2 // java.lang.String[] nameAndArgs
         8: .line 180
            aload 1 /* parts */
            iconst_1
            aaload
            aload 2 /* nameAndArgs */
            iconst_0
            aaload
            aload 2 /* nameAndArgs */
            iconst_1
            aaload
            invokestatic org.apache.cassandra.auth.FunctionResource.argsListFromString:(Ljava/lang/String;)Ljava/util/List;
            invokestatic org.apache.cassandra.auth.FunctionResource.function:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lorg/apache/cassandra/auth/FunctionResource;
            areturn
        end local 2 // java.lang.String[] nameAndArgs
        end local 1 // java.lang.String[] parts
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         name  Ljava/lang/String;
            1    9     1        parts  [Ljava/lang/String;
            8    9     2  nameAndArgs  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.cassandra.auth.FunctionResource this
         0: .line 188
            invokestatic org.apache.cassandra.auth.FunctionResource.$SWITCH_TABLE$org$apache$cassandra$auth$FunctionResource$Level:()[I
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.level:Lorg/apache/cassandra/auth/FunctionResource$Level;
            invokevirtual org.apache.cassandra.auth.FunctionResource$Level.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 1
                    2: 2
                    3: 3
              default: 4
          }
         1: .line 191
      StackMap locals:
      StackMap stack:
            ldc "functions"
            areturn
         2: .line 193
      StackMap locals:
      StackMap stack:
            ldc "%s/%s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "functions"
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.keyspace:Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
         3: .line 195
      StackMap locals:
      StackMap stack:
            ldc "%s/%s/%s[%s]"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "functions"
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.keyspace:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.name:Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            invokevirtual org.apache.cassandra.auth.FunctionResource.argListAsString:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
         4: .line 197
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/cassandra/auth/FunctionResource;

  public java.lang.String getKeyspace();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.auth.FunctionResource this
         0: .line 208
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.keyspace:Ljava/lang/String;
            areturn
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/auth/FunctionResource;

  public org.apache.cassandra.cql3.functions.FunctionName getFunctionName();
    descriptor: ()Lorg/apache/cassandra/cql3/functions/FunctionName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.apache.cassandra.auth.FunctionResource this
         0: .line 217
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.level:Lorg/apache/cassandra/auth/FunctionResource$Level;
            getstatic org.apache.cassandra.auth.FunctionResource$Level.FUNCTION:Lorg/apache/cassandra/auth/FunctionResource$Level;
            if_acmpeq 2
         1: .line 218
            new java.lang.IllegalStateException
            dup
            ldc "%s function resource has no function name"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.level:Lorg/apache/cassandra/auth/FunctionResource$Level;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 219
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.cql3.functions.FunctionName
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.keyspace:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.name:Ljava/lang/String;
            invokespecial org.apache.cassandra.cql3.functions.FunctionName.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/auth/FunctionResource;

  public org.apache.cassandra.auth.IResource getParent();
    descriptor: ()Lorg/apache/cassandra/auth/IResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.auth.FunctionResource this
         0: .line 227
            invokestatic org.apache.cassandra.auth.FunctionResource.$SWITCH_TABLE$org$apache$cassandra$auth$FunctionResource$Level:()[I
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.level:Lorg/apache/cassandra/auth/FunctionResource$Level;
            invokevirtual org.apache.cassandra.auth.FunctionResource$Level.ordinal:()I
            iaload
            tableswitch { // 2 - 3
                    2: 1
                    3: 2
              default: 3
          }
         1: .line 230
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.cassandra.auth.FunctionResource.root:()Lorg/apache/cassandra/auth/FunctionResource;
            areturn
         2: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.keyspace:Ljava/lang/String;
            invokestatic org.apache.cassandra.auth.FunctionResource.keyspace:(Ljava/lang/String;)Lorg/apache/cassandra/auth/FunctionResource;
            areturn
         3: .line 234
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Root-level resource can't have a parent"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/auth/FunctionResource;

  public boolean hasParent();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.auth.FunctionResource this
         0: .line 239
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.level:Lorg/apache/cassandra/auth/FunctionResource$Level;
            getstatic org.apache.cassandra.auth.FunctionResource$Level.ROOT:Lorg/apache/cassandra/auth/FunctionResource$Level;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/auth/FunctionResource;

  public boolean exists();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.auth.FunctionResource this
         0: .line 244
            invokestatic org.apache.cassandra.auth.FunctionResource.$SWITCH_TABLE$org$apache$cassandra$auth$FunctionResource$Level:()[I
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.level:Lorg/apache/cassandra/auth/FunctionResource$Level;
            invokevirtual org.apache.cassandra.auth.FunctionResource$Level.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 1
                    2: 2
                    3: 3
              default: 4
          }
         1: .line 247
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 249
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.getKeyspaces:()Ljava/util/Set;
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.keyspace:Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
         3: .line 251
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.auth.FunctionResource.getFunctionName:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.argTypes:Ljava/util/List;
            invokevirtual org.apache.cassandra.config.Schema.findFunction:(Lorg/apache/cassandra/cql3/functions/FunctionName;Ljava/util/List;)Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ireturn
         4: .line 253
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/cassandra/auth/FunctionResource;

  public java.util.Set<org.apache.cassandra.auth.Permission> applicablePermissions();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.apache.cassandra.auth.FunctionResource this
         0: .line 258
            invokestatic org.apache.cassandra.auth.FunctionResource.$SWITCH_TABLE$org$apache$cassandra$auth$FunctionResource$Level:()[I
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.level:Lorg/apache/cassandra/auth/FunctionResource$Level;
            invokevirtual org.apache.cassandra.auth.FunctionResource$Level.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 1
                    2: 1
                    3: 2
              default: 7
          }
         1: .line 262
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.auth.FunctionResource.COLLECTION_LEVEL_PERMISSIONS:Ljava/util/Set;
            areturn
         2: .line 265
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.auth.FunctionResource.getFunctionName:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.argTypes:Ljava/util/List;
            invokevirtual org.apache.cassandra.config.Schema.findFunction:(Lorg/apache/cassandra/cql3/functions/FunctionName;Ljava/util/List;)Ljava/util/Optional;
            astore 1 /* function */
        start local 1 // java.util.Optional function
         3: .line 266
            getstatic org.apache.cassandra.auth.FunctionResource.$assertionsDisabled:Z
            ifne 4
            aload 1 /* function */
            invokevirtual java.util.Optional.isPresent:()Z
            ifne 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to find function object for resource "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.cassandra.auth.FunctionResource.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 267
      StackMap locals: java.util.Optional
      StackMap stack:
            aload 1 /* function */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.cql3.functions.Function
            invokeinterface org.apache.cassandra.cql3.functions.Function.isAggregate:()Z
            ifeq 5
            getstatic org.apache.cassandra.auth.FunctionResource.AGGREGATE_FUNCTION_PERMISSIONS:Ljava/util/Set;
            goto 6
      StackMap locals:
      StackMap stack:
         5: getstatic org.apache.cassandra.auth.FunctionResource.SCALAR_FUNCTION_PERMISSIONS:Ljava/util/Set;
      StackMap locals:
      StackMap stack: java.util.Set
         6: areturn
        end local 1 // java.util.Optional function
         7: .line 270
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/apache/cassandra/auth/FunctionResource;
            3    7     1  function  Ljava/util/Optional<Lorg/apache/cassandra/cql3/functions/Function;>;
    Signature: ()Ljava/util/Set<Lorg/apache/cassandra/auth/Permission;>;

  public int compareTo(org.apache.cassandra.auth.FunctionResource);
    descriptor: (Lorg/apache/cassandra/auth/FunctionResource;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.auth.FunctionResource this
        start local 1 // org.apache.cassandra.auth.FunctionResource o
         0: .line 275
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.name:Ljava/lang/String;
            aload 1 /* o */
            getfield org.apache.cassandra.auth.FunctionResource.name:Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 1 // org.apache.cassandra.auth.FunctionResource o
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/auth/FunctionResource;
            0    1     1     o  Lorg/apache/cassandra/auth/FunctionResource;
    MethodParameters:
      Name  Flags
      o     

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.apache.cassandra.auth.FunctionResource this
         0: .line 281
            invokestatic org.apache.cassandra.auth.FunctionResource.$SWITCH_TABLE$org$apache$cassandra$auth$FunctionResource$Level:()[I
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.level:Lorg/apache/cassandra/auth/FunctionResource$Level;
            invokevirtual org.apache.cassandra.auth.FunctionResource$Level.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 1
                    2: 2
                    3: 3
              default: 8
          }
         1: .line 284
      StackMap locals:
      StackMap stack:
            ldc "<all functions>"
            areturn
         2: .line 286
      StackMap locals:
      StackMap stack:
            ldc "<all functions in %s>"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.keyspace:Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
         3: .line 288
      StackMap locals:
      StackMap stack:
            ldc "<function %s.%s(%s)>"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 289
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.keyspace:Ljava/lang/String;
            aastore
            dup
            iconst_1
         5: .line 290
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.name:Ljava/lang/String;
            aastore
            dup
            iconst_2
         6: .line 291
            ldc ", "
            invokestatic com.google.common.base.Joiner.on:(Ljava/lang/String;)Lcom/google/common/base/Joiner;
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.argTypes:Ljava/util/List;
            invokestatic org.apache.cassandra.db.marshal.AbstractType.asCQLTypeStringList:(Ljava/util/List;)Ljava/util/List;
            invokevirtual com.google.common.base.Joiner.join:(Ljava/lang/Iterable;)Ljava/lang/String;
            aastore
         7: .line 288
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
         8: .line 293
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/cassandra/auth/FunctionResource;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.cassandra.auth.FunctionResource this
        start local 1 // java.lang.Object o
         0: .line 299
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 300
            iconst_1
            ireturn
         2: .line 302
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof org.apache.cassandra.auth.FunctionResource
            ifne 4
         3: .line 303
            iconst_0
            ireturn
         4: .line 305
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.apache.cassandra.auth.FunctionResource
            astore 2 /* f */
        start local 2 // org.apache.cassandra.auth.FunctionResource f
         5: .line 307
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.level:Lorg/apache/cassandra/auth/FunctionResource$Level;
            aload 2 /* f */
            getfield org.apache.cassandra.auth.FunctionResource.level:Lorg/apache/cassandra/auth/FunctionResource$Level;
            invokestatic com.google.common.base.Objects.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
         6: .line 308
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.keyspace:Ljava/lang/String;
            aload 2 /* f */
            getfield org.apache.cassandra.auth.FunctionResource.keyspace:Ljava/lang/String;
            invokestatic com.google.common.base.Objects.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
         7: .line 309
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.name:Ljava/lang/String;
            aload 2 /* f */
            getfield org.apache.cassandra.auth.FunctionResource.name:Ljava/lang/String;
            invokestatic com.google.common.base.Objects.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
         8: .line 310
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.argTypes:Ljava/util/List;
            aload 2 /* f */
            getfield org.apache.cassandra.auth.FunctionResource.argTypes:Ljava/util/List;
            invokestatic com.google.common.base.Objects.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
         9: .line 307
            iconst_1
            ireturn
      StackMap locals: org.apache.cassandra.auth.FunctionResource
      StackMap stack:
        10: iconst_0
            ireturn
        end local 2 // org.apache.cassandra.auth.FunctionResource f
        end local 1 // java.lang.Object o
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/apache/cassandra/auth/FunctionResource;
            0   11     1     o  Ljava/lang/Object;
            5   11     2     f  Lorg/apache/cassandra/auth/FunctionResource;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.cassandra.auth.FunctionResource this
         0: .line 316
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.level:Lorg/apache/cassandra/auth/FunctionResource$Level;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.keyspace:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.name:Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.argTypes:Ljava/util/List;
            aastore
            invokestatic com.google.common.base.Objects.hashCode:([Ljava/lang/Object;)I
            ireturn
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/auth/FunctionResource;

  private java.lang.String argListAsString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.auth.FunctionResource this
         0: .line 321
            ldc "^"
            invokestatic com.google.common.base.Joiner.on:(Ljava/lang/String;)Lcom/google/common/base/Joiner;
            aload 0 /* this */
            getfield org.apache.cassandra.auth.FunctionResource.argTypes:Ljava/util/List;
            invokevirtual com.google.common.base.Joiner.join:(Ljava/lang/Iterable;)Ljava/lang/String;
            areturn
        end local 0 // org.apache.cassandra.auth.FunctionResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/auth/FunctionResource;

  private static java.util.List<org.apache.cassandra.db.marshal.AbstractType<?>> argsListFromString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.lang.String s
         0: .line 326
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* argTypes */
        start local 1 // java.util.List argTypes
         1: .line 327
            ldc "^"
            invokestatic com.google.common.base.Splitter.on:(Ljava/lang/String;)Lcom/google/common/base/Splitter;
            invokevirtual com.google.common.base.Splitter.omitEmptyStrings:()Lcom/google/common/base/Splitter;
            invokevirtual com.google.common.base.Splitter.trimResults:()Lcom/google/common/base/Splitter;
            aload 0 /* s */
            invokevirtual com.google.common.base.Splitter.split:(Ljava/lang/CharSequence;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* type */
        start local 2 // java.lang.String type
         3: .line 328
            aload 1 /* argTypes */
            aload 2 /* type */
            invokestatic org.apache.cassandra.db.marshal.TypeParser.parse:(Ljava/lang/String;)Lorg/apache/cassandra/db/marshal/AbstractType;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.String type
         4: .line 327
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 329
            aload 1 /* argTypes */
            areturn
        end local 1 // java.util.List argTypes
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0         s  Ljava/lang/String;
            1    6     1  argTypes  Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
            3    4     2      type  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/List<Lorg/apache/cassandra/db/marshal/AbstractType<*>;>;
    MethodParameters:
      Name  Flags
      s     

  static int[] $SWITCH_TABLE$org$apache$cassandra$auth$FunctionResource$Level();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 47
            getstatic org.apache.cassandra.auth.FunctionResource.$SWITCH_TABLE$org$apache$cassandra$auth$FunctionResource$Level:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.cassandra.auth.FunctionResource$Level.values:()[Lorg/apache/cassandra/auth/FunctionResource$Level;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.cassandra.auth.FunctionResource$Level.FUNCTION:Lorg/apache/cassandra/auth/FunctionResource$Level;
            invokevirtual org.apache.cassandra.auth.FunctionResource$Level.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.auth.FunctionResource$Level.KEYSPACE:Lorg/apache/cassandra/auth/FunctionResource$Level;
            invokevirtual org.apache.cassandra.auth.FunctionResource$Level.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.cassandra.auth.FunctionResource$Level.ROOT:Lorg/apache/cassandra/auth/FunctionResource$Level;
            invokevirtual org.apache.cassandra.auth.FunctionResource$Level.ordinal:()I
            iconst_1
            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.auth.FunctionResource.$SWITCH_TABLE$org$apache$cassandra$auth$FunctionResource$Level:[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: "FunctionResource.java"
NestMembers:
  org.apache.cassandra.auth.FunctionResource$Level
InnerClasses:
  final Level = org.apache.cassandra.auth.FunctionResource$Level of org.apache.cassandra.auth.FunctionResource
  public abstract Raw = org.apache.cassandra.cql3.CQL3Type$Raw of org.apache.cassandra.cql3.CQL3Type