public class org.junit.runners.Parameterized extends org.junit.runners.Suite
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.junit.runners.Parameterized
super_class: org.junit.runners.Suite
{
private static final org.junit.runners.parameterized.ParametersRunnerFactory DEFAULT_FACTORY;
descriptor: Lorg/junit/runners/parameterized/ParametersRunnerFactory;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.List<org.junit.runner.Runner> NO_RUNNERS;
descriptor: Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Lorg/junit/runner/Runner;>;
private final java.util.List<org.junit.runner.Runner> runners;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/junit/runner/Runner;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParametersFactory
dup
invokespecial org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParametersFactory.<init>:()V
putstatic org.junit.runners.Parameterized.DEFAULT_FACTORY:Lorg/junit/runners/parameterized/ParametersRunnerFactory;
1: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putstatic org.junit.runners.Parameterized.NO_RUNNERS:Ljava/util/List;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic org.junit.runners.Parameterized.NO_RUNNERS:Ljava/util/List;
invokespecial org.junit.runners.Suite.<init>:(Ljava/lang/Class;Ljava/util/List;)V
1: aload 0
2: aload 1
3: invokevirtual org.junit.runners.Parameterized.getParametersRunnerFactory:(Ljava/lang/Class;)Lorg/junit/runners/parameterized/ParametersRunnerFactory;
astore 2
start local 2 4: aload 0
invokevirtual org.junit.runners.Parameterized.getParametersMethod:()Lorg/junit/runners/model/FrameworkMethod;
5: ldc Lorg/junit/runners/Parameterized$Parameters;
6: invokevirtual org.junit.runners.model.FrameworkMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.junit.runners.Parameterized$Parameters
astore 3
start local 3 7: aload 0
aload 0
8: aload 0
invokevirtual org.junit.runners.Parameterized.allParameters:()Ljava/lang/Iterable;
aload 3
invokeinterface org.junit.runners.Parameterized$Parameters.name:()Ljava/lang/String;
aload 2
9: invokevirtual org.junit.runners.Parameterized.createRunnersForParameters:(Ljava/lang/Iterable;Ljava/lang/String;Lorg/junit/runners/parameterized/ParametersRunnerFactory;)Ljava/util/List;
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
putfield org.junit.runners.Parameterized.runners:Ljava/util/List;
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/junit/runners/Parameterized;
0 11 1 klass Ljava/lang/Class<*>;
4 11 2 runnerFactory Lorg/junit/runners/parameterized/ParametersRunnerFactory;
7 11 3 parameters Lorg/junit/runners/Parameterized$Parameters;
Exceptions:
throws java.lang.Throwable
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
klass
private org.junit.runners.parameterized.ParametersRunnerFactory getParametersRunnerFactory(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Lorg/junit/runners/parameterized/ParametersRunnerFactory;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
1: ldc Lorg/junit/runners/Parameterized$UseParametersRunnerFactory;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.junit.runners.Parameterized$UseParametersRunnerFactory
2: astore 2
start local 2 3: aload 2
ifnonnull 5
4: getstatic org.junit.runners.Parameterized.DEFAULT_FACTORY:Lorg/junit/runners/parameterized/ParametersRunnerFactory;
areturn
5: StackMap locals: org.junit.runners.Parameterized$UseParametersRunnerFactory
StackMap stack:
aload 2
6: invokeinterface org.junit.runners.Parameterized$UseParametersRunnerFactory.value:()Ljava/lang/Class;
7: astore 3
start local 3 8: aload 3
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast org.junit.runners.parameterized.ParametersRunnerFactory
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/junit/runners/Parameterized;
0 9 1 klass Ljava/lang/Class<*>;
3 9 2 annotation Lorg/junit/runners/Parameterized$UseParametersRunnerFactory;
8 9 3 factoryClass Ljava/lang/Class<+Lorg/junit/runners/parameterized/ParametersRunnerFactory;>;
Exceptions:
throws java.lang.InstantiationException, java.lang.IllegalAccessException
Signature: (Ljava/lang/Class<*>;)Lorg/junit/runners/parameterized/ParametersRunnerFactory;
MethodParameters:
Name Flags
klass
protected java.util.List<org.junit.runner.Runner> getChildren();
descriptor: ()Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.junit.runners.Parameterized.runners:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/junit/runners/Parameterized;
Signature: ()Ljava/util/List<Lorg/junit/runner/Runner;>;
private org.junit.runners.parameterized.TestWithParameters createTestWithNotNormalizedParameters(java.lang.String, int, java.lang.Object);
descriptor: (Ljava/lang/String;ILjava/lang/Object;)Lorg/junit/runners/parameterized/TestWithParameters;
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 3
instanceof java.lang.Object[]
ifeq 1
aload 3
checkcast java.lang.Object[]
goto 2
1: StackMap locals:
StackMap stack:
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
2: StackMap locals:
StackMap stack: java.lang.Object[]
astore 4
start local 4 3: aload 0
invokevirtual org.junit.runners.Parameterized.getTestClass:()Lorg/junit/runners/model/TestClass;
aload 1
iload 2
4: aload 4
5: invokestatic org.junit.runners.Parameterized.createTestWithParameters:(Lorg/junit/runners/model/TestClass;Ljava/lang/String;I[Ljava/lang/Object;)Lorg/junit/runners/parameterized/TestWithParameters;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/junit/runners/Parameterized;
0 6 1 pattern Ljava/lang/String;
0 6 2 index I
0 6 3 parametersOrSingleParameter Ljava/lang/Object;
3 6 4 parameters [Ljava/lang/Object;
MethodParameters:
Name Flags
pattern
index
parametersOrSingleParameter
private java.lang.Iterable<java.lang.Object> allParameters();
descriptor: ()Ljava/lang/Iterable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.junit.runners.Parameterized.getParametersMethod:()Lorg/junit/runners/model/FrameworkMethod;
aconst_null
iconst_0
anewarray java.lang.Object
invokevirtual org.junit.runners.model.FrameworkMethod.invokeExplosively:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 1
start local 1 1: aload 1
instanceof java.lang.Iterable
ifeq 3
2: aload 1
checkcast java.lang.Iterable
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 1
instanceof java.lang.Object[]
ifeq 5
4: aload 1
checkcast java.lang.Object[]
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.junit.runners.Parameterized.parametersMethodReturnedWrongType:()Ljava/lang/Exception;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/junit/runners/Parameterized;
1 6 1 parameters Ljava/lang/Object;
Exceptions:
throws java.lang.Throwable
Signature: ()Ljava/lang/Iterable<Ljava/lang/Object;>;
private org.junit.runners.model.FrameworkMethod getParametersMethod();
descriptor: ()Lorg/junit/runners/model/FrameworkMethod;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual org.junit.runners.Parameterized.getTestClass:()Lorg/junit/runners/model/TestClass;
1: ldc Lorg/junit/runners/Parameterized$Parameters;
2: invokevirtual org.junit.runners.model.TestClass.getAnnotatedMethods:(Ljava/lang/Class;)Ljava/util/List;
astore 1
start local 1 3: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: org.junit.runners.Parameterized java.util.List top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.junit.runners.model.FrameworkMethod
astore 2
start local 2 5: aload 2
invokevirtual org.junit.runners.model.FrameworkMethod.isStatic:()Z
ifeq 7
aload 2
invokevirtual org.junit.runners.model.FrameworkMethod.isPublic:()Z
ifeq 7
6: aload 2
areturn
end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
8: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
ldc "No public static parameters method on class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 0
invokevirtual org.junit.runners.Parameterized.getTestClass:()Lorg/junit/runners/model/TestClass;
invokevirtual org.junit.runners.model.TestClass.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/junit/runners/Parameterized;
3 11 1 methods Ljava/util/List<Lorg/junit/runners/model/FrameworkMethod;>;
5 7 2 each Lorg/junit/runners/model/FrameworkMethod;
Exceptions:
throws java.lang.Exception
private java.util.List<org.junit.runner.Runner> createRunnersForParameters(java.lang.Iterable<java.lang.Object>, java.lang.String, org.junit.runners.parameterized.ParametersRunnerFactory);
descriptor: (Ljava/lang/Iterable;Ljava/lang/String;Lorg/junit/runners/parameterized/ParametersRunnerFactory;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
1: aload 1
aload 2
2: invokevirtual org.junit.runners.Parameterized.createTestsForParameters:(Ljava/lang/Iterable;Ljava/lang/String;)Ljava/util/List;
astore 4
start local 4 3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 4: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 9
StackMap locals: org.junit.runners.Parameterized java.lang.Iterable java.lang.String org.junit.runners.parameterized.ParametersRunnerFactory java.util.List java.util.List top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.junit.runners.parameterized.TestWithParameters
astore 6
start local 6 6: aload 5
aload 3
7: aload 6
invokeinterface org.junit.runners.parameterized.ParametersRunnerFactory.createRunnerForTestWithParameters:(Lorg/junit/runners/parameterized/TestWithParameters;)Lorg/junit/runner/Runner;
8: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 9: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
10: aload 5
11: areturn
end local 5 end local 4 12: StackMap locals: org.junit.runners.Parameterized java.lang.Iterable java.lang.String org.junit.runners.parameterized.ParametersRunnerFactory
StackMap stack: java.lang.ClassCastException
pop
13: aload 0
invokevirtual org.junit.runners.Parameterized.parametersMethodReturnedWrongType:()Ljava/lang/Exception;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/junit/runners/Parameterized;
0 14 1 allParameters Ljava/lang/Iterable<Ljava/lang/Object;>;
0 14 2 namePattern Ljava/lang/String;
0 14 3 runnerFactory Lorg/junit/runners/parameterized/ParametersRunnerFactory;
3 12 4 tests Ljava/util/List<Lorg/junit/runners/parameterized/TestWithParameters;>;
4 12 5 runners Ljava/util/List<Lorg/junit/runner/Runner;>;
6 9 6 test Lorg/junit/runners/parameterized/TestWithParameters;
Exception table:
from to target type
0 11 12 Class java.lang.ClassCastException
Exceptions:
throws org.junit.runners.model.InitializationError, java.lang.Exception
Signature: (Ljava/lang/Iterable<Ljava/lang/Object;>;Ljava/lang/String;Lorg/junit/runners/parameterized/ParametersRunnerFactory;)Ljava/util/List<Lorg/junit/runner/Runner;>;
MethodParameters:
Name Flags
allParameters
namePattern
runnerFactory
private java.util.List<org.junit.runners.parameterized.TestWithParameters> createTestsForParameters(java.lang.Iterable<java.lang.Object>, java.lang.String);
descriptor: (Ljava/lang/Iterable;Ljava/lang/String;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 2: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 7
StackMap locals: org.junit.runners.Parameterized java.lang.Iterable java.lang.String int java.util.List top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 4: aload 4
aload 0
aload 2
5: iload 3
iinc 3 1
aload 5
6: invokevirtual org.junit.runners.Parameterized.createTestWithNotNormalizedParameters:(Ljava/lang/String;ILjava/lang/Object;)Lorg/junit/runners/parameterized/TestWithParameters;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 7: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/junit/runners/Parameterized;
0 9 1 allParameters Ljava/lang/Iterable<Ljava/lang/Object;>;
0 9 2 namePattern Ljava/lang/String;
1 9 3 i I
2 9 4 children Ljava/util/List<Lorg/junit/runners/parameterized/TestWithParameters;>;
4 7 5 parametersOfSingleTest Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
Signature: (Ljava/lang/Iterable<Ljava/lang/Object;>;Ljava/lang/String;)Ljava/util/List<Lorg/junit/runners/parameterized/TestWithParameters;>;
MethodParameters:
Name Flags
allParameters
namePattern
private java.lang.Exception parametersMethodReturnedWrongType();
descriptor: ()Ljava/lang/Exception;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual org.junit.runners.Parameterized.getTestClass:()Lorg/junit/runners/model/TestClass;
invokevirtual org.junit.runners.model.TestClass.getName:()Ljava/lang/String;
astore 1
start local 1 1: aload 0
invokevirtual org.junit.runners.Parameterized.getParametersMethod:()Lorg/junit/runners/model/FrameworkMethod;
invokevirtual org.junit.runners.model.FrameworkMethod.getName:()Ljava/lang/String;
astore 2
start local 2 2: ldc "{0}.{1}() must return an Iterable of arrays."
iconst_2
anewarray java.lang.Object
dup
iconst_0
3: aload 1
aastore
dup
iconst_1
aload 2
aastore
4: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 5: new java.lang.Exception
dup
aload 3
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/junit/runners/Parameterized;
1 6 1 className Ljava/lang/String;
2 6 2 methodName Ljava/lang/String;
5 6 3 message Ljava/lang/String;
Exceptions:
throws java.lang.Exception
private static org.junit.runners.parameterized.TestWithParameters createTestWithParameters(org.junit.runners.model.TestClass, java.lang.String, int, java.lang.Object[]);
descriptor: (Lorg/junit/runners/model/TestClass;Ljava/lang/String;I[Ljava/lang/Object;)Lorg/junit/runners/parameterized/TestWithParameters;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc "\\{index\\}"
1: iload 2
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
2: invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 3: aload 4
aload 3
invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 5
start local 5 4: new org.junit.runners.parameterized.TestWithParameters
dup
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
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;
aload 0
5: aload 3
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
6: invokespecial org.junit.runners.parameterized.TestWithParameters.<init>:(Ljava/lang/String;Lorg/junit/runners/model/TestClass;Ljava/util/List;)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 testClass Lorg/junit/runners/model/TestClass;
0 7 1 pattern Ljava/lang/String;
0 7 2 index I
0 7 3 parameters [Ljava/lang/Object;
3 7 4 finalPattern Ljava/lang/String;
4 7 5 name Ljava/lang/String;
MethodParameters:
Name Flags
testClass
pattern
index
parameters
}
SourceFile: "Parameterized.java"
NestMembers:
org.junit.runners.Parameterized$Parameter org.junit.runners.Parameterized$Parameters org.junit.runners.Parameterized$UseParametersRunnerFactory
InnerClasses:
public abstract Parameter = org.junit.runners.Parameterized$Parameter of org.junit.runners.Parameterized
public abstract Parameters = org.junit.runners.Parameterized$Parameters of org.junit.runners.Parameterized
public abstract UseParametersRunnerFactory = org.junit.runners.Parameterized$UseParametersRunnerFactory of org.junit.runners.Parameterized