public class junit.framework.TestResult
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: junit.framework.TestResult
  super_class: java.lang.Object
{
  protected java.util.List<junit.framework.TestFailure> fFailures;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Ljunit/framework/TestFailure;>;

  protected java.util.List<junit.framework.TestFailure> fErrors;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Ljunit/framework/TestFailure;>;

  protected java.util.List<junit.framework.TestListener> fListeners;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Ljunit/framework/TestListener;>;

  protected int fRunTests;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  private boolean fStop;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // junit.framework.TestResult this
         0: .line 24
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 25
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield junit.framework.TestResult.fFailures:Ljava/util/List;
         2: .line 26
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield junit.framework.TestResult.fErrors:Ljava/util/List;
         3: .line 27
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield junit.framework.TestResult.fListeners:Ljava/util/List;
         4: .line 28
            aload 0 /* this */
            iconst_0
            putfield junit.framework.TestResult.fRunTests:I
         5: .line 29
            aload 0 /* this */
            iconst_0
            putfield junit.framework.TestResult.fStop:Z
         6: .line 30
            return
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljunit/framework/TestResult;

  public synchronized void addError(junit.framework.Test, java.lang.Throwable);
    descriptor: (Ljunit/framework/Test;Ljava/lang/Throwable;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // junit.framework.TestResult this
        start local 1 // junit.framework.Test test
        start local 2 // java.lang.Throwable e
         0: .line 37
            aload 0 /* this */
            getfield junit.framework.TestResult.fErrors:Ljava/util/List;
            new junit.framework.TestFailure
            dup
            aload 1 /* test */
            aload 2 /* e */
            invokespecial junit.framework.TestFailure.<init>:(Ljunit/framework/Test;Ljava/lang/Throwable;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 38
            aload 0 /* this */
            invokevirtual junit.framework.TestResult.cloneListeners:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: junit.framework.TestResult junit.framework.Test java.lang.Throwable top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast junit.framework.TestListener
            astore 3 /* each */
        start local 3 // junit.framework.TestListener each
         3: .line 39
            aload 3 /* each */
            aload 1 /* test */
            aload 2 /* e */
            invokeinterface junit.framework.TestListener.addError:(Ljunit/framework/Test;Ljava/lang/Throwable;)V
        end local 3 // junit.framework.TestListener each
         4: .line 38
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 41
            return
        end local 2 // java.lang.Throwable e
        end local 1 // junit.framework.Test test
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljunit/framework/TestResult;
            0    6     1  test  Ljunit/framework/Test;
            0    6     2     e  Ljava/lang/Throwable;
            3    4     3  each  Ljunit/framework/TestListener;
    MethodParameters:
      Name  Flags
      test  
      e     

  public synchronized void addFailure(junit.framework.Test, junit.framework.AssertionFailedError);
    descriptor: (Ljunit/framework/Test;Ljunit/framework/AssertionFailedError;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // junit.framework.TestResult this
        start local 1 // junit.framework.Test test
        start local 2 // junit.framework.AssertionFailedError e
         0: .line 48
            aload 0 /* this */
            getfield junit.framework.TestResult.fFailures:Ljava/util/List;
            new junit.framework.TestFailure
            dup
            aload 1 /* test */
            aload 2 /* e */
            invokespecial junit.framework.TestFailure.<init>:(Ljunit/framework/Test;Ljava/lang/Throwable;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 49
            aload 0 /* this */
            invokevirtual junit.framework.TestResult.cloneListeners:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: junit.framework.TestResult junit.framework.Test junit.framework.AssertionFailedError top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast junit.framework.TestListener
            astore 3 /* each */
        start local 3 // junit.framework.TestListener each
         3: .line 50
            aload 3 /* each */
            aload 1 /* test */
            aload 2 /* e */
            invokeinterface junit.framework.TestListener.addFailure:(Ljunit/framework/Test;Ljunit/framework/AssertionFailedError;)V
        end local 3 // junit.framework.TestListener each
         4: .line 49
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 52
            return
        end local 2 // junit.framework.AssertionFailedError e
        end local 1 // junit.framework.Test test
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljunit/framework/TestResult;
            0    6     1  test  Ljunit/framework/Test;
            0    6     2     e  Ljunit/framework/AssertionFailedError;
            3    4     3  each  Ljunit/framework/TestListener;
    MethodParameters:
      Name  Flags
      test  
      e     

  public synchronized void addListener(junit.framework.TestListener);
    descriptor: (Ljunit/framework/TestListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // junit.framework.TestResult this
        start local 1 // junit.framework.TestListener listener
         0: .line 58
            aload 0 /* this */
            getfield junit.framework.TestResult.fListeners:Ljava/util/List;
            aload 1 /* listener */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 59
            return
        end local 1 // junit.framework.TestListener listener
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljunit/framework/TestResult;
            0    2     1  listener  Ljunit/framework/TestListener;
    MethodParameters:
          Name  Flags
      listener  

  public synchronized void removeListener(junit.framework.TestListener);
    descriptor: (Ljunit/framework/TestListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // junit.framework.TestResult this
        start local 1 // junit.framework.TestListener listener
         0: .line 65
            aload 0 /* this */
            getfield junit.framework.TestResult.fListeners:Ljava/util/List;
            aload 1 /* listener */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 66
            return
        end local 1 // junit.framework.TestListener listener
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljunit/framework/TestResult;
            0    2     1  listener  Ljunit/framework/TestListener;
    MethodParameters:
          Name  Flags
      listener  

  private synchronized java.util.List<junit.framework.TestListener> cloneListeners();
    descriptor: ()Ljava/util/List;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // junit.framework.TestResult this
         0: .line 72
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.List result
         1: .line 73
            aload 1 /* result */
            aload 0 /* this */
            getfield junit.framework.TestResult.fListeners:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         2: .line 74
            aload 1 /* result */
            areturn
        end local 1 // java.util.List result
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljunit/framework/TestResult;
            1    3     1  result  Ljava/util/List<Ljunit/framework/TestListener;>;
    Signature: ()Ljava/util/List<Ljunit/framework/TestListener;>;

  public void endTest(junit.framework.Test);
    descriptor: (Ljunit/framework/Test;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // junit.framework.TestResult this
        start local 1 // junit.framework.Test test
         0: .line 81
            aload 0 /* this */
            invokevirtual junit.framework.TestResult.cloneListeners:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: junit.framework.TestResult junit.framework.Test top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast junit.framework.TestListener
            astore 2 /* each */
        start local 2 // junit.framework.TestListener each
         2: .line 82
            aload 2 /* each */
            aload 1 /* test */
            invokeinterface junit.framework.TestListener.endTest:(Ljunit/framework/Test;)V
        end local 2 // junit.framework.TestListener each
         3: .line 81
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 84
            return
        end local 1 // junit.framework.Test test
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljunit/framework/TestResult;
            0    5     1  test  Ljunit/framework/Test;
            2    3     2  each  Ljunit/framework/TestListener;
    MethodParameters:
      Name  Flags
      test  

  public synchronized int errorCount();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // junit.framework.TestResult this
         0: .line 90
            aload 0 /* this */
            getfield junit.framework.TestResult.fErrors:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljunit/framework/TestResult;

  public synchronized java.util.Enumeration<junit.framework.TestFailure> errors();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // junit.framework.TestResult this
         0: .line 97
            aload 0 /* this */
            getfield junit.framework.TestResult.fErrors:Ljava/util/List;
            invokestatic java.util.Collections.enumeration:(Ljava/util/Collection;)Ljava/util/Enumeration;
            areturn
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljunit/framework/TestResult;
    Signature: ()Ljava/util/Enumeration<Ljunit/framework/TestFailure;>;

  public synchronized int failureCount();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // junit.framework.TestResult this
         0: .line 105
            aload 0 /* this */
            getfield junit.framework.TestResult.fFailures:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljunit/framework/TestResult;

  public synchronized java.util.Enumeration<junit.framework.TestFailure> failures();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // junit.framework.TestResult this
         0: .line 112
            aload 0 /* this */
            getfield junit.framework.TestResult.fFailures:Ljava/util/List;
            invokestatic java.util.Collections.enumeration:(Ljava/util/Collection;)Ljava/util/Enumeration;
            areturn
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljunit/framework/TestResult;
    Signature: ()Ljava/util/Enumeration<Ljunit/framework/TestFailure;>;

  protected void run(junit.framework.TestCase);
    descriptor: (Ljunit/framework/TestCase;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // junit.framework.TestResult this
        start local 1 // junit.framework.TestCase test
         0: .line 119
            aload 0 /* this */
            aload 1 /* test */
            invokevirtual junit.framework.TestResult.startTest:(Ljunit/framework/Test;)V
         1: .line 120
            new junit.framework.TestResult$1
            dup
            aload 0 /* this */
            aload 1 /* test */
            invokespecial junit.framework.TestResult$1.<init>:(Ljunit/framework/TestResult;Ljunit/framework/TestCase;)V
            astore 2 /* p */
        start local 2 // junit.framework.Protectable p
         2: .line 125
            aload 0 /* this */
            aload 1 /* test */
            aload 2 /* p */
            invokevirtual junit.framework.TestResult.runProtected:(Ljunit/framework/Test;Ljunit/framework/Protectable;)V
         3: .line 127
            aload 0 /* this */
            aload 1 /* test */
            invokevirtual junit.framework.TestResult.endTest:(Ljunit/framework/Test;)V
         4: .line 128
            return
        end local 2 // junit.framework.Protectable p
        end local 1 // junit.framework.TestCase test
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljunit/framework/TestResult;
            0    5     1  test  Ljunit/framework/TestCase;
            2    5     2     p  Ljunit/framework/Protectable;
    MethodParameters:
      Name  Flags
      test  final

  public synchronized int runCount();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // junit.framework.TestResult this
         0: .line 134
            aload 0 /* this */
            getfield junit.framework.TestResult.fRunTests:I
            ireturn
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljunit/framework/TestResult;

  public void runProtected(junit.framework.Test, junit.framework.Protectable);
    descriptor: (Ljunit/framework/Test;Ljunit/framework/Protectable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // junit.framework.TestResult this
        start local 1 // junit.framework.Test test
        start local 2 // junit.framework.Protectable p
         0: .line 142
            aload 2 /* p */
            invokeinterface junit.framework.Protectable.protect:()V
         1: .line 143
            goto 9
      StackMap locals:
      StackMap stack: junit.framework.AssertionFailedError
         2: astore 3 /* e */
        start local 3 // junit.framework.AssertionFailedError e
         3: .line 144
            aload 0 /* this */
            aload 1 /* test */
            aload 3 /* e */
            invokevirtual junit.framework.TestResult.addFailure:(Ljunit/framework/Test;Ljunit/framework/AssertionFailedError;)V
        end local 3 // junit.framework.AssertionFailedError e
         4: goto 9
         5: .line 145
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
            astore 3 /* e */
        start local 3 // java.lang.ThreadDeath e
         6: .line 146
            aload 3 /* e */
            athrow
        end local 3 // java.lang.ThreadDeath e
         7: .line 147
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         8: .line 148
            aload 0 /* this */
            aload 1 /* test */
            aload 3 /* e */
            invokevirtual junit.framework.TestResult.addError:(Ljunit/framework/Test;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable e
         9: .line 150
      StackMap locals:
      StackMap stack:
            return
        end local 2 // junit.framework.Protectable p
        end local 1 // junit.framework.Test test
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljunit/framework/TestResult;
            0   10     1  test  Ljunit/framework/Test;
            0   10     2     p  Ljunit/framework/Protectable;
            3    4     3     e  Ljunit/framework/AssertionFailedError;
            6    7     3     e  Ljava/lang/ThreadDeath;
            8    9     3     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class junit.framework.AssertionFailedError
           0     1       5  Class java.lang.ThreadDeath
           0     1       7  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      test  final
      p     

  public synchronized boolean shouldStop();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // junit.framework.TestResult this
         0: .line 156
            aload 0 /* this */
            getfield junit.framework.TestResult.fStop:Z
            ireturn
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljunit/framework/TestResult;

  public void startTest(junit.framework.Test);
    descriptor: (Ljunit/framework/Test;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // junit.framework.TestResult this
        start local 1 // junit.framework.Test test
         0: .line 163
            aload 1 /* test */
            invokeinterface junit.framework.Test.countTestCases:()I
            istore 2 /* count */
        start local 2 // int count
         1: .line 164
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         2: .line 165
            aload 0 /* this */
            dup
            getfield junit.framework.TestResult.fRunTests:I
            iload 2 /* count */
            iadd
            putfield junit.framework.TestResult.fRunTests:I
         3: .line 164
            aload 3
            monitorexit
         4: goto 7
      StackMap locals: junit.framework.TestResult junit.framework.Test int junit.framework.TestResult
      StackMap stack: java.lang.Throwable
         5: aload 3
            monitorexit
         6: athrow
         7: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual junit.framework.TestResult.cloneListeners:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: junit.framework.TestResult junit.framework.Test int top java.util.Iterator
      StackMap stack:
         8: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast junit.framework.TestListener
            astore 3 /* each */
        start local 3 // junit.framework.TestListener each
         9: .line 168
            aload 3 /* each */
            aload 1 /* test */
            invokeinterface junit.framework.TestListener.startTest:(Ljunit/framework/Test;)V
        end local 3 // junit.framework.TestListener each
        10: .line 167
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 170
            return
        end local 2 // int count
        end local 1 // junit.framework.Test test
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Ljunit/framework/TestResult;
            0   12     1   test  Ljunit/framework/Test;
            1   12     2  count  I
            9   10     3   each  Ljunit/framework/TestListener;
      Exception table:
        from    to  target  type
           2     4       5  any
           5     6       5  any
    MethodParameters:
      Name  Flags
      test  

  public synchronized void stop();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // junit.framework.TestResult this
         0: .line 176
            aload 0 /* this */
            iconst_1
            putfield junit.framework.TestResult.fStop:Z
         1: .line 177
            return
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljunit/framework/TestResult;

  public synchronized boolean wasSuccessful();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // junit.framework.TestResult this
         0: .line 183
            aload 0 /* this */
            invokevirtual junit.framework.TestResult.failureCount:()I
            ifne 1
            aload 0 /* this */
            invokevirtual junit.framework.TestResult.errorCount:()I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // junit.framework.TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljunit/framework/TestResult;
}
SourceFile: "TestResult.java"
NestMembers:
  junit.framework.TestResult$1
InnerClasses:
  junit.framework.TestResult$1