class org.junit.jupiter.params.provider.MethodArgumentsProvider extends java.lang.Object implements org.junit.jupiter.params.provider.ArgumentsProvider, org.junit.jupiter.params.support.AnnotationConsumer
{
private java.lang.String[] methodNames;
void <init>()
{
org.junit.jupiter.params.provider.MethodArgumentsProvider v;
v := @this: org.junit.jupiter.params.provider.MethodArgumentsProvider;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public void accept(org.junit.jupiter.params.provider.MethodSource)
{
java.lang.String[] v;
org.junit.jupiter.params.provider.MethodArgumentsProvider v;
org.junit.jupiter.params.provider.MethodSource v;
v := @this: org.junit.jupiter.params.provider.MethodArgumentsProvider;
v := @parameter: org.junit.jupiter.params.provider.MethodSource;
v = interfaceinvoke v.<org.junit.jupiter.params.provider.MethodSource: java.lang.String[] value()>();
v.<org.junit.jupiter.params.provider.MethodArgumentsProvider: java.lang.String[] methodNames> = v;
return;
}
public java.util.stream.Stream provideArguments(org.junit.jupiter.api.extension.ExtensionContext)
{
org.junit.jupiter.params.provider.MethodArgumentsProvider v;
java.lang.String[] v;
org.junit.jupiter.api.extension.ExtensionContext v;
java.util.function.Function v, v, v, v;
java.util.stream.Stream v, v, v, v, v;
java.util.Optional v;
java.lang.Object v;
v := @this: org.junit.jupiter.params.provider.MethodArgumentsProvider;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext;
v = interfaceinvoke v.<org.junit.jupiter.api.extension.ExtensionContext: java.util.Optional getTestInstance()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
v = v.<org.junit.jupiter.params.provider.MethodArgumentsProvider: java.lang.String[] methodNames>;
v = staticinvoke <java.util.Arrays: java.util.stream.Stream stream(java.lang.Object[])>(v);
v = staticinvoke <org.junit.jupiter.params.provider.MethodArgumentsProvider$lambda_provideArguments_0__563: java.util.function.Function bootstrap$(org.junit.jupiter.params.provider.MethodArgumentsProvider,org.junit.jupiter.api.extension.ExtensionContext)>(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.provider.MethodArgumentsProvider$lambda_provideArguments_1__564: java.util.function.Function bootstrap$(org.junit.jupiter.api.extension.ExtensionContext,java.lang.Object)>(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.provider.MethodArgumentsProvider$toStream__565: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream flatMap(java.util.function.Function)>(v);
v = staticinvoke <org.junit.jupiter.params.provider.MethodArgumentsProvider$toArguments__566: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
return v;
}
private java.lang.reflect.Method getFactoryMethod(org.junit.jupiter.api.extension.ExtensionContext, java.lang.String)
{
org.junit.jupiter.params.provider.MethodArgumentsProvider v;
org.junit.jupiter.api.extension.ExtensionContext v;
java.lang.Class v;
java.lang.String v;
java.lang.reflect.Method v, v, v;
boolean v, v;
v := @this: org.junit.jupiter.params.provider.MethodArgumentsProvider;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<org.junit.jupiter.api.extension.ExtensionContext: java.lang.reflect.Method getRequiredTestMethod()>();
v = staticinvoke <org.junit.platform.commons.util.StringUtils: boolean isBlank(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
label:
v = staticinvoke <org.junit.jupiter.params.provider.MethodArgumentsProvider: boolean looksLikeAFullyQualifiedMethodName(java.lang.String)>(v);
if v == 0 goto label;
v = specialinvoke v.<org.junit.jupiter.params.provider.MethodArgumentsProvider: java.lang.reflect.Method getFactoryMethodByFullyQualifiedName(java.lang.String)>(v);
return v;
label:
v = interfaceinvoke v.<org.junit.jupiter.api.extension.ExtensionContext: java.lang.Class getRequiredTestClass()>();
v = specialinvoke v.<org.junit.jupiter.params.provider.MethodArgumentsProvider: java.lang.reflect.Method getFactoryMethodBySimpleOrQualifiedName(java.lang.Class,java.lang.reflect.Method,java.lang.String)>(v, v, v);
return v;
}
private static boolean looksLikeAFullyQualifiedMethodName(java.lang.String)
{
int v, v, v;
java.lang.String v;
boolean v, v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("#");
if v == 0 goto label;
return 1;
label:
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String)>(".");
v = (int) -1;
if v != v goto label;
return 0;
label:
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String)>("(");
if v <= 0 goto label;
if v >= v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
return 1;
}
private java.lang.reflect.Method getFactoryMethodByFullyQualifiedName(java.lang.String)
{
org.junit.jupiter.params.provider.MethodArgumentsProvider v;
java.lang.String[] v;
java.util.function.Supplier v;
java.util.Optional v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v, v, v, v;
v := @this: org.junit.jupiter.params.provider.MethodArgumentsProvider;
v := @parameter: java.lang.String;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.String[] parseFullyQualifiedMethodName(java.lang.String)>(v);
v = v[0];
v = v[1];
v = v[2];
v = specialinvoke v.<org.junit.jupiter.params.provider.MethodArgumentsProvider: java.lang.Class loadRequiredClass(java.lang.String)>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.Optional findMethod(java.lang.Class,java.lang.String,java.lang.String)>(v, v, v);
v = staticinvoke <org.junit.jupiter.params.provider.MethodArgumentsProvider$lambda_getFactoryMethodByFullyQualifiedName_2__567: java.util.function.Supplier bootstrap$(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
return v;
}
private java.lang.reflect.Method getFactoryMethodBySimpleOrQualifiedName(java.lang.Class, java.lang.reflect.Method, java.lang.String)
{
org.junit.jupiter.params.provider.MethodArgumentsProvider v;
java.lang.String[] v;
java.util.function.Supplier v;
java.util.List v, v;
int v, v;
java.lang.Class v;
java.lang.Object v, v;
java.lang.String v, v, v;
java.lang.reflect.Method v;
boolean v;
v := @this: org.junit.jupiter.params.provider.MethodArgumentsProvider;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.lang.String;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.String[] parseQualifiedMethodName(java.lang.String)>(v);
v = v[0];
v = v[1];
v = specialinvoke v.<org.junit.jupiter.params.provider.MethodArgumentsProvider: java.util.List findFactoryMethodsBySimpleName(java.lang.Class,java.lang.reflect.Method,java.lang.String)>(v, v, v);
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
return v;
label:
v = staticinvoke <org.junit.jupiter.params.provider.MethodArgumentsProvider: java.util.List filterFactoryMethodsWithMatchingParameters(java.util.List,java.lang.String,java.lang.String)>(v, v, v);
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <org.junit.jupiter.params.provider.MethodArgumentsProvider$lambda_getFactoryMethodBySimpleOrQualifiedName_3__568: java.util.function.Supplier bootstrap$(java.util.List,java.lang.String,java.lang.Class)>(v, v, v);
staticinvoke <org.junit.platform.commons.util.Preconditions: void condition(boolean,java.util.function.Supplier)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
return v;
}
private java.util.List findFactoryMethodsBySimpleName(java.lang.Class, java.lang.reflect.Method, java.lang.String)
{
org.junit.jupiter.params.provider.MethodArgumentsProvider v;
java.util.function.Predicate v, v;
java.util.function.Supplier v;
java.util.List v;
java.util.stream.Stream v, v;
int v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v;
java.util.stream.Collector v;
java.lang.reflect.Method v;
boolean v;
v := @this: org.junit.jupiter.params.provider.MethodArgumentsProvider;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.lang.String;
v = staticinvoke <org.junit.jupiter.params.provider.MethodArgumentsProvider$lambda_findFactoryMethodsBySimpleName_4__569: java.util.function.Predicate bootstrap$(java.lang.String,java.lang.reflect.Method)>(v, v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List findMethods(java.lang.Class,java.util.function.Predicate)>(v, v);
v = staticinvoke <org.junit.jupiter.params.provider.MethodArgumentsProvider$lambda_findFactoryMethodsBySimpleName_5__570: java.util.function.Predicate bootstrap$(org.junit.jupiter.params.provider.MethodArgumentsProvider)>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
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 = interfaceinvoke v.<java.util.List: int size()>();
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <org.junit.jupiter.params.provider.MethodArgumentsProvider$lambda_findFactoryMethodsBySimpleName_6__571: java.util.function.Supplier bootstrap$(java.util.List,java.lang.String,java.lang.Class)>(v, v, v);
staticinvoke <org.junit.platform.commons.util.Preconditions: void condition(boolean,java.util.function.Supplier)>(v, v);
return v;
}
private static java.util.List filterFactoryMethodsWithMatchingParameters(java.util.List, java.lang.String, java.lang.String)
{
java.util.function.Predicate v;
java.util.List v;
java.util.stream.Stream v, v;
java.lang.Object v;
java.lang.String v, v, v;
java.util.stream.Collector v;
boolean v;
v := @parameter: java.util.List;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(")");
if v != 0 goto label;
return v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("\\s+", "");
v = staticinvoke <org.junit.jupiter.params.provider.MethodArgumentsProvider$lambda_filterFactoryMethodsWithMatchingParameters_7__572: java.util.function.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
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);
return v;
}
private boolean isTestMethod(java.lang.reflect.Method)
{
org.junit.jupiter.params.provider.MethodArgumentsProvider v;
java.lang.reflect.Method v;
boolean v, v, v, v;
v := @this: org.junit.jupiter.params.provider.MethodArgumentsProvider;
v := @parameter: java.lang.reflect.Method;
v = staticinvoke <org.junit.platform.commons.util.AnnotationUtils: boolean isAnnotated(java.lang.reflect.AnnotatedElement,java.lang.Class)>(v, class "Lorg/junit/jupiter/api/Test;");
if v != 0 goto label;
v = staticinvoke <org.junit.platform.commons.util.AnnotationUtils: boolean isAnnotated(java.lang.reflect.AnnotatedElement,java.lang.Class)>(v, class "Lorg/junit/jupiter/api/TestTemplate;");
if v != 0 goto label;
v = staticinvoke <org.junit.platform.commons.util.AnnotationUtils: boolean isAnnotated(java.lang.reflect.AnnotatedElement,java.lang.Class)>(v, class "Lorg/junit/jupiter/api/TestFactory;");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private java.lang.Class loadRequiredClass(java.lang.String)
{
org.junit.platform.commons.function.Try v;
org.junit.jupiter.params.provider.MethodArgumentsProvider v;
java.lang.Object v;
java.lang.String v;
java.util.function.Function v;
v := @this: org.junit.jupiter.params.provider.MethodArgumentsProvider;
v := @parameter: java.lang.String;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: org.junit.platform.commons.function.Try tryToLoadClass(java.lang.String)>(v);
v = staticinvoke <org.junit.jupiter.params.provider.MethodArgumentsProvider$lambda_loadRequiredClass_8__573: java.util.function.Function bootstrap$(java.lang.String)>(v);
v = virtualinvoke v.<org.junit.platform.commons.function.Try: java.lang.Object getOrThrow(java.util.function.Function)>(v);
return v;
}
public static org.junit.jupiter.params.provider.Arguments toArguments(java.lang.Object)
{
java.lang.Object[] v, v;
org.junit.jupiter.params.provider.Arguments v, v, v;
java.lang.Object v;
boolean v, v, v;
v := @parameter: java.lang.Object;
v = v instanceof org.junit.jupiter.params.provider.Arguments;
if v == 0 goto label;
return v;
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isMultidimensionalArray(java.lang.Object)>(v);
if v == 0 goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <org.junit.jupiter.params.provider.Arguments: org.junit.jupiter.params.provider.Arguments arguments(java.lang.Object[])>(v);
return v;
label:
v = v instanceof java.lang.Object[];
if v == 0 goto label;
v = staticinvoke <org.junit.jupiter.params.provider.Arguments: org.junit.jupiter.params.provider.Arguments arguments(java.lang.Object[])>(v);
return v;
label:
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <org.junit.jupiter.params.provider.Arguments: org.junit.jupiter.params.provider.Arguments arguments(java.lang.Object[])>(v);
return v;
}
}