final class org.junit.experimental.max.MaxHistory$RememberingListener extends org.junit.runner.notification.RunListener
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.junit.experimental.max.MaxHistory$RememberingListener
  super_class: org.junit.runner.notification.RunListener
{
  private long overallStart;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<org.junit.runner.Description, java.lang.Long> starts;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lorg/junit/runner/Description;Ljava/lang/Long;>;

  final org.junit.experimental.max.MaxHistory this$0;
    descriptor: Lorg/junit/experimental/max/MaxHistory;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(org.junit.experimental.max.MaxHistory);
    descriptor: (Lorg/junit/experimental/max/MaxHistory;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.junit.experimental.max.MaxHistory$RememberingListener this
         0: .line 104
            aload 0 /* this */
            aload 1
            putfield org.junit.experimental.max.MaxHistory$RememberingListener.this$0:Lorg/junit/experimental/max/MaxHistory;
            aload 0 /* this */
            invokespecial org.junit.runner.notification.RunListener.<init>:()V
         1: .line 105
            aload 0 /* this */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield org.junit.experimental.max.MaxHistory$RememberingListener.overallStart:J
         2: .line 107
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.junit.experimental.max.MaxHistory$RememberingListener.starts:Ljava/util/Map;
         3: .line 104
            return
        end local 0 // org.junit.experimental.max.MaxHistory$RememberingListener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/junit/experimental/max/MaxHistory$RememberingListener;
    MethodParameters:
        Name  Flags
      this$0  final

  public void testStarted(org.junit.runner.Description);
    descriptor: (Lorg/junit/runner/Description;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.junit.experimental.max.MaxHistory$RememberingListener this
        start local 1 // org.junit.runner.Description description
         0: .line 111
            aload 0 /* this */
            getfield org.junit.experimental.max.MaxHistory$RememberingListener.starts:Ljava/util/Map;
            aload 1 /* description */
            invokestatic java.lang.System.nanoTime:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 113
            return
        end local 1 // org.junit.runner.Description description
        end local 0 // org.junit.experimental.max.MaxHistory$RememberingListener this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/junit/experimental/max/MaxHistory$RememberingListener;
            0    2     1  description  Lorg/junit/runner/Description;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
             Name  Flags
      description  

  public void testFinished(org.junit.runner.Description);
    descriptor: (Lorg/junit/runner/Description;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.junit.experimental.max.MaxHistory$RememberingListener this
        start local 1 // org.junit.runner.Description description
         0: .line 117
            invokestatic java.lang.System.nanoTime:()J
            lstore 2 /* end */
        start local 2 // long end
         1: .line 118
            aload 0 /* this */
            getfield org.junit.experimental.max.MaxHistory$RememberingListener.starts:Ljava/util/Map;
            aload 1 /* description */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 4 /* start */
        start local 4 // long start
         2: .line 119
            aload 0 /* this */
            getfield org.junit.experimental.max.MaxHistory$RememberingListener.this$0:Lorg/junit/experimental/max/MaxHistory;
            aload 1 /* description */
            lload 2 /* end */
            lload 4 /* start */
            lsub
            invokevirtual org.junit.experimental.max.MaxHistory.putTestDuration:(Lorg/junit/runner/Description;J)V
         3: .line 120
            return
        end local 4 // long start
        end local 2 // long end
        end local 1 // org.junit.runner.Description description
        end local 0 // org.junit.experimental.max.MaxHistory$RememberingListener this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/junit/experimental/max/MaxHistory$RememberingListener;
            0    4     1  description  Lorg/junit/runner/Description;
            1    4     2          end  J
            2    4     4        start  J
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
             Name  Flags
      description  

  public void testFailure(org.junit.runner.notification.Failure);
    descriptor: (Lorg/junit/runner/notification/Failure;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.junit.experimental.max.MaxHistory$RememberingListener this
        start local 1 // org.junit.runner.notification.Failure failure
         0: .line 124
            aload 0 /* this */
            getfield org.junit.experimental.max.MaxHistory$RememberingListener.this$0:Lorg/junit/experimental/max/MaxHistory;
            aload 1 /* failure */
            invokevirtual org.junit.runner.notification.Failure.getDescription:()Lorg/junit/runner/Description;
            aload 0 /* this */
            getfield org.junit.experimental.max.MaxHistory$RememberingListener.overallStart:J
            invokevirtual org.junit.experimental.max.MaxHistory.putTestFailureTimestamp:(Lorg/junit/runner/Description;J)V
         1: .line 125
            return
        end local 1 // org.junit.runner.notification.Failure failure
        end local 0 // org.junit.experimental.max.MaxHistory$RememberingListener this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/junit/experimental/max/MaxHistory$RememberingListener;
            0    2     1  failure  Lorg/junit/runner/notification/Failure;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      failure  

  public void testRunFinished(org.junit.runner.Result);
    descriptor: (Lorg/junit/runner/Result;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.junit.experimental.max.MaxHistory$RememberingListener this
        start local 1 // org.junit.runner.Result result
         0: .line 129
            aload 0 /* this */
            getfield org.junit.experimental.max.MaxHistory$RememberingListener.this$0:Lorg/junit/experimental/max/MaxHistory;
            invokevirtual org.junit.experimental.max.MaxHistory.save:()V
         1: .line 130
            return
        end local 1 // org.junit.runner.Result result
        end local 0 // org.junit.experimental.max.MaxHistory$RememberingListener this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/junit/experimental/max/MaxHistory$RememberingListener;
            0    2     1  result  Lorg/junit/runner/Result;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      result  
}
SourceFile: "MaxHistory.java"
NestHost: org.junit.experimental.max.MaxHistory
InnerClasses:
  private final RememberingListener = org.junit.experimental.max.MaxHistory$RememberingListener of org.junit.experimental.max.MaxHistory