final class org.junit.platform.commons.util.CloseablePath extends java.lang.Object implements java.io.Closeable
{
private static final java.lang.String FILE_URI_SCHEME;
private static final java.lang.String JAR_URI_SCHEME;
private static final java.lang.String JAR_FILE_EXTENSION;
private static final java.lang.String JAR_URI_SEPARATOR;
private static final java.io.Closeable NULL_CLOSEABLE;
private static final java.util.concurrent.ConcurrentMap MANAGED_FILE_SYSTEMS;
private final java.nio.file.Path path;
private final java.io.Closeable delegate;
static org.junit.platform.commons.util.CloseablePath create(java.net.URI) throws java.net.URISyntaxException
{
java.lang.String[] v;
java.util.function.Function v, v;
java.lang.String v, v, v, v, v, v, v, v;
java.net.URI v, v, v;
java.nio.file.Path v;
boolean v, v, v;
org.junit.platform.commons.util.CloseablePath v, v, v;
java.io.Closeable v;
v := @parameter: java.net.URI;
v = "jar";
v = virtualinvoke v.<java.net.URI: java.lang.String getScheme()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("!");
v = v[0];
v = v[1];
v = new java.net.URI;
specialinvoke v.<java.net.URI: void <init>(java.lang.String)>(v);
v = staticinvoke <org.junit.platform.commons.util.CloseablePath$lambda_create_1__650: java.util.function.Function bootstrap$(java.lang.String)>(v);
v = staticinvoke <org.junit.platform.commons.util.CloseablePath: org.junit.platform.commons.util.CloseablePath createForJarFileSystem(java.net.URI,java.util.function.Function)>(v, v);
return v;
label:
v = virtualinvoke v.<java.net.URI: java.lang.String getScheme()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("file");
if v == 0 goto label;
v = virtualinvoke v.<java.net.URI: java.lang.String getPath()>();
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(".jar");
if v == 0 goto label;
v = new java.net.URI;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.URI)>(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[])>("jar:\u0001");
specialinvoke v.<java.net.URI: void <init>(java.lang.String)>(v);
v = staticinvoke <org.junit.platform.commons.util.CloseablePath$lambda_create_2__649: java.util.function.Function bootstrap$()>();
v = staticinvoke <org.junit.platform.commons.util.CloseablePath: org.junit.platform.commons.util.CloseablePath createForJarFileSystem(java.net.URI,java.util.function.Function)>(v, v);
return v;
label:
v = new org.junit.platform.commons.util.CloseablePath;
v = staticinvoke <java.nio.file.Paths: java.nio.file.Path get(java.net.URI)>(v);
v = <org.junit.platform.commons.util.CloseablePath: java.io.Closeable NULL_CLOSEABLE>;
specialinvoke v.<org.junit.platform.commons.util.CloseablePath: void <init>(java.nio.file.Path,java.io.Closeable)>(v, v);
return v;
}
private static org.junit.platform.commons.util.CloseablePath createForJarFileSystem(java.net.URI, java.util.function.Function)
{
java.util.function.BiFunction v;
java.nio.file.FileSystem v;
java.util.function.Function v;
java.util.concurrent.ConcurrentMap v;
org.junit.platform.commons.util.CloseablePath v;
java.io.Closeable v;
java.lang.Object v, v;
java.net.URI v;
v := @parameter: java.net.URI;
v := @parameter: java.util.function.Function;
v = <org.junit.platform.commons.util.CloseablePath: java.util.concurrent.ConcurrentMap MANAGED_FILE_SYSTEMS>;
v = staticinvoke <org.junit.platform.commons.util.CloseablePath$lambda_createForJarFileSystem_3__651: java.util.function.BiFunction bootstrap$(java.net.URI)>(v);
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object compute(java.lang.Object,java.util.function.BiFunction)>(v, v);
v = v.<org.junit.platform.commons.util.CloseablePath$ManagedFileSystem: java.nio.file.FileSystem fileSystem>;
v = interfaceinvoke v.<java.util.function.Function: java.lang.Object apply(java.lang.Object)>(v);
v = new org.junit.platform.commons.util.CloseablePath;
v = staticinvoke <org.junit.platform.commons.util.CloseablePath$lambda_createForJarFileSystem_5__652: java.io.Closeable bootstrap$(java.net.URI,org.junit.platform.commons.util.CloseablePath$ManagedFileSystem)>(v, v);
specialinvoke v.<org.junit.platform.commons.util.CloseablePath: void <init>(java.nio.file.Path,java.io.Closeable)>(v, v);
return v;
}
private void <init>(java.nio.file.Path, java.io.Closeable)
{
java.nio.file.Path v;
org.junit.platform.commons.util.CloseablePath v;
java.io.Closeable v;
v := @this: org.junit.platform.commons.util.CloseablePath;
v := @parameter: java.nio.file.Path;
v := @parameter: java.io.Closeable;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.junit.platform.commons.util.CloseablePath: java.nio.file.Path path> = v;
v.<org.junit.platform.commons.util.CloseablePath: java.io.Closeable delegate> = v;
return;
}
public java.nio.file.Path getPath()
{
java.nio.file.Path v;
org.junit.platform.commons.util.CloseablePath v;
v := @this: org.junit.platform.commons.util.CloseablePath;
v = v.<org.junit.platform.commons.util.CloseablePath: java.nio.file.Path path>;
return v;
}
public void close() throws java.io.IOException
{
org.junit.platform.commons.util.CloseablePath v;
java.io.Closeable v;
v := @this: org.junit.platform.commons.util.CloseablePath;
v = v.<org.junit.platform.commons.util.CloseablePath: java.io.Closeable delegate>;
interfaceinvoke v.<java.io.Closeable: void close()>();
return;
}
static void <clinit>()
{
java.util.concurrent.ConcurrentHashMap v;
java.io.Closeable v;
v = staticinvoke <org.junit.platform.commons.util.CloseablePath$lambda_static_0__654: java.io.Closeable bootstrap$()>();
<org.junit.platform.commons.util.CloseablePath: java.io.Closeable NULL_CLOSEABLE> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
<org.junit.platform.commons.util.CloseablePath: java.util.concurrent.ConcurrentMap MANAGED_FILE_SYSTEMS> = v;
return;
}
}