public class junit.framework.TestSuite implements junit.framework.Test
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: junit.framework.TestSuite
super_class: java.lang.Object
{
private java.lang.String fName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Vector<junit.framework.Test> fTests;
descriptor: Ljava/util/Vector;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Vector<Ljunit/framework/Test;>;
public static junit.framework.Test createTest(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljunit/framework/Test;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokestatic junit.framework.TestSuite.getTestConstructor:(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 2
start local 2 1: goto 4
end local 2 StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
2: pop
3: new java.lang.StringBuilder
dup
ldc "Class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " has no public constructor TestCase(String name) or TestCase()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic junit.framework.TestSuite.warning:(Ljava/lang/String;)Ljunit/framework/Test;
areturn
start local 2 4: StackMap locals: java.lang.reflect.Constructor
StackMap stack:
aload 2
invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
arraylength
ifne 9
5: aload 2
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 6: aload 3
instanceof junit.framework.TestCase
ifeq 17
7: aload 3
checkcast junit.framework.TestCase
aload 1
invokevirtual junit.framework.TestCase.setName:(Ljava/lang/String;)V
8: goto 17
end local 3 9: StackMap locals:
StackMap stack:
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 10: goto 17
end local 3 StackMap locals:
StackMap stack: java.lang.InstantiationException
11: astore 4
start local 4 12: new java.lang.StringBuilder
dup
ldc "Cannot instantiate test case: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokestatic org.junit.internal.Throwables.getStacktrace:(Ljava/lang/Throwable;)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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic junit.framework.TestSuite.warning:(Ljava/lang/String;)Ljunit/framework/Test;
areturn
end local 4 13: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 4
start local 4 14: new java.lang.StringBuilder
dup
ldc "Exception in constructor: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
invokestatic org.junit.internal.Throwables.getStacktrace:(Ljava/lang/Throwable;)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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic junit.framework.TestSuite.warning:(Ljava/lang/String;)Ljunit/framework/Test;
areturn
end local 4 15: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 4
start local 4 16: new java.lang.StringBuilder
dup
ldc "Cannot access test case: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokestatic org.junit.internal.Throwables.getStacktrace:(Ljava/lang/Throwable;)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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic junit.framework.TestSuite.warning:(Ljava/lang/String;)Ljunit/framework/Test;
areturn
end local 4 start local 3 17: StackMap locals: java.lang.Object
StackMap stack:
aload 3
checkcast junit.framework.Test
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 theClass Ljava/lang/Class<*>;
0 18 1 name Ljava/lang/String;
1 2 2 constructor Ljava/lang/reflect/Constructor<*>;
4 18 2 constructor Ljava/lang/reflect/Constructor<*>;
6 9 3 test Ljava/lang/Object;
10 11 3 test Ljava/lang/Object;
17 18 3 test Ljava/lang/Object;
12 13 4 e Ljava/lang/InstantiationException;
14 15 4 e Ljava/lang/reflect/InvocationTargetException;
16 17 4 e Ljava/lang/IllegalAccessException;
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodException
4 10 11 Class java.lang.InstantiationException
4 10 13 Class java.lang.reflect.InvocationTargetException
4 10 15 Class java.lang.IllegalAccessException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljunit/framework/Test;
MethodParameters:
Name Flags
theClass
name
public static java.lang.reflect.Constructor<?> getTestConstructor(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
3: aload 0
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 theClass Ljava/lang/Class<*>;
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodException
Exceptions:
throws java.lang.NoSuchMethodException
Signature: (Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<*>;
MethodParameters:
Name Flags
theClass
public static junit.framework.Test warning(java.lang.String);
descriptor: (Ljava/lang/String;)Ljunit/framework/Test;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new junit.framework.TestSuite$1
dup
ldc "warning"
aload 0
invokespecial junit.framework.TestSuite$1.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 message Ljava/lang/String;
MethodParameters:
Name Flags
message final
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.Vector
dup
bipush 10
invokespecial java.util.Vector.<init>:(I)V
putfield junit.framework.TestSuite.fTests:Ljava/util/Vector;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljunit/framework/TestSuite;
public void <init>(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.Vector
dup
bipush 10
invokespecial java.util.Vector.<init>:(I)V
putfield junit.framework.TestSuite.fTests:Ljava/util/Vector;
2: aload 0
aload 1
invokevirtual junit.framework.TestSuite.addTestsFromTestCase:(Ljava/lang/Class;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljunit/framework/TestSuite;
0 4 1 theClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
theClass final
private void addTestsFromTestCase(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
putfield junit.framework.TestSuite.fName:Ljava/lang/String;
1: aload 1
invokestatic junit.framework.TestSuite.getTestConstructor:(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
pop
2: goto 6
StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
3: pop
4: aload 0
new java.lang.StringBuilder
dup
ldc "Class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " has no public constructor TestCase(String name) or TestCase()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic junit.framework.TestSuite.warning:(Ljava/lang/String;)Ljunit/framework/Test;
invokevirtual junit.framework.TestSuite.addTest:(Ljunit/framework/Test;)V
5: return
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifne 9
7: aload 0
new java.lang.StringBuilder
dup
ldc "Class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is not public"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic junit.framework.TestSuite.warning:(Ljava/lang/String;)Ljunit/framework/Test;
invokevirtual junit.framework.TestSuite.addTest:(Ljunit/framework/Test;)V
8: return
9: StackMap locals:
StackMap stack:
aload 1
astore 2
start local 2 10: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 11: goto 18
12: StackMap locals: java.lang.Class java.util.List
StackMap stack:
aload 2
invokestatic org.junit.internal.MethodSorter.getDeclaredMethods:(Ljava/lang/Class;)[Ljava/lang/reflect/Method;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 16
StackMap locals: junit.framework.TestSuite java.lang.Class java.lang.Class java.util.List top int int java.lang.reflect.Method[]
StackMap stack:
13: aload 7
iload 5
aaload
astore 4
start local 4 14: aload 0
aload 4
aload 3
aload 1
invokevirtual junit.framework.TestSuite.addTestMethod:(Ljava/lang/reflect/Method;Ljava/util/List;Ljava/lang/Class;)V
end local 4 15: iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
iload 6
if_icmplt 13
17: aload 2
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 2
18: StackMap locals: junit.framework.TestSuite java.lang.Class java.lang.Class java.util.List
StackMap stack:
ldc Ljunit/framework/Test;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 12
19: aload 0
getfield junit.framework.TestSuite.fTests:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ifne 21
20: aload 0
new java.lang.StringBuilder
dup
ldc "No tests found in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic junit.framework.TestSuite.warning:(Ljava/lang/String;)Ljunit/framework/Test;
invokevirtual junit.framework.TestSuite.addTest:(Ljunit/framework/Test;)V
21: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljunit/framework/TestSuite;
0 22 1 theClass Ljava/lang/Class<*>;
10 22 2 superClass Ljava/lang/Class<*>;
11 22 3 names Ljava/util/List<Ljava/lang/String;>;
14 15 4 each Ljava/lang/reflect/Method;
Exception table:
from to target type
1 2 3 Class java.lang.NoSuchMethodException
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
theClass final
public void <init>(java.lang.Class<? extends junit.framework.TestCase>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial junit.framework.TestSuite.<init>:(Ljava/lang/Class;)V
1: aload 0
aload 2
invokevirtual junit.framework.TestSuite.setName:(Ljava/lang/String;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljunit/framework/TestSuite;
0 3 1 theClass Ljava/lang/Class<+Ljunit/framework/TestCase;>;
0 3 2 name Ljava/lang/String;
Signature: (Ljava/lang/Class<+Ljunit/framework/TestCase;>;Ljava/lang/String;)V
MethodParameters:
Name Flags
theClass
name
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.Vector
dup
bipush 10
invokespecial java.util.Vector.<init>:(I)V
putfield junit.framework.TestSuite.fTests:Ljava/util/Vector;
2: aload 0
aload 1
invokevirtual junit.framework.TestSuite.setName:(Ljava/lang/String;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljunit/framework/TestSuite;
0 4 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public void <init>(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.Vector
dup
bipush 10
invokespecial java.util.Vector.<init>:(I)V
putfield junit.framework.TestSuite.fTests:Ljava/util/Vector;
2: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: junit.framework.TestSuite java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: aload 0
aload 0
aload 2
invokevirtual junit.framework.TestSuite.testCaseForClass:(Ljava/lang/Class;)Ljunit/framework/Test;
invokevirtual junit.framework.TestSuite.addTest:(Ljunit/framework/Test;)V
end local 2 5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 3
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljunit/framework/TestSuite;
0 8 1 classes [Ljava/lang/Class;
4 5 2 each Ljava/lang/Class<*>;
Signature: ([Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
classes
private junit.framework.Test testCaseForClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljunit/framework/Test;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: ldc Ljunit/framework/TestCase;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 2
1: new junit.framework.TestSuite
dup
aload 1
ldc Ljunit/framework/TestCase;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
invokespecial junit.framework.TestSuite.<init>:(Ljava/lang/Class;)V
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " does not extend TestCase"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic junit.framework.TestSuite.warning:(Ljava/lang/String;)Ljunit/framework/Test;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljunit/framework/TestSuite;
0 3 1 each Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljunit/framework/Test;
MethodParameters:
Name Flags
each
public void <init>(java.lang.Class<? extends junit.framework.TestCase>[], java.lang.String);
descriptor: ([Ljava/lang/Class;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial junit.framework.TestSuite.<init>:([Ljava/lang/Class;)V
1: aload 0
aload 2
invokevirtual junit.framework.TestSuite.setName:(Ljava/lang/String;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljunit/framework/TestSuite;
0 3 1 classes [Ljava/lang/Class;
0 3 2 name Ljava/lang/String;
Signature: ([Ljava/lang/Class<+Ljunit/framework/TestCase;>;Ljava/lang/String;)V
MethodParameters:
Name Flags
classes
name
public void addTest(junit.framework.Test);
descriptor: (Ljunit/framework/Test;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield junit.framework.TestSuite.fTests:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljunit/framework/TestSuite;
0 2 1 test Ljunit/framework/Test;
MethodParameters:
Name Flags
test
public void addTestSuite(java.lang.Class<? extends junit.framework.TestCase>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new junit.framework.TestSuite
dup
aload 1
invokespecial junit.framework.TestSuite.<init>:(Ljava/lang/Class;)V
invokevirtual junit.framework.TestSuite.addTest:(Ljunit/framework/Test;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljunit/framework/TestSuite;
0 2 1 testClass Ljava/lang/Class<+Ljunit/framework/TestCase;>;
Signature: (Ljava/lang/Class<+Ljunit/framework/TestCase;>;)V
MethodParameters:
Name Flags
testClass
public int countTestCases();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield junit.framework.TestSuite.fTests:Ljava/util/Vector;
invokevirtual java.util.Vector.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: junit.framework.TestSuite int top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast junit.framework.Test
astore 2
start local 2 3: iload 1
aload 2
invokeinterface junit.framework.Test.countTestCases:()I
iadd
istore 1
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljunit/framework/TestSuite;
1 6 1 count I
3 4 2 each Ljunit/framework/Test;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield junit.framework.TestSuite.fName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljunit/framework/TestSuite;
public void run(junit.framework.TestResult);
descriptor: (Ljunit/framework/TestResult;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield junit.framework.TestSuite.fTests:Ljava/util/Vector;
invokevirtual java.util.Vector.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: junit.framework.TestSuite junit.framework.TestResult top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast junit.framework.Test
astore 2
start local 2 2: aload 1
invokevirtual junit.framework.TestResult.shouldStop:()Z
ifeq 4
3: goto 6
4: StackMap locals: junit.framework.TestSuite junit.framework.TestResult junit.framework.Test java.util.Iterator
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual junit.framework.TestSuite.runTest:(Ljunit/framework/Test;Ljunit/framework/TestResult;)V
end local 2 5: StackMap locals: junit.framework.TestSuite junit.framework.TestResult top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: StackMap locals: junit.framework.TestSuite junit.framework.TestResult
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljunit/framework/TestSuite;
0 7 1 result Ljunit/framework/TestResult;
2 5 2 each Ljunit/framework/Test;
MethodParameters:
Name Flags
result
public void runTest(junit.framework.Test, junit.framework.TestResult);
descriptor: (Ljunit/framework/Test;Ljunit/framework/TestResult;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokeinterface junit.framework.Test.run:(Ljunit/framework/TestResult;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljunit/framework/TestSuite;
0 2 1 test Ljunit/framework/Test;
0 2 2 result Ljunit/framework/TestResult;
MethodParameters:
Name Flags
test
result
public void setName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield junit.framework.TestSuite.fName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljunit/framework/TestSuite;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public junit.framework.Test testAt(int);
descriptor: (I)Ljunit/framework/Test;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield junit.framework.TestSuite.fTests:Ljava/util/Vector;
iload 1
invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
checkcast junit.framework.Test
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljunit/framework/TestSuite;
0 1 1 index I
MethodParameters:
Name Flags
index
public int testCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield junit.framework.TestSuite.fTests:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljunit/framework/TestSuite;
public java.util.Enumeration<junit.framework.Test> tests();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield junit.framework.TestSuite.fTests:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljunit/framework/TestSuite;
Signature: ()Ljava/util/Enumeration<Ljunit/framework/Test;>;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual junit.framework.TestSuite.getName:()Ljava/lang/String;
ifnull 2
1: aload 0
invokevirtual junit.framework.TestSuite.getName:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokespecial java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljunit/framework/TestSuite;
private void addTestMethod(java.lang.reflect.Method, java.util.List<java.lang.String>, java.lang.Class<?>);
descriptor: (Ljava/lang/reflect/Method;Ljava/util/List;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
astore 4
start local 4 1: aload 2
aload 4
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 3
2: return
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 1
invokevirtual junit.framework.TestSuite.isPublicTestMethod:(Ljava/lang/reflect/Method;)Z
ifne 7
4: aload 0
aload 1
invokevirtual junit.framework.TestSuite.isTestMethod:(Ljava/lang/reflect/Method;)Z
ifeq 6
5: aload 0
new java.lang.StringBuilder
dup
ldc "Test method isn't public: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.reflect.Method.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;
aload 3
invokevirtual java.lang.Class.getCanonicalName:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic junit.framework.TestSuite.warning:(Ljava/lang/String;)Ljunit/framework/Test;
invokevirtual junit.framework.TestSuite.addTest:(Ljunit/framework/Test;)V
6: StackMap locals:
StackMap stack:
return
7: StackMap locals:
StackMap stack:
aload 2
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: aload 0
aload 3
aload 4
invokestatic junit.framework.TestSuite.createTest:(Ljava/lang/Class;Ljava/lang/String;)Ljunit/framework/Test;
invokevirtual junit.framework.TestSuite.addTest:(Ljunit/framework/Test;)V
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljunit/framework/TestSuite;
0 10 1 m Ljava/lang/reflect/Method;
0 10 2 names Ljava/util/List<Ljava/lang/String;>;
0 10 3 theClass Ljava/lang/Class<*>;
1 10 4 name Ljava/lang/String;
Signature: (Ljava/lang/reflect/Method;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
m
names
theClass
private boolean isPublicTestMethod(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual junit.framework.TestSuite.isTestMethod:(Ljava/lang/reflect/Method;)Z
ifeq 1
aload 1
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljunit/framework/TestSuite;
0 2 1 m Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
m
private boolean isTestMethod(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
arraylength
ifne 4
1: aload 1
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
ldc "test"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
2: aload 1
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljunit/framework/TestSuite;
0 5 1 m Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
m
}
SourceFile: "TestSuite.java"
NestMembers:
junit.framework.TestSuite$1
InnerClasses:
junit.framework.TestSuite$1