public class org.apache.cassandra.cql3.statements.IndexTarget
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.cql3.statements.IndexTarget
  super_class: java.lang.Object
{
  public static final java.lang.String TARGET_OPTION_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "target"

  public static final java.lang.String CUSTOM_INDEX_OPTION_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "class_name"

  public static final java.lang.String INDEX_KEYS_OPTION_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "index_keys"

  public static final java.lang.String INDEX_ENTRIES_OPTION_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "index_keys_and_values"

  private static final java.util.regex.Pattern COLUMN_IDENTIFIER_PATTERN;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public final org.apache.cassandra.cql3.ColumnIdentifier column;
    descriptor: Lorg/apache/cassandra/cql3/ColumnIdentifier;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final boolean quoteName;
    descriptor: Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final org.apache.cassandra.cql3.statements.IndexTarget$Type type;
    descriptor: Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 44
            ldc "[a-z_0-9]+"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.apache.cassandra.cql3.statements.IndexTarget.COLUMN_IDENTIFIER_PATTERN:Ljava/util/regex/Pattern;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.cassandra.cql3.ColumnIdentifier, org.apache.cassandra.cql3.statements.IndexTarget$Type);
    descriptor: (Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.cql3.statements.IndexTarget this
        start local 1 // org.apache.cassandra.cql3.ColumnIdentifier column
        start local 2 // org.apache.cassandra.cql3.statements.IndexTarget$Type type
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            aload 0 /* this */
            aload 1 /* column */
            putfield org.apache.cassandra.cql3.statements.IndexTarget.column:Lorg/apache/cassandra/cql3/ColumnIdentifier;
         2: .line 53
            aload 0 /* this */
            aload 2 /* type */
            putfield org.apache.cassandra.cql3.statements.IndexTarget.type:Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;
         3: .line 57
            aload 0 /* this */
            getstatic org.apache.cassandra.cql3.statements.IndexTarget.COLUMN_IDENTIFIER_PATTERN:Ljava/util/regex/Pattern;
            aload 1 /* column */
            invokevirtual org.apache.cassandra.cql3.ColumnIdentifier.toString:()Ljava/lang/String;
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: org.apache.cassandra.cql3.statements.IndexTarget org.apache.cassandra.cql3.ColumnIdentifier org.apache.cassandra.cql3.statements.IndexTarget$Type
      StackMap stack: org.apache.cassandra.cql3.statements.IndexTarget
         4: iconst_1
      StackMap locals: org.apache.cassandra.cql3.statements.IndexTarget org.apache.cassandra.cql3.ColumnIdentifier org.apache.cassandra.cql3.statements.IndexTarget$Type
      StackMap stack: org.apache.cassandra.cql3.statements.IndexTarget int
         5: putfield org.apache.cassandra.cql3.statements.IndexTarget.quoteName:Z
         6: .line 58
            return
        end local 2 // org.apache.cassandra.cql3.statements.IndexTarget$Type type
        end local 1 // org.apache.cassandra.cql3.ColumnIdentifier column
        end local 0 // org.apache.cassandra.cql3.statements.IndexTarget this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/apache/cassandra/cql3/statements/IndexTarget;
            0    7     1  column  Lorg/apache/cassandra/cql3/ColumnIdentifier;
            0    7     2    type  Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;
    MethodParameters:
        Name  Flags
      column  
      type    

  public java.lang.String asCqlString(org.apache.cassandra.config.CFMetaData);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.cassandra.cql3.statements.IndexTarget this
        start local 1 // org.apache.cassandra.config.CFMetaData cfm
         0: .line 62
            aload 1 /* cfm */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.IndexTarget.column:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            invokevirtual org.apache.cassandra.config.CFMetaData.getColumnDefinition:(Lorg/apache/cassandra/cql3/ColumnIdentifier;)Lorg/apache/cassandra/config/ColumnDefinition;
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isCollection:()Z
            ifne 2
         1: .line 63
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.IndexTarget.column:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            invokevirtual org.apache.cassandra.cql3.ColumnIdentifier.toCQLString:()Ljava/lang/String;
            areturn
         2: .line 65
      StackMap locals:
      StackMap stack:
            ldc "%s(%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.IndexTarget.type:Lorg/apache/cassandra/cql3/statements/IndexTarget$Type;
            invokevirtual org.apache.cassandra.cql3.statements.IndexTarget$Type.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.IndexTarget.column:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            invokevirtual org.apache.cassandra.cql3.ColumnIdentifier.toCQLString:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // org.apache.cassandra.config.CFMetaData cfm
        end local 0 // org.apache.cassandra.cql3.statements.IndexTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/cql3/statements/IndexTarget;
            0    3     1   cfm  Lorg/apache/cassandra/config/CFMetaData;
    MethodParameters:
      Name  Flags
      cfm   
}
SourceFile: "IndexTarget.java"
NestMembers:
  org.apache.cassandra.cql3.statements.IndexTarget$Raw  org.apache.cassandra.cql3.statements.IndexTarget$Type
InnerClasses:
  public Raw = org.apache.cassandra.cql3.statements.IndexTarget$Raw of org.apache.cassandra.cql3.statements.IndexTarget
  public final Type = org.apache.cassandra.cql3.statements.IndexTarget$Type of org.apache.cassandra.cql3.statements.IndexTarget