class org.junit.jupiter.params.ParameterizedTestExtension extends java.lang.Object implements org.junit.jupiter.api.extension.TestTemplateInvocationContextProvider
{
private static final java.lang.String METHOD_CONTEXT_KEY;
static final java.lang.String ARGUMENT_MAX_LENGTH_KEY;
private static final java.lang.String DEFAULT_DISPLAY_NAME;
static final java.lang.String DISPLAY_NAME_PATTERN_KEY;
void <init>()
{
org.junit.jupiter.params.ParameterizedTestExtension v;
v := @this: org.junit.jupiter.params.ParameterizedTestExtension;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public boolean supportsTestTemplate(org.junit.jupiter.api.extension.ExtensionContext)
{
org.junit.jupiter.params.ParameterizedTestExtension v;
org.junit.jupiter.api.extension.ExtensionContext v;
java.util.function.Supplier v;
org.junit.jupiter.api.extension.ExtensionContext$Store v;
org.junit.jupiter.params.ParameterizedTestMethodContext v;
java.util.Optional v, v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.junit.jupiter.params.ParameterizedTestExtension;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext;
v = interfaceinvoke v.<org.junit.jupiter.api.extension.ExtensionContext: java.util.Optional getTestMethod()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v != 0 goto label;
return 0;
label:
v = interfaceinvoke v.<org.junit.jupiter.api.extension.ExtensionContext: java.util.Optional getTestMethod()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = staticinvoke <org.junit.platform.commons.util.AnnotationUtils: boolean isAnnotated(java.lang.reflect.AnnotatedElement,java.lang.Class)>(v, class "Lorg/junit/jupiter/params/ParameterizedTest;");
if v != 0 goto label;
return 0;
label:
v = new org.junit.jupiter.params.ParameterizedTestMethodContext;
specialinvoke v.<org.junit.jupiter.params.ParameterizedTestMethodContext: void <init>(java.lang.reflect.Method)>(v);
v = virtualinvoke v.<org.junit.jupiter.params.ParameterizedTestMethodContext: boolean hasPotentiallyValidSignature()>();
v = staticinvoke <org.junit.jupiter.params.ParameterizedTestExtension$lambda_supportsTestTemplate_0__451: java.util.function.Supplier bootstrap$(java.lang.reflect.Method)>(v);
staticinvoke <org.junit.platform.commons.util.Preconditions: void condition(boolean,java.util.function.Supplier)>(v, v);
v = specialinvoke v.<org.junit.jupiter.params.ParameterizedTestExtension: org.junit.jupiter.api.extension.ExtensionContext$Store getStore(org.junit.jupiter.api.extension.ExtensionContext)>(v);
interfaceinvoke v.<org.junit.jupiter.api.extension.ExtensionContext$Store: void put(java.lang.Object,java.lang.Object)>("context", v);
return 1;
}
public java.util.stream.Stream provideTestTemplateInvocationContexts(org.junit.jupiter.api.extension.ExtensionContext)
{
org.junit.jupiter.api.extension.ExtensionContext v;
java.lang.Integer v;
java.lang.Runnable v;
java.util.function.Function v, v, v, v, v, v, v, v;
org.junit.jupiter.api.extension.ExtensionContext$Store v;
int v;
java.lang.String v;
java.lang.reflect.Method v;
org.junit.jupiter.params.ParameterizedTestNameFormatter v;
org.junit.jupiter.params.ParameterizedTestExtension v;
java.util.concurrent.atomic.AtomicLong v;
java.util.List v;
java.util.stream.Stream v, v, v, v, v, v, v, v;
java.util.Optional v;
java.util.stream.BaseStream v;
java.lang.Object v, v;
v := @this: org.junit.jupiter.params.ParameterizedTestExtension;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext;
v = interfaceinvoke v.<org.junit.jupiter.api.extension.ExtensionContext: java.lang.reflect.Method getRequiredTestMethod()>();
v = interfaceinvoke v.<org.junit.jupiter.api.extension.ExtensionContext: java.lang.String getDisplayName()>();
v = specialinvoke v.<org.junit.jupiter.params.ParameterizedTestExtension: org.junit.jupiter.api.extension.ExtensionContext$Store getStore(org.junit.jupiter.api.extension.ExtensionContext)>(v);
v = interfaceinvoke v.<org.junit.jupiter.api.extension.ExtensionContext$Store: java.lang.Object get(java.lang.Object,java.lang.Class)>("context", class "Lorg/junit/jupiter/params/ParameterizedTestMethodContext;");
v = staticinvoke <org.junit.jupiter.params.ParameterizedTestExtension$parseInt__452: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<org.junit.jupiter.api.extension.ExtensionContext: java.util.Optional getConfigurationParameter(java.lang.String,java.util.function.Function)>("junit.jupiter.params.displayname.argument.maxlength", v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(512);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = specialinvoke v.<org.junit.jupiter.params.ParameterizedTestExtension: org.junit.jupiter.params.ParameterizedTestNameFormatter createNameFormatter(org.junit.jupiter.api.extension.ExtensionContext,java.lang.reflect.Method,org.junit.jupiter.params.ParameterizedTestMethodContext,java.lang.String,int)>(v, v, v, v, v);
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>(long)>(0L);
v = staticinvoke <org.junit.platform.commons.util.AnnotationUtils: java.util.List findRepeatableAnnotations(java.lang.reflect.AnnotatedElement,java.lang.Class)>(v, class "Lorg/junit/jupiter/params/provider/ArgumentsSource;");
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.jupiter.params.ParameterizedTestExtension$value__453: 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.params.ParameterizedTestExtension$instantiateArgumentsProvider__454: java.util.function.Function bootstrap$(org.junit.jupiter.params.ParameterizedTestExtension)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.junit.jupiter.params.ParameterizedTestExtension$lambda_provideTestTemplateInvocationContexts_1__455: java.util.function.Function bootstrap$(java.lang.reflect.Method)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.junit.jupiter.params.ParameterizedTestExtension$lambda_provideTestTemplateInvocationContexts_2__456: 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.params.ParameterizedTestExtension$get__457: 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.params.ParameterizedTestExtension$lambda_provideTestTemplateInvocationContexts_3__458: java.util.function.Function bootstrap$(org.junit.jupiter.params.ParameterizedTestExtension,org.junit.jupiter.params.ParameterizedTestMethodContext)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.junit.jupiter.params.ParameterizedTestExtension$lambda_provideTestTemplateInvocationContexts_4__459: java.util.function.Function bootstrap$(org.junit.jupiter.params.ParameterizedTestExtension,java.util.concurrent.atomic.AtomicLong,org.junit.jupiter.params.ParameterizedTestNameFormatter,org.junit.jupiter.params.ParameterizedTestMethodContext)>(v, v, v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.junit.jupiter.params.ParameterizedTestExtension$lambda_provideTestTemplateInvocationContexts_5__460: java.lang.Runnable bootstrap$(java.util.concurrent.atomic.AtomicLong)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.BaseStream onClose(java.lang.Runnable)>(v);
return v;
}
public org.junit.jupiter.params.provider.ArgumentsProvider instantiateArgumentsProvider(java.lang.Class)
{
java.lang.Object[] v, v;
org.junit.platform.commons.JUnitException v;
org.junit.jupiter.params.ParameterizedTestExtension v;
java.lang.Exception v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v, v;
boolean v;
v := @this: org.junit.jupiter.params.ParameterizedTestExtension;
v := @parameter: java.lang.Class;
label:
v = newarray (java.lang.Object)[0];
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.Object newInstance(java.lang.Class,java.lang.Object[])>(v, v);
label:
return v;
label:
v := @caughtexception;
v = v instanceof java.lang.NoSuchMethodException;
if v == 0 goto label;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Failed to find a no-argument constructor for ArgumentsProvider [%s]. Please ensure that a no-argument constructor exists and that the class is either a top-level class or a static nested class", v);
v = new org.junit.platform.commons.JUnitException;
specialinvoke v.<org.junit.platform.commons.JUnitException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
throw v;
catch java.lang.Exception from label to label with label;
}
private org.junit.jupiter.api.extension.ExtensionContext$Store getStore(org.junit.jupiter.api.extension.ExtensionContext)
{
org.junit.jupiter.api.extension.ExtensionContext$Namespace v;
java.lang.Object[] v;
org.junit.jupiter.api.extension.ExtensionContext$Store v;
org.junit.jupiter.params.ParameterizedTestExtension v;
org.junit.jupiter.api.extension.ExtensionContext v;
java.lang.reflect.Method v;
v := @this: org.junit.jupiter.params.ParameterizedTestExtension;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext;
v = newarray (java.lang.Object)[2];
v[0] = class "Lorg/junit/jupiter/params/ParameterizedTestExtension;";
v = interfaceinvoke v.<org.junit.jupiter.api.extension.ExtensionContext: java.lang.reflect.Method getRequiredTestMethod()>();
v[1] = v;
v = staticinvoke <org.junit.jupiter.api.extension.ExtensionContext$Namespace: org.junit.jupiter.api.extension.ExtensionContext$Namespace create(java.lang.Object[])>(v);
v = interfaceinvoke v.<org.junit.jupiter.api.extension.ExtensionContext: org.junit.jupiter.api.extension.ExtensionContext$Store getStore(org.junit.jupiter.api.extension.ExtensionContext$Namespace)>(v);
return v;
}
private org.junit.jupiter.api.extension.TestTemplateInvocationContext createInvocationContext(org.junit.jupiter.params.ParameterizedTestNameFormatter, org.junit.jupiter.params.ParameterizedTestMethodContext, java.lang.Object[], int)
{
org.junit.jupiter.params.ParameterizedTestNameFormatter v;
java.lang.Object[] v;
org.junit.jupiter.params.ParameterizedTestMethodContext v;
int v;
org.junit.jupiter.params.ParameterizedTestExtension v;
org.junit.jupiter.params.ParameterizedTestInvocationContext v;
v := @this: org.junit.jupiter.params.ParameterizedTestExtension;
v := @parameter: org.junit.jupiter.params.ParameterizedTestNameFormatter;
v := @parameter: org.junit.jupiter.params.ParameterizedTestMethodContext;
v := @parameter: java.lang.Object[];
v := @parameter: int;
v = new org.junit.jupiter.params.ParameterizedTestInvocationContext;
specialinvoke v.<org.junit.jupiter.params.ParameterizedTestInvocationContext: void <init>(org.junit.jupiter.params.ParameterizedTestNameFormatter,org.junit.jupiter.params.ParameterizedTestMethodContext,java.lang.Object[],int)>(v, v, v, v);
return v;
}
private org.junit.jupiter.params.ParameterizedTestNameFormatter createNameFormatter(org.junit.jupiter.api.extension.ExtensionContext, java.lang.reflect.Method, org.junit.jupiter.params.ParameterizedTestMethodContext, java.lang.String, int)
{
org.junit.jupiter.api.extension.ExtensionContext v;
java.util.function.Supplier v;
int v;
java.lang.String v, v, v, v;
java.lang.reflect.Method v;
boolean v;
org.junit.jupiter.params.ParameterizedTestNameFormatter v;
org.junit.jupiter.params.ParameterizedTestExtension v;
org.junit.jupiter.params.ParameterizedTestMethodContext v;
java.util.Optional v, v;
java.lang.Object v, v;
v := @this: org.junit.jupiter.params.ParameterizedTestExtension;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext;
v := @parameter: java.lang.reflect.Method;
v := @parameter: org.junit.jupiter.params.ParameterizedTestMethodContext;
v := @parameter: java.lang.String;
v := @parameter: int;
v = staticinvoke <org.junit.platform.commons.util.AnnotationUtils: java.util.Optional findAnnotation(java.lang.reflect.AnnotatedElement,java.lang.Class)>(v, class "Lorg/junit/jupiter/params/ParameterizedTest;");
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = interfaceinvoke v.<org.junit.jupiter.params.ParameterizedTest: java.lang.String name()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("{default_display_name}");
if v == 0 goto label;
v = interfaceinvoke v.<org.junit.jupiter.api.extension.ExtensionContext: java.util.Optional getConfigurationParameter(java.lang.String)>("junit.jupiter.params.displayname.default");
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>("[{index}] {argumentsWithNames}");
goto label;
label:
v = interfaceinvoke v.<org.junit.jupiter.params.ParameterizedTest: java.lang.String name()>();
label:
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <org.junit.jupiter.params.ParameterizedTestExtension$lambda_createNameFormatter_6__461: java.util.function.Supplier bootstrap$(java.lang.reflect.Method)>(v);
v = staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.String notBlank(java.lang.String,java.util.function.Supplier)>(v, v);
v = new org.junit.jupiter.params.ParameterizedTestNameFormatter;
specialinvoke v.<org.junit.jupiter.params.ParameterizedTestNameFormatter: void <init>(java.lang.String,java.lang.String,org.junit.jupiter.params.ParameterizedTestMethodContext,int)>(v, v, v, v);
return v;
}
protected static java.util.stream.Stream arguments(org.junit.jupiter.params.provider.ArgumentsProvider, org.junit.jupiter.api.extension.ExtensionContext)
{
java.util.stream.Stream v;
java.lang.RuntimeException v;
org.junit.jupiter.params.provider.ArgumentsProvider v;
org.junit.jupiter.api.extension.ExtensionContext v;
java.lang.Exception v;
v := @parameter: org.junit.jupiter.params.provider.ArgumentsProvider;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext;
label:
v = interfaceinvoke v.<org.junit.jupiter.params.provider.ArgumentsProvider: java.util.stream.Stream provideArguments(org.junit.jupiter.api.extension.ExtensionContext)>(v);
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <org.junit.platform.commons.util.ExceptionUtils: java.lang.RuntimeException throwAsUncheckedException(java.lang.Throwable)>(v);
throw v;
catch java.lang.Exception from label to label with label;
}
private java.lang.Object[] consumedArguments(java.lang.Object[], org.junit.jupiter.params.ParameterizedTestMethodContext)
{
java.lang.Object[] v, v;
org.junit.jupiter.params.ParameterizedTestMethodContext v;
int v, v;
org.junit.jupiter.params.ParameterizedTestExtension v;
boolean v;
v := @this: org.junit.jupiter.params.ParameterizedTestExtension;
v := @parameter: java.lang.Object[];
v := @parameter: org.junit.jupiter.params.ParameterizedTestMethodContext;
v = virtualinvoke v.<org.junit.jupiter.params.ParameterizedTestMethodContext: boolean hasAggregator()>();
if v == 0 goto label;
return v;
label:
v = virtualinvoke v.<org.junit.jupiter.params.ParameterizedTestMethodContext: int getParameterCount()>();
v = lengthof v;
if v <= v goto label;
v = staticinvoke <java.util.Arrays: java.lang.Object[] copyOf(java.lang.Object[],int)>(v, v);
goto label;
label:
v = v;
label:
return v;
}
}