public class org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor extends org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor implements org.junit.jupiter.engine.descriptor.Filterable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor
super_class: org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor
{
public static final java.lang.String SEGMENT_TYPE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "test-factory"
public static final java.lang.String DYNAMIC_CONTAINER_SEGMENT_TYPE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "dynamic-container"
public static final java.lang.String DYNAMIC_TEST_SEGMENT_TYPE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "dynamic-test"
private static final org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall<java.lang.reflect.Method, java.lang.Object> interceptorCall;
descriptor: Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall<Ljava/lang/reflect/Method;Ljava/lang/Object;>;
private static final org.junit.jupiter.engine.execution.ExecutableInvoker executableInvoker;
descriptor: Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.junit.jupiter.engine.descriptor.DynamicDescendantFilter dynamicDescendantFilter;
descriptor: Lorg/junit/jupiter/engine/descriptor/DynamicDescendantFilter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokedynamic apply()Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;
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:
(Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object;
org/junit/jupiter/api/extension/InvocationInterceptor.interceptTestFactoryMethod(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object; (9 itf)
(Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object;
putstatic org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.interceptorCall:Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;
1: new org.junit.jupiter.engine.execution.ExecutableInvoker
dup
invokespecial org.junit.jupiter.engine.execution.ExecutableInvoker.<init>:()V
putstatic org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.executableInvoker:Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.junit.platform.engine.UniqueId, java.lang.Class<?>, java.lang.reflect.Method, org.junit.jupiter.engine.config.JupiterConfiguration);
descriptor: (Lorg/junit/platform/engine/UniqueId;Ljava/lang/Class;Ljava/lang/reflect/Method;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
invokespecial org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.<init>:(Lorg/junit/platform/engine/UniqueId;Ljava/lang/Class;Ljava/lang/reflect/Method;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)V
1: aload 0
new org.junit.jupiter.engine.descriptor.DynamicDescendantFilter
dup
invokespecial org.junit.jupiter.engine.descriptor.DynamicDescendantFilter.<init>:()V
putfield org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.dynamicDescendantFilter:Lorg/junit/jupiter/engine/descriptor/DynamicDescendantFilter;
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor;
0 3 1 uniqueId Lorg/junit/platform/engine/UniqueId;
0 3 2 testClass Ljava/lang/Class<*>;
0 3 3 testMethod Ljava/lang/reflect/Method;
0 3 4 configuration Lorg/junit/jupiter/engine/config/JupiterConfiguration;
Signature: (Lorg/junit/platform/engine/UniqueId;Ljava/lang/Class<*>;Ljava/lang/reflect/Method;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)V
MethodParameters:
Name Flags
uniqueId
testClass
testMethod
configuration
public org.junit.jupiter.engine.descriptor.DynamicDescendantFilter getDynamicDescendantFilter();
descriptor: ()Lorg/junit/jupiter/engine/descriptor/DynamicDescendantFilter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.dynamicDescendantFilter:Lorg/junit/jupiter/engine/descriptor/DynamicDescendantFilter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor;
public org.junit.platform.engine.TestDescriptor$Type getType();
descriptor: ()Lorg/junit/platform/engine/TestDescriptor$Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.junit.platform.engine.TestDescriptor$Type.CONTAINER:Lorg/junit/platform/engine/TestDescriptor$Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor;
public boolean mayRegisterTests();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor;
protected void invokeTestMethod(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext, org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor);
descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/platform/engine/support/hierarchical/Node$DynamicTestExecutor;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionContext:()Lorg/junit/jupiter/api/extension/ExtensionContext;
astore 3
start local 3 1: aload 1
invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getThrowableCollector:()Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
aload 0
aload 3
aload 1
aload 2
invokedynamic execute(Lorg/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/platform/engine/support/hierarchical/Node$DynamicTestExecutor;)Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;
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:
()V
org/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor.lambda$1(Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/platform/engine/support/hierarchical/Node$DynamicTestExecutor;)V (7)
()V
invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute:(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor;
0 3 1 context Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
0 3 2 dynamicTestExecutor Lorg/junit/platform/engine/support/hierarchical/Node$DynamicTestExecutor;
1 3 3 extensionContext Lorg/junit/jupiter/api/extension/ExtensionContext;
MethodParameters:
Name Flags
context
dynamicTestExecutor
private java.util.stream.Stream<org.junit.jupiter.api.DynamicNode> toDynamicNodeStream();
descriptor: (Ljava/lang/Object;)Ljava/util/stream/Stream;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.junit.jupiter.api.DynamicNode
ifeq 2
1: aload 1
checkcast org.junit.jupiter.api.DynamicNode
invokestatic java.util.stream.Stream.of:(Ljava/lang/Object;)Ljava/util/stream/Stream;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic org.junit.platform.commons.util.CollectionUtils.toStream:(Ljava/lang/Object;)Ljava/util/stream/Stream;
3: areturn
4: StackMap locals:
StackMap stack: org.junit.platform.commons.PreconditionViolationException
astore 2
start local 2 5: aload 0
aload 2
invokevirtual org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.invalidReturnTypeException:(Ljava/lang/Throwable;)Lorg/junit/platform/commons/JUnitException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor;
0 6 1 testFactoryMethodResult Ljava/lang/Object;
5 6 2 ex Lorg/junit/platform/commons/PreconditionViolationException;
Exception table:
from to target type
2 3 4 Class org.junit.platform.commons.PreconditionViolationException
Signature: (Ljava/lang/Object;)Ljava/util/stream/Stream<Lorg/junit/jupiter/api/DynamicNode;>;
MethodParameters:
Name Flags
testFactoryMethodResult
private org.junit.platform.commons.JUnitException invalidReturnTypeException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Lorg/junit/platform/commons/JUnitException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: ldc "@TestFactory method [%s] must return a single %2$s or a Stream, Collection, Iterable, Iterator, or array of %2$s."
iconst_2
anewarray java.lang.Object
dup
iconst_0
1: aload 0
invokevirtual org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.getTestMethod:()Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.toGenericString:()Ljava/lang/String;
aastore
dup
iconst_1
ldc Lorg/junit/jupiter/api/DynamicNode;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
2: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 3: new org.junit.platform.commons.JUnitException
dup
aload 2
aload 1
invokespecial org.junit.platform.commons.JUnitException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor;
0 4 1 cause Ljava/lang/Throwable;
3 4 2 message Ljava/lang/String;
MethodParameters:
Name Flags
cause
static java.util.Optional<org.junit.jupiter.engine.descriptor.JupiterTestDescriptor> createDynamicDescriptor(org.junit.jupiter.engine.descriptor.JupiterTestDescriptor, org.junit.jupiter.api.DynamicNode, int, org.junit.platform.engine.TestSource, org.junit.jupiter.engine.descriptor.DynamicDescendantFilter, org.junit.jupiter.engine.config.JupiterConfiguration);
descriptor: (Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor;Lorg/junit/jupiter/api/DynamicNode;ILorg/junit/platform/engine/TestSource;Lorg/junit/jupiter/engine/descriptor/DynamicDescendantFilter;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)Ljava/util/Optional;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
invokevirtual org.junit.jupiter.api.DynamicNode.getTestSourceUri:()Ljava/util/Optional;
invokedynamic apply()Ljava/util/function/Function;
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;)Ljava/lang/Object;
org/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor.fromUri(Ljava/net/URI;)Lorg/junit/platform/engine/TestSource; (6)
(Ljava/net/URI;)Lorg/junit/platform/engine/TestSource;
invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
astore 8
start local 8 1: aload 8
aload 3
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.junit.platform.engine.TestSource
astore 9
start local 9 2: aload 1
instanceof org.junit.jupiter.api.DynamicTest
ifeq 7
3: aload 1
checkcast org.junit.jupiter.api.DynamicTest
astore 10
start local 10 4: aload 0
invokevirtual org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.getUniqueId:()Lorg/junit/platform/engine/UniqueId;
ldc "dynamic-test"
new java.lang.StringBuilder
dup
ldc "#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.junit.platform.engine.UniqueId.append:(Ljava/lang/String;Ljava/lang/String;)Lorg/junit/platform/engine/UniqueId;
astore 6
start local 6 5: aload 6
iload 2
aload 10
aload 9
aload 5
invokedynamic get(Lorg/junit/platform/engine/UniqueId;ILorg/junit/jupiter/api/DynamicTest;Lorg/junit/platform/engine/TestSource;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)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/descriptor/TestFactoryTestDescriptor.lambda$5(Lorg/junit/platform/engine/UniqueId;ILorg/junit/jupiter/api/DynamicTest;Lorg/junit/platform/engine/TestSource;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor; (6)
()Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor;
astore 7
end local 10 start local 7 6: goto 10
end local 7 end local 6 7: StackMap locals: org.junit.jupiter.engine.descriptor.JupiterTestDescriptor org.junit.jupiter.api.DynamicNode int org.junit.platform.engine.TestSource org.junit.jupiter.engine.descriptor.DynamicDescendantFilter org.junit.jupiter.engine.config.JupiterConfiguration top top java.util.Optional org.junit.platform.engine.TestSource
StackMap stack:
aload 1
checkcast org.junit.jupiter.api.DynamicContainer
astore 10
start local 10 8: aload 0
invokevirtual org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.getUniqueId:()Lorg/junit/platform/engine/UniqueId;
ldc "dynamic-container"
new java.lang.StringBuilder
dup
ldc "#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.junit.platform.engine.UniqueId.append:(Ljava/lang/String;Ljava/lang/String;)Lorg/junit/platform/engine/UniqueId;
astore 6
start local 6 9: aload 6
iload 2
aload 10
aload 9
aload 4
aload 5
invokedynamic get(Lorg/junit/platform/engine/UniqueId;ILorg/junit/jupiter/api/DynamicContainer;Lorg/junit/platform/engine/TestSource;Lorg/junit/jupiter/engine/descriptor/DynamicDescendantFilter;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)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/descriptor/TestFactoryTestDescriptor.lambda$6(Lorg/junit/platform/engine/UniqueId;ILorg/junit/jupiter/api/DynamicContainer;Lorg/junit/platform/engine/TestSource;Lorg/junit/jupiter/engine/descriptor/DynamicDescendantFilter;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor; (6)
()Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor;
astore 7
end local 10 start local 7 10: StackMap locals: org.junit.jupiter.engine.descriptor.JupiterTestDescriptor org.junit.jupiter.api.DynamicNode int org.junit.platform.engine.TestSource org.junit.jupiter.engine.descriptor.DynamicDescendantFilter org.junit.jupiter.engine.config.JupiterConfiguration org.junit.platform.engine.UniqueId java.util.function.Supplier java.util.Optional org.junit.platform.engine.TestSource
StackMap stack:
aload 4
aload 6
invokevirtual org.junit.jupiter.engine.descriptor.DynamicDescendantFilter.test:(Lorg/junit/platform/engine/UniqueId;)Z
ifeq 14
11: aload 7
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast org.junit.jupiter.engine.descriptor.JupiterTestDescriptor
astore 10
start local 10 12: aload 0
aload 10
invokevirtual org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.addChild:(Lorg/junit/platform/engine/TestDescriptor;)V
13: aload 10
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 10 14: StackMap locals:
StackMap stack:
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
end local 9 end local 8 end local 7 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 15 0 parent Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor;
0 15 1 node Lorg/junit/jupiter/api/DynamicNode;
0 15 2 index I
0 15 3 defaultTestSource Lorg/junit/platform/engine/TestSource;
0 15 4 dynamicDescendantFilter Lorg/junit/jupiter/engine/descriptor/DynamicDescendantFilter;
0 15 5 configuration Lorg/junit/jupiter/engine/config/JupiterConfiguration;
5 7 6 uniqueId Lorg/junit/platform/engine/UniqueId;
9 15 6 uniqueId Lorg/junit/platform/engine/UniqueId;
6 7 7 descriptorCreator Ljava/util/function/Supplier<Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor;>;
10 15 7 descriptorCreator Ljava/util/function/Supplier<Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor;>;
1 15 8 customTestSource Ljava/util/Optional<Lorg/junit/platform/engine/TestSource;>;
2 15 9 source Lorg/junit/platform/engine/TestSource;
4 6 10 test Lorg/junit/jupiter/api/DynamicTest;
8 10 10 container Lorg/junit/jupiter/api/DynamicContainer;
12 14 10 descriptor Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor;
Signature: (Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor;Lorg/junit/jupiter/api/DynamicNode;ILorg/junit/platform/engine/TestSource;Lorg/junit/jupiter/engine/descriptor/DynamicDescendantFilter;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)Ljava/util/Optional<Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor;>;
MethodParameters:
Name Flags
parent
node
index
defaultTestSource
dynamicDescendantFilter
configuration
static org.junit.platform.engine.TestSource fromUri(java.net.URI);
descriptor: (Ljava/net/URI;)Lorg/junit/platform/engine/TestSource;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "URI must not be null"
invokestatic org.junit.platform.commons.util.Preconditions.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: ldc "classpath"
aload 0
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: aload 0
invokestatic org.junit.platform.engine.support.descriptor.ClasspathResourceSource.from:(Ljava/net/URI;)Lorg/junit/platform/engine/support/descriptor/ClasspathResourceSource;
areturn
3: StackMap locals:
StackMap stack:
ldc "method"
aload 0
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 0
invokestatic org.junit.jupiter.engine.descriptor.MethodSourceSupport.from:(Ljava/net/URI;)Lorg/junit/platform/engine/support/descriptor/MethodSource;
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokestatic org.junit.platform.engine.support.descriptor.UriSource.from:(Ljava/net/URI;)Lorg/junit/platform/engine/support/descriptor/UriSource;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 uri Ljava/net/URI;
MethodParameters:
Name Flags
uri
public void nodeSkipped(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext, org.junit.platform.engine.TestDescriptor, org.junit.platform.engine.support.hierarchical.Node$SkipResult);
descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/platform/engine/TestDescriptor;Lorg/junit/platform/engine/support/hierarchical/Node$SkipResult;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor;
0 1 1 context Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
0 1 2 descriptor Lorg/junit/platform/engine/TestDescriptor;
0 1 3 result Lorg/junit/platform/engine/support/hierarchical/Node$SkipResult;
MethodParameters:
Name Flags
context
descriptor
result
public void nodeFinished(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext, org.junit.platform.engine.TestDescriptor, org.junit.platform.engine.TestExecutionResult);
descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/platform/engine/TestDescriptor;Lorg/junit/platform/engine/TestExecutionResult;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor;
0 1 1 context Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
0 1 2 descriptor Lorg/junit/platform/engine/TestDescriptor;
0 1 3 result Lorg/junit/platform/engine/TestExecutionResult;
MethodParameters:
Name Flags
context
descriptor
result
private void lambda$1(org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.execution.JupiterEngineExecutionContext, org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor);
descriptor: (Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/platform/engine/support/hierarchical/Node$DynamicTestExecutor;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=14, args_size=4
start local 0 0: aload 1
invokeinterface org.junit.jupiter.api.extension.ExtensionContext.getRequiredTestInstance:()Ljava/lang/Object;
astore 4
start local 4 1: getstatic org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.executableInvoker:Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
aload 0
invokevirtual org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.getTestMethod:()Ljava/lang/reflect/Method;
aload 4
aload 1
2: aload 2
invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionRegistry:()Lorg/junit/jupiter/engine/extension/MutableExtensionRegistry;
getstatic org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.interceptorCall:Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;
3: invokevirtual org.junit.jupiter.engine.execution.ExecutableInvoker.invoke:(Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;)Ljava/lang/Object;
astore 5
start local 5 4: aload 0
invokevirtual org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.getSource:()Ljava/util/Optional;
5: invokedynamic get()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/descriptor/TestFactoryTestDescriptor.lambda$2()Lorg/junit/platform/commons/JUnitException; (6)
()Lorg/junit/platform/commons/JUnitException;
6: invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast org.junit.platform.engine.TestSource
astore 6
start local 6 7: aconst_null
astore 7
aconst_null
astore 8
8: aload 0
aload 5
invokevirtual org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.toDynamicNodeStream:(Ljava/lang/Object;)Ljava/util/stream/Stream;
astore 9
start local 9 9: iconst_1
istore 10
start local 10 10: aload 9
invokeinterface java.util.stream.Stream.iterator:()Ljava/util/Iterator;
astore 11
start local 11 11: goto 17
12: StackMap locals: org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor org.junit.jupiter.api.extension.ExtensionContext org.junit.jupiter.engine.execution.JupiterEngineExecutionContext org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor java.lang.Object java.lang.Object org.junit.platform.engine.TestSource java.lang.Throwable java.lang.Throwable java.util.stream.Stream int java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.junit.jupiter.api.DynamicNode
astore 12
start local 12 13: aload 0
aload 12
iload 10
iinc 10 1
14: aload 6
aload 0
invokevirtual org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.getDynamicDescendantFilter:()Lorg/junit/jupiter/engine/descriptor/DynamicDescendantFilter;
aload 0
getfield org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.configuration:Lorg/junit/jupiter/engine/config/JupiterConfiguration;
15: invokestatic org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.createDynamicDescriptor:(Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor;Lorg/junit/jupiter/api/DynamicNode;ILorg/junit/platform/engine/TestSource;Lorg/junit/jupiter/engine/descriptor/DynamicDescendantFilter;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)Ljava/util/Optional;
astore 13
start local 13 16: aload 13
aload 3
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Lorg/junit/platform/engine/support/hierarchical/Node$DynamicTestExecutor;)Ljava/util/function/Consumer;
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;)V
org/junit/platform/engine/support/hierarchical/Node$DynamicTestExecutor.execute(Lorg/junit/platform/engine/TestDescriptor;)V (9 itf)
(Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor;)V
invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
end local 13 end local 12 17: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
end local 11 end local 10 18: aload 9
ifnull 26
aload 9
invokeinterface java.util.stream.Stream.close:()V
goto 26
StackMap locals: org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor org.junit.jupiter.api.extension.ExtensionContext org.junit.jupiter.engine.execution.JupiterEngineExecutionContext org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor java.lang.Object java.lang.Object org.junit.platform.engine.TestSource java.lang.Throwable java.lang.Throwable java.util.stream.Stream
StackMap stack: java.lang.Throwable
19: astore 7
aload 9
ifnull 20
aload 9
invokeinterface java.util.stream.Stream.close:()V
end local 9 StackMap locals:
StackMap stack:
20: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 8
aload 7
ifnonnull 22
aload 8
astore 7
goto 23
StackMap locals:
StackMap stack:
22: aload 7
aload 8
if_acmpeq 23
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 7
athrow
24: StackMap locals: org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor org.junit.jupiter.api.extension.ExtensionContext org.junit.jupiter.engine.execution.JupiterEngineExecutionContext org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor java.lang.Object java.lang.Object org.junit.platform.engine.TestSource
StackMap stack: java.lang.ClassCastException
astore 7
start local 7 25: aload 0
aload 7
invokevirtual org.junit.jupiter.engine.descriptor.TestFactoryTestDescriptor.invalidReturnTypeException:(Ljava/lang/Throwable;)Lorg/junit/platform/commons/JUnitException;
athrow
end local 7 26: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor.awaitFinished:()V
end local 6 end local 5 end local 4 27: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor;
1 27 4 instance Ljava/lang/Object;
4 27 5 testFactoryMethodResult Ljava/lang/Object;
7 27 6 defaultTestSource Lorg/junit/platform/engine/TestSource;
9 20 9 dynamicNodeStream Ljava/util/stream/Stream<Lorg/junit/jupiter/api/DynamicNode;>;
10 18 10 index I
11 18 11 iterator Ljava/util/Iterator<Lorg/junit/jupiter/api/DynamicNode;>;
13 17 12 dynamicNode Lorg/junit/jupiter/api/DynamicNode;
16 17 13 descriptor Ljava/util/Optional<Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor;>;
25 26 7 ex Ljava/lang/ClassCastException;
Exception table:
from to target type
9 18 19 any
8 21 21 any
7 24 24 Class java.lang.ClassCastException
Exceptions:
throws java.lang.Throwable
private static org.junit.jupiter.engine.descriptor.JupiterTestDescriptor lambda$5(org.junit.platform.engine.UniqueId, int, org.junit.jupiter.api.DynamicTest, org.junit.platform.engine.TestSource, org.junit.jupiter.engine.config.JupiterConfiguration);
descriptor: (Lorg/junit/platform/engine/UniqueId;ILorg/junit/jupiter/api/DynamicTest;Lorg/junit/platform/engine/TestSource;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=7, locals=5, args_size=5
0: new org.junit.jupiter.engine.descriptor.DynamicTestTestDescriptor
dup
aload 0
iload 1
aload 2
aload 3
aload 4
invokespecial org.junit.jupiter.engine.descriptor.DynamicTestTestDescriptor.<init>:(Lorg/junit/platform/engine/UniqueId;ILorg/junit/jupiter/api/DynamicTest;Lorg/junit/platform/engine/TestSource;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
private static org.junit.jupiter.engine.descriptor.JupiterTestDescriptor lambda$6(org.junit.platform.engine.UniqueId, int, org.junit.jupiter.api.DynamicContainer, org.junit.platform.engine.TestSource, org.junit.jupiter.engine.descriptor.DynamicDescendantFilter, org.junit.jupiter.engine.config.JupiterConfiguration);
descriptor: (Lorg/junit/platform/engine/UniqueId;ILorg/junit/jupiter/api/DynamicContainer;Lorg/junit/platform/engine/TestSource;Lorg/junit/jupiter/engine/descriptor/DynamicDescendantFilter;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=8, locals=6, args_size=6
0: new org.junit.jupiter.engine.descriptor.DynamicContainerTestDescriptor
dup
aload 0
iload 1
aload 2
aload 3
1: aload 4
aload 5
2: invokespecial org.junit.jupiter.engine.descriptor.DynamicContainerTestDescriptor.<init>:(Lorg/junit/platform/engine/UniqueId;ILorg/junit/jupiter/api/DynamicContainer;Lorg/junit/platform/engine/TestSource;Lorg/junit/jupiter/engine/descriptor/DynamicDescendantFilter;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)V
3: areturn
LocalVariableTable:
Start End Slot Name Signature
private static org.junit.platform.commons.JUnitException lambda$2();
descriptor: ()Lorg/junit/platform/commons/JUnitException;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: new org.junit.platform.commons.JUnitException
dup
ldc "Illegal state: TestSource must be present"
invokespecial org.junit.platform.commons.JUnitException.<init>:(Ljava/lang/String;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "TestFactoryTestDescriptor.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Status = org.apiguardian.api.API$Status of org.apiguardian.api.API
public abstract ReflectiveInterceptorCall = org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall of org.junit.jupiter.engine.execution.ExecutableInvoker
public final Type = org.junit.platform.engine.TestDescriptor$Type of org.junit.platform.engine.TestDescriptor
public abstract DynamicTestExecutor = org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor of org.junit.platform.engine.support.hierarchical.Node
public SkipResult = org.junit.platform.engine.support.hierarchical.Node$SkipResult of org.junit.platform.engine.support.hierarchical.Node
public abstract Executable = org.junit.platform.engine.support.hierarchical.ThrowableCollector$Executable of org.junit.platform.engine.support.hierarchical.ThrowableCollector
RuntimeVisibleAnnotations:
org.apiguardian.api.API(status = org.apiguardian.api.API$Status.INTERNAL:Lorg/apiguardian/api/API$Status;, since = "5.0")