class org.junit.jupiter.engine.extension.RepeatedTestExtension implements org.junit.jupiter.api.extension.TestTemplateInvocationContextProvider
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.junit.jupiter.engine.extension.RepeatedTestExtension
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/junit/jupiter/engine/extension/RepeatedTestExtension;
public boolean supportsTestTemplate(org.junit.jupiter.api.extension.ExtensionContext);
descriptor: (Lorg/junit/jupiter/api/extension/ExtensionContext;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.junit.jupiter.api.extension.ExtensionContext.getTestMethod:()Ljava/util/Optional;
ldc Lorg/junit/jupiter/api/RepeatedTest;
invokestatic org.junit.platform.commons.util.AnnotationUtils.isAnnotated:(Ljava/util/Optional;Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/junit/jupiter/engine/extension/RepeatedTestExtension;
0 1 1 context Lorg/junit/jupiter/api/extension/ExtensionContext;
MethodParameters:
Name Flags
context
public java.util.stream.Stream<org.junit.jupiter.api.extension.TestTemplateInvocationContext> provideTestTemplateInvocationContexts(org.junit.jupiter.api.extension.ExtensionContext);
descriptor: (Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.junit.jupiter.api.extension.ExtensionContext.getRequiredTestMethod:()Ljava/lang/reflect/Method;
astore 2
start local 2 1: aload 1
invokeinterface org.junit.jupiter.api.extension.ExtensionContext.getDisplayName:()Ljava/lang/String;
astore 3
start local 3 2: aload 2
ldc Lorg/junit/jupiter/api/RepeatedTest;
invokestatic org.junit.platform.commons.util.AnnotationUtils.findAnnotation:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/util/Optional;
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast org.junit.jupiter.api.RepeatedTest
astore 4
start local 4 3: aload 0
aload 4
aload 2
invokevirtual org.junit.jupiter.engine.extension.RepeatedTestExtension.totalRepetitions:(Lorg/junit/jupiter/api/RepeatedTest;Ljava/lang/reflect/Method;)I
istore 5
start local 5 4: aload 0
aload 4
aload 2
aload 3
invokevirtual org.junit.jupiter.engine.extension.RepeatedTestExtension.displayNameFormatter:(Lorg/junit/jupiter/api/RepeatedTest;Ljava/lang/reflect/Method;Ljava/lang/String;)Lorg/junit/jupiter/engine/extension/RepeatedTestDisplayNameFormatter;
astore 6
start local 6 5: iconst_1
iload 5
invokestatic java.util.stream.IntStream.rangeClosed:(II)Ljava/util/stream/IntStream;
6: iload 5
aload 6
invokedynamic apply(ILorg/junit/jupiter/engine/extension/RepeatedTestDisplayNameFormatter;)Ljava/util/function/IntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Ljava/lang/Object;
org/junit/jupiter/engine/extension/RepeatedTestExtension.lambda$0(ILorg/junit/jupiter/engine/extension/RepeatedTestDisplayNameFormatter;I)Lorg/junit/jupiter/api/extension/TestTemplateInvocationContext; (6)
(I)Lorg/junit/jupiter/api/extension/TestTemplateInvocationContext;
invokeinterface java.util.stream.IntStream.mapToObj:(Ljava/util/function/IntFunction;)Ljava/util/stream/Stream;
7: areturn
end local 6 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 8 0 this Lorg/junit/jupiter/engine/extension/RepeatedTestExtension;
0 8 1 context Lorg/junit/jupiter/api/extension/ExtensionContext;
1 8 2 testMethod Ljava/lang/reflect/Method;
2 8 3 displayName Ljava/lang/String;
3 8 4 repeatedTest Lorg/junit/jupiter/api/RepeatedTest;
4 8 5 totalRepetitions I
5 8 6 formatter Lorg/junit/jupiter/engine/extension/RepeatedTestDisplayNameFormatter;
Signature: (Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/util/stream/Stream<Lorg/junit/jupiter/api/extension/TestTemplateInvocationContext;>;
MethodParameters:
Name Flags
context
private int totalRepetitions(org.junit.jupiter.api.RepeatedTest, java.lang.reflect.Method);
descriptor: (Lorg/junit/jupiter/api/RepeatedTest;Ljava/lang/reflect/Method;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.junit.jupiter.api.RepeatedTest.value:()I
istore 3
start local 3 1: iload 3
ifle 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: aload 2
invokedynamic get(Ljava/lang/reflect/Method;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/junit/jupiter/engine/extension/RepeatedTestExtension.lambda$1(Ljava/lang/reflect/Method;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokestatic org.junit.platform.commons.util.Preconditions.condition:(ZLjava/util/function/Supplier;)V
4: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/junit/jupiter/engine/extension/RepeatedTestExtension;
0 5 1 repeatedTest Lorg/junit/jupiter/api/RepeatedTest;
0 5 2 method Ljava/lang/reflect/Method;
1 5 3 repetitions I
MethodParameters:
Name Flags
repeatedTest
method
private org.junit.jupiter.engine.extension.RepeatedTestDisplayNameFormatter displayNameFormatter(org.junit.jupiter.api.RepeatedTest, java.lang.reflect.Method, java.lang.String);
descriptor: (Lorg/junit/jupiter/api/RepeatedTest;Ljava/lang/reflect/Method;Ljava/lang/String;)Lorg/junit/jupiter/engine/extension/RepeatedTestDisplayNameFormatter;
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
invokeinterface org.junit.jupiter.api.RepeatedTest.name:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
aload 2
invokedynamic get(Ljava/lang/reflect/Method;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/junit/jupiter/engine/extension/RepeatedTestExtension.lambda$2(Ljava/lang/reflect/Method;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokestatic org.junit.platform.commons.util.Preconditions.notBlank:(Ljava/lang/String;Ljava/util/function/Supplier;)Ljava/lang/String;
astore 4
start local 4 1: new org.junit.jupiter.engine.extension.RepeatedTestDisplayNameFormatter
dup
aload 4
aload 3
invokespecial org.junit.jupiter.engine.extension.RepeatedTestDisplayNameFormatter.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/junit/jupiter/engine/extension/RepeatedTestExtension;
0 2 1 repeatedTest Lorg/junit/jupiter/api/RepeatedTest;
0 2 2 method Ljava/lang/reflect/Method;
0 2 3 displayName Ljava/lang/String;
1 2 4 pattern Ljava/lang/String;
MethodParameters:
Name Flags
repeatedTest
method
displayName
private static org.junit.jupiter.api.extension.TestTemplateInvocationContext lambda$0(int, org.junit.jupiter.engine.extension.RepeatedTestDisplayNameFormatter, int);
descriptor: (ILorg/junit/jupiter/engine/extension/RepeatedTestDisplayNameFormatter;I)Lorg/junit/jupiter/api/extension/TestTemplateInvocationContext;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=3, args_size=3
start local 2 0: new org.junit.jupiter.engine.extension.RepeatedTestInvocationContext
dup
iload 2
iload 0
aload 1
invokespecial org.junit.jupiter.engine.extension.RepeatedTestInvocationContext.<init>:(IILorg/junit/jupiter/engine/extension/RepeatedTestDisplayNameFormatter;)V
areturn
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 1 2 repetition I
private static java.lang.String lambda$1(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=1, args_size=1
0: ldc "Configuration error: @RepeatedTest on method [%s] must be declared with a positive 'value'."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
1: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
2: areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String lambda$2(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=1, args_size=1
0: ldc "Configuration error: @RepeatedTest on method [%s] must be declared with a non-empty name."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
1: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
2: areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "RepeatedTestExtension.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles