public abstract class org.apache.cassandra.db.filter.RowFilter$UserExpression extends org.apache.cassandra.db.filter.RowFilter$Expression
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.cassandra.db.filter.RowFilter$UserExpression
  super_class: org.apache.cassandra.db.filter.RowFilter$Expression
{
  private static final org.apache.cassandra.db.filter.RowFilter$UserExpression$DeserializerRegistry deserializers;
    descriptor: Lorg/apache/cassandra/db/filter/RowFilter$UserExpression$DeserializerRegistry;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  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=2, locals=0, args_size=0
         0: .line 1059
            ldc Lorg/apache/cassandra/db/filter/RowFilter;
            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.db.filter.RowFilter$UserExpression.$assertionsDisabled:Z
         3: .line 1061
            new org.apache.cassandra.db.filter.RowFilter$UserExpression$DeserializerRegistry
            dup
            invokespecial org.apache.cassandra.db.filter.RowFilter$UserExpression$DeserializerRegistry.<init>:()V
            putstatic org.apache.cassandra.db.filter.RowFilter$UserExpression.deserializers:Lorg/apache/cassandra/db/filter/RowFilter$UserExpression$DeserializerRegistry;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void register(java.lang.Class<? extends org.apache.cassandra.db.filter.RowFilter$UserExpression>, org.apache.cassandra.db.filter.RowFilter$UserExpression$Deserializer);
    descriptor: (Ljava/lang/Class;Lorg/apache/cassandra/db/filter/RowFilter$UserExpression$Deserializer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Class expressionClass
        start local 1 // org.apache.cassandra.db.filter.RowFilter$UserExpression$Deserializer deserializer
         0: .line 1098
            getstatic org.apache.cassandra.db.filter.RowFilter$UserExpression.deserializers:Lorg/apache/cassandra/db/filter/RowFilter$UserExpression$DeserializerRegistry;
            aload 0 /* expressionClass */
            aload 1 /* deserializer */
            invokevirtual org.apache.cassandra.db.filter.RowFilter$UserExpression$DeserializerRegistry.registerUserExpressionClass:(Ljava/lang/Class;Lorg/apache/cassandra/db/filter/RowFilter$UserExpression$Deserializer;)V
         1: .line 1099
            return
        end local 1 // org.apache.cassandra.db.filter.RowFilter$UserExpression$Deserializer deserializer
        end local 0 // java.lang.Class expressionClass
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0  expressionClass  Ljava/lang/Class<+Lorg/apache/cassandra/db/filter/RowFilter$UserExpression;>;
            0    2     1     deserializer  Lorg/apache/cassandra/db/filter/RowFilter$UserExpression$Deserializer;
    Signature: (Ljava/lang/Class<+Lorg/apache/cassandra/db/filter/RowFilter$UserExpression;>;Lorg/apache/cassandra/db/filter/RowFilter$UserExpression$Deserializer;)V
    MethodParameters:
                 Name  Flags
      expressionClass  
      deserializer     

  private static org.apache.cassandra.db.filter.RowFilter$UserExpression deserialize(org.apache.cassandra.io.util.DataInputPlus, int, org.apache.cassandra.config.CFMetaData);
    descriptor: (Lorg/apache/cassandra/io/util/DataInputPlus;ILorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/db/filter/RowFilter$UserExpression;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.apache.cassandra.io.util.DataInputPlus in
        start local 1 // int version
        start local 2 // org.apache.cassandra.config.CFMetaData metadata
         0: .line 1103
            aload 0 /* in */
            invokeinterface org.apache.cassandra.io.util.DataInputPlus.readInt:()I
            istore 3 /* id */
        start local 3 // int id
         1: .line 1104
            getstatic org.apache.cassandra.db.filter.RowFilter$UserExpression.deserializers:Lorg/apache/cassandra/db/filter/RowFilter$UserExpression$DeserializerRegistry;
            iload 3 /* id */
            invokevirtual org.apache.cassandra.db.filter.RowFilter$UserExpression$DeserializerRegistry.getDeserializer:(I)Lorg/apache/cassandra/db/filter/RowFilter$UserExpression$Deserializer;
            astore 4 /* deserializer */
        start local 4 // org.apache.cassandra.db.filter.RowFilter$UserExpression$Deserializer deserializer
         2: .line 1105
            getstatic org.apache.cassandra.db.filter.RowFilter$UserExpression.$assertionsDisabled:Z
            ifne 3
            aload 4 /* deserializer */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "No user defined expression type registered with id "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 1106
      StackMap locals: int org.apache.cassandra.db.filter.RowFilter$UserExpression$Deserializer
      StackMap stack:
            aload 4 /* deserializer */
            aload 0 /* in */
            iload 1 /* version */
            aload 2 /* metadata */
            invokevirtual org.apache.cassandra.db.filter.RowFilter$UserExpression$Deserializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;ILorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/db/filter/RowFilter$UserExpression;
            areturn
        end local 4 // org.apache.cassandra.db.filter.RowFilter$UserExpression$Deserializer deserializer
        end local 3 // int id
        end local 2 // org.apache.cassandra.config.CFMetaData metadata
        end local 1 // int version
        end local 0 // org.apache.cassandra.io.util.DataInputPlus in
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0            in  Lorg/apache/cassandra/io/util/DataInputPlus;
            0    4     1       version  I
            0    4     2      metadata  Lorg/apache/cassandra/config/CFMetaData;
            1    4     3            id  I
            2    4     4  deserializer  Lorg/apache/cassandra/db/filter/RowFilter$UserExpression$Deserializer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      in        
      version   
      metadata  

  private static void serialize(org.apache.cassandra.db.filter.RowFilter$UserExpression, org.apache.cassandra.io.util.DataOutputPlus, int);
    descriptor: (Lorg/apache/cassandra/db/filter/RowFilter$UserExpression;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.apache.cassandra.db.filter.RowFilter$UserExpression expression
        start local 1 // org.apache.cassandra.io.util.DataOutputPlus out
        start local 2 // int version
         0: .line 1111
            getstatic org.apache.cassandra.db.filter.RowFilter$UserExpression.deserializers:Lorg/apache/cassandra/db/filter/RowFilter$UserExpression$DeserializerRegistry;
            aload 0 /* expression */
            invokevirtual org.apache.cassandra.db.filter.RowFilter$UserExpression$DeserializerRegistry.getId:(Lorg/apache/cassandra/db/filter/RowFilter$UserExpression;)Ljava/lang/Integer;
            astore 3 /* id */
        start local 3 // java.lang.Integer id
         1: .line 1112
            getstatic org.apache.cassandra.db.filter.RowFilter$UserExpression.$assertionsDisabled:Z
            ifne 2
            aload 3 /* id */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "User defined expression type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* expression */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is not registered"
            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
         2: .line 1113
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 1 /* out */
            aload 3 /* id */
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface org.apache.cassandra.io.util.DataOutputPlus.writeInt:(I)V
         3: .line 1114
            aload 0 /* expression */
            aload 1 /* out */
            iload 2 /* version */
            invokevirtual org.apache.cassandra.db.filter.RowFilter$UserExpression.serialize:(Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
         4: .line 1115
            return
        end local 3 // java.lang.Integer id
        end local 2 // int version
        end local 1 // org.apache.cassandra.io.util.DataOutputPlus out
        end local 0 // org.apache.cassandra.db.filter.RowFilter$UserExpression expression
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0  expression  Lorg/apache/cassandra/db/filter/RowFilter$UserExpression;
            0    5     1         out  Lorg/apache/cassandra/io/util/DataOutputPlus;
            0    5     2     version  I
            1    5     3          id  Ljava/lang/Integer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      expression  
      out         
      version     

  private static long serializedSize(org.apache.cassandra.db.filter.RowFilter$UserExpression, int);
    descriptor: (Lorg/apache/cassandra/db/filter/RowFilter$UserExpression;I)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.filter.RowFilter$UserExpression expression
        start local 1 // int version
         0: .line 1119
            ldc 4
            aload 0 /* expression */
            iload 1 /* version */
            invokevirtual org.apache.cassandra.db.filter.RowFilter$UserExpression.serializedSize:(I)J
            ladd
            lreturn
        end local 1 // int version
        end local 0 // org.apache.cassandra.db.filter.RowFilter$UserExpression expression
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  expression  Lorg/apache/cassandra/db/filter/RowFilter$UserExpression;
            0    1     1     version  I
    MethodParameters:
            Name  Flags
      expression  
      version     

  protected void <init>(org.apache.cassandra.config.ColumnDefinition, org.apache.cassandra.cql3.Operator, java.nio.ByteBuffer);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Operator;Ljava/nio/ByteBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.cassandra.db.filter.RowFilter$UserExpression this
        start local 1 // org.apache.cassandra.config.ColumnDefinition column
        start local 2 // org.apache.cassandra.cql3.Operator operator
        start local 3 // java.nio.ByteBuffer value
         0: .line 1124
            aload 0 /* this */
            aload 1 /* column */
            aload 2 /* operator */
            aload 3 /* value */
            invokespecial org.apache.cassandra.db.filter.RowFilter$Expression.<init>:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Operator;Ljava/nio/ByteBuffer;)V
         1: .line 1125
            return
        end local 3 // java.nio.ByteBuffer value
        end local 2 // org.apache.cassandra.cql3.Operator operator
        end local 1 // org.apache.cassandra.config.ColumnDefinition column
        end local 0 // org.apache.cassandra.db.filter.RowFilter$UserExpression this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/db/filter/RowFilter$UserExpression;
            0    2     1    column  Lorg/apache/cassandra/config/ColumnDefinition;
            0    2     2  operator  Lorg/apache/cassandra/cql3/Operator;
            0    2     3     value  Ljava/nio/ByteBuffer;
    MethodParameters:
          Name  Flags
      column    
      operator  
      value     

  protected org.apache.cassandra.db.filter.RowFilter$Expression$Kind kind();
    descriptor: ()Lorg/apache/cassandra/db/filter/RowFilter$Expression$Kind;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.filter.RowFilter$UserExpression this
         0: .line 1129
            getstatic org.apache.cassandra.db.filter.RowFilter$Expression$Kind.USER:Lorg/apache/cassandra/db/filter/RowFilter$Expression$Kind;
            areturn
        end local 0 // org.apache.cassandra.db.filter.RowFilter$UserExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/filter/RowFilter$UserExpression;

  protected abstract void serialize(org.apache.cassandra.io.util.DataOutputPlus, int);
    descriptor: (Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      out      
      version  

  protected abstract long serializedSize(int);
    descriptor: (I)J
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      version  
}
SourceFile: "RowFilter.java"
NestHost: org.apache.cassandra.db.filter.RowFilter
InnerClasses:
  public abstract Expression = org.apache.cassandra.db.filter.RowFilter$Expression of org.apache.cassandra.db.filter.RowFilter
  protected final Kind = org.apache.cassandra.db.filter.RowFilter$Expression$Kind of org.apache.cassandra.db.filter.RowFilter$Expression
  public abstract UserExpression = org.apache.cassandra.db.filter.RowFilter$UserExpression of org.apache.cassandra.db.filter.RowFilter
  protected abstract Deserializer = org.apache.cassandra.db.filter.RowFilter$UserExpression$Deserializer of org.apache.cassandra.db.filter.RowFilter$UserExpression
  private final DeserializerRegistry = org.apache.cassandra.db.filter.RowFilter$UserExpression$DeserializerRegistry of org.apache.cassandra.db.filter.RowFilter$UserExpression