public class org.apache.lucene.analysis.cn.smart.AnalyzerProfile
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.lucene.analysis.cn.smart.AnalyzerProfile
  super_class: java.lang.Object
{
  public static java.lang.String ANALYSIS_DATA_DIR;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 39
            ldc ""
            putstatic org.apache.lucene.analysis.cn.smart.AnalyzerProfile.ANALYSIS_DATA_DIR:Ljava/lang/String;
         1: .line 42
            invokestatic org.apache.lucene.analysis.cn.smart.AnalyzerProfile.init:()V
         2: .line 43
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.analysis.cn.smart.AnalyzerProfile this
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.lucene.analysis.cn.smart.AnalyzerProfile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/analysis/cn/smart/AnalyzerProfile;

  private static void init();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=0
         0: .line 46
            ldc "analysis-data"
            astore 0 /* dirName */
        start local 0 // java.lang.String dirName
         1: .line 47
            ldc "analysis.properties"
            astore 1 /* propName */
        start local 1 // java.lang.String propName
         2: .line 50
            ldc "analysis.data.dir"
            ldc ""
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putstatic org.apache.lucene.analysis.cn.smart.AnalyzerProfile.ANALYSIS_DATA_DIR:Ljava/lang/String;
         3: .line 51
            getstatic org.apache.lucene.analysis.cn.smart.AnalyzerProfile.ANALYSIS_DATA_DIR:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifeq 5
         4: .line 52
            return
         5: .line 54
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iconst_4
            anewarray java.nio.file.Path
            dup
            iconst_0
         6: .line 55
            aload 0 /* dirName */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            aastore
            dup
            iconst_1
         7: .line 56
            ldc "lib"
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            aload 0 /* dirName */
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            aastore
            dup
            iconst_2
         8: .line 57
            aload 1 /* propName */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            aastore
            dup
            iconst_3
         9: .line 58
            ldc "lib"
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            aload 1 /* propName */
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            aastore
        10: .line 54
            astore 2 /* candidateFiles */
        start local 2 // java.nio.file.Path[] candidateFiles
        11: .line 60
            aload 2 /* candidateFiles */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 21
      StackMap locals: java.lang.String java.lang.String java.nio.file.Path[] top int int java.nio.file.Path[]
      StackMap stack:
        12: aload 6
            iload 4
            aaload
            astore 3 /* file */
        start local 3 // java.nio.file.Path file
        13: .line 61
            aload 3 /* file */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 20
        14: .line 62
            aload 3 /* file */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 17
        15: .line 63
            aload 3 /* file */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            putstatic org.apache.lucene.analysis.cn.smart.AnalyzerProfile.ANALYSIS_DATA_DIR:Ljava/lang/String;
        16: .line 64
            goto 22
      StackMap locals: java.lang.String java.lang.String java.nio.file.Path[] java.nio.file.Path int int java.nio.file.Path[]
      StackMap stack:
        17: aload 3 /* file */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isRegularFile:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 22
            aload 3 /* file */
            invokestatic org.apache.lucene.analysis.cn.smart.AnalyzerProfile.getAnalysisDataDir:(Ljava/nio/file/Path;)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifeq 22
        18: .line 65
            aload 3 /* file */
            invokestatic org.apache.lucene.analysis.cn.smart.AnalyzerProfile.getAnalysisDataDir:(Ljava/nio/file/Path;)Ljava/lang/String;
            invokevirtual java.lang.String.toString:()Ljava/lang/String;
            putstatic org.apache.lucene.analysis.cn.smart.AnalyzerProfile.ANALYSIS_DATA_DIR:Ljava/lang/String;
        19: .line 67
            goto 22
        end local 3 // java.nio.file.Path file
        20: .line 60
      StackMap locals: java.lang.String java.lang.String java.nio.file.Path[] top int int java.nio.file.Path[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        21: iload 4
            iload 5
            if_icmplt 12
        22: .line 71
      StackMap locals: java.lang.String java.lang.String java.nio.file.Path[]
      StackMap stack:
            getstatic org.apache.lucene.analysis.cn.smart.AnalyzerProfile.ANALYSIS_DATA_DIR:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 24
        23: .line 73
            new java.lang.RuntimeException
            dup
            ldc "WARNING: Can not find lexical dictionary directory! This will cause unpredictable exceptions in your application! Please refer to the manual to download the dictionaries."
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 78
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.nio.file.Path[] candidateFiles
        end local 1 // java.lang.String propName
        end local 0 // java.lang.String dirName
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            1   25     0         dirName  Ljava/lang/String;
            2   25     1        propName  Ljava/lang/String;
           11   25     2  candidateFiles  [Ljava/nio/file/Path;
           13   20     3            file  Ljava/nio/file/Path;

  private static java.lang.String getAnalysisDataDir(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.nio.file.Path propFile
         0: .line 81
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 1 /* prop */
        start local 1 // java.util.Properties prop
         1: .line 82
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* propFile */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokestatic java.nio.file.Files.newBufferedReader:(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;
            astore 4 /* reader */
        start local 4 // java.io.BufferedReader reader
         3: .line 83
            aload 1 /* prop */
            aload 4 /* reader */
            invokevirtual java.util.Properties.load:(Ljava/io/Reader;)V
         4: .line 84
            aload 1 /* prop */
            ldc "analysis.data.dir"
            ldc ""
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
         5: .line 85
            aload 4 /* reader */
            ifnull 6
            aload 4 /* reader */
            invokevirtual java.io.BufferedReader.close:()V
         6: .line 84
      StackMap locals: java.nio.file.Path java.util.Properties java.lang.Throwable java.lang.Throwable java.io.BufferedReader
      StackMap stack: java.lang.String
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2
         8: .line 85
            aload 4 /* reader */
            ifnull 9
            aload 4 /* reader */
            invokevirtual java.io.BufferedReader.close:()V
        end local 4 // java.io.BufferedReader reader
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 2
            ifnonnull 11
            aload 3
            astore 2
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 2
            aload 3
            if_acmpeq 12
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 2
            athrow
      StackMap locals: java.nio.file.Path java.util.Properties
      StackMap stack: java.io.IOException
        13: pop
        14: .line 86
            ldc ""
            areturn
        end local 1 // java.util.Properties prop
        end local 0 // java.nio.file.Path propFile
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0  propFile  Ljava/nio/file/Path;
            1   15     1      prop  Ljava/util/Properties;
            3    9     4    reader  Ljava/io/BufferedReader;
      Exception table:
        from    to  target  type
           3     5       7  any
           2     6      10  any
           7    10      10  any
           1     6      13  Class java.io.IOException
           7    13      13  Class java.io.IOException
    MethodParameters:
          Name  Flags
      propFile  
}
SourceFile: "AnalyzerProfile.java"