public interface org.apache.cassandra.cql3.selection.Selectable extends org.apache.cassandra.cql3.AssignmentTestable
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.apache.cassandra.cql3.selection.Selectable
  super_class: java.lang.Object
{
  public abstract org.apache.cassandra.cql3.selection.Selector$Factory newSelectorFactory(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.db.marshal.AbstractType<?>, java.util.List<org.apache.cassandra.config.ColumnDefinition>, org.apache.cassandra.cql3.VariableSpecifications);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/marshal/AbstractType;Ljava/util/List;Lorg/apache/cassandra/cql3/VariableSpecifications;)Lorg/apache/cassandra/cql3/selection/Selector$Factory;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/marshal/AbstractType<*>;Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition;>;Lorg/apache/cassandra/cql3/VariableSpecifications;)Lorg/apache/cassandra/cql3/selection/Selector$Factory;
    MethodParameters:
              Name  Flags
      cfm           
      expectedType  
      defs          
      boundNames    

  public abstract org.apache.cassandra.db.marshal.AbstractType<?> getExactTypeIfKnown(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/cassandra/db/marshal/AbstractType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;)Lorg/apache/cassandra/db/marshal/AbstractType<*>;
    MethodParameters:
          Name  Flags
      keyspace  

  public org.apache.cassandra.cql3.AssignmentTestable$TestResult testAssignment(java.lang.String, org.apache.cassandra.cql3.ColumnSpecification);
    descriptor: (Ljava/lang/String;Lorg/apache/cassandra/cql3/ColumnSpecification;)Lorg/apache/cassandra/cql3/AssignmentTestable$TestResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.cassandra.cql3.selection.Selectable this
        start local 1 // java.lang.String keyspace
        start local 2 // org.apache.cassandra.cql3.ColumnSpecification receiver
         0: .line 52
            aload 0 /* this */
            aload 1 /* keyspace */
            invokeinterface org.apache.cassandra.cql3.selection.Selectable.getExactTypeIfKnown:(Ljava/lang/String;)Lorg/apache/cassandra/db/marshal/AbstractType;
            astore 3 /* type */
        start local 3 // org.apache.cassandra.db.marshal.AbstractType type
         1: .line 53
            aload 3 /* type */
            ifnonnull 2
            getstatic org.apache.cassandra.cql3.AssignmentTestable$TestResult.NOT_ASSIGNABLE:Lorg/apache/cassandra/cql3/AssignmentTestable$TestResult;
            goto 3
      StackMap locals: org.apache.cassandra.db.marshal.AbstractType
      StackMap stack:
         2: aload 3 /* type */
            aload 1 /* keyspace */
            aload 2 /* receiver */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.testAssignment:(Ljava/lang/String;Lorg/apache/cassandra/cql3/ColumnSpecification;)Lorg/apache/cassandra/cql3/AssignmentTestable$TestResult;
      StackMap locals:
      StackMap stack: org.apache.cassandra.cql3.AssignmentTestable$TestResult
         3: areturn
        end local 3 // org.apache.cassandra.db.marshal.AbstractType type
        end local 2 // org.apache.cassandra.cql3.ColumnSpecification receiver
        end local 1 // java.lang.String keyspace
        end local 0 // org.apache.cassandra.cql3.selection.Selectable this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/apache/cassandra/cql3/selection/Selectable;
            0    4     1  keyspace  Ljava/lang/String;
            0    4     2  receiver  Lorg/apache/cassandra/cql3/ColumnSpecification;
            1    4     3      type  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
    MethodParameters:
          Name  Flags
      keyspace  
      receiver  

  public int addAndGetIndex(org.apache.cassandra.config.ColumnDefinition, java.util.List<org.apache.cassandra.config.ColumnDefinition>);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;Ljava/util/List;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.apache.cassandra.cql3.selection.Selectable this
        start local 1 // org.apache.cassandra.config.ColumnDefinition def
        start local 2 // java.util.List l
         0: .line 58
            aload 2 /* l */
            aload 1 /* def */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 3 /* idx */
        start local 3 // int idx
         1: .line 59
            iload 3 /* idx */
            ifge 4
         2: .line 61
            aload 2 /* l */
            invokeinterface java.util.List.size:()I
            istore 3 /* idx */
         3: .line 62
            aload 2 /* l */
            aload 1 /* def */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 64
      StackMap locals: int
      StackMap stack:
            iload 3 /* idx */
            ireturn
        end local 3 // int idx
        end local 2 // java.util.List l
        end local 1 // org.apache.cassandra.config.ColumnDefinition def
        end local 0 // org.apache.cassandra.cql3.selection.Selectable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/cassandra/cql3/selection/Selectable;
            0    5     1   def  Lorg/apache/cassandra/config/ColumnDefinition;
            0    5     2     l  Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition;>;
            1    5     3   idx  I
    Signature: (Lorg/apache/cassandra/config/ColumnDefinition;Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition;>;)I
    MethodParameters:
      Name  Flags
      def   
      l     
}
SourceFile: "Selectable.java"
NestMembers:
  org.apache.cassandra.cql3.selection.Selectable$Raw  org.apache.cassandra.cql3.selection.Selectable$WithCast  org.apache.cassandra.cql3.selection.Selectable$WithCast$Raw  org.apache.cassandra.cql3.selection.Selectable$WithFieldSelection  org.apache.cassandra.cql3.selection.Selectable$WithFieldSelection$Raw  org.apache.cassandra.cql3.selection.Selectable$WithFunction  org.apache.cassandra.cql3.selection.Selectable$WithFunction$Raw  org.apache.cassandra.cql3.selection.Selectable$WithTerm  org.apache.cassandra.cql3.selection.Selectable$WithTerm$Raw  org.apache.cassandra.cql3.selection.Selectable$WithToJSonFunction  org.apache.cassandra.cql3.selection.Selectable$WritetimeOrTTL  org.apache.cassandra.cql3.selection.Selectable$WritetimeOrTTL$Raw
InnerClasses:
  public final TestResult = org.apache.cassandra.cql3.AssignmentTestable$TestResult of org.apache.cassandra.cql3.AssignmentTestable
  public abstract Raw = org.apache.cassandra.cql3.selection.Selectable$Raw of org.apache.cassandra.cql3.selection.Selectable
  public WithCast = org.apache.cassandra.cql3.selection.Selectable$WithCast of org.apache.cassandra.cql3.selection.Selectable
  public WithFieldSelection = org.apache.cassandra.cql3.selection.Selectable$WithFieldSelection of org.apache.cassandra.cql3.selection.Selectable
  public WithFunction = org.apache.cassandra.cql3.selection.Selectable$WithFunction of org.apache.cassandra.cql3.selection.Selectable
  public WithTerm = org.apache.cassandra.cql3.selection.Selectable$WithTerm of org.apache.cassandra.cql3.selection.Selectable
  public WithToJSonFunction = org.apache.cassandra.cql3.selection.Selectable$WithToJSonFunction of org.apache.cassandra.cql3.selection.Selectable
  public WritetimeOrTTL = org.apache.cassandra.cql3.selection.Selectable$WritetimeOrTTL of org.apache.cassandra.cql3.selection.Selectable
  public abstract Factory = org.apache.cassandra.cql3.selection.Selector$Factory of org.apache.cassandra.cql3.selection.Selector