public final class org.junit.platform.commons.util.ReflectionUtils extends java.lang.Object
{
private static final org.junit.platform.commons.logging.Logger logger;
private static final java.util.regex.Pattern VM_INTERNAL_OBJECT_ARRAY_PATTERN;
private static final java.util.regex.Pattern VM_INTERNAL_PRIMITIVE_ARRAY_PATTERN;
private static final java.util.regex.Pattern SOURCE_CODE_SYNTAX_ARRAY_PATTERN;
private static final java.lang.Class[] EMPTY_CLASS_ARRAY;
private static final org.junit.platform.commons.util.ClasspathScanner classpathScanner;
private static final java.util.Set noCyclesDetectedCache;
private static final java.util.Map classNameToTypeMap;
private static final java.util.Map primitiveToWrapperMap;
private void <init>()
{
org.junit.platform.commons.util.ReflectionUtils v;
v := @this: org.junit.platform.commons.util.ReflectionUtils;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static boolean isPublic(java.lang.Class)
{
int v;
java.lang.Class v;
boolean v;
v := @parameter: java.lang.Class;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
v = virtualinvoke v.<java.lang.Class: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
return v;
}
public static boolean isPublic(java.lang.reflect.Member)
{
int v;
boolean v;
java.lang.reflect.Member v;
v := @parameter: java.lang.reflect.Member;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Member must not be null");
v = interfaceinvoke v.<java.lang.reflect.Member: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
return v;
}
public static boolean isPrivate(java.lang.Class)
{
int v;
java.lang.Class v;
boolean v;
v := @parameter: java.lang.Class;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
v = virtualinvoke v.<java.lang.Class: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPrivate(int)>(v);
return v;
}
public static boolean isPrivate(java.lang.reflect.Member)
{
int v;
boolean v;
java.lang.reflect.Member v;
v := @parameter: java.lang.reflect.Member;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Member must not be null");
v = interfaceinvoke v.<java.lang.reflect.Member: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPrivate(int)>(v);
return v;
}
public static boolean isNotPrivate(java.lang.Class)
{
java.lang.Class v;
boolean v, v;
v := @parameter: java.lang.Class;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isPrivate(java.lang.Class)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isNotPrivate(java.lang.reflect.Member)
{
boolean v, v;
java.lang.reflect.Member v;
v := @parameter: java.lang.reflect.Member;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isPrivate(java.lang.reflect.Member)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isAbstract(java.lang.Class)
{
int v;
java.lang.Class v;
boolean v;
v := @parameter: java.lang.Class;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
v = virtualinvoke v.<java.lang.Class: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isAbstract(int)>(v);
return v;
}
public static boolean isAbstract(java.lang.reflect.Member)
{
int v;
boolean v;
java.lang.reflect.Member v;
v := @parameter: java.lang.reflect.Member;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Member must not be null");
v = interfaceinvoke v.<java.lang.reflect.Member: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isAbstract(int)>(v);
return v;
}
public static boolean isStatic(java.lang.Class)
{
int v;
java.lang.Class v;
boolean v;
v := @parameter: java.lang.Class;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
v = virtualinvoke v.<java.lang.Class: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isStatic(int)>(v);
return v;
}
public static boolean isNotStatic(java.lang.Class)
{
java.lang.Class v;
boolean v, v;
v := @parameter: java.lang.Class;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isStatic(java.lang.Class)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isStatic(java.lang.reflect.Member)
{
int v;
boolean v;
java.lang.reflect.Member v;
v := @parameter: java.lang.reflect.Member;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Member must not be null");
v = interfaceinvoke v.<java.lang.reflect.Member: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isStatic(int)>(v);
return v;
}
public static boolean isNotStatic(java.lang.reflect.Member)
{
boolean v, v;
java.lang.reflect.Member v;
v := @parameter: java.lang.reflect.Member;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isStatic(java.lang.reflect.Member)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isFinal(java.lang.Class)
{
int v;
java.lang.Class v;
boolean v;
v := @parameter: java.lang.Class;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
v = virtualinvoke v.<java.lang.Class: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isFinal(int)>(v);
return v;
}
public static boolean isNotFinal(java.lang.Class)
{
java.lang.Class v;
boolean v, v;
v := @parameter: java.lang.Class;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isFinal(java.lang.Class)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isFinal(java.lang.reflect.Member)
{
int v;
boolean v;
java.lang.reflect.Member v;
v := @parameter: java.lang.reflect.Member;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Member must not be null");
v = interfaceinvoke v.<java.lang.reflect.Member: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isFinal(int)>(v);
return v;
}
public static boolean isNotFinal(java.lang.reflect.Member)
{
boolean v, v;
java.lang.reflect.Member v;
v := @parameter: java.lang.reflect.Member;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isFinal(java.lang.reflect.Member)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isInnerClass(java.lang.Class)
{
java.lang.Class v;
boolean v, v, v;
v := @parameter: java.lang.Class;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isStatic(java.lang.Class)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Class: boolean isMemberClass()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean returnsVoid(java.lang.reflect.Method)
{
java.lang.Class v, v;
java.lang.reflect.Method v;
boolean v;
v := @parameter: java.lang.reflect.Method;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
v = <java.lang.Void: java.lang.Class TYPE>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
return v;
}
public static boolean isArray(java.lang.Object)
{
java.lang.Class v;
java.lang.Object v;
boolean v, v;
v := @parameter: java.lang.Object;
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isMultidimensionalArray(java.lang.Object)
{
java.lang.Class v, v, v;
java.lang.Object v;
boolean v, v, v;
v := @parameter: java.lang.Object;
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.Class getComponentType()>();
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isAssignableTo(java.lang.Class, java.lang.Class)
{
java.util.Map v;
java.lang.Class v, v;
java.lang.Object v;
boolean v, v, v, v, v, v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.Class;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "source type must not be null");
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.junit.platform.commons.util.Preconditions: void condition(boolean,java.lang.String)>(v, "source type must not be a primitive type");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "target type must not be null");
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
return 1;
label:
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v == 0 goto label;
v = <org.junit.platform.commons.util.ReflectionUtils: java.util.Map primitiveToWrapperMap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == v goto label;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isWideningConversion(java.lang.Class,java.lang.Class)>(v, v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
return 0;
}
public static boolean isAssignableTo(java.lang.Object, java.lang.Class)
{
java.util.Map v;
java.lang.Class v, v;
java.lang.Object v, v;
boolean v, v, v, v, v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Class;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "target type must not be null");
if v != null goto label;
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = virtualinvoke v.<java.lang.Class: boolean isInstance(java.lang.Object)>(v);
if v == 0 goto label;
return 1;
label:
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = <org.junit.platform.commons.util.ReflectionUtils: java.util.Map primitiveToWrapperMap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == v goto label;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isWideningConversion(java.lang.Class,java.lang.Class)>(v, v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
return 0;
}
static boolean isWideningConversion(java.lang.Class, java.lang.Class)
{
java.util.Map v, v;
boolean v, v, v, v, v, v, v, v;
java.lang.Class v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
staticinvoke <org.junit.platform.commons.util.Preconditions: void condition(boolean,java.lang.String)>(v, "targetType must be primitive");
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
v = <org.junit.platform.commons.util.ReflectionUtils: java.util.Map primitiveToWrapperMap>;
v = interfaceinvoke v.<java.util.Map: boolean containsValue(java.lang.Object)>(v);
if v != 0 goto label;
if v != 0 goto label;
return 0;
label:
if v == 0 goto label;
v = <org.junit.platform.commons.util.ReflectionUtils: java.util.Map primitiveToWrapperMap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
label:
if v != class "Ljava/lang/Byte;" goto label;
v = <java.lang.Short: java.lang.Class TYPE>;
if v == v goto label;
v = <java.lang.Integer: java.lang.Class TYPE>;
if v == v goto label;
v = <java.lang.Long: java.lang.Class TYPE>;
if v == v goto label;
v = <java.lang.Float: java.lang.Class TYPE>;
if v == v goto label;
v = <java.lang.Double: java.lang.Class TYPE>;
if v != v goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
if v == class "Ljava/lang/Short;" goto label;
if v != class "Ljava/lang/Character;" goto label;
label:
v = <java.lang.Integer: java.lang.Class TYPE>;
if v == v goto label;
v = <java.lang.Long: java.lang.Class TYPE>;
if v == v goto label;
v = <java.lang.Float: java.lang.Class TYPE>;
if v == v goto label;
v = <java.lang.Double: java.lang.Class TYPE>;
if v != v goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
if v != class "Ljava/lang/Integer;" goto label;
v = <java.lang.Long: java.lang.Class TYPE>;
if v == v goto label;
v = <java.lang.Float: java.lang.Class TYPE>;
if v == v goto label;
v = <java.lang.Double: java.lang.Class TYPE>;
if v != v goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
if v != class "Ljava/lang/Long;" goto label;
v = <java.lang.Float: java.lang.Class TYPE>;
if v == v goto label;
v = <java.lang.Double: java.lang.Class TYPE>;
if v != v goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
if v != class "Ljava/lang/Float;" goto label;
v = <java.lang.Double: java.lang.Class TYPE>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
return 0;
}
public static java.lang.Class getWrapperType(java.lang.Class)
{
java.lang.Class v;
java.lang.Object v;
java.util.Map v;
v := @parameter: java.lang.Class;
v = <org.junit.platform.commons.util.ReflectionUtils: java.util.Map primitiveToWrapperMap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public static transient java.lang.Object newInstance(java.lang.Class, java.lang.Object[])
{
java.lang.Throwable v, v;
java.lang.Object[] v, v;
java.lang.RuntimeException v;
java.lang.reflect.Constructor v;
java.util.function.Function v;
java.util.stream.Stream v, v;
java.lang.Class v;
java.lang.Object v;
java.util.function.IntFunction v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.Object[];
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Argument array must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object[] containsNoNullElements(java.lang.Object[],java.lang.String)>(v, "Individual arguments must not be null");
label:
v = staticinvoke <java.util.Arrays: java.util.stream.Stream stream(java.lang.Object[])>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$getClass__640: 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.platform.commons.util.ReflectionUtils$lambda_newInstance_1__641: java.util.function.IntFunction bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object[] toArray(java.util.function.IntFunction)>(v);
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor getDeclaredConstructor(java.lang.Class[])>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.Object newInstance(java.lang.reflect.Constructor,java.lang.Object[])>(v, v);
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.Throwable getUnderlyingCause(java.lang.Throwable)>(v);
v = staticinvoke <org.junit.platform.commons.util.ExceptionUtils: java.lang.RuntimeException throwAsUncheckedException(java.lang.Throwable)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
public static transient java.lang.Object newInstance(java.lang.reflect.Constructor, java.lang.Object[])
{
java.lang.Throwable v, v;
java.lang.Object[] v;
java.lang.reflect.AccessibleObject v;
java.lang.Object v;
java.lang.RuntimeException v;
java.lang.reflect.Constructor v;
v := @parameter: java.lang.reflect.Constructor;
v := @parameter: java.lang.Object[];
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Constructor must not be null");
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.reflect.AccessibleObject makeAccessible(java.lang.reflect.AccessibleObject)>(v);
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Object newInstance(java.lang.Object[])>(v);
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.Throwable getUnderlyingCause(java.lang.Throwable)>(v);
v = staticinvoke <org.junit.platform.commons.util.ExceptionUtils: java.lang.RuntimeException throwAsUncheckedException(java.lang.Throwable)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
public static java.util.Optional readFieldValue(java.lang.Class, java.lang.String, java.lang.Object)
{
org.junit.platform.commons.function.Try v;
java.util.Optional v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: org.junit.platform.commons.function.Try tryToReadFieldValue(java.lang.Class,java.lang.String,java.lang.Object)>(v, v, v);
v = virtualinvoke v.<org.junit.platform.commons.function.Try: java.util.Optional toOptional()>();
return v;
}
public static org.junit.platform.commons.function.Try tryToReadFieldValue(java.lang.Class, java.lang.String, java.lang.Object)
{
org.junit.platform.commons.function.Try v, v;
java.lang.Class v;
java.lang.Object v;
java.util.concurrent.Callable v;
java.lang.String v;
java.util.function.Function v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.String notBlank(java.lang.String,java.lang.String)>(v, "Field name must not be null or blank");
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_tryToReadFieldValue_2__642: java.util.concurrent.Callable bootstrap$(java.lang.Class,java.lang.String)>(v, v);
v = staticinvoke <org.junit.platform.commons.function.Try: org.junit.platform.commons.function.Try call(java.util.concurrent.Callable)>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_tryToReadFieldValue_3__643: java.util.function.Function bootstrap$(java.lang.Object)>(v);
v = virtualinvoke v.<org.junit.platform.commons.function.Try: org.junit.platform.commons.function.Try andThen(java.util.function.Function)>(v);
return v;
}
public static java.util.Optional readFieldValue(java.lang.reflect.Field)
{
java.util.Optional v;
org.junit.platform.commons.function.Try v;
java.lang.reflect.Field v;
v := @parameter: java.lang.reflect.Field;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: org.junit.platform.commons.function.Try tryToReadFieldValue(java.lang.reflect.Field)>(v);
v = virtualinvoke v.<org.junit.platform.commons.function.Try: java.util.Optional toOptional()>();
return v;
}
public static org.junit.platform.commons.function.Try tryToReadFieldValue(java.lang.reflect.Field)
{
org.junit.platform.commons.function.Try v;
java.lang.reflect.Field v;
v := @parameter: java.lang.reflect.Field;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: org.junit.platform.commons.function.Try tryToReadFieldValue(java.lang.reflect.Field,java.lang.Object)>(v, null);
return v;
}
public static java.util.Optional readFieldValue(java.lang.reflect.Field, java.lang.Object)
{
org.junit.platform.commons.function.Try v;
java.util.Optional v;
java.lang.Object v;
java.lang.reflect.Field v;
v := @parameter: java.lang.reflect.Field;
v := @parameter: java.lang.Object;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: org.junit.platform.commons.function.Try tryToReadFieldValue(java.lang.reflect.Field,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.junit.platform.commons.function.Try: java.util.Optional toOptional()>();
return v;
}
public static org.junit.platform.commons.function.Try tryToReadFieldValue(java.lang.reflect.Field, java.lang.Object)
{
org.junit.platform.commons.function.Try v;
java.lang.Object v;
java.util.concurrent.Callable v;
java.lang.reflect.Field v;
java.util.function.Supplier v;
boolean v, v;
v := @parameter: java.lang.reflect.Field;
v := @parameter: java.lang.Object;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Field must not be null");
if v != null goto label;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isStatic(java.lang.reflect.Member)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_tryToReadFieldValue_4__644: java.util.function.Supplier bootstrap$(java.lang.reflect.Field)>(v);
staticinvoke <org.junit.platform.commons.util.Preconditions: void condition(boolean,java.util.function.Supplier)>(v, v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_tryToReadFieldValue_5__645: java.util.concurrent.Callable bootstrap$(java.lang.reflect.Field,java.lang.Object)>(v, v);
v = staticinvoke <org.junit.platform.commons.function.Try: org.junit.platform.commons.function.Try call(java.util.concurrent.Callable)>(v);
return v;
}
public static java.util.List readFieldValues(java.util.List, java.lang.Object)
{
java.util.List v, v;
java.util.function.Predicate v;
java.lang.Object v;
v := @parameter: java.util.List;
v := @parameter: java.lang.Object;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_readFieldValues_6__646: java.util.function.Predicate bootstrap$()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List readFieldValues(java.util.List,java.lang.Object,java.util.function.Predicate)>(v, v, v);
return v;
}
public static java.util.List readFieldValues(java.util.List, java.lang.Object, java.util.function.Predicate)
{
java.util.function.Predicate v;
java.util.function.Function v;
java.util.List v;
java.util.stream.Stream v, v, v;
java.lang.Object v, v;
java.util.stream.Collector v;
v := @parameter: java.util.List;
v := @parameter: java.lang.Object;
v := @parameter: java.util.function.Predicate;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "fields list must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Predicate must not be null");
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 <org.junit.platform.commons.util.ReflectionUtils$lambda_readFieldValues_7__647: java.util.function.Function bootstrap$(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.junit.platform.commons.util.CollectionUtils: java.util.stream.Collector toUnmodifiableList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
public static transient java.lang.Object invokeMethod(java.lang.reflect.Method, java.lang.Object, java.lang.Object[])
{
java.lang.Throwable v, v;
java.lang.Object[] v;
java.lang.reflect.AccessibleObject v;
java.lang.RuntimeException v;
java.util.function.Supplier v;
java.lang.Object v, v;
java.lang.reflect.Method v;
boolean v, v;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object[];
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Method must not be null");
if v != null goto label;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isStatic(java.lang.reflect.Member)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_invokeMethod_8__648: 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);
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.reflect.AccessibleObject makeAccessible(java.lang.reflect.AccessibleObject)>(v);
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.Throwable getUnderlyingCause(java.lang.Throwable)>(v);
v = staticinvoke <org.junit.platform.commons.util.ExceptionUtils: java.lang.RuntimeException throwAsUncheckedException(java.lang.Throwable)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
public static java.util.Optional loadClass(java.lang.String)
{
java.util.Optional v;
org.junit.platform.commons.function.Try v;
java.lang.String v;
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 = virtualinvoke v.<org.junit.platform.commons.function.Try: java.util.Optional toOptional()>();
return v;
}
public static org.junit.platform.commons.function.Try tryToLoadClass(java.lang.String)
{
org.junit.platform.commons.function.Try v;
java.lang.ClassLoader v;
java.lang.String v;
v := @parameter: java.lang.String;
v = staticinvoke <org.junit.platform.commons.util.ClassLoaderUtils: java.lang.ClassLoader getDefaultClassLoader()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: org.junit.platform.commons.function.Try tryToLoadClass(java.lang.String,java.lang.ClassLoader)>(v, v);
return v;
}
public static java.util.Optional loadClass(java.lang.String, java.lang.ClassLoader)
{
org.junit.platform.commons.function.Try v;
java.util.Optional v;
java.lang.ClassLoader v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.ClassLoader;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: org.junit.platform.commons.function.Try tryToLoadClass(java.lang.String,java.lang.ClassLoader)>(v, v);
v = virtualinvoke v.<org.junit.platform.commons.function.Try: java.util.Optional toOptional()>();
return v;
}
public static org.junit.platform.commons.function.Try tryToLoadClass(java.lang.String, java.lang.ClassLoader)
{
java.util.concurrent.Callable v;
org.junit.platform.commons.function.Try v, v;
java.util.Map v, v;
java.lang.Object v;
java.lang.ClassLoader v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.ClassLoader;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.String notBlank(java.lang.String,java.lang.String)>(v, "Class name must not be null or blank");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "ClassLoader must not be null");
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = <org.junit.platform.commons.util.ReflectionUtils: java.util.Map classNameToTypeMap>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.junit.platform.commons.util.ReflectionUtils: java.util.Map classNameToTypeMap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <org.junit.platform.commons.function.Try: org.junit.platform.commons.function.Try success(java.lang.Object)>(v);
return v;
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_tryToLoadClass_9__649: java.util.concurrent.Callable bootstrap$(java.lang.String,java.lang.ClassLoader)>(v, v);
v = staticinvoke <org.junit.platform.commons.function.Try: org.junit.platform.commons.function.Try call(java.util.concurrent.Callable)>(v);
return v;
}
private static java.lang.Class loadArrayType(java.lang.ClassLoader, java.lang.String, int) throws java.lang.ClassNotFoundException
{
int[] v;
java.util.Map v, v;
int v;
java.lang.Class v;
java.lang.Object v, v;
java.lang.ClassLoader v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.lang.String;
v := @parameter: int;
v = <org.junit.platform.commons.util.ReflectionUtils: java.util.Map classNameToTypeMap>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.junit.platform.commons.util.ReflectionUtils: java.util.Map classNameToTypeMap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.ClassLoader: java.lang.Class loadClass(java.lang.String)>(v);
label:
v = newarray (int)[v];
v = staticinvoke <java.lang.reflect.Array: java.lang.Object newInstance(java.lang.Class,int[])>(v, v);
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
return v;
}
public static java.lang.String getFullyQualifiedMethodName(java.lang.Class, java.lang.reflect.Method)
{
java.lang.Class[] v;
java.lang.Class v;
java.lang.String v, v;
java.lang.reflect.Method v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.reflect.Method;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Method must not be null");
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.String getFullyQualifiedMethodName(java.lang.Class,java.lang.String,java.lang.Class[])>(v, v, v);
return v;
}
public static transient java.lang.String getFullyQualifiedMethodName(java.lang.Class, java.lang.String, java.lang.Class[])
{
java.lang.Object[] v;
java.lang.Class[] v;
java.lang.Class v;
java.lang.String v, v, v, v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class[];
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.String notBlank(java.lang.String,java.lang.String)>(v, "Method name must not be null or blank");
v = newarray (java.lang.Object)[3];
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v[0] = v;
v[1] = v;
v = staticinvoke <org.junit.platform.commons.util.ClassUtils: java.lang.String nullSafeToString(java.lang.Class[])>(v);
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("%s#%s(%s)", v);
return v;
}
public static java.lang.String[] parseFullyQualifiedMethodName(java.lang.String)
{
java.lang.String[] v;
java.util.function.Supplier v;
int v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v;
boolean v, v, v;
v := @parameter: java.lang.String;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.String notBlank(java.lang.String,java.lang.String)>(v, "fullyQualifiedMethodName must not be null or blank");
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(35);
if v <= 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
if v >= v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_parseFullyQualifiedMethodName_10__650: java.util.function.Supplier bootstrap$(java.lang.String)>(v);
staticinvoke <org.junit.platform.commons.util.Preconditions: void condition(boolean,java.util.function.Supplier)>(v, v);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = v;
v = "";
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("()");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 2;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(")");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(40);
if v <= 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = v + 1;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
label:
v = newarray (java.lang.String)[3];
v[0] = v;
v[1] = v;
v[2] = v;
return v;
}
public static java.util.Optional getOutermostInstance(java.lang.Object, java.lang.Class)
{
java.util.Optional v, v, v, v;
java.lang.Class v;
java.lang.Object v, v;
boolean v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Class;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "inner object must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "requiredType must not be null");
v = virtualinvoke v.<java.lang.Class: boolean isInstance(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <java.util.Optional: java.util.Optional of(java.lang.Object)>(v);
return v;
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.Optional getOuterInstance(java.lang.Object)>(v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.Optional getOutermostInstance(java.lang.Object,java.lang.Class)>(v, v);
return v;
label:
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
return v;
}
private static java.util.Optional getOuterInstance(java.lang.Object)
{
java.util.function.Predicate v;
java.util.function.Function v;
java.lang.reflect.Field[] v;
java.util.stream.Stream v, v;
java.util.Optional v, v;
java.lang.Class v;
java.lang.Object v;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field[] getDeclaredFields()>();
v = staticinvoke <java.util.Arrays: java.util.stream.Stream stream(java.lang.Object[])>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_getOuterInstance_11__651: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_getOuterInstance_12__652: java.util.function.Function bootstrap$(java.lang.Object)>(v);
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
return v;
}
public static java.util.Set getAllClasspathRootDirectories()
{
java.util.function.Predicate v;
java.lang.String[] v;
java.util.function.Function v;
java.util.stream.Stream v, v, v;
java.lang.Object v;
java.lang.String v, v;
java.util.stream.Collector v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("java.class.path");
v = <java.io.File: java.lang.String pathSeparator>;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(v);
v = staticinvoke <java.util.Arrays: java.util.stream.Stream stream(java.lang.Object[])>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_getAllClasspathRootDirectories_13__653: 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.platform.commons.util.ReflectionUtils$lambda_getAllClasspathRootDirectories_14__654: java.util.function.Predicate bootstrap$()>();
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 toSet()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
public static java.util.List findAllClassesInClasspathRoot(java.net.URI, java.util.function.Predicate, java.util.function.Predicate)
{
org.junit.platform.commons.util.ClassFilter v;
java.util.List v;
java.util.function.Predicate v, v;
java.net.URI v;
v := @parameter: java.net.URI;
v := @parameter: java.util.function.Predicate;
v := @parameter: java.util.function.Predicate;
v = staticinvoke <org.junit.platform.commons.util.ClassFilter: org.junit.platform.commons.util.ClassFilter of(java.util.function.Predicate,java.util.function.Predicate)>(v, v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List findAllClassesInClasspathRoot(java.net.URI,org.junit.platform.commons.util.ClassFilter)>(v, v);
return v;
}
public static java.util.List findAllClassesInClasspathRoot(java.net.URI, org.junit.platform.commons.util.ClassFilter)
{
org.junit.platform.commons.util.ClassFilter v;
java.util.List v, v;
org.junit.platform.commons.util.ClasspathScanner v;
java.net.URI v;
v := @parameter: java.net.URI;
v := @parameter: org.junit.platform.commons.util.ClassFilter;
v = <org.junit.platform.commons.util.ReflectionUtils: org.junit.platform.commons.util.ClasspathScanner classpathScanner>;
v = virtualinvoke v.<org.junit.platform.commons.util.ClasspathScanner: java.util.List scanForClassesInClasspathRoot(java.net.URI,org.junit.platform.commons.util.ClassFilter)>(v, v);
v = staticinvoke <java.util.Collections: java.util.List unmodifiableList(java.util.List)>(v);
return v;
}
public static java.util.List findAllClassesInPackage(java.lang.String, java.util.function.Predicate, java.util.function.Predicate)
{
org.junit.platform.commons.util.ClassFilter v;
java.util.List v;
java.util.function.Predicate v, v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: java.util.function.Predicate;
v := @parameter: java.util.function.Predicate;
v = staticinvoke <org.junit.platform.commons.util.ClassFilter: org.junit.platform.commons.util.ClassFilter of(java.util.function.Predicate,java.util.function.Predicate)>(v, v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List findAllClassesInPackage(java.lang.String,org.junit.platform.commons.util.ClassFilter)>(v, v);
return v;
}
public static java.util.List findAllClassesInPackage(java.lang.String, org.junit.platform.commons.util.ClassFilter)
{
org.junit.platform.commons.util.ClassFilter v;
java.util.List v, v;
org.junit.platform.commons.util.ClasspathScanner v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: org.junit.platform.commons.util.ClassFilter;
v = <org.junit.platform.commons.util.ReflectionUtils: org.junit.platform.commons.util.ClasspathScanner classpathScanner>;
v = virtualinvoke v.<org.junit.platform.commons.util.ClasspathScanner: java.util.List scanForClassesInPackage(java.lang.String,org.junit.platform.commons.util.ClassFilter)>(v, v);
v = staticinvoke <java.util.Collections: java.util.List unmodifiableList(java.util.List)>(v);
return v;
}
public static java.util.List findAllClassesInModule(java.lang.String, java.util.function.Predicate, java.util.function.Predicate)
{
org.junit.platform.commons.util.ClassFilter v;
java.util.List v;
java.util.function.Predicate v, v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: java.util.function.Predicate;
v := @parameter: java.util.function.Predicate;
v = staticinvoke <org.junit.platform.commons.util.ClassFilter: org.junit.platform.commons.util.ClassFilter of(java.util.function.Predicate,java.util.function.Predicate)>(v, v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List findAllClassesInModule(java.lang.String,org.junit.platform.commons.util.ClassFilter)>(v, v);
return v;
}
public static java.util.List findAllClassesInModule(java.lang.String, org.junit.platform.commons.util.ClassFilter)
{
org.junit.platform.commons.util.ClassFilter v;
java.util.List v, v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: org.junit.platform.commons.util.ClassFilter;
v = staticinvoke <org.junit.platform.commons.util.ModuleUtils: java.util.List findAllClassesInModule(java.lang.String,org.junit.platform.commons.util.ClassFilter)>(v, v);
v = staticinvoke <java.util.Collections: java.util.List unmodifiableList(java.util.List)>(v);
return v;
}
public static java.util.List findNestedClasses(java.lang.Class, java.util.function.Predicate)
{
java.util.List v;
java.util.function.Predicate v;
java.lang.Class v;
java.util.LinkedHashSet v;
java.util.ArrayList v;
v := @parameter: java.lang.Class;
v := @parameter: java.util.function.Predicate;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Predicate must not be null");
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
staticinvoke <org.junit.platform.commons.util.ReflectionUtils: void findNestedClasses(java.lang.Class,java.util.function.Predicate,java.util.Set)>(v, v, v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = staticinvoke <java.util.Collections: java.util.List unmodifiableList(java.util.List)>(v);
return v;
}
private static void findNestedClasses(java.lang.Class, java.util.function.Predicate, java.util.Set)
{
java.util.function.Supplier v;
int v, v, v, v;
java.lang.NoClassDefFoundError v;
boolean v, v, v, v;
java.util.function.Predicate v;
org.junit.platform.commons.logging.Logger v;
java.lang.Class[] v, v;
java.util.Set v;
java.lang.Class v, v, v, v;
v := @parameter: java.lang.Class;
v := @parameter: java.util.function.Predicate;
v := @parameter: java.util.Set;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isSearchable(java.lang.Class)>(v);
if v != 0 goto label;
return;
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isInnerClass(java.lang.Class)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.function.Predicate: boolean test(java.lang.Object)>(v);
if v == 0 goto label;
staticinvoke <org.junit.platform.commons.util.ReflectionUtils: void detectInnerClassCycle(java.lang.Class)>(v);
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class[] getDeclaredClasses()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = interfaceinvoke v.<java.util.function.Predicate: boolean test(java.lang.Object)>(v);
if v == 0 goto label;
staticinvoke <org.junit.platform.commons.util.ReflectionUtils: void detectInnerClassCycle(java.lang.Class)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
v := @caughtexception;
v = <org.junit.platform.commons.util.ReflectionUtils: org.junit.platform.commons.logging.Logger logger>;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_findNestedClasses_15__655: java.util.function.Supplier bootstrap$(java.lang.Class)>(v);
interfaceinvoke v.<org.junit.platform.commons.logging.Logger: void debug(java.lang.Throwable,java.util.function.Supplier)>(v, v);
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class getSuperclass()>();
staticinvoke <org.junit.platform.commons.util.ReflectionUtils: void findNestedClasses(java.lang.Class,java.util.function.Predicate,java.util.Set)>(v, v, v);
v = virtualinvoke v.<java.lang.Class: java.lang.Class[] getInterfaces()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
staticinvoke <org.junit.platform.commons.util.ReflectionUtils: void findNestedClasses(java.lang.Class,java.util.function.Predicate,java.util.Set)>(v, v, v);
v = v + 1;
goto label;
label:
return;
catch java.lang.NoClassDefFoundError from label to label with label;
}
private static void detectInnerClassCycle(java.lang.Class)
{
java.lang.Object[] v;
org.junit.platform.commons.JUnitException v;
java.util.Set v, v;
java.lang.Class v, v, v;
java.lang.String v, v, v;
boolean v, v, v, v;
v := @parameter: java.lang.Class;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = <org.junit.platform.commons.util.ReflectionUtils: java.util.Set noCyclesDetectedCache>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
return;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class getSuperclass()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isInnerClass(java.lang.Class)>(v);
if v == 0 goto label;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isSearchable(java.lang.Class)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.Class getEnclosingClass()>();
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new org.junit.platform.commons.JUnitException;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Detected cycle in inner class hierarchy between %s and %s", v);
specialinvoke v.<org.junit.platform.commons.JUnitException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class getEnclosingClass()>();
goto label;
label:
v = <org.junit.platform.commons.util.ReflectionUtils: java.util.Set noCyclesDetectedCache>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
return;
}
public static java.lang.reflect.Constructor getDeclaredConstructor(java.lang.Class)
{
java.lang.Throwable v, v;
java.util.function.Predicate v;
java.lang.RuntimeException v;
java.util.function.Supplier v;
java.lang.reflect.Constructor[] v;
java.util.stream.Stream v, v;
int v;
java.lang.Class v;
java.lang.Object v, v;
java.util.stream.Collector v;
boolean v;
v := @parameter: java.lang.Class;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
label:
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor[] getDeclaredConstructors()>();
v = staticinvoke <java.util.Arrays: java.util.stream.Stream stream(java.lang.Object[])>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_getDeclaredConstructor_16__656: java.util.function.Predicate bootstrap$()>();
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 != 1 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_getDeclaredConstructor_17__657: java.util.function.Supplier bootstrap$(java.lang.Class)>(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);
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.Throwable getUnderlyingCause(java.lang.Throwable)>(v);
v = staticinvoke <org.junit.platform.commons.util.ExceptionUtils: java.lang.RuntimeException throwAsUncheckedException(java.lang.Throwable)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
public static java.util.List findConstructors(java.lang.Class, java.util.function.Predicate)
{
java.lang.Throwable v, v;
java.util.function.Predicate v;
java.lang.RuntimeException v;
java.lang.reflect.Constructor[] v;
java.util.stream.Stream v, v;
java.lang.Class v;
java.lang.Object v;
java.util.stream.Collector v;
v := @parameter: java.lang.Class;
v := @parameter: java.util.function.Predicate;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Predicate must not be null");
label:
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor[] getDeclaredConstructors()>();
v = staticinvoke <java.util.Arrays: java.util.stream.Stream stream(java.lang.Object[])>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.junit.platform.commons.util.CollectionUtils: java.util.stream.Collector toUnmodifiableList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.Throwable getUnderlyingCause(java.lang.Throwable)>(v);
v = staticinvoke <org.junit.platform.commons.util.ExceptionUtils: java.lang.RuntimeException throwAsUncheckedException(java.lang.Throwable)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
public static java.util.List findFields(java.lang.Class, java.util.function.Predicate, org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)
{
org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode v;
java.util.function.Predicate v;
java.util.List v;
java.util.stream.Stream v, v;
java.lang.Class v;
java.lang.Object v;
java.util.stream.Collector v;
v := @parameter: java.lang.Class;
v := @parameter: java.util.function.Predicate;
v := @parameter: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Predicate must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "HierarchyTraversalMode must not be null");
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List findAllFieldsInHierarchy(java.lang.Class,org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)>(v, 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 <org.junit.platform.commons.util.CollectionUtils: java.util.stream.Collector toUnmodifiableList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
private static java.util.List findAllFieldsInHierarchy(java.lang.Class, org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)
{
org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode v, v, v;
java.util.ArrayList v;
java.util.stream.Collector v, v, v;
java.util.function.Predicate v, v, v;
java.util.List v, v, v;
java.util.stream.Stream v, v, v, v, v, v;
java.lang.Class v;
java.lang.Object v, v, v;
v := @parameter: java.lang.Class;
v := @parameter: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "HierarchyTraversalMode must not be null");
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List getDeclaredFields(java.lang.Class)>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_findAllFieldsInHierarchy_18__658: java.util.function.Predicate bootstrap$()>();
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.platform.commons.util.ReflectionUtils: java.util.List getSuperclassFields(java.lang.Class,org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)>(v, v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_findAllFieldsInHierarchy_19__659: java.util.function.Predicate bootstrap$(java.util.List)>(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.platform.commons.util.ReflectionUtils: java.util.List getInterfaceFields(java.lang.Class,org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)>(v, v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_findAllFieldsInHierarchy_20__660: java.util.function.Predicate bootstrap$(java.util.List)>(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 = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode TOP_DOWN>;
if v != v goto label;
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = <org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode BOTTOM_UP>;
if v != v goto label;
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
return v;
}
public static boolean isMethodPresent(java.lang.Class, java.util.function.Predicate)
{
java.util.function.Predicate v;
java.util.Optional v;
java.lang.Class v;
boolean v;
v := @parameter: java.lang.Class;
v := @parameter: java.util.function.Predicate;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Predicate must not be null");
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.Optional findMethod(java.lang.Class,java.util.function.Predicate)>(v, v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
return v;
}
static transient java.util.Optional getMethod(java.lang.Class, java.lang.String, java.lang.Class[])
{
org.junit.platform.commons.function.Try v;
java.lang.Class[] v;
java.util.Optional v;
java.lang.Class v;
java.lang.String v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class[];
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: org.junit.platform.commons.function.Try tryToGetMethod(java.lang.Class,java.lang.String,java.lang.Class[])>(v, v, v);
v = virtualinvoke v.<org.junit.platform.commons.function.Try: java.util.Optional toOptional()>();
return v;
}
public static transient org.junit.platform.commons.function.Try tryToGetMethod(java.lang.Class, java.lang.String, java.lang.Class[])
{
org.junit.platform.commons.function.Try v;
java.lang.Class[] v;
java.lang.Class v;
java.util.concurrent.Callable v;
java.lang.String v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class[];
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.String notBlank(java.lang.String,java.lang.String)>(v, "Method name must not be null or blank");
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_tryToGetMethod_21__661: java.util.concurrent.Callable bootstrap$(java.lang.Class,java.lang.String,java.lang.Class[])>(v, v, v);
v = staticinvoke <org.junit.platform.commons.function.Try: org.junit.platform.commons.function.Try call(java.util.concurrent.Callable)>(v);
return v;
}
public static java.util.Optional findMethod(java.lang.Class, java.lang.String, java.lang.String)
{
java.lang.Class[] v;
java.util.Optional v;
java.lang.Class v;
java.lang.String v, v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.String notBlank(java.lang.String,java.lang.String)>(v, "Method name must not be null or blank");
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.Class[] resolveParameterTypes(java.lang.Class,java.lang.String,java.lang.String)>(v, v, v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.Optional findMethod(java.lang.Class,java.lang.String,java.lang.Class[])>(v, v, v);
return v;
}
private static java.lang.Class[] resolveParameterTypes(java.lang.Class, java.lang.String, java.lang.String)
{
java.lang.Object[] v;
java.lang.Class[] v;
java.lang.String[] v;
java.util.function.Function v, v;
java.util.stream.Stream v, v, v;
java.lang.Class v;
java.lang.String v, v;
boolean v;
java.util.function.IntFunction v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = staticinvoke <org.junit.platform.commons.util.StringUtils: boolean isBlank(java.lang.String)>(v);
if v == 0 goto label;
v = <org.junit.platform.commons.util.ReflectionUtils: java.lang.Class[] EMPTY_CLASS_ARRAY>;
return v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(",");
v = staticinvoke <java.util.Arrays: java.util.stream.Stream stream(java.lang.Object[])>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$trim__662: 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.platform.commons.util.ReflectionUtils$lambda_resolveParameterTypes_22__663: java.util.function.Function bootstrap$(java.lang.Class,java.lang.String)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_resolveParameterTypes_23__664: java.util.function.IntFunction bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object[] toArray(java.util.function.IntFunction)>(v);
return v;
}
private static java.lang.Class loadRequiredParameterType(java.lang.Class, java.lang.String, java.lang.String)
{
org.junit.platform.commons.function.Try v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v, v;
java.util.function.Function v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
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.platform.commons.util.ReflectionUtils$lambda_loadRequiredParameterType_24__665: java.util.function.Function bootstrap$(java.lang.String,java.lang.String,java.lang.Class)>(v, v, v);
v = virtualinvoke v.<org.junit.platform.commons.function.Try: java.lang.Object getOrThrow(java.util.function.Function)>(v);
return v;
}
public static transient java.util.Optional findMethod(java.lang.Class, java.lang.String, java.lang.Class[])
{
java.util.function.Predicate v;
java.lang.Class[] v;
java.util.Optional v;
java.lang.Class v;
java.lang.String v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class[];
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.String notBlank(java.lang.String,java.lang.String)>(v, "Method name must not be null or blank");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Parameter types array must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object[] containsNoNullElements(java.lang.Object[],java.lang.String)>(v, "Individual parameter types must not be null");
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_findMethod_25__666: java.util.function.Predicate bootstrap$(java.lang.String,java.lang.Class[])>(v, v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.Optional findMethod(java.lang.Class,java.util.function.Predicate)>(v, v);
return v;
}
private static java.util.Optional findMethod(java.lang.Class, java.util.function.Predicate)
{
org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode v;
int v, v;
boolean v, v, v, v, v;
java.util.Iterator v;
java.util.function.Predicate v;
java.lang.Class[] v;
java.util.List v;
java.util.Optional v, v, v;
java.lang.Class v, v, v;
java.lang.Object v;
v := @parameter: java.lang.Class;
v := @parameter: java.util.function.Predicate;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Predicate must not be null");
v = v;
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isSearchable(java.lang.Class)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: boolean isInterface()>();
if v == 0 goto label;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List getMethods(java.lang.Class)>(v);
goto label;
label:
v = <org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode BOTTOM_UP>;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List getDeclaredMethods(java.lang.Class,org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)>(v, v);
label:
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.function.Predicate: boolean test(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <java.util.Optional: java.util.Optional of(java.lang.Object)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class[] getInterfaces()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.Optional findMethod(java.lang.Class,java.util.function.Predicate)>(v, v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
return v;
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class getSuperclass()>();
goto label;
label:
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
return v;
}
public static transient java.lang.reflect.Method getRequiredMethod(java.lang.Class, java.lang.String, java.lang.Class[])
{
java.lang.Class[] v;
java.util.Optional v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v;
java.util.function.Supplier v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class[];
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.Optional findMethod(java.lang.Class,java.lang.String,java.lang.Class[])>(v, v, v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_getRequiredMethod_26__667: java.util.function.Supplier bootstrap$(java.lang.String,java.lang.Class)>(v, v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
return v;
}
public static java.util.List findMethods(java.lang.Class, java.util.function.Predicate)
{
java.util.List v;
org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode v;
java.util.function.Predicate v;
java.lang.Class v;
v := @parameter: java.lang.Class;
v := @parameter: java.util.function.Predicate;
v = <org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode TOP_DOWN>;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List findMethods(java.lang.Class,java.util.function.Predicate,org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)>(v, v, v);
return v;
}
public static java.util.List findMethods(java.lang.Class, java.util.function.Predicate, org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)
{
org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode v;
java.util.function.Predicate v;
java.util.List v;
java.util.stream.Stream v, v;
java.lang.Class v;
java.lang.Object v;
java.util.stream.Collector v;
v := @parameter: java.lang.Class;
v := @parameter: java.util.function.Predicate;
v := @parameter: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Predicate must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "HierarchyTraversalMode must not be null");
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List findAllMethodsInHierarchy(java.lang.Class,org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)>(v, 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 <org.junit.platform.commons.util.CollectionUtils: java.util.stream.Collector toUnmodifiableList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
private static java.util.List findAllMethodsInHierarchy(java.lang.Class, org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)
{
org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode v, v, v;
java.util.ArrayList v;
java.util.stream.Collector v, v, v;
java.util.function.Predicate v, v, v;
java.util.List v, v, v;
java.util.stream.Stream v, v, v, v, v, v;
java.lang.Class v;
java.lang.Object v, v, v;
v := @parameter: java.lang.Class;
v := @parameter: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "HierarchyTraversalMode must not be null");
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List getDeclaredMethods(java.lang.Class,org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)>(v, v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_findAllMethodsInHierarchy_27__668: java.util.function.Predicate bootstrap$()>();
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.platform.commons.util.ReflectionUtils: java.util.List getSuperclassMethods(java.lang.Class,org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)>(v, v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_findAllMethodsInHierarchy_28__669: java.util.function.Predicate bootstrap$(java.util.List)>(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.platform.commons.util.ReflectionUtils: java.util.List getInterfaceMethods(java.lang.Class,org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)>(v, v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_findAllMethodsInHierarchy_29__670: java.util.function.Predicate bootstrap$(java.util.List)>(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 = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode TOP_DOWN>;
if v != v goto label;
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = <org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode BOTTOM_UP>;
if v != v goto label;
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
return v;
}
private static java.util.List getFields(java.lang.Class)
{
java.lang.reflect.Field[] v;
java.lang.Class v;
java.util.List v;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field[] getFields()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List toSortedMutableList(java.lang.reflect.Field[])>(v);
return v;
}
private static java.util.List getDeclaredFields(java.lang.Class)
{
java.lang.reflect.Field[] v;
java.lang.Class v;
java.util.List v;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field[] getDeclaredFields()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List toSortedMutableList(java.lang.reflect.Field[])>(v);
return v;
}
public static java.util.List getMethods(java.lang.Class)
{
java.lang.Class v;
java.util.List v;
java.lang.reflect.Method[] v;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method[] getMethods()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List toSortedMutableList(java.lang.reflect.Method[])>(v);
return v;
}
private static java.util.List getDeclaredMethods(java.lang.Class, org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)
{
java.util.List v, v;
org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode v, v;
java.lang.Class v;
java.lang.reflect.Method[] v;
v := @parameter: java.lang.Class;
v := @parameter: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List getDefaultMethods(java.lang.Class)>(v);
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method[] getDeclaredMethods()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List toSortedMutableList(java.lang.reflect.Method[])>(v);
v = <org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode BOTTOM_UP>;
if v != v goto label;
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
return v;
label:
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
return v;
}
private static java.util.List getDefaultMethods(java.lang.Class)
{
java.util.function.Function v, v;
java.util.function.Supplier v, v;
java.lang.reflect.Method[] v;
java.util.stream.Collector v, v;
boolean v;
java.util.function.Predicate v, v;
java.lang.Class[] v;
java.util.stream.Stream v, v, v, v, v, v;
java.lang.Class v;
java.lang.Object v, v;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method[] getMethods()>();
v = staticinvoke <java.util.Arrays: java.util.stream.Stream stream(java.lang.Object[])>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$isDefault__671: 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.platform.commons.util.ReflectionUtils$init__672: java.util.function.Supplier bootstrap$()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toCollection(java.util.function.Supplier)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
return v;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class[] getInterfaces()>();
v = staticinvoke <java.util.Arrays: java.util.stream.Stream stream(java.lang.Object[])>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$getMethods__673: 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.platform.commons.util.ReflectionUtils$stream__674: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream flatMap(java.util.function.Function)>(v);
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$contains__675: java.util.function.Predicate bootstrap$(java.util.List)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$init__676: java.util.function.Supplier bootstrap$()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toCollection(java.util.function.Supplier)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
private static java.util.List toSortedMutableList(java.lang.reflect.Field[])
{
java.lang.reflect.Field[] v;
java.util.stream.Stream v, v;
java.lang.Object v;
java.util.stream.Collector v;
java.util.Comparator v;
java.util.function.Supplier v;
v := @parameter: java.lang.reflect.Field[];
v = staticinvoke <java.util.Arrays: java.util.stream.Stream stream(java.lang.Object[])>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$defaultFieldSorter__677: java.util.Comparator bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream sorted(java.util.Comparator)>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$init__678: java.util.function.Supplier bootstrap$()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toCollection(java.util.function.Supplier)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
private static java.util.List toSortedMutableList(java.lang.reflect.Method[])
{
java.util.stream.Stream v, v;
java.lang.Object v;
java.util.stream.Collector v;
java.util.Comparator v;
java.util.function.Supplier v;
java.lang.reflect.Method[] v;
v := @parameter: java.lang.reflect.Method[];
v = staticinvoke <java.util.Arrays: java.util.stream.Stream stream(java.lang.Object[])>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$defaultMethodSorter__679: java.util.Comparator bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream sorted(java.util.Comparator)>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$init__680: java.util.function.Supplier bootstrap$()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toCollection(java.util.function.Supplier)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
public static int defaultFieldSorter(java.lang.reflect.Field, java.lang.reflect.Field)
{
int v, v, v;
java.lang.String v, v;
java.lang.reflect.Field v, v;
v := @parameter: java.lang.reflect.Field;
v := @parameter: java.lang.reflect.Field;
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: int hashCode()>();
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: int hashCode()>();
v = staticinvoke <java.lang.Integer: int compare(int,int)>(v, v);
return v;
}
public static int defaultMethodSorter(java.lang.reflect.Method, java.lang.reflect.Method)
{
int v, v, v;
java.lang.String v, v, v, v;
java.lang.reflect.Method v, v;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.lang.reflect.Method;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: int hashCode()>();
v = virtualinvoke v.<java.lang.String: int hashCode()>();
v = staticinvoke <java.lang.Integer: int compare(int,int)>(v, v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: int compareTo(java.lang.String)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: int compareTo(java.lang.String)>(v);
label:
return v;
}
private static java.util.List getInterfaceMethods(java.lang.Class, org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)
{
org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode v, v, v;
java.util.ArrayList v;
int v, v;
java.util.stream.Collector v, v;
java.util.function.Predicate v, v;
java.lang.Class[] v;
java.util.List v, v;
java.util.stream.Stream v, v, v, v;
java.lang.Class v, v;
java.lang.Object v, v;
v := @parameter: java.lang.Class;
v := @parameter: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<java.lang.Class: java.lang.Class[] getInterfaces()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List getMethods(java.lang.Class)>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_getInterfaceMethods_30__681: java.util.function.Predicate bootstrap$()>();
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.platform.commons.util.ReflectionUtils: java.util.List getInterfaceMethods(java.lang.Class,org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)>(v, v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_getInterfaceMethods_31__682: java.util.function.Predicate bootstrap$(java.util.List)>(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 = <org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode TOP_DOWN>;
if v != v goto label;
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = <org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode BOTTOM_UP>;
if v != v goto label;
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
v = v + 1;
goto label;
label:
return v;
}
private static java.util.List getInterfaceFields(java.lang.Class, org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)
{
org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode v, v, v;
java.util.ArrayList v;
int v, v;
java.util.stream.Collector v;
java.util.function.Predicate v;
java.lang.Class[] v;
java.util.List v, v;
java.util.stream.Stream v, v;
java.lang.Class v, v;
java.lang.Object v;
v := @parameter: java.lang.Class;
v := @parameter: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<java.lang.Class: java.lang.Class[] getInterfaces()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List getFields(java.lang.Class)>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List getInterfaceFields(java.lang.Class,org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)>(v, v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_getInterfaceFields_32__683: java.util.function.Predicate bootstrap$(java.util.List)>(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 = <org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode TOP_DOWN>;
if v != v goto label;
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = <org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode BOTTOM_UP>;
if v != v goto label;
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
v = v + 1;
goto label;
label:
return v;
}
private static java.util.List getSuperclassFields(java.lang.Class, org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)
{
java.util.List v, v;
org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode v;
java.lang.Class v, v;
boolean v;
v := @parameter: java.lang.Class;
v := @parameter: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode;
v = virtualinvoke v.<java.lang.Class: java.lang.Class getSuperclass()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isSearchable(java.lang.Class)>(v);
if v != 0 goto label;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List findAllFieldsInHierarchy(java.lang.Class,org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)>(v, v);
return v;
}
private static boolean isFieldShadowedByLocalFields(java.lang.reflect.Field, java.util.List)
{
java.util.List v;
java.util.stream.Stream v;
java.util.function.Predicate v;
java.lang.reflect.Field v;
boolean v;
v := @parameter: java.lang.reflect.Field;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_isFieldShadowedByLocalFields_33__684: java.util.function.Predicate bootstrap$(java.lang.reflect.Field)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: boolean anyMatch(java.util.function.Predicate)>(v);
return v;
}
private static java.util.List getSuperclassMethods(java.lang.Class, org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)
{
java.util.List v, v;
org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode v;
java.lang.Class v, v;
boolean v;
v := @parameter: java.lang.Class;
v := @parameter: org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode;
v = virtualinvoke v.<java.lang.Class: java.lang.Class getSuperclass()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isSearchable(java.lang.Class)>(v);
if v != 0 goto label;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.util.List findAllMethodsInHierarchy(java.lang.Class,org.junit.platform.commons.util.ReflectionUtils$HierarchyTraversalMode)>(v, v);
return v;
}
private static boolean isMethodShadowedByLocalMethods(java.lang.reflect.Method, java.util.List)
{
java.util.List v;
java.util.stream.Stream v;
java.util.function.Predicate v;
java.lang.reflect.Method v;
boolean v;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_isMethodShadowedByLocalMethods_34__685: java.util.function.Predicate bootstrap$(java.lang.reflect.Method)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: boolean anyMatch(java.util.function.Predicate)>(v);
return v;
}
private static boolean isMethodShadowedBy(java.lang.reflect.Method, java.lang.reflect.Method)
{
java.lang.Class[] v;
java.lang.String v;
java.lang.reflect.Method v, v;
boolean v;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.lang.reflect.Method;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean hasCompatibleSignature(java.lang.reflect.Method,java.lang.String,java.lang.Class[])>(v, v, v);
return v;
}
private static boolean hasCompatibleSignature(java.lang.reflect.Method, java.lang.String, java.lang.Class[])
{
int v, v, v, v;
java.lang.String v, v;
java.lang.reflect.Method v;
boolean v, v, v, v;
java.lang.Class[] v, v, v;
java.lang.Class v, v;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class[];
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
return 0;
label:
v = lengthof v;
v = virtualinvoke v.<java.lang.reflect.Method: int getParameterCount()>();
if v == v goto label;
return 0;
label:
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = staticinvoke <java.util.Arrays: boolean equals(java.lang.Object[],java.lang.Object[])>(v, v);
if v == 0 goto label;
return 1;
label:
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = v[v];
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v != 0 goto label;
return 0;
label:
v = v + 1;
goto label;
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isGeneric(java.lang.reflect.Method)>(v);
if v == 0 goto label;
return 1;
label:
return 0;
}
static boolean isGeneric(java.lang.reflect.Method)
{
java.util.function.Predicate v;
java.util.stream.Stream v;
java.lang.reflect.Type v;
java.lang.reflect.Type[] v;
java.lang.reflect.Method v;
boolean v, v, v;
v := @parameter: java.lang.reflect.Method;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.reflect.Type getGenericReturnType()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isGeneric(java.lang.reflect.Type)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.reflect.Type[] getGenericParameterTypes()>();
v = staticinvoke <java.util.Arrays: java.util.stream.Stream stream(java.lang.Object[])>(v);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$isGeneric__686: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: boolean anyMatch(java.util.function.Predicate)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isGeneric(java.lang.reflect.Type)
{
java.lang.reflect.Type v;
boolean v, v, v;
v := @parameter: java.lang.reflect.Type;
v = v instanceof java.lang.reflect.TypeVariable;
if v != 0 goto label;
v = v instanceof java.lang.reflect.GenericArrayType;
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static java.lang.reflect.AccessibleObject makeAccessible(java.lang.reflect.AccessibleObject)
{
java.lang.reflect.AccessibleObject v;
boolean v;
v := @parameter: java.lang.reflect.AccessibleObject;
v = virtualinvoke v.<java.lang.reflect.AccessibleObject: boolean isAccessible()>();
if v != 0 goto label;
virtualinvoke v.<java.lang.reflect.AccessibleObject: void setAccessible(boolean)>(1);
label:
return v;
}
public static java.util.Set getAllAssignmentCompatibleClasses(java.lang.Class)
{
java.lang.Class v;
java.util.LinkedHashSet v;
v := @parameter: java.lang.Class;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Class must not be null");
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
staticinvoke <org.junit.platform.commons.util.ReflectionUtils: void getAllAssignmentCompatibleClasses(java.lang.Class,java.util.Set)>(v, v);
return v;
}
private static void getAllAssignmentCompatibleClasses(java.lang.Class, java.util.Set)
{
java.lang.Class[] v;
java.util.Set v;
int v, v;
java.lang.Class v, v, v;
boolean v;
v := @parameter: java.lang.Class;
v := @parameter: java.util.Set;
v = v;
label:
if v == null goto label;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Class: java.lang.Class[] getInterfaces()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
staticinvoke <org.junit.platform.commons.util.ReflectionUtils: void getAllAssignmentCompatibleClasses(java.lang.Class,java.util.Set)>(v, v);
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class getSuperclass()>();
goto label;
label:
return;
}
private static boolean isSearchable(java.lang.Class)
{
java.lang.Class v;
boolean v;
v := @parameter: java.lang.Class;
if v == null goto label;
if v == class "Ljava/lang/Object;" goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static java.lang.Throwable getUnderlyingCause(java.lang.Throwable)
{
java.lang.Throwable v, v, v;
boolean v;
v := @parameter: java.lang.Throwable;
v = v instanceof java.lang.reflect.InvocationTargetException;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.InvocationTargetException: java.lang.Throwable getTargetException()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.Throwable getUnderlyingCause(java.lang.Throwable)>(v);
return v;
label:
return v;
}
static void <clinit>()
{
java.util.function.BiFunction v;
java.util.Map v, v;
java.util.IdentityHashMap v;
java.util.List v;
org.junit.platform.commons.util.ClasspathScanner v;
java.util.regex.Pattern v, v, v;
java.util.HashMap v;
java.util.function.Supplier v;
org.junit.platform.commons.logging.Logger v;
java.lang.Class[] v, v;
java.util.function.Consumer v;
java.util.concurrent.ConcurrentHashMap$KeySetView v;
java.lang.Class v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v = staticinvoke <org.junit.platform.commons.logging.LoggerFactory: org.junit.platform.commons.logging.Logger getLogger(java.lang.Class)>(class "Lorg/junit/platform/commons/util/ReflectionUtils;");
<org.junit.platform.commons.util.ReflectionUtils: org.junit.platform.commons.logging.Logger logger> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("^(\\[+)L(.+);$");
<org.junit.platform.commons.util.ReflectionUtils: java.util.regex.Pattern VM_INTERNAL_OBJECT_ARRAY_PATTERN> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("^(\\[+)(\\[[ZBCDFIJS])$");
<org.junit.platform.commons.util.ReflectionUtils: java.util.regex.Pattern VM_INTERNAL_PRIMITIVE_ARRAY_PATTERN> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("^([^\\[\\]]+)((?>\\[\\])++)$");
<org.junit.platform.commons.util.ReflectionUtils: java.util.regex.Pattern SOURCE_CODE_SYNTAX_ARRAY_PATTERN> = v;
v = newarray (java.lang.Class)[0];
<org.junit.platform.commons.util.ReflectionUtils: java.lang.Class[] EMPTY_CLASS_ARRAY> = v;
v = new org.junit.platform.commons.util.ClasspathScanner;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$getDefaultClassLoader__688: java.util.function.Supplier bootstrap$()>();
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$tryToLoadClass__689: java.util.function.BiFunction bootstrap$()>();
specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: void <init>(java.util.function.Supplier,java.util.function.BiFunction)>(v, v);
<org.junit.platform.commons.util.ReflectionUtils: org.junit.platform.commons.util.ClasspathScanner classpathScanner> = v;
v = staticinvoke <java.util.concurrent.ConcurrentHashMap: java.util.concurrent.ConcurrentHashMap$KeySetView newKeySet()>();
<org.junit.platform.commons.util.ReflectionUtils: java.util.Set noCyclesDetectedCache> = v;
v = newarray (java.lang.Class)[51];
v = <java.lang.Boolean: java.lang.Class TYPE>;
v[0] = v;
v = <java.lang.Byte: java.lang.Class TYPE>;
v[1] = v;
v = <java.lang.Character: java.lang.Class TYPE>;
v[2] = v;
v = <java.lang.Short: java.lang.Class TYPE>;
v[3] = v;
v = <java.lang.Integer: java.lang.Class TYPE>;
v[4] = v;
v = <java.lang.Long: java.lang.Class TYPE>;
v[5] = v;
v = <java.lang.Float: java.lang.Class TYPE>;
v[6] = v;
v = <java.lang.Double: java.lang.Class TYPE>;
v[7] = v;
v[8] = class "[Z";
v[9] = class "[B";
v[10] = class "[C";
v[11] = class "[S";
v[12] = class "[I";
v[13] = class "[J";
v[14] = class "[F";
v[15] = class "[D";
v[16] = class "[[Z";
v[17] = class "[[B";
v[18] = class "[[C";
v[19] = class "[[S";
v[20] = class "[[I";
v[21] = class "[[J";
v[22] = class "[[F";
v[23] = class "[[D";
v[24] = class "Ljava/lang/Boolean;";
v[25] = class "Ljava/lang/Byte;";
v[26] = class "Ljava/lang/Character;";
v[27] = class "Ljava/lang/Short;";
v[28] = class "Ljava/lang/Integer;";
v[29] = class "Ljava/lang/Long;";
v[30] = class "Ljava/lang/Float;";
v[31] = class "Ljava/lang/Double;";
v[32] = class "Ljava/lang/String;";
v[33] = class "[Ljava/lang/Boolean;";
v[34] = class "[Ljava/lang/Byte;";
v[35] = class "[Ljava/lang/Character;";
v[36] = class "[Ljava/lang/Short;";
v[37] = class "[Ljava/lang/Integer;";
v[38] = class "[Ljava/lang/Long;";
v[39] = class "[Ljava/lang/Float;";
v[40] = class "[Ljava/lang/Double;";
v[41] = class "[Ljava/lang/String;";
v[42] = class "[[Ljava/lang/Boolean;";
v[43] = class "[[Ljava/lang/Byte;";
v[44] = class "[[Ljava/lang/Character;";
v[45] = class "[[Ljava/lang/Short;";
v[46] = class "[[Ljava/lang/Integer;";
v[47] = class "[[Ljava/lang/Long;";
v[48] = class "[[Ljava/lang/Float;";
v[49] = class "[[Ljava/lang/Double;";
v[50] = class "[[Ljava/lang/String;";
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(int)>(64);
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils$lambda_static_0__690: java.util.function.Consumer bootstrap$(java.util.Map)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
<org.junit.platform.commons.util.ReflectionUtils: java.util.Map classNameToTypeMap> = v;
v = new java.util.IdentityHashMap;
specialinvoke v.<java.util.IdentityHashMap: void <init>(int)>(8);
v = <java.lang.Boolean: java.lang.Class TYPE>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, class "Ljava/lang/Boolean;");
v = <java.lang.Byte: java.lang.Class TYPE>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, class "Ljava/lang/Byte;");
v = <java.lang.Character: java.lang.Class TYPE>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, class "Ljava/lang/Character;");
v = <java.lang.Short: java.lang.Class TYPE>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, class "Ljava/lang/Short;");
v = <java.lang.Integer: java.lang.Class TYPE>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, class "Ljava/lang/Integer;");
v = <java.lang.Long: java.lang.Class TYPE>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, class "Ljava/lang/Long;");
v = <java.lang.Float: java.lang.Class TYPE>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, class "Ljava/lang/Float;");
v = <java.lang.Double: java.lang.Class TYPE>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, class "Ljava/lang/Double;");
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
<org.junit.platform.commons.util.ReflectionUtils: java.util.Map primitiveToWrapperMap> = v;
return;
}
}