public class junit.textui.TestRunner extends junit.runner.BaseTestRunner
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: junit.textui.TestRunner
  super_class: junit.runner.BaseTestRunner
{
  private junit.textui.ResultPrinter fPrinter;
    descriptor: Ljunit/textui/ResultPrinter;
    flags: (0x0002) ACC_PRIVATE

  public static final int SUCCESS_EXIT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int FAILURE_EXIT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int EXCEPTION_EXIT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // junit.textui.TestRunner this
         0: .line 41
            aload 0 /* this */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokespecial junit.textui.TestRunner.<init>:(Ljava/io/PrintStream;)V
         1: .line 42
            return
        end local 0 // junit.textui.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljunit/textui/TestRunner;

  public void <init>(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // junit.textui.TestRunner this
        start local 1 // java.io.PrintStream writer
         0: .line 48
            aload 0 /* this */
            new junit.textui.ResultPrinter
            dup
            aload 1 /* writer */
            invokespecial junit.textui.ResultPrinter.<init>:(Ljava/io/PrintStream;)V
            invokespecial junit.textui.TestRunner.<init>:(Ljunit/textui/ResultPrinter;)V
         1: .line 49
            return
        end local 1 // java.io.PrintStream writer
        end local 0 // junit.textui.TestRunner this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljunit/textui/TestRunner;
            0    2     1  writer  Ljava/io/PrintStream;
    MethodParameters:
        Name  Flags
      writer  

  public void <init>(junit.textui.ResultPrinter);
    descriptor: (Ljunit/textui/ResultPrinter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // junit.textui.TestRunner this
        start local 1 // junit.textui.ResultPrinter printer
         0: .line 54
            aload 0 /* this */
            invokespecial junit.runner.BaseTestRunner.<init>:()V
         1: .line 55
            aload 0 /* this */
            aload 1 /* printer */
            putfield junit.textui.TestRunner.fPrinter:Ljunit/textui/ResultPrinter;
         2: .line 56
            return
        end local 1 // junit.textui.ResultPrinter printer
        end local 0 // junit.textui.TestRunner this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljunit/textui/TestRunner;
            0    3     1  printer  Ljunit/textui/ResultPrinter;
    MethodParameters:
         Name  Flags
      printer  

  public static void run(java.lang.Class<? extends junit.framework.TestCase>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class testClass
         0: .line 62
            new junit.framework.TestSuite
            dup
            aload 0 /* testClass */
            invokespecial junit.framework.TestSuite.<init>:(Ljava/lang/Class;)V
            invokestatic junit.textui.TestRunner.run:(Ljunit/framework/Test;)Ljunit/framework/TestResult;
            pop
         1: .line 63
            return
        end local 0 // java.lang.Class testClass
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  testClass  Ljava/lang/Class<+Ljunit/framework/TestCase;>;
    Signature: (Ljava/lang/Class<+Ljunit/framework/TestCase;>;)V
    MethodParameters:
           Name  Flags
      testClass  

  public static junit.framework.TestResult run(junit.framework.Test);
    descriptor: (Ljunit/framework/Test;)Ljunit/framework/TestResult;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // junit.framework.Test test
         0: .line 76
            new junit.textui.TestRunner
            dup
            invokespecial junit.textui.TestRunner.<init>:()V
            astore 1 /* runner */
        start local 1 // junit.textui.TestRunner runner
         1: .line 77
            aload 1 /* runner */
            aload 0 /* test */
            invokevirtual junit.textui.TestRunner.doRun:(Ljunit/framework/Test;)Ljunit/framework/TestResult;
            areturn
        end local 1 // junit.textui.TestRunner runner
        end local 0 // junit.framework.Test test
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    test  Ljunit/framework/Test;
            1    2     1  runner  Ljunit/textui/TestRunner;
    MethodParameters:
      Name  Flags
      test  

  public static void runAndWait(junit.framework.Test);
    descriptor: (Ljunit/framework/Test;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // junit.framework.Test suite
         0: .line 85
            new junit.textui.TestRunner
            dup
            invokespecial junit.textui.TestRunner.<init>:()V
            astore 1 /* aTestRunner */
        start local 1 // junit.textui.TestRunner aTestRunner
         1: .line 86
            aload 1 /* aTestRunner */
            aload 0 /* suite */
            iconst_1
            invokevirtual junit.textui.TestRunner.doRun:(Ljunit/framework/Test;Z)Ljunit/framework/TestResult;
            pop
         2: .line 87
            return
        end local 1 // junit.textui.TestRunner aTestRunner
        end local 0 // junit.framework.Test suite
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0        suite  Ljunit/framework/Test;
            1    3     1  aTestRunner  Ljunit/textui/TestRunner;
    MethodParameters:
       Name  Flags
      suite  

  public void testFailed(int, junit.framework.Test, java.lang.Throwable);
    descriptor: (ILjunit/framework/Test;Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // junit.textui.TestRunner this
        start local 1 // int status
        start local 2 // junit.framework.Test test
        start local 3 // java.lang.Throwable e
         0: .line 91
            return
        end local 3 // java.lang.Throwable e
        end local 2 // junit.framework.Test test
        end local 1 // int status
        end local 0 // junit.textui.TestRunner this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljunit/textui/TestRunner;
            0    1     1  status  I
            0    1     2    test  Ljunit/framework/Test;
            0    1     3       e  Ljava/lang/Throwable;
    MethodParameters:
        Name  Flags
      status  
      test    
      e       

  public void testStarted(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // junit.textui.TestRunner this
        start local 1 // java.lang.String testName
         0: .line 95
            return
        end local 1 // java.lang.String testName
        end local 0 // junit.textui.TestRunner this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljunit/textui/TestRunner;
            0    1     1  testName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      testName  

  public void testEnded(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // junit.textui.TestRunner this
        start local 1 // java.lang.String testName
         0: .line 99
            return
        end local 1 // java.lang.String testName
        end local 0 // junit.textui.TestRunner this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljunit/textui/TestRunner;
            0    1     1  testName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      testName  

  protected junit.framework.TestResult createTestResult();
    descriptor: ()Ljunit/framework/TestResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // junit.textui.TestRunner this
         0: .line 105
            new junit.framework.TestResult
            dup
            invokespecial junit.framework.TestResult.<init>:()V
            areturn
        end local 0 // junit.textui.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljunit/textui/TestRunner;

  public junit.framework.TestResult doRun(junit.framework.Test);
    descriptor: (Ljunit/framework/Test;)Ljunit/framework/TestResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // junit.textui.TestRunner this
        start local 1 // junit.framework.Test test
         0: .line 109
            aload 0 /* this */
            aload 1 /* test */
            iconst_0
            invokevirtual junit.textui.TestRunner.doRun:(Ljunit/framework/Test;Z)Ljunit/framework/TestResult;
            areturn
        end local 1 // junit.framework.Test test
        end local 0 // junit.textui.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljunit/textui/TestRunner;
            0    1     1  test  Ljunit/framework/Test;
    MethodParameters:
      Name  Flags
      test  

  public junit.framework.TestResult doRun(junit.framework.Test, boolean);
    descriptor: (Ljunit/framework/Test;Z)Ljunit/framework/TestResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // junit.textui.TestRunner this
        start local 1 // junit.framework.Test suite
        start local 2 // boolean wait
         0: .line 113
            aload 0 /* this */
            invokevirtual junit.textui.TestRunner.createTestResult:()Ljunit/framework/TestResult;
            astore 3 /* result */
        start local 3 // junit.framework.TestResult result
         1: .line 114
            aload 3 /* result */
            aload 0 /* this */
            getfield junit.textui.TestRunner.fPrinter:Ljunit/textui/ResultPrinter;
            invokevirtual junit.framework.TestResult.addListener:(Ljunit/framework/TestListener;)V
         2: .line 115
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* startTime */
        start local 4 // long startTime
         3: .line 116
            aload 1 /* suite */
            aload 3 /* result */
            invokeinterface junit.framework.Test.run:(Ljunit/framework/TestResult;)V
         4: .line 117
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 6 /* endTime */
        start local 6 // long endTime
         5: .line 118
            lload 6 /* endTime */
            lload 4 /* startTime */
            lsub
            lstore 8 /* runTime */
        start local 8 // long runTime
         6: .line 119
            aload 0 /* this */
            getfield junit.textui.TestRunner.fPrinter:Ljunit/textui/ResultPrinter;
            aload 3 /* result */
            lload 8 /* runTime */
            invokevirtual junit.textui.ResultPrinter.print:(Ljunit/framework/TestResult;J)V
         7: .line 121
            aload 0 /* this */
            iload 2 /* wait */
            invokevirtual junit.textui.TestRunner.pause:(Z)V
         8: .line 122
            aload 3 /* result */
            areturn
        end local 8 // long runTime
        end local 6 // long endTime
        end local 4 // long startTime
        end local 3 // junit.framework.TestResult result
        end local 2 // boolean wait
        end local 1 // junit.framework.Test suite
        end local 0 // junit.textui.TestRunner this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Ljunit/textui/TestRunner;
            0    9     1      suite  Ljunit/framework/Test;
            0    9     2       wait  Z
            1    9     3     result  Ljunit/framework/TestResult;
            3    9     4  startTime  J
            5    9     6    endTime  J
            6    9     8    runTime  J
    MethodParameters:
       Name  Flags
      suite  
      wait   

  protected void pause(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // junit.textui.TestRunner this
        start local 1 // boolean wait
         0: .line 126
            iload 1 /* wait */
            ifne 1
            return
         1: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield junit.textui.TestRunner.fPrinter:Ljunit/textui/ResultPrinter;
            invokevirtual junit.textui.ResultPrinter.printWaitPrompt:()V
         2: .line 129
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.read:()I
            pop
         3: .line 130
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: pop
         5: .line 132
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean wait
        end local 0 // junit.textui.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljunit/textui/TestRunner;
            0    6     1  wait  Z
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      wait  

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 135
            new junit.textui.TestRunner
            dup
            invokespecial junit.textui.TestRunner.<init>:()V
            astore 1 /* aTestRunner */
        start local 1 // junit.textui.TestRunner aTestRunner
         1: .line 137
            aload 1 /* aTestRunner */
            aload 0 /* args */
            invokevirtual junit.textui.TestRunner.start:([Ljava/lang/String;)Ljunit/framework/TestResult;
            astore 2 /* r */
        start local 2 // junit.framework.TestResult r
         2: .line 138
            aload 2 /* r */
            invokevirtual junit.framework.TestResult.wasSuccessful:()Z
            ifne 4
         3: .line 139
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         4: .line 141
      StackMap locals: junit.textui.TestRunner junit.framework.TestResult
      StackMap stack:
            iconst_0
            invokestatic java.lang.System.exit:(I)V
        end local 2 // junit.framework.TestResult r
         5: .line 142
            goto 9
      StackMap locals: java.lang.String[] junit.textui.TestRunner
      StackMap stack: java.lang.Exception
         6: astore 2 /* e */
        start local 2 // java.lang.Exception e
         7: .line 143
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         8: .line 144
            iconst_2
            invokestatic java.lang.System.exit:(I)V
        end local 2 // java.lang.Exception e
         9: .line 146
      StackMap locals:
      StackMap stack:
            return
        end local 1 // junit.textui.TestRunner aTestRunner
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         args  [Ljava/lang/String;
            1   10     1  aTestRunner  Ljunit/textui/TestRunner;
            2    5     2            r  Ljunit/framework/TestResult;
            7    9     2            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     5       6  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      args  

  public junit.framework.TestResult start(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljunit/framework/TestResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // junit.textui.TestRunner this
        start local 1 // java.lang.String[] args
         0: .line 153
            ldc ""
            astore 2 /* testCase */
        start local 2 // java.lang.String testCase
         1: .line 154
            ldc ""
            astore 3 /* method */
        start local 3 // java.lang.String method
         2: .line 155
            iconst_0
            istore 4 /* wait */
        start local 4 // boolean wait
         3: .line 157
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 22
         5: .line 158
      StackMap locals: junit.textui.TestRunner java.lang.String[] java.lang.String java.lang.String int int
      StackMap stack:
            aload 1 /* args */
            iload 5 /* i */
            aaload
            ldc "-wait"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 159
            iconst_1
            istore 4 /* wait */
         7: .line 160
            goto 21
      StackMap locals:
      StackMap stack:
         8: aload 1 /* args */
            iload 5 /* i */
            aaload
            ldc "-c"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 161
            aload 0 /* this */
            aload 1 /* args */
            iinc 5 /* i */ 1
            iload 5 /* i */
            aaload
            invokevirtual junit.textui.TestRunner.extractClassName:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* testCase */
        10: .line 162
            goto 21
      StackMap locals:
      StackMap stack:
        11: aload 1 /* args */
            iload 5 /* i */
            aaload
            ldc "-m"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        12: .line 163
            aload 1 /* args */
            iinc 5 /* i */ 1
            iload 5 /* i */
            aaload
            astore 6 /* arg */
        start local 6 // java.lang.String arg
        13: .line 164
            aload 6 /* arg */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 7 /* lastIndex */
        start local 7 // int lastIndex
        14: .line 165
            aload 6 /* arg */
            iconst_0
            iload 7 /* lastIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* testCase */
        15: .line 166
            aload 6 /* arg */
            iload 7 /* lastIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* method */
        end local 7 // int lastIndex
        end local 6 // java.lang.String arg
        16: .line 167
            goto 21
      StackMap locals:
      StackMap stack:
        17: aload 1 /* args */
            iload 5 /* i */
            aaload
            ldc "-v"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        18: .line 168
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JUnit "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic junit.runner.Version.id:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " by Kent Beck and Erich Gamma"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        19: .line 169
            goto 21
        20: .line 170
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iload 5 /* i */
            aaload
            astore 2 /* testCase */
        21: .line 157
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 5 /* i */
            aload 1 /* args */
            arraylength
            if_icmplt 5
        end local 5 // int i
        23: .line 174
            aload 2 /* testCase */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        24: .line 175
            new java.lang.Exception
            dup
            ldc "Usage: TestRunner [-wait] testCaseName, where name is the name of the TestCase class"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 179
      StackMap locals:
      StackMap stack:
            aload 3 /* method */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 28
        26: .line 180
            aload 0 /* this */
            aload 2 /* testCase */
            aload 3 /* method */
            iload 4 /* wait */
            invokevirtual junit.textui.TestRunner.runSingleMethod:(Ljava/lang/String;Ljava/lang/String;Z)Ljunit/framework/TestResult;
        27: areturn
        28: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* testCase */
            invokevirtual junit.textui.TestRunner.getTest:(Ljava/lang/String;)Ljunit/framework/Test;
            astore 5 /* suite */
        start local 5 // junit.framework.Test suite
        29: .line 183
            aload 0 /* this */
            aload 5 /* suite */
            iload 4 /* wait */
            invokevirtual junit.textui.TestRunner.doRun:(Ljunit/framework/Test;Z)Ljunit/framework/TestResult;
        30: areturn
        end local 5 // junit.framework.Test suite
        31: .line 184
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        32: .line 185
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not create and run test suite: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Exception e
        end local 4 // boolean wait
        end local 3 // java.lang.String method
        end local 2 // java.lang.String testCase
        end local 1 // java.lang.String[] args
        end local 0 // junit.textui.TestRunner this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0       this  Ljunit/textui/TestRunner;
            0   33     1       args  [Ljava/lang/String;
            1   33     2   testCase  Ljava/lang/String;
            2   33     3     method  Ljava/lang/String;
            3   33     4       wait  Z
            4   23     5          i  I
           13   16     6        arg  Ljava/lang/String;
           14   16     7  lastIndex  I
           29   31     5      suite  Ljunit/framework/Test;
           32   33     5          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          25    27      31  Class java.lang.Exception
          28    30      31  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      args  

  protected junit.framework.TestResult runSingleMethod(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Ljunit/framework/TestResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // junit.textui.TestRunner this
        start local 1 // java.lang.String testCase
        start local 2 // java.lang.String method
        start local 3 // boolean wait
         0: .line 190
            aload 0 /* this */
            aload 1 /* testCase */
            invokevirtual junit.textui.TestRunner.loadSuiteClass:(Ljava/lang/String;)Ljava/lang/Class;
            ldc Ljunit/framework/TestCase;
            invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
            astore 4 /* testClass */
        start local 4 // java.lang.Class testClass
         1: .line 191
            aload 4 /* testClass */
            aload 2 /* method */
            invokestatic junit.framework.TestSuite.createTest:(Ljava/lang/Class;Ljava/lang/String;)Ljunit/framework/Test;
            astore 5 /* test */
        start local 5 // junit.framework.Test test
         2: .line 192
            aload 0 /* this */
            aload 5 /* test */
            iload 3 /* wait */
            invokevirtual junit.textui.TestRunner.doRun:(Ljunit/framework/Test;Z)Ljunit/framework/TestResult;
            areturn
        end local 5 // junit.framework.Test test
        end local 4 // java.lang.Class testClass
        end local 3 // boolean wait
        end local 2 // java.lang.String method
        end local 1 // java.lang.String testCase
        end local 0 // junit.textui.TestRunner this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljunit/textui/TestRunner;
            0    3     1   testCase  Ljava/lang/String;
            0    3     2     method  Ljava/lang/String;
            0    3     3       wait  Z
            1    3     4  testClass  Ljava/lang/Class<+Ljunit/framework/TestCase;>;
            2    3     5       test  Ljunit/framework/Test;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
          Name  Flags
      testCase  
      method    
      wait      

  protected void runFailed(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // junit.textui.TestRunner this
        start local 1 // java.lang.String message
         0: .line 197
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 1 /* message */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 198
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         2: .line 199
            return
        end local 1 // java.lang.String message
        end local 0 // junit.textui.TestRunner this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljunit/textui/TestRunner;
            0    3     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public void setPrinter(junit.textui.ResultPrinter);
    descriptor: (Ljunit/textui/ResultPrinter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // junit.textui.TestRunner this
        start local 1 // junit.textui.ResultPrinter printer
         0: .line 202
            aload 0 /* this */
            aload 1 /* printer */
            putfield junit.textui.TestRunner.fPrinter:Ljunit/textui/ResultPrinter;
         1: .line 203
            return
        end local 1 // junit.textui.ResultPrinter printer
        end local 0 // junit.textui.TestRunner this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljunit/textui/TestRunner;
            0    2     1  printer  Ljunit/textui/ResultPrinter;
    MethodParameters:
         Name  Flags
      printer  
}
SourceFile: "TestRunner.java"