public final class org.apache.lucene.index.IndexFileNames
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.lucene.index.IndexFileNames
  super_class: java.lang.Object
{
  public static final java.lang.String SEGMENTS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "segments"

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

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

  public static final java.util.regex.Pattern CODEC_FILE_PATTERN;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x0019) ACC_PUBLIC, 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=1, locals=0, args_size=0
         0: .line 40
            ldc Lorg/apache/lucene/index/IndexFileNames;
            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.lucene.index.IndexFileNames.$assertionsDisabled:Z
         3: .line 215
            ldc "_[a-z0-9]+(_.*)?\\..*"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.apache.lucene.index.IndexFileNames.CODEC_FILE_PATTERN:Ljava/util/regex/Pattern;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.index.IndexFileNames this
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.lucene.index.IndexFileNames this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/index/IndexFileNames;

  public static java.lang.String fileNameFromGeneration(java.lang.String, java.lang.String, long);
    descriptor: (Ljava/lang/String;Ljava/lang/String;J)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.String base
        start local 1 // java.lang.String ext
        start local 2 // long gen
         0: .line 67
            lload 2 /* gen */
            ldc -1
            lcmp
            ifne 2
         1: .line 68
            aconst_null
            areturn
         2: .line 69
      StackMap locals:
      StackMap stack:
            lload 2 /* gen */
            lconst_0
            lcmp
            ifne 4
         3: .line 70
            aload 0 /* base */
            ldc ""
            aload 1 /* ext */
            invokestatic org.apache.lucene.index.IndexFileNames.segmentFileName:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
         4: .line 72
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexFileNames.$assertionsDisabled:Z
            ifne 5
            lload 2 /* gen */
            lconst_0
            lcmp
            ifgt 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 76
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* base */
            invokevirtual java.lang.String.length:()I
            bipush 6
            iadd
            aload 1 /* ext */
            invokevirtual java.lang.String.length:()I
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
         6: .line 77
            aload 0 /* base */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 95
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            lload 2 /* gen */
            bipush 36
            invokestatic java.lang.Long.toString:(JI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 76
            astore 4 /* res */
        start local 4 // java.lang.StringBuilder res
         8: .line 78
            aload 1 /* ext */
            invokevirtual java.lang.String.length:()I
            ifle 10
         9: .line 79
            aload 4 /* res */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* ext */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 81
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 4 /* res */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder res
        end local 2 // long gen
        end local 1 // java.lang.String ext
        end local 0 // java.lang.String base
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  base  Ljava/lang/String;
            0   11     1   ext  Ljava/lang/String;
            0   11     2   gen  J
            8   11     4   res  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      base  
      ext   
      gen   

  public static java.lang.String segmentFileName(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.lang.String segmentName
        start local 1 // java.lang.String segmentSuffix
        start local 2 // java.lang.String ext
         0: .line 101
            aload 2 /* ext */
            invokevirtual java.lang.String.length:()I
            ifgt 1
            aload 1 /* segmentSuffix */
            invokevirtual java.lang.String.length:()I
            ifle 9
         1: .line 102
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.index.IndexFileNames.$assertionsDisabled:Z
            ifne 2
            aload 2 /* ext */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 103
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* segmentName */
            invokevirtual java.lang.String.length:()I
            iconst_2
            iadd
            aload 1 /* segmentSuffix */
            invokevirtual java.lang.String.length:()I
            iadd
            aload 2 /* ext */
            invokevirtual java.lang.String.length:()I
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         3: .line 104
            aload 3 /* sb */
            aload 0 /* segmentName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 105
            aload 1 /* segmentSuffix */
            invokevirtual java.lang.String.length:()I
            ifle 6
         5: .line 106
            aload 3 /* sb */
            bipush 95
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* segmentSuffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 108
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 2 /* ext */
            invokevirtual java.lang.String.length:()I
            ifle 8
         7: .line 109
            aload 3 /* sb */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* ext */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 111
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder sb
         9: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* segmentName */
            areturn
        end local 2 // java.lang.String ext
        end local 1 // java.lang.String segmentSuffix
        end local 0 // java.lang.String segmentName
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0    segmentName  Ljava/lang/String;
            0   10     1  segmentSuffix  Ljava/lang/String;
            0   10     2            ext  Ljava/lang/String;
            3    9     3             sb  Ljava/lang/StringBuilder;
    MethodParameters:
               Name  Flags
      segmentName    
      segmentSuffix  
      ext            

  public static boolean matchesExtension(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String filename
        start local 1 // java.lang.String ext
         0: .line 124
            aload 0 /* filename */
            new java.lang.StringBuilder
            dup
            ldc "."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ext */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String ext
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  filename  Ljava/lang/String;
            0    1     1       ext  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      filename  
      ext       

  private static int indexOfSegmentName(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String filename
         0: .line 130
            aload 0 /* filename */
            bipush 95
            iconst_1
            invokevirtual java.lang.String.indexOf:(II)I
            istore 1 /* idx */
        start local 1 // int idx
         1: .line 131
            iload 1 /* idx */
            iconst_m1
            if_icmpne 3
         2: .line 133
            aload 0 /* filename */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            istore 1 /* idx */
         3: .line 135
      StackMap locals: int
      StackMap stack:
            iload 1 /* idx */
            ireturn
        end local 1 // int idx
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  filename  Ljava/lang/String;
            1    4     1       idx  I
    MethodParameters:
          Name  Flags
      filename  

  public static java.lang.String stripSegmentName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String filename
         0: .line 148
            aload 0 /* filename */
            invokestatic org.apache.lucene.index.IndexFileNames.indexOfSegmentName:(Ljava/lang/String;)I
            istore 1 /* idx */
        start local 1 // int idx
         1: .line 149
            iload 1 /* idx */
            iconst_m1
            if_icmpeq 3
         2: .line 150
            aload 0 /* filename */
            iload 1 /* idx */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 0 /* filename */
         3: .line 152
      StackMap locals: int
      StackMap stack:
            aload 0 /* filename */
            areturn
        end local 1 // int idx
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  filename  Ljava/lang/String;
            1    4     1       idx  I
    MethodParameters:
          Name  Flags
      filename  

  public static long parseGeneration(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String filename
         0: .line 158
            getstatic org.apache.lucene.index.IndexFileNames.$assertionsDisabled:Z
            ifne 1
            aload 0 /* filename */
            ldc "_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* filename */
            invokestatic org.apache.lucene.index.IndexFileNames.stripExtension:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            ldc "_"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* parts */
        start local 1 // java.lang.String[] parts
         2: .line 165
            aload 1 /* parts */
            arraylength
            iconst_2
            if_icmpeq 3
            aload 1 /* parts */
            arraylength
            iconst_4
            if_icmpne 4
         3: .line 166
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 1 /* parts */
            iconst_1
            aaload
            bipush 36
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;I)J
            lreturn
         4: .line 168
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
        end local 1 // java.lang.String[] parts
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  filename  Ljava/lang/String;
            2    5     1     parts  [Ljava/lang/String;
    MethodParameters:
          Name  Flags
      filename  

  public static java.lang.String parseSegmentName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String filename
         0: .line 179
            aload 0 /* filename */
            invokestatic org.apache.lucene.index.IndexFileNames.indexOfSegmentName:(Ljava/lang/String;)I
            istore 1 /* idx */
        start local 1 // int idx
         1: .line 180
            iload 1 /* idx */
            iconst_m1
            if_icmpeq 3
         2: .line 181
            aload 0 /* filename */
            iconst_0
            iload 1 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 0 /* filename */
         3: .line 183
      StackMap locals: int
      StackMap stack:
            aload 0 /* filename */
            areturn
        end local 1 // int idx
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  filename  Ljava/lang/String;
            1    4     1       idx  I
    MethodParameters:
          Name  Flags
      filename  

  public static java.lang.String stripExtension(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String filename
         0: .line 191
            aload 0 /* filename */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            istore 1 /* idx */
        start local 1 // int idx
         1: .line 192
            iload 1 /* idx */
            iconst_m1
            if_icmpeq 3
         2: .line 193
            aload 0 /* filename */
            iconst_0
            iload 1 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 0 /* filename */
         3: .line 195
      StackMap locals: int
      StackMap stack:
            aload 0 /* filename */
            areturn
        end local 1 // int idx
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  filename  Ljava/lang/String;
            1    4     1       idx  I
    MethodParameters:
          Name  Flags
      filename  

  public static java.lang.String getExtension(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String filename
         0: .line 203
            aload 0 /* filename */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            istore 1 /* idx */
        start local 1 // int idx
         1: .line 204
            iload 1 /* idx */
            iconst_m1
            if_icmpne 3
         2: .line 205
            aconst_null
            areturn
         3: .line 207
      StackMap locals: int
      StackMap stack:
            aload 0 /* filename */
            iload 1 /* idx */
            iconst_1
            iadd
            aload 0 /* filename */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 1 // int idx
        end local 0 // java.lang.String filename
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  filename  Ljava/lang/String;
            1    4     1       idx  I
    MethodParameters:
          Name  Flags
      filename  
}
SourceFile: "IndexFileNames.java"