public abstract class lombok.core.configuration.ConfigurationFile
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: lombok.core.configuration.ConfigurationFile
  super_class: java.lang.Object
{
  private static final java.util.regex.Pattern VARIABLE;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String LOMBOK_CONFIG_FILENAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "lombok.config"

  private static final java.util.Map<java.lang.String, java.lang.String> ENV;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private static final java.lang.ThreadLocal<byte[]> buffers;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<[B>;

  private final java.lang.String identifier;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 40
            ldc "\\<(.+?)\\>"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic lombok.core.configuration.ConfigurationFile.VARIABLE:Ljava/util/regex/Pattern;
         1: .line 42
            new java.util.HashMap
            dup
            invokestatic java.lang.System.getenv:()Ljava/util/Map;
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            putstatic lombok.core.configuration.ConfigurationFile.ENV:Ljava/util/Map;
         2: .line 44
            new lombok.core.configuration.ConfigurationFile$1
            dup
            invokespecial lombok.core.configuration.ConfigurationFile$1.<init>:()V
            putstatic lombok.core.configuration.ConfigurationFile.buffers:Ljava/lang/ThreadLocal;
         3: .line 48
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static void setEnvironment(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String key
        start local 1 // java.lang.String value
         0: .line 51
            getstatic lombok.core.configuration.ConfigurationFile.ENV:Ljava/util/Map;
            aload 0 /* key */
            aload 1 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 52
            return
        end local 1 // java.lang.String value
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0    key  Ljava/lang/String;
            0    2     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      key    
      value  

  public static lombok.core.configuration.ConfigurationFile forFile(java.io.File);
    descriptor: (Ljava/io/File;)Llombok/core/configuration/ConfigurationFile;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 57
            new lombok.core.configuration.ConfigurationFile$RegularConfigurationFile
            dup
            aload 0 /* file */
            invokespecial lombok.core.configuration.ConfigurationFile$RegularConfigurationFile.<init>:(Ljava/io/File;)V
            areturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  file  Ljava/io/File;
    MethodParameters:
      Name  Flags
      file  

  public static lombok.core.configuration.ConfigurationFile forDirectory(java.io.File);
    descriptor: (Ljava/io/File;)Llombok/core/configuration/ConfigurationFile;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.io.File directory
         0: .line 61
            new java.io.File
            dup
            aload 0 /* directory */
            ldc "lombok.config"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokestatic lombok.core.configuration.ConfigurationFile.forFile:(Ljava/io/File;)Llombok/core/configuration/ConfigurationFile;
            areturn
        end local 0 // java.io.File directory
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  directory  Ljava/io/File;
    MethodParameters:
           Name  Flags
      directory  

  public static lombok.core.configuration.ConfigurationFile fromCharSequence(java.lang.String, java.lang.CharSequence, long);
    descriptor: (Ljava/lang/String;Ljava/lang/CharSequence;J)Llombok/core/configuration/ConfigurationFile;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // java.lang.String identifier
        start local 1 // java.lang.CharSequence contents
        start local 2 // long lastModified
         0: .line 65
            new lombok.core.configuration.ConfigurationFile$CharSequenceConfigurationFile
            dup
            aload 0 /* identifier */
            aload 1 /* contents */
            lload 2 /* lastModified */
            invokespecial lombok.core.configuration.ConfigurationFile$CharSequenceConfigurationFile.<init>:(Ljava/lang/String;Ljava/lang/CharSequence;J)V
            areturn
        end local 2 // long lastModified
        end local 1 // java.lang.CharSequence contents
        end local 0 // java.lang.String identifier
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0    identifier  Ljava/lang/String;
            0    1     1      contents  Ljava/lang/CharSequence;
            0    1     2  lastModified  J
    MethodParameters:
              Name  Flags
      identifier    
      contents      
      lastModified  

  private void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // lombok.core.configuration.ConfigurationFile this
        start local 1 // java.lang.String identifier
         0: .line 68
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 69
            aload 0 /* this */
            aload 1 /* identifier */
            putfield lombok.core.configuration.ConfigurationFile.identifier:Ljava/lang/String;
         2: .line 70
            return
        end local 1 // java.lang.String identifier
        end local 0 // lombok.core.configuration.ConfigurationFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Llombok/core/configuration/ConfigurationFile;
            0    3     1  identifier  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      identifier  

  abstract long getLastModifiedOrMissing();
    descriptor: ()J
    flags: (0x0400) ACC_ABSTRACT

  abstract boolean exists();
    descriptor: ()Z
    flags: (0x0400) ACC_ABSTRACT

  abstract java.lang.CharSequence contents();
    descriptor: ()Ljava/lang/CharSequence;
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException

  public abstract lombok.core.configuration.ConfigurationFile resolve(java.lang.String);
    descriptor: (Ljava/lang/String;)Llombok/core/configuration/ConfigurationFile;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      path  

  abstract lombok.core.configuration.ConfigurationFile parent();
    descriptor: ()Llombok/core/configuration/ConfigurationFile;
    flags: (0x0400) ACC_ABSTRACT

  final java.lang.String description();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // lombok.core.configuration.ConfigurationFile this
         0: .line 79
            aload 0 /* this */
            getfield lombok.core.configuration.ConfigurationFile.identifier:Ljava/lang/String;
            areturn
        end local 0 // lombok.core.configuration.ConfigurationFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Llombok/core/configuration/ConfigurationFile;

  public final boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // lombok.core.configuration.ConfigurationFile this
        start local 1 // java.lang.Object obj
         0: .line 83
            aload 1 /* obj */
            instanceof lombok.core.configuration.ConfigurationFile
            ifne 1
            iconst_0
            ireturn
         1: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield lombok.core.configuration.ConfigurationFile.identifier:Ljava/lang/String;
            aload 1 /* obj */
            checkcast lombok.core.configuration.ConfigurationFile
            getfield lombok.core.configuration.ConfigurationFile.identifier:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // lombok.core.configuration.ConfigurationFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Llombok/core/configuration/ConfigurationFile;
            0    2     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public final int hashCode();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // lombok.core.configuration.ConfigurationFile this
         0: .line 88
            aload 0 /* this */
            getfield lombok.core.configuration.ConfigurationFile.identifier:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ireturn
        end local 0 // lombok.core.configuration.ConfigurationFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Llombok/core/configuration/ConfigurationFile;

  public static long getLastModifiedOrMissing(java.io.File);
    descriptor: (Ljava/io/File;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 92
            aload 0 /* file */
            invokestatic lombok.core.configuration.ConfigurationFile.fileExists:(Ljava/io/File;)Z
            ifne 1
            ldc -88
            lreturn
         1: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokevirtual java.io.File.lastModified:()J
            lreturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  file  Ljava/io/File;
    MethodParameters:
      Name  Flags
      file  

  private static boolean fileExists(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 97
            aload 0 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 1
            aload 0 /* file */
            invokevirtual java.io.File.isFile:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  file  Ljava/io/File;
    MethodParameters:
      Name  Flags
      file  

  private static java.lang.String read(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.io.InputStream is
         0: .line 101
            getstatic lombok.core.configuration.ConfigurationFile.buffers:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast byte[]
            astore 1 /* b */
        start local 1 // byte[] b
         1: .line 102
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 2 /* out */
        start local 2 // java.io.ByteArrayOutputStream out
         2: .line 104
      StackMap locals: byte[] java.io.ByteArrayOutputStream
      StackMap stack:
            aload 0 /* is */
            aload 1 /* b */
            invokevirtual java.io.InputStream.read:([B)I
            istore 3 /* r */
        start local 3 // int r
         3: .line 105
            iload 3 /* r */
            iconst_m1
            if_icmpne 4
            goto 6
         4: .line 106
      StackMap locals: int
      StackMap stack:
            aload 2 /* out */
            aload 1 /* b */
            iconst_0
            iload 3 /* r */
            invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
        end local 3 // int r
         5: .line 103
            goto 2
         6: .line 108
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 2 /* out */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            ldc "UTF-8"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            areturn
        end local 2 // java.io.ByteArrayOutputStream out
        end local 1 // byte[] b
        end local 0 // java.io.InputStream is
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    is  Ljava/io/InputStream;
            1    7     1     b  [B
            2    7     2   out  Ljava/io/ByteArrayOutputStream;
            3    5     3     r  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      is    
}
SourceFile: "ConfigurationFile.java"
NestMembers:
  lombok.core.configuration.ConfigurationFile$1  lombok.core.configuration.ConfigurationFile$ArchivedConfigurationFile  lombok.core.configuration.ConfigurationFile$CharSequenceConfigurationFile  lombok.core.configuration.ConfigurationFile$RegularConfigurationFile
InnerClasses:
  lombok.core.configuration.ConfigurationFile$1
  private ArchivedConfigurationFile = lombok.core.configuration.ConfigurationFile$ArchivedConfigurationFile of lombok.core.configuration.ConfigurationFile
  private CharSequenceConfigurationFile = lombok.core.configuration.ConfigurationFile$CharSequenceConfigurationFile of lombok.core.configuration.ConfigurationFile
  private RegularConfigurationFile = lombok.core.configuration.ConfigurationFile$RegularConfigurationFile of lombok.core.configuration.ConfigurationFile