public class org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor extends org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor implements org.junit.jupiter.engine.descriptor.Filterable
{
public static final java.lang.String SEGMENT_TYPE;
private final org.junit.jupiter.engine.descriptor.DynamicDescendantFilter dynamicDescendantFilter;
public void <init>(org.junit.platform.engine.UniqueId, java.lang.Class, java.lang.reflect.Method, org.junit.jupiter.engine.config.JupiterConfiguration)
{
java.lang.Class v;
org.junit.jupiter.engine.config.JupiterConfiguration v;
org.junit.jupiter.engine.descriptor.DynamicDescendantFilter v;
org.junit.platform.engine.UniqueId v;
java.lang.reflect.Method v;
org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor v;
v := @this: org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor;
v := @parameter: org.junit.platform.engine.UniqueId;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.reflect.Method;
v := @parameter: org.junit.jupiter.engine.config.JupiterConfiguration;
specialinvoke v.<org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor: void <init>(org.junit.platform.engine.UniqueId,java.lang.Class,java.lang.reflect.Method,org.junit.jupiter.engine.config.JupiterConfiguration)>(v, v, v, v);
v = new org.junit.jupiter.engine.descriptor.DynamicDescendantFilter;
specialinvoke v.<org.junit.jupiter.engine.descriptor.DynamicDescendantFilter: void <init>()>();
v.<org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor: org.junit.jupiter.engine.descriptor.DynamicDescendantFilter dynamicDescendantFilter> = v;
return;
}
public org.junit.jupiter.engine.descriptor.DynamicDescendantFilter getDynamicDescendantFilter()
{
org.junit.jupiter.engine.descriptor.DynamicDescendantFilter v;
org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor v;
v := @this: org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor;
v = v.<org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor: org.junit.jupiter.engine.descriptor.DynamicDescendantFilter dynamicDescendantFilter>;
return v;
}
public org.junit.platform.engine.TestDescriptor$Type getType()
{
org.junit.platform.engine.TestDescriptor$Type v;
org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor v;
v := @this: org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor;
v = <org.junit.platform.engine.TestDescriptor$Type: org.junit.platform.engine.TestDescriptor$Type CONTAINER>;
return v;
}
public boolean mayRegisterTests()
{
org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor v;
v := @this: org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor;
return 1;
}
public org.junit.jupiter.engine.execution.JupiterEngineExecutionContext prepare(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext) throws java.lang.Exception
{
org.junit.jupiter.engine.config.JupiterConfiguration v;
org.junit.jupiter.api.extension.ExtensionContext v, v;
org.junit.jupiter.engine.execution.JupiterEngineExecutionContext v, v;
org.junit.platform.engine.EngineExecutionListener v;
org.junit.jupiter.engine.execution.JupiterEngineExecutionContext$Builder v, v, v;
org.junit.jupiter.engine.descriptor.TestTemplateExtensionContext v;
java.lang.reflect.Method v;
org.junit.jupiter.engine.extension.MutableExtensionRegistry v, v;
org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor v;
org.junit.jupiter.engine.execution.DefaultExecutableInvoker v;
java.util.Optional v;
java.lang.Object v;
v := @this: org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor;
v := @parameter: org.junit.jupiter.engine.execution.JupiterEngineExecutionContext;
v = virtualinvoke v.<org.junit.jupiter.engine.execution.JupiterEngineExecutionContext: org.junit.jupiter.engine.extension.MutableExtensionRegistry getExtensionRegistry()>();
v = virtualinvoke v.<org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor: java.lang.reflect.Method getTestMethod()>();
v = staticinvoke <org.junit.jupiter.engine.descriptor.ExtensionUtils: org.junit.jupiter.engine.extension.MutableExtensionRegistry populateNewExtensionRegistryFromExtendWithAnnotation(org.junit.jupiter.engine.extension.MutableExtensionRegistry,java.lang.reflect.AnnotatedElement)>(v, v);
v = virtualinvoke v.<org.junit.jupiter.engine.execution.JupiterEngineExecutionContext: org.junit.jupiter.api.extension.ExtensionContext getExtensionContext()>();
v = interfaceinvoke v.<org.junit.jupiter.api.extension.ExtensionContext: java.util.Optional getTestInstances()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
v = new org.junit.jupiter.engine.execution.DefaultExecutableInvoker;
specialinvoke v.<org.junit.jupiter.engine.execution.DefaultExecutableInvoker: void <init>(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext)>(v);
v = new org.junit.jupiter.engine.descriptor.TestTemplateExtensionContext;
v = virtualinvoke v.<org.junit.jupiter.engine.execution.JupiterEngineExecutionContext: org.junit.jupiter.api.extension.ExtensionContext getExtensionContext()>();
v = virtualinvoke v.<org.junit.jupiter.engine.execution.JupiterEngineExecutionContext: org.junit.platform.engine.EngineExecutionListener getExecutionListener()>();
v = virtualinvoke v.<org.junit.jupiter.engine.execution.JupiterEngineExecutionContext: org.junit.jupiter.engine.config.JupiterConfiguration getConfiguration()>();
specialinvoke v.<org.junit.jupiter.engine.descriptor.TestTemplateExtensionContext: void <init>(org.junit.jupiter.api.extension.ExtensionContext,org.junit.platform.engine.EngineExecutionListener,org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor,org.junit.jupiter.engine.config.JupiterConfiguration,org.junit.jupiter.api.extension.TestInstances,org.junit.jupiter.api.extension.ExecutableInvoker)>(v, v, v, v, v, v);
v = virtualinvoke v.<org.junit.jupiter.engine.execution.JupiterEngineExecutionContext: org.junit.jupiter.engine.execution.JupiterEngineExecutionContext$Builder extend()>();
v = virtualinvoke v.<org.junit.jupiter.engine.execution.JupiterEngineExecutionContext$Builder: org.junit.jupiter.engine.execution.JupiterEngineExecutionContext$Builder withExtensionRegistry(org.junit.jupiter.engine.extension.MutableExtensionRegistry)>(v);
v = virtualinvoke v.<org.junit.jupiter.engine.execution.JupiterEngineExecutionContext$Builder: org.junit.jupiter.engine.execution.JupiterEngineExecutionContext$Builder withExtensionContext(org.junit.jupiter.api.extension.ExtensionContext)>(v);
v = virtualinvoke v.<org.junit.jupiter.engine.execution.JupiterEngineExecutionContext$Builder: org.junit.jupiter.engine.execution.JupiterEngineExecutionContext build()>();
return v;
}
public org.junit.jupiter.engine.execution.JupiterEngineExecutionContext execute(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext, org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor) throws java.lang.Exception
{
org.junit.jupiter.api.extension.ExtensionContext v;
java.util.function.Function v, v, v;
org.junit.jupiter.engine.execution.JupiterEngineExecutionContext v;
java.util.concurrent.atomic.AtomicInteger v;
int v;
org.junit.jupiter.engine.extension.MutableExtensionRegistry v;
org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor v;
org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor v;
java.util.function.Predicate v;
java.util.function.Consumer v;
java.util.List v;
java.util.stream.Stream v, v, v, v, v;
v := @this: org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor;
v := @parameter: org.junit.jupiter.engine.execution.JupiterEngineExecutionContext;
v := @parameter: org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor;
v = virtualinvoke v.<org.junit.jupiter.engine.execution.JupiterEngineExecutionContext: org.junit.jupiter.api.extension.ExtensionContext getExtensionContext()>();
v = virtualinvoke v.<org.junit.jupiter.engine.execution.JupiterEngineExecutionContext: org.junit.jupiter.engine.extension.MutableExtensionRegistry getExtensionRegistry()>();
v = specialinvoke v.<org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor: java.util.List validateProviders(org.junit.jupiter.api.extension.ExtensionContext,org.junit.jupiter.engine.extension.ExtensionRegistry)>(v, v);
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor$lambda_execute_0__150: java.util.function.Function bootstrap$(org.junit.jupiter.api.extension.ExtensionContext)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream flatMap(java.util.function.Function)>(v);
v = staticinvoke <org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor$lambda_execute_1__151: java.util.function.Function bootstrap$(org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor,java.util.concurrent.atomic.AtomicInteger)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor$isPresent__152: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor$get__153: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor$lambda_execute_2__154: java.util.function.Consumer bootstrap$(org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor,org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor)>(v, v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
specialinvoke v.<org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor: void validateWasAtLeastInvokedOnce(int,java.util.List)>(v, v);
return v;
}
private java.util.List validateProviders(org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry)
{
java.util.function.Predicate v;
java.util.Collection v;
org.junit.jupiter.api.extension.ExtensionContext v;
java.util.function.Supplier v;
java.util.stream.Stream v, v;
org.junit.jupiter.engine.extension.ExtensionRegistry v;
java.lang.Object v;
java.util.stream.Collector v;
org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor v;
v := @this: org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext;
v := @parameter: org.junit.jupiter.engine.extension.ExtensionRegistry;
v = interfaceinvoke v.<org.junit.jupiter.engine.extension.ExtensionRegistry: java.util.stream.Stream stream(java.lang.Class)>(class "Lorg/junit/jupiter/api/extension/TestTemplateInvocationContextProvider;");
v = staticinvoke <org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor$lambda_validateProviders_3__155: java.util.function.Predicate bootstrap$(org.junit.jupiter.api.extension.ExtensionContext)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = staticinvoke <org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor$lambda_validateProviders_4__156: java.util.function.Supplier bootstrap$(org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor)>(v);
v = staticinvoke <org.junit.platform.commons.util.Preconditions: java.util.Collection notEmpty(java.util.Collection,java.util.function.Supplier)>(v, v);
return v;
}
private java.util.Optional createInvocationTestDescriptor(org.junit.jupiter.api.extension.TestTemplateInvocationContext, int)
{
org.junit.jupiter.engine.descriptor.TestTemplateInvocationTestDescriptor v;
org.junit.jupiter.engine.config.JupiterConfiguration v;
java.lang.Integer v;
int v, v;
java.lang.String v;
java.lang.reflect.Method v;
org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor v;
boolean v;
org.junit.jupiter.engine.descriptor.DynamicDescendantFilter v;
org.junit.platform.engine.UniqueId v, v;
org.junit.jupiter.api.extension.TestTemplateInvocationContext v;
java.util.Optional v, v;
java.lang.Class v;
v := @this: org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor;
v := @parameter: org.junit.jupiter.api.extension.TestTemplateInvocationContext;
v := @parameter: int;
v = virtualinvoke v.<org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor: org.junit.platform.engine.UniqueId getUniqueId()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("#\u0001");
v = virtualinvoke v.<org.junit.platform.engine.UniqueId: org.junit.platform.engine.UniqueId append(java.lang.String,java.lang.String)>("test-template-invocation", v);
v = virtualinvoke v.<org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor: org.junit.jupiter.engine.descriptor.DynamicDescendantFilter getDynamicDescendantFilter()>();
v = v - 1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = virtualinvoke v.<org.junit.jupiter.engine.descriptor.DynamicDescendantFilter: boolean test(org.junit.platform.engine.UniqueId,java.lang.Integer)>(v, v);
if v == 0 goto label;
v = new org.junit.jupiter.engine.descriptor.TestTemplateInvocationTestDescriptor;
v = virtualinvoke v.<org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor: java.lang.Class getTestClass()>();
v = virtualinvoke v.<org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor: java.lang.reflect.Method getTestMethod()>();
v = v.<org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor: org.junit.jupiter.engine.config.JupiterConfiguration configuration>;
specialinvoke v.<org.junit.jupiter.engine.descriptor.TestTemplateInvocationTestDescriptor: void <init>(org.junit.platform.engine.UniqueId,java.lang.Class,java.lang.reflect.Method,org.junit.jupiter.api.extension.TestTemplateInvocationContext,int,org.junit.jupiter.engine.config.JupiterConfiguration)>(v, v, v, v, v, v);
v = staticinvoke <java.util.Optional: java.util.Optional of(java.lang.Object)>(v);
return v;
label:
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
return v;
}
private void execute(org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor, org.junit.platform.engine.TestDescriptor)
{
org.junit.platform.engine.TestDescriptor v;
org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor v;
org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor v;
v := @this: org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor;
v := @parameter: org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor;
v := @parameter: org.junit.platform.engine.TestDescriptor;
interfaceinvoke v.<org.junit.platform.engine.TestDescriptor: void setParent(org.junit.platform.engine.TestDescriptor)>(v);
interfaceinvoke v.<org.junit.platform.engine.support.hierarchical.Node$DynamicTestExecutor: void execute(org.junit.platform.engine.TestDescriptor)>(v);
return;
}
private void validateWasAtLeastInvokedOnce(int, java.util.List)
{
java.util.List v;
int v;
java.util.function.Supplier v;
org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor v;
boolean v;
v := @this: org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor;
v := @parameter: int;
v := @parameter: java.util.List;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor$lambda_validateWasAtLeastInvokedOnce_6__157: java.util.function.Supplier bootstrap$(java.util.List)>(v);
staticinvoke <org.junit.platform.commons.util.Preconditions: void condition(boolean,java.util.function.Supplier)>(v, v);
return;
}
}