class org.junit.platform.commons.util.ClasspathScanner extends java.lang.Object
{
private static final org.junit.platform.commons.logging.Logger logger;
private static final char CLASSPATH_RESOURCE_PATH_SEPARATOR;
private static final java.lang.String CLASSPATH_RESOURCE_PATH_SEPARATOR_STRING;
private static final char PACKAGE_SEPARATOR_CHAR;
private static final java.lang.String PACKAGE_SEPARATOR_STRING;
private static final java.lang.String MALFORMED_CLASS_NAME_ERROR_MESSAGE;
private final java.util.function.Supplier classLoaderSupplier;
private final java.util.function.BiFunction loadClass;
void <init>(java.util.function.Supplier, java.util.function.BiFunction)
{
org.junit.platform.commons.util.ClasspathScanner v;
java.util.function.Supplier v;
java.util.function.BiFunction v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.util.function.Supplier;
v := @parameter: java.util.function.BiFunction;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.junit.platform.commons.util.ClasspathScanner: java.util.function.Supplier classLoaderSupplier> = v;
v.<org.junit.platform.commons.util.ClasspathScanner: java.util.function.BiFunction loadClass> = v;
return;
}
java.util.List scanForClassesInPackage(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, v;
boolean v, v, v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.lang.String;
v := @parameter: org.junit.platform.commons.util.ClassFilter;
v = "";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = staticinvoke <org.junit.platform.commons.util.StringUtils: boolean isNotBlank(java.lang.String)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.junit.platform.commons.util.Preconditions: void condition(boolean,java.lang.String)>(v, "basePackageName must not be null or blank");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "classFilter must not be null");
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: java.util.List getRootUrisForPackageNameOnClassPathAndModulePath(java.lang.String)>(v);
v = specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: java.util.List findClassesForUris(java.util.List,java.lang.String,org.junit.platform.commons.util.ClassFilter)>(v, v, v);
return v;
}
java.util.List scanForClassesInClasspathRoot(java.net.URI, org.junit.platform.commons.util.ClassFilter)
{
org.junit.platform.commons.util.ClassFilter v;
java.util.List v;
org.junit.platform.commons.util.ClasspathScanner v;
java.net.URI v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.net.URI;
v := @parameter: org.junit.platform.commons.util.ClassFilter;
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "root must not be null");
staticinvoke <org.junit.platform.commons.util.Preconditions: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "classFilter must not be null");
v = specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: java.util.List findClassesForUri(java.net.URI,java.lang.String,org.junit.platform.commons.util.ClassFilter)>(v, "", v);
return v;
}
private java.util.List findClassesForUris(java.util.List, java.lang.String, org.junit.platform.commons.util.ClassFilter)
{
org.junit.platform.commons.util.ClassFilter v;
java.util.function.Function v, v;
java.util.List v;
java.util.stream.Stream v, v, v, v;
org.junit.platform.commons.util.ClasspathScanner v;
java.lang.Object v;
java.lang.String v;
java.util.stream.Collector v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.util.List;
v := @parameter: java.lang.String;
v := @parameter: org.junit.platform.commons.util.ClassFilter;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.platform.commons.util.ClasspathScanner$lambda_findClassesForUris_0__611: java.util.function.Function bootstrap$(org.junit.platform.commons.util.ClasspathScanner,java.lang.String,org.junit.platform.commons.util.ClassFilter)>(v, 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.ClasspathScanner$stream__612: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream flatMap(java.util.function.Function)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream distinct()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
private java.util.List findClassesForUri(java.net.URI, java.lang.String, org.junit.platform.commons.util.ClassFilter)
{
java.lang.Throwable v;
org.junit.platform.commons.util.ClassFilter v;
org.junit.platform.commons.logging.Logger v;
java.util.function.Supplier v;
java.lang.Exception v;
java.util.List v, v;
org.junit.platform.commons.util.ClasspathScanner v;
org.junit.platform.commons.PreconditionViolationException v;
org.junit.platform.commons.util.CloseablePath v;
java.lang.String v;
java.net.URI v;
java.nio.file.Path v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.net.URI;
v := @parameter: java.lang.String;
v := @parameter: org.junit.platform.commons.util.ClassFilter;
label:
v = staticinvoke <org.junit.platform.commons.util.CloseablePath: org.junit.platform.commons.util.CloseablePath create(java.net.URI)>(v);
label:
v = virtualinvoke v.<org.junit.platform.commons.util.CloseablePath: java.nio.file.Path getPath()>();
v = specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: java.util.List findClassesForPath(java.nio.file.Path,java.lang.String,org.junit.platform.commons.util.ClassFilter)>(v, v, v);
label:
virtualinvoke v.<org.junit.platform.commons.util.CloseablePath: void close()>();
label:
return v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = <org.junit.platform.commons.util.ClasspathScanner: org.junit.platform.commons.logging.Logger logger>;
v = staticinvoke <org.junit.platform.commons.util.ClasspathScanner$lambda_findClassesForUri_1__613: java.util.function.Supplier bootstrap$(java.net.URI)>(v);
interfaceinvoke v.<org.junit.platform.commons.logging.Logger: void warn(java.lang.Throwable,java.util.function.Supplier)>(v, v);
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
catch java.lang.Throwable from label to label with label;
catch org.junit.platform.commons.PreconditionViolationException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
private java.util.List findClassesForPath(java.nio.file.Path, java.lang.String, org.junit.platform.commons.util.ClassFilter)
{
org.junit.platform.commons.util.ClassFileVisitor v;
org.junit.platform.commons.util.ClassFilter v;
java.nio.file.LinkOption[] v;
org.junit.platform.commons.logging.Logger v;
java.io.IOException v;
java.util.function.Supplier v, v;
java.util.ArrayList v;
java.util.function.Consumer v;
org.junit.platform.commons.util.ClasspathScanner v;
java.lang.String v;
java.nio.file.Path v;
boolean v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.nio.file.Path;
v := @parameter: java.lang.String;
v := @parameter: org.junit.platform.commons.util.ClassFilter;
v = newarray (java.nio.file.LinkOption)[0];
v = staticinvoke <java.nio.file.Files: boolean exists(java.nio.file.Path,java.nio.file.LinkOption[])>(v, v);
v = staticinvoke <org.junit.platform.commons.util.ClasspathScanner$lambda_findClassesForPath_2__614: java.util.function.Supplier bootstrap$(java.nio.file.Path)>(v);
staticinvoke <org.junit.platform.commons.util.Preconditions: void condition(boolean,java.util.function.Supplier)>(v, v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
label:
v = new org.junit.platform.commons.util.ClassFileVisitor;
v = staticinvoke <org.junit.platform.commons.util.ClasspathScanner$lambda_findClassesForPath_3__615: java.util.function.Consumer bootstrap$(org.junit.platform.commons.util.ClasspathScanner,java.nio.file.Path,java.lang.String,org.junit.platform.commons.util.ClassFilter,java.util.List)>(v, v, v, v, v);
specialinvoke v.<org.junit.platform.commons.util.ClassFileVisitor: void <init>(java.util.function.Consumer)>(v);
staticinvoke <java.nio.file.Files: java.nio.file.Path walkFileTree(java.nio.file.Path,java.nio.file.FileVisitor)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.junit.platform.commons.util.ClasspathScanner: org.junit.platform.commons.logging.Logger logger>;
v = staticinvoke <org.junit.platform.commons.util.ClasspathScanner$lambda_findClassesForPath_4__616: java.util.function.Supplier bootstrap$(java.nio.file.Path)>(v);
interfaceinvoke v.<org.junit.platform.commons.logging.Logger: void warn(java.lang.Throwable,java.util.function.Supplier)>(v, v);
label:
return v;
catch java.io.IOException from label to label with label;
}
private void processClassFileSafely(java.nio.file.Path, java.lang.String, org.junit.platform.commons.util.ClassFilter, java.nio.file.Path, java.util.function.Consumer)
{
java.lang.Throwable v;
org.junit.platform.commons.util.ClassFilter v;
java.util.function.BiFunction v;
java.util.function.Consumer v;
org.junit.platform.commons.util.ClasspathScanner v;
java.lang.InternalError v;
java.util.Optional v, v;
java.lang.Object v;
java.lang.ClassLoader v;
java.lang.String v, v;
java.nio.file.Path v, v;
boolean v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.nio.file.Path;
v := @parameter: java.lang.String;
v := @parameter: org.junit.platform.commons.util.ClassFilter;
v := @parameter: java.nio.file.Path;
v := @parameter: java.util.function.Consumer;
label:
v = specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: java.lang.String determineFullyQualifiedClassName(java.nio.file.Path,java.lang.String,java.nio.file.Path)>(v, v, v);
v = virtualinvoke v.<org.junit.platform.commons.util.ClassFilter: boolean match(java.lang.String)>(v);
if v == 0 goto label;
label:
v = v.<org.junit.platform.commons.util.ClasspathScanner: java.util.function.BiFunction loadClass>;
v = specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: java.lang.ClassLoader getClassLoader()>();
v = interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.junit.platform.commons.function.Try: java.util.Optional toOptional()>();
v = virtualinvoke v.<java.util.Optional: java.util.Optional filter(java.util.function.Predicate)>(v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: void handleInternalError(java.nio.file.Path,java.lang.String,java.lang.InternalError)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: void handleThrowable(java.nio.file.Path,java.lang.Throwable)>(v, v);
label:
return;
catch java.lang.InternalError from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private java.lang.String determineFullyQualifiedClassName(java.nio.file.Path, java.lang.String, java.nio.file.Path)
{
java.util.function.Predicate v;
java.lang.String[] v;
java.util.stream.Stream v, v;
org.junit.platform.commons.util.ClasspathScanner v;
java.lang.Object v;
java.lang.String v, v, v, v;
java.util.stream.Collector v;
java.nio.file.Path v, v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.nio.file.Path;
v := @parameter: java.lang.String;
v := @parameter: java.nio.file.Path;
v = newarray (java.lang.String)[3];
v[0] = v;
v = specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: java.lang.String determineSubpackageName(java.nio.file.Path,java.nio.file.Path)>(v, v);
v[1] = v;
v = specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: java.lang.String determineSimpleClassName(java.nio.file.Path)>(v);
v[2] = v;
v = staticinvoke <java.util.stream.Stream: java.util.stream.Stream of(java.lang.Object[])>(v);
v = staticinvoke <org.junit.platform.commons.util.ClasspathScanner$lambda_determineFullyQualifiedClassName_5__617: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = <org.junit.platform.commons.util.ClasspathScanner: java.lang.String PACKAGE_SEPARATOR_STRING>;
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector joining(java.lang.CharSequence)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
private java.lang.String determineSimpleClassName(java.nio.file.Path)
{
org.junit.platform.commons.util.ClasspathScanner v;
int v, v, v;
java.lang.String v, v, v;
java.nio.file.Path v, v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.nio.file.Path;
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.Path getFileName()>();
v = interfaceinvoke v.<java.nio.file.Path: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: int length()>();
v = ".class";
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - v;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
return v;
}
private java.lang.String determineSubpackageName(java.nio.file.Path, java.nio.file.Path)
{
java.nio.file.FileSystem v;
org.junit.platform.commons.util.ClasspathScanner v;
int v, v, v;
java.lang.String v, v, v, v;
java.nio.file.Path v, v, v, v;
boolean v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.nio.file.Path;
v := @parameter: java.nio.file.Path;
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.Path getParent()>();
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.Path relativize(java.nio.file.Path)>(v);
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.FileSystem getFileSystem()>();
v = virtualinvoke v.<java.nio.file.FileSystem: java.lang.String getSeparator()>();
v = interfaceinvoke v.<java.nio.file.Path: java.lang.String toString()>();
v = <org.junit.platform.commons.util.ClasspathScanner: java.lang.String PACKAGE_SEPARATOR_STRING>;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - v;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
return v;
}
private void handleInternalError(java.nio.file.Path, java.lang.String, java.lang.InternalError)
{
org.junit.platform.commons.util.ClasspathScanner v;
java.lang.InternalError v;
java.lang.String v, v, v;
java.nio.file.Path v;
boolean v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.nio.file.Path;
v := @parameter: java.lang.String;
v := @parameter: java.lang.InternalError;
v = "Malformed class name";
v = virtualinvoke v.<java.lang.InternalError: java.lang.String getMessage()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: void logMalformedClassName(java.nio.file.Path,java.lang.String,java.lang.InternalError)>(v, v, v);
goto label;
label:
specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: void logGenericFileProcessingException(java.nio.file.Path,java.lang.Throwable)>(v, v);
label:
return;
}
private void handleThrowable(java.nio.file.Path, java.lang.Throwable)
{
java.lang.Throwable v;
org.junit.platform.commons.util.ClasspathScanner v;
java.nio.file.Path v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.nio.file.Path;
v := @parameter: java.lang.Throwable;
staticinvoke <org.junit.platform.commons.util.UnrecoverableExceptions: void rethrowIfUnrecoverable(java.lang.Throwable)>(v);
specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: void logGenericFileProcessingException(java.nio.file.Path,java.lang.Throwable)>(v, v);
return;
}
private void logMalformedClassName(java.nio.file.Path, java.lang.String, java.lang.InternalError)
{
java.lang.Throwable v;
org.junit.platform.commons.util.ClasspathScanner v;
org.junit.platform.commons.logging.Logger v;
java.lang.InternalError v;
java.lang.String v;
java.nio.file.Path v;
java.util.function.Supplier v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.nio.file.Path;
v := @parameter: java.lang.String;
v := @parameter: java.lang.InternalError;
label:
v = <org.junit.platform.commons.util.ClasspathScanner: org.junit.platform.commons.logging.Logger logger>;
v = staticinvoke <org.junit.platform.commons.util.ClasspathScanner$lambda_logMalformedClassName_6__618: java.util.function.Supplier bootstrap$(java.nio.file.Path,java.lang.String)>(v, v);
interfaceinvoke v.<org.junit.platform.commons.logging.Logger: void debug(java.lang.Throwable,java.util.function.Supplier)>(v, v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.platform.commons.util.UnrecoverableExceptions: void rethrowIfUnrecoverable(java.lang.Throwable)>(v);
virtualinvoke v.<java.lang.InternalError: void addSuppressed(java.lang.Throwable)>(v);
specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: void logGenericFileProcessingException(java.nio.file.Path,java.lang.Throwable)>(v, v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void logGenericFileProcessingException(java.nio.file.Path, java.lang.Throwable)
{
java.lang.Throwable v;
org.junit.platform.commons.util.ClasspathScanner v;
org.junit.platform.commons.logging.Logger v;
java.nio.file.Path v;
java.util.function.Supplier v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.nio.file.Path;
v := @parameter: java.lang.Throwable;
v = <org.junit.platform.commons.util.ClasspathScanner: org.junit.platform.commons.logging.Logger logger>;
v = staticinvoke <org.junit.platform.commons.util.ClasspathScanner$lambda_logGenericFileProcessingException_7__619: java.util.function.Supplier bootstrap$(java.nio.file.Path)>(v);
interfaceinvoke v.<org.junit.platform.commons.logging.Logger: void debug(java.lang.Throwable,java.util.function.Supplier)>(v, v);
return;
}
private java.lang.ClassLoader getClassLoader()
{
java.lang.Object v;
org.junit.platform.commons.util.ClasspathScanner v;
java.util.function.Supplier v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v = v.<org.junit.platform.commons.util.ClasspathScanner: java.util.function.Supplier classLoaderSupplier>;
v = interfaceinvoke v.<java.util.function.Supplier: java.lang.Object get()>();
return v;
}
private java.util.List getRootUrisForPackageNameOnClassPathAndModulePath(java.lang.String)
{
java.util.function.Function v;
java.util.ArrayList v;
java.util.function.Consumer v;
java.util.List v, v;
java.util.stream.Stream v, v;
org.junit.platform.commons.util.ClasspathScanner v;
java.lang.String v, v, v, v;
java.util.LinkedHashSet v;
boolean v, v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.lang.String;
v = new java.util.LinkedHashSet;
v = specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: java.util.List getRootUrisForPackage(java.lang.String)>(v);
specialinvoke v.<java.util.LinkedHashSet: void <init>(java.util.Collection)>(v);
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = <org.junit.platform.commons.util.ClasspathScanner: java.lang.String PACKAGE_SEPARATOR_STRING>;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(v);
if v != 0 goto label;
v = <org.junit.platform.commons.util.ClasspathScanner: java.lang.String PACKAGE_SEPARATOR_STRING>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
v = specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: java.util.List getRootUrisForPackage(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.platform.commons.util.ClasspathScanner$removeTrailingClasspathResourcePathSeparator__620: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.junit.platform.commons.util.ClasspathScanner$add__621: java.util.function.Consumer bootstrap$(java.util.Set)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
return v;
}
public static java.net.URI removeTrailingClasspathResourcePathSeparator(java.net.URI)
{
int v, v;
java.lang.String v, v, v;
java.net.URI v, v;
boolean v;
v := @parameter: java.net.URI;
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
v = <org.junit.platform.commons.util.ClasspathScanner: java.lang.String CLASSPATH_RESOURCE_PATH_SEPARATOR_STRING>;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = staticinvoke <java.net.URI: java.net.URI create(java.lang.String)>(v);
return v;
label:
return v;
}
private static java.lang.String packagePath(java.lang.String)
{
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
return "";
label:
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(46, 47);
return v;
}
private java.util.List getRootUrisForPackage(java.lang.String)
{
java.util.Enumeration v;
org.junit.platform.commons.logging.Logger v;
java.util.function.Supplier v;
java.lang.Exception v;
java.util.ArrayList v;
java.util.List v;
org.junit.platform.commons.util.ClasspathScanner v;
java.lang.Object v;
java.lang.ClassLoader v;
java.lang.String v, v;
java.net.URI v;
boolean v;
v := @this: org.junit.platform.commons.util.ClasspathScanner;
v := @parameter: java.lang.String;
label:
v = specialinvoke v.<org.junit.platform.commons.util.ClasspathScanner: java.lang.ClassLoader getClassLoader()>();
v = staticinvoke <org.junit.platform.commons.util.ClasspathScanner: java.lang.String packagePath(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.ClassLoader: java.util.Enumeration getResources(java.lang.String)>(v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
label:
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Enumeration: java.lang.Object nextElement()>();
v = virtualinvoke v.<java.net.URL: java.net.URI toURI()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
label:
v := @caughtexception;
v = <org.junit.platform.commons.util.ClasspathScanner: org.junit.platform.commons.logging.Logger logger>;
v = staticinvoke <org.junit.platform.commons.util.ClasspathScanner$lambda_getRootUrisForPackage_8__622: java.util.function.Supplier bootstrap$(java.lang.String)>(v);
interfaceinvoke v.<org.junit.platform.commons.logging.Logger: void warn(java.lang.Throwable,java.util.function.Supplier)>(v, v);
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
catch java.lang.Exception from label to label with label;
}
static void <clinit>()
{
java.lang.String v, v;
org.junit.platform.commons.logging.Logger 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/ClasspathScanner;");
<org.junit.platform.commons.util.ClasspathScanner: org.junit.platform.commons.logging.Logger logger> = v;
v = staticinvoke <java.lang.String: java.lang.String valueOf(char)>(47);
<org.junit.platform.commons.util.ClasspathScanner: java.lang.String CLASSPATH_RESOURCE_PATH_SEPARATOR_STRING> = v;
v = staticinvoke <java.lang.String: java.lang.String valueOf(char)>(46);
<org.junit.platform.commons.util.ClasspathScanner: java.lang.String PACKAGE_SEPARATOR_STRING> = v;
return;
}
}