public class org.antlr.v4.runtime.misc.LogManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.antlr.v4.runtime.misc.LogManager
  super_class: java.lang.Object
{
  protected java.util.List<org.antlr.v4.runtime.misc.LogManager$Record> records;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Lorg/antlr/v4/runtime/misc/LogManager$Record;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.v4.runtime.misc.LogManager this
         0: .line 17
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.antlr.v4.runtime.misc.LogManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/runtime/misc/LogManager;

  public void log(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.antlr.v4.runtime.misc.LogManager this
        start local 1 // java.lang.String component
        start local 2 // java.lang.String msg
         0: .line 47
            new org.antlr.v4.runtime.misc.LogManager$Record
            dup
            invokespecial org.antlr.v4.runtime.misc.LogManager$Record.<init>:()V
            astore 3 /* r */
        start local 3 // org.antlr.v4.runtime.misc.LogManager$Record r
         1: .line 48
            aload 3 /* r */
            aload 1 /* component */
            putfield org.antlr.v4.runtime.misc.LogManager$Record.component:Ljava/lang/String;
         2: .line 49
            aload 3 /* r */
            aload 2 /* msg */
            putfield org.antlr.v4.runtime.misc.LogManager$Record.msg:Ljava/lang/String;
         3: .line 50
            aload 0 /* this */
            getfield org.antlr.v4.runtime.misc.LogManager.records:Ljava/util/List;
            ifnonnull 5
         4: .line 51
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.v4.runtime.misc.LogManager.records:Ljava/util/List;
         5: .line 53
      StackMap locals: org.antlr.v4.runtime.misc.LogManager$Record
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.v4.runtime.misc.LogManager.records:Ljava/util/List;
            aload 3 /* r */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 54
            return
        end local 3 // org.antlr.v4.runtime.misc.LogManager$Record r
        end local 2 // java.lang.String msg
        end local 1 // java.lang.String component
        end local 0 // org.antlr.v4.runtime.misc.LogManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/antlr/v4/runtime/misc/LogManager;
            0    7     1  component  Ljava/lang/String;
            0    7     2        msg  Ljava/lang/String;
            1    7     3          r  Lorg/antlr/v4/runtime/misc/LogManager$Record;
    MethodParameters:
           Name  Flags
      component  
      msg        

  public void log(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.antlr.v4.runtime.misc.LogManager this
        start local 1 // java.lang.String msg
         0: .line 56
            aload 0 /* this */
            aconst_null
            aload 1 /* msg */
            invokevirtual org.antlr.v4.runtime.misc.LogManager.log:(Ljava/lang/String;Ljava/lang/String;)V
            return
        end local 1 // java.lang.String msg
        end local 0 // org.antlr.v4.runtime.misc.LogManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/v4/runtime/misc/LogManager;
            0    1     1   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  public void save(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.antlr.v4.runtime.misc.LogManager this
        start local 1 // java.lang.String filename
         0: .line 59
            new java.io.FileWriter
            dup
            aload 1 /* filename */
            invokespecial java.io.FileWriter.<init>:(Ljava/lang/String;)V
            astore 2 /* fw */
        start local 2 // java.io.FileWriter fw
         1: .line 60
            new java.io.BufferedWriter
            dup
            aload 2 /* fw */
            invokespecial java.io.BufferedWriter.<init>:(Ljava/io/Writer;)V
            astore 3 /* bw */
        start local 3 // java.io.BufferedWriter bw
         2: .line 62
            aload 3 /* bw */
            aload 0 /* this */
            invokevirtual org.antlr.v4.runtime.misc.LogManager.toString:()Ljava/lang/String;
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         3: .line 63
            goto 7
         4: .line 64
      StackMap locals: org.antlr.v4.runtime.misc.LogManager java.lang.String java.io.FileWriter java.io.BufferedWriter
      StackMap stack: java.lang.Throwable
            astore 4
         5: .line 65
            aload 3 /* bw */
            invokevirtual java.io.BufferedWriter.close:()V
         6: .line 66
            aload 4
            athrow
         7: .line 65
      StackMap locals:
      StackMap stack:
            aload 3 /* bw */
            invokevirtual java.io.BufferedWriter.close:()V
         8: .line 67
            return
        end local 3 // java.io.BufferedWriter bw
        end local 2 // java.io.FileWriter fw
        end local 1 // java.lang.String filename
        end local 0 // org.antlr.v4.runtime.misc.LogManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/antlr/v4/runtime/misc/LogManager;
            0    9     1  filename  Ljava/lang/String;
            1    9     2        fw  Ljava/io/FileWriter;
            2    9     3        bw  Ljava/io/BufferedWriter;
      Exception table:
        from    to  target  type
           2     4       4  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      filename  

  public java.lang.String save();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.antlr.v4.runtime.misc.LogManager this
         0: .line 71
            ldc "."
            astore 1 /* dir */
        start local 1 // java.lang.String dir
         1: .line 73
            new java.lang.StringBuilder
            dup
            aload 1 /* dir */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/antlr-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 74
            new java.text.SimpleDateFormat
            dup
            ldc "yyyy-MM-dd-HH.mm.ss"
            invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;)V
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            invokevirtual java.text.SimpleDateFormat.format:(Ljava/util/Date;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".log"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 73
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 72
            astore 2 /* defaultFilename */
        start local 2 // java.lang.String defaultFilename
         5: .line 75
            aload 0 /* this */
            aload 2 /* defaultFilename */
            invokevirtual org.antlr.v4.runtime.misc.LogManager.save:(Ljava/lang/String;)V
         6: .line 76
            aload 2 /* defaultFilename */
            areturn
        end local 2 // java.lang.String defaultFilename
        end local 1 // java.lang.String dir
        end local 0 // org.antlr.v4.runtime.misc.LogManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/antlr/v4/runtime/misc/LogManager;
            1    7     1              dir  Ljava/lang/String;
            5    7     2  defaultFilename  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.antlr.v4.runtime.misc.LogManager this
         0: .line 81
            aload 0 /* this */
            getfield org.antlr.v4.runtime.misc.LogManager.records:Ljava/util/List;
            ifnonnull 1
            ldc ""
            areturn
         1: .line 82
      StackMap locals:
      StackMap stack:
            ldc "line.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* nl */
        start local 1 // java.lang.String nl
         2: .line 83
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         3: .line 84
            aload 0 /* this */
            getfield org.antlr.v4.runtime.misc.LogManager.records:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: org.antlr.v4.runtime.misc.LogManager java.lang.String java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.v4.runtime.misc.LogManager$Record
            astore 3 /* r */
        start local 3 // org.antlr.v4.runtime.misc.LogManager$Record r
         5: .line 85
            aload 2 /* buf */
            aload 3 /* r */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         6: .line 86
            aload 2 /* buf */
            aload 1 /* nl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // org.antlr.v4.runtime.misc.LogManager$Record r
         7: .line 84
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 88
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder buf
        end local 1 // java.lang.String nl
        end local 0 // org.antlr.v4.runtime.misc.LogManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/antlr/v4/runtime/misc/LogManager;
            2    9     1    nl  Ljava/lang/String;
            3    9     2   buf  Ljava/lang/StringBuilder;
            5    7     3     r  Lorg/antlr/v4/runtime/misc/LogManager$Record;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 92
            new org.antlr.v4.runtime.misc.LogManager
            dup
            invokespecial org.antlr.v4.runtime.misc.LogManager.<init>:()V
            astore 1 /* mgr */
        start local 1 // org.antlr.v4.runtime.misc.LogManager mgr
         1: .line 93
            aload 1 /* mgr */
            ldc "atn"
            ldc "test msg"
            invokevirtual org.antlr.v4.runtime.misc.LogManager.log:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 94
            aload 1 /* mgr */
            ldc "dfa"
            ldc "test msg 2"
            invokevirtual org.antlr.v4.runtime.misc.LogManager.log:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 95
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* mgr */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
         4: .line 96
            aload 1 /* mgr */
            invokevirtual org.antlr.v4.runtime.misc.LogManager.save:()Ljava/lang/String;
            pop
         5: .line 97
            return
        end local 1 // org.antlr.v4.runtime.misc.LogManager mgr
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  args  [Ljava/lang/String;
            1    6     1   mgr  Lorg/antlr/v4/runtime/misc/LogManager;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      args  
}
SourceFile: "LogManager.java"
NestMembers:
  org.antlr.v4.runtime.misc.LogManager$Record
InnerClasses:
  protected Record = org.antlr.v4.runtime.misc.LogManager$Record of org.antlr.v4.runtime.misc.LogManager