public class org.apache.logging.log4j.core.script.ScriptFile extends org.apache.logging.log4j.core.script.AbstractScript
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.logging.log4j.core.script.ScriptFile
  super_class: org.apache.logging.log4j.core.script.AbstractScript
{
  private final java.nio.file.Path filePath;
    descriptor: Ljava/nio/file/Path;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isWatched;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.lang.String, java.nio.file.Path, java.lang.String, boolean, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/nio/file/Path;Ljava/lang/String;ZLjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // org.apache.logging.log4j.core.script.ScriptFile this
        start local 1 // java.lang.String name
        start local 2 // java.nio.file.Path filePath
        start local 3 // java.lang.String language
        start local 4 // boolean isWatched
        start local 5 // java.lang.String scriptText
         0: .line 49
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* language */
            aload 5 /* scriptText */
            invokespecial org.apache.logging.log4j.core.script.AbstractScript.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 50
            aload 0 /* this */
            aload 2 /* filePath */
            putfield org.apache.logging.log4j.core.script.ScriptFile.filePath:Ljava/nio/file/Path;
         2: .line 51
            aload 0 /* this */
            iload 4 /* isWatched */
            putfield org.apache.logging.log4j.core.script.ScriptFile.isWatched:Z
         3: .line 52
            return
        end local 5 // java.lang.String scriptText
        end local 4 // boolean isWatched
        end local 3 // java.lang.String language
        end local 2 // java.nio.file.Path filePath
        end local 1 // java.lang.String name
        end local 0 // org.apache.logging.log4j.core.script.ScriptFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/logging/log4j/core/script/ScriptFile;
            0    4     1        name  Ljava/lang/String;
            0    4     2    filePath  Ljava/nio/file/Path;
            0    4     3    language  Ljava/lang/String;
            0    4     4   isWatched  Z
            0    4     5  scriptText  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      name        final
      filePath    final
      language    final
      isWatched   final
      scriptText  final

  public java.nio.file.Path getPath();
    descriptor: ()Ljava/nio/file/Path;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.script.ScriptFile this
         0: .line 55
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.script.ScriptFile.filePath:Ljava/nio/file/Path;
            areturn
        end local 0 // org.apache.logging.log4j.core.script.ScriptFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/script/ScriptFile;

  public boolean isWatched();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.script.ScriptFile this
         0: .line 59
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.script.ScriptFile.isWatched:Z
            ireturn
        end local 0 // org.apache.logging.log4j.core.script.ScriptFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/script/ScriptFile;

  public static org.apache.logging.log4j.core.script.ScriptFile createScript(java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean, java.nio.charset.Charset);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;Ljava/nio/charset/Charset;)Lorg/apache/logging/log4j/core/script/ScriptFile;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=12, args_size=5
        start local 0 // java.lang.String name
        start local 1 // java.lang.String language
        start local 2 // java.lang.String filePathOrUri
        start local 3 // java.lang.Boolean isWatched
        start local 4 // java.nio.charset.Charset charset
         0: .line 71
            aload 2 /* filePathOrUri */
            ifnonnull 3
         1: .line 72
            getstatic org.apache.logging.log4j.core.script.ScriptFile.LOGGER:Lorg/apache/logging/log4j/Logger;
            ldc "No script path provided for ScriptFile"
            invokeinterface org.apache.logging.log4j.Logger.error:(Ljava/lang/String;)V
         2: .line 73
            aconst_null
            areturn
         3: .line 75
      StackMap locals:
      StackMap stack:
            aload 0 /* name */
            ifnonnull 5
         4: .line 76
            aload 2 /* filePathOrUri */
            astore 0 /* name */
         5: .line 78
      StackMap locals:
      StackMap stack:
            aload 2 /* filePathOrUri */
            invokestatic org.apache.logging.log4j.core.util.NetUtils.toURI:(Ljava/lang/String;)Ljava/net/URI;
            astore 5 /* uri */
        start local 5 // java.net.URI uri
         6: .line 79
            aload 5 /* uri */
            invokestatic org.apache.logging.log4j.core.util.FileUtils.fileFromUri:(Ljava/net/URI;)Ljava/io/File;
            astore 6 /* file */
        start local 6 // java.io.File file
         7: .line 80
            aload 1 /* language */
            ifnonnull 13
            aload 6 /* file */
            ifnull 13
         8: .line 81
            aload 6 /* file */
            invokestatic org.apache.logging.log4j.core.util.FileUtils.getFileExtension:(Ljava/io/File;)Ljava/lang/String;
            astore 7 /* fileExtension */
        start local 7 // java.lang.String fileExtension
         9: .line 82
            aload 7 /* fileExtension */
            ifnull 13
        10: .line 83
            aload 7 /* fileExtension */
            invokestatic org.apache.logging.log4j.core.util.ExtensionLanguageMapping.getByExtension:(Ljava/lang/String;)Lorg/apache/logging/log4j/core/util/ExtensionLanguageMapping;
            astore 8 /* mapping */
        start local 8 // org.apache.logging.log4j.core.util.ExtensionLanguageMapping mapping
        11: .line 84
            aload 8 /* mapping */
            ifnull 13
        12: .line 85
            aload 8 /* mapping */
            invokevirtual org.apache.logging.log4j.core.util.ExtensionLanguageMapping.getLanguage:()Ljava/lang/String;
            astore 1 /* language */
        end local 8 // org.apache.logging.log4j.core.util.ExtensionLanguageMapping mapping
        end local 7 // java.lang.String fileExtension
        13: .line 89
      StackMap locals: java.net.URI java.io.File
      StackMap stack:
            aload 1 /* language */
            ifnonnull 16
        14: .line 90
            getstatic org.apache.logging.log4j.core.script.ScriptFile.LOGGER:Lorg/apache/logging/log4j/Logger;
            ldc "No script language supplied, defaulting to {}"
            ldc "JavaScript"
            invokeinterface org.apache.logging.log4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 91
            ldc "JavaScript"
            astore 1 /* language */
        16: .line 94
      StackMap locals:
      StackMap stack:
            aload 4 /* charset */
            ifnonnull 17
            invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 4 /* charset */
      StackMap locals:
      StackMap stack: java.nio.charset.Charset
        18: astore 7 /* actualCharset */
        start local 7 // java.nio.charset.Charset actualCharset
        19: .line 96
            aconst_null
            astore 9
            aconst_null
            astore 10
        20: new java.io.InputStreamReader
            dup
        21: .line 97
            aload 6 /* file */
            ifnull 22
            new java.io.FileInputStream
            dup
            aload 6 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            goto 23
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.Boolean java.nio.charset.Charset java.net.URI java.io.File java.nio.charset.Charset top java.lang.Throwable java.lang.Throwable
      StackMap stack: new 20 new 20
        22: aload 5 /* uri */
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.Boolean java.nio.charset.Charset java.net.URI java.io.File java.nio.charset.Charset top java.lang.Throwable java.lang.Throwable
      StackMap stack: new 20 new 20 java.io.InputStream
        23: aload 7 /* actualCharset */
        24: .line 96
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
            astore 11 /* reader */
        start local 11 // java.io.Reader reader
        25: .line 98
            aload 11 /* reader */
            invokestatic org.apache.logging.log4j.core.util.IOUtils.toString:(Ljava/io/Reader;)Ljava/lang/String;
            astore 8 /* scriptText */
        start local 8 // java.lang.String scriptText
        26: .line 99
            aload 11 /* reader */
            ifnull 37
            aload 11 /* reader */
            invokevirtual java.io.Reader.close:()V
            goto 37
        end local 8 // java.lang.String scriptText
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.Boolean java.nio.charset.Charset java.net.URI java.io.File java.nio.charset.Charset top java.lang.Throwable java.lang.Throwable java.io.Reader
      StackMap stack: java.lang.Throwable
        27: astore 9
            aload 11 /* reader */
            ifnull 28
            aload 11 /* reader */
            invokevirtual java.io.Reader.close:()V
        end local 11 // java.io.Reader reader
      StackMap locals:
      StackMap stack:
        28: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 10
            aload 9
            ifnonnull 30
            aload 10
            astore 9
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 9
            aload 10
            if_acmpeq 31
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 9
            athrow
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.Boolean java.nio.charset.Charset java.net.URI java.io.File java.nio.charset.Charset
      StackMap stack: java.io.IOException
        32: astore 9 /* e */
        start local 9 // java.io.IOException e
        33: .line 100
            getstatic org.apache.logging.log4j.core.script.ScriptFile.LOGGER:Lorg/apache/logging/log4j/Logger;
            ldc "{}: language={}, path={}, actualCharset={}"
            aload 9 /* e */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
        34: .line 101
            aload 1 /* language */
            aload 2 /* filePathOrUri */
            aload 7 /* actualCharset */
        35: .line 100
            invokeinterface org.apache.logging.log4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        36: .line 102
            aconst_null
            areturn
        end local 9 // java.io.IOException e
        start local 8 // java.lang.String scriptText
        37: .line 104
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* file */
            ifnull 38
            aload 6 /* file */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokestatic java.nio.file.Paths.get:(Ljava/net/URI;)Ljava/nio/file/Path;
            goto 39
      StackMap locals:
      StackMap stack:
        38: aload 5 /* uri */
            invokestatic java.nio.file.Paths.get:(Ljava/net/URI;)Ljava/nio/file/Path;
      StackMap locals:
      StackMap stack: java.nio.file.Path
        39: astore 9 /* path */
        start local 9 // java.nio.file.Path path
        40: .line 105
            aload 9 /* path */
            ifnonnull 43
        41: .line 106
            getstatic org.apache.logging.log4j.core.script.ScriptFile.LOGGER:Lorg/apache/logging/log4j/Logger;
            ldc "Unable to convert {} to a Path"
            aload 5 /* uri */
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            invokeinterface org.apache.logging.log4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;)V
        42: .line 107
            aconst_null
            areturn
        43: .line 109
      StackMap locals: java.nio.file.Path
      StackMap stack:
            new org.apache.logging.log4j.core.script.ScriptFile
            dup
            aload 0 /* name */
            aload 9 /* path */
            aload 1 /* language */
            aload 3 /* isWatched */
            ifnonnull 44
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            goto 45
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.Boolean java.nio.charset.Charset java.net.URI java.io.File java.nio.charset.Charset java.lang.String java.nio.file.Path
      StackMap stack: new 43 new 43 java.lang.String java.nio.file.Path java.lang.String
        44: aload 3 /* isWatched */
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.Boolean java.nio.charset.Charset java.net.URI java.io.File java.nio.charset.Charset java.lang.String java.nio.file.Path
      StackMap stack: new 43 new 43 java.lang.String java.nio.file.Path java.lang.String java.lang.Boolean
        45: invokevirtual java.lang.Boolean.booleanValue:()Z
            aload 8 /* scriptText */
            invokespecial org.apache.logging.log4j.core.script.ScriptFile.<init>:(Ljava/lang/String;Ljava/nio/file/Path;Ljava/lang/String;ZLjava/lang/String;)V
            areturn
        end local 9 // java.nio.file.Path path
        end local 8 // java.lang.String scriptText
        end local 7 // java.nio.charset.Charset actualCharset
        end local 6 // java.io.File file
        end local 5 // java.net.URI uri
        end local 4 // java.nio.charset.Charset charset
        end local 3 // java.lang.Boolean isWatched
        end local 2 // java.lang.String filePathOrUri
        end local 1 // java.lang.String language
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   46     0           name  Ljava/lang/String;
            0   46     1       language  Ljava/lang/String;
            0   46     2  filePathOrUri  Ljava/lang/String;
            0   46     3      isWatched  Ljava/lang/Boolean;
            0   46     4        charset  Ljava/nio/charset/Charset;
            6   46     5            uri  Ljava/net/URI;
            7   46     6           file  Ljava/io/File;
            9   13     7  fileExtension  Ljava/lang/String;
           11   13     8        mapping  Lorg/apache/logging/log4j/core/util/ExtensionLanguageMapping;
           19   46     7  actualCharset  Ljava/nio/charset/Charset;
           26   27     8     scriptText  Ljava/lang/String;
           37   46     8     scriptText  Ljava/lang/String;
           25   28    11         reader  Ljava/io/Reader;
           33   37     9              e  Ljava/io/IOException;
           40   46     9           path  Ljava/nio/file/Path;
      Exception table:
        from    to  target  type
          25    26      27  any
          20    29      29  any
          19    32      32  Class java.io.IOException
    RuntimeVisibleAnnotations: 
      org.apache.logging.log4j.core.config.plugins.PluginFactory()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.apache.logging.log4j.core.config.plugins.PluginAttribute(value = "name")
      1:
        org.apache.logging.log4j.core.config.plugins.PluginAttribute(value = "language")
      2:
        org.apache.logging.log4j.core.config.plugins.PluginAttribute(value = "path")
      3:
        org.apache.logging.log4j.core.config.plugins.PluginAttribute(value = "isWatched")
      4:
        org.apache.logging.log4j.core.config.plugins.PluginAttribute(value = "charset")
    MethodParameters:
               Name  Flags
      name           
      language       
      filePathOrUri  final
      isWatched      final
      charset        final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.logging.log4j.core.script.ScriptFile this
         0: .line 114
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 115
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.script.ScriptFile.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.script.ScriptFile.filePath:Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 116
            aload 1 /* sb */
            ldc "name="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.script.ScriptFile.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 118
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            ldc "path="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.script.ScriptFile.filePath:Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         4: .line 119
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.script.ScriptFile.getLanguage:()Ljava/lang/String;
            ifnull 6
         5: .line 120
            aload 1 /* sb */
            ldc ", language="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.script.ScriptFile.getLanguage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 122
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc ", isWatched="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.script.ScriptFile.isWatched:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            pop
         7: .line 123
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.apache.logging.log4j.core.script.ScriptFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/logging/log4j/core/script/ScriptFile;
            1    8     1    sb  Ljava/lang/StringBuilder;
}
SourceFile: "ScriptFile.java"
    RuntimeVisibleAnnotations: 
      org.apache.logging.log4j.core.config.plugins.Plugin(name = "ScriptFile", category = "Core", printObject = true)