public class org.fusesource.jansi.internal.JansiLoader extends java.lang.Object
{
private static boolean loaded;
private static java.lang.String nativeLibraryPath;
private static java.lang.String nativeLibrarySourceUrl;
static final boolean $assertionsDisabled;
public void <init>()
{
org.fusesource.jansi.internal.JansiLoader v;
v := @this: org.fusesource.jansi.internal.JansiLoader;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static synchronized boolean initialize()
{
java.lang.RuntimeException v;
java.lang.String v;
java.lang.Exception v;
boolean v, v, v;
v = <org.fusesource.jansi.internal.JansiLoader: boolean loaded>;
if v != 0 goto label;
staticinvoke <org.fusesource.jansi.internal.JansiLoader: void cleanup()>();
label:
staticinvoke <org.fusesource.jansi.internal.JansiLoader: void loadJansiNativeLibrary()>();
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("jansi.graceful", "true");
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
if v != 0 goto label;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>("Unable to load jansi native library. You may want set the `jansi.graceful` system property to true to be able to use Jansi on your platform", v);
throw v;
label:
v = <org.fusesource.jansi.internal.JansiLoader: boolean loaded>;
return v;
catch java.lang.Exception from label to label with label;
}
public static java.lang.String getNativeLibraryPath()
{
java.lang.String v;
v = <org.fusesource.jansi.internal.JansiLoader: java.lang.String nativeLibraryPath>;
return v;
}
public static java.lang.String getNativeLibrarySourceUrl()
{
java.lang.String v;
v = <org.fusesource.jansi.internal.JansiLoader: java.lang.String nativeLibrarySourceUrl>;
return v;
}
private static java.io.File getTempDir()
{
java.lang.String v, v;
java.io.File v;
v = new java.io.File;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("java.io.tmpdir");
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("jansi.tmpdir", v);
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
return v;
}
static void cleanup()
{
int v, v;
java.lang.SecurityException v;
java.lang.String v, v, v, v, v;
boolean v;
java.io.PrintStream v;
org.fusesource.jansi.internal.JansiLoader$1 v;
java.io.File v, v, v, v;
java.io.File[] v;
v = staticinvoke <org.fusesource.jansi.internal.JansiLoader: java.io.File getTempDir()>();
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = new org.fusesource.jansi.internal.JansiLoader$1;
specialinvoke v.<org.fusesource.jansi.internal.JansiLoader$1: void <init>()>();
v = virtualinvoke v.<java.io.File: java.io.File[] listFiles(java.io.FilenameFilter)>(v);
if v == null goto label;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = new java.io.File;
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("\u.lck");
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
label:
virtualinvoke v.<java.io.File: boolean delete()>();
label:
goto label;
label:
v := @caughtexception;
v = <java.lang.System: java.io.PrintStream err>;
v = virtualinvoke v.<java.lang.SecurityException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Failed to delete old native lib\u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
label:
v = v + 1;
goto label;
label:
return;
catch java.lang.SecurityException from label to label with label;
}
private static int readNBytes(java.io.InputStream, byte[]) throws java.io.IOException
{
byte[] v;
int v, v, v, v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
v := @parameter: byte[];
v = 0;
v = lengthof v;
label:
if v >= v goto label;
v = v - v;
v = virtualinvoke v.<java.io.InputStream: int read(byte[],int,int)>(v, v, v);
if v <= 0 goto label;
v = v + v;
goto label;
label:
return v;
}
private static java.lang.String contentsEquals(java.io.InputStream, java.io.InputStream) throws java.io.IOException
{
byte[] v, v;
int v, v;
java.lang.String v;
boolean v;
java.io.InputStream v, v;
v := @parameter: java.io.InputStream;
v := @parameter: java.io.InputStream;
v = newarray (byte)[8192];
v = newarray (byte)[8192];
label:
v = staticinvoke <org.fusesource.jansi.internal.JansiLoader: int readNBytes(java.io.InputStream,byte[])>(v, v);
v = staticinvoke <org.fusesource.jansi.internal.JansiLoader: int readNBytes(java.io.InputStream,byte[])>(v, v);
if v <= 0 goto label;
if v > 0 goto label;
return "EOF on second stream but not first";
label:
if v == v goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int)>(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[])>("Read size different (\u vs \u)");
return v;
label:
v = staticinvoke <java.util.Arrays: boolean equals(byte[],byte[])>(v, v);
if v != 0 goto label;
return "Content differs";
label:
if v <= 0 goto label;
return "EOF on first stream but not second";
label:
return null;
}
private static boolean extractAndLoadLibraryFile(java.lang.String, java.lang.String, java.lang.String)
{
java.net.URL v;
boolean v, v;
java.lang.Throwable v, v, v, v, v;
java.lang.Object[] v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v;
java.io.PrintStream v;
java.io.FileOutputStream v, v;
java.io.IOException v;
java.io.FileInputStream v;
java.lang.RuntimeException v;
java.io.File v, v;
java.lang.Class v, v, v;
java.io.InputStream v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.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 = staticinvoke <org.fusesource.jansi.internal.JansiLoader: java.lang.String randomUUID()>();
v = newarray (java.lang.Object)[3];
v = staticinvoke <org.fusesource.jansi.internal.JansiLoader: java.lang.String getVersion()>();
v[0] = v;
v[1] = v;
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("jansi-%s-%s-%s", v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("\u.lck");
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String,java.lang.String)>(v, v);
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String,java.lang.String)>(v, v);
label:
v = class "Lorg/fusesource/jansi/internal/JansiLoader;";
v = virtualinvoke v.<java.lang.Class: java.io.InputStream getResourceAsStream(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
v = new java.io.FileOutputStream;
specialinvoke v.<java.io.FileOutputStream: void <init>(java.io.File)>(v);
virtualinvoke v.<java.io.FileOutputStream: void close()>();
label:
v = new java.io.FileOutputStream;
specialinvoke v.<java.io.FileOutputStream: void <init>(java.io.File)>(v);
label:
staticinvoke <org.fusesource.jansi.internal.JansiLoader: void copy(java.io.InputStream,java.io.OutputStream)>(v, v);
label:
virtualinvoke v.<java.io.OutputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<java.io.File: void deleteOnExit()>();
virtualinvoke v.<java.io.File: void deleteOnExit()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.io.File: void deleteOnExit()>();
virtualinvoke v.<java.io.File: void deleteOnExit()>();
throw v;
label:
virtualinvoke v.<java.io.File: boolean setReadable(boolean)>(1);
virtualinvoke v.<java.io.File: boolean setWritable(boolean)>(1);
virtualinvoke v.<java.io.File: boolean setExecutable(boolean)>(1);
v = class "Lorg/fusesource/jansi/internal/JansiLoader;";
v = virtualinvoke v.<java.lang.Class: java.io.InputStream getResourceAsStream(java.lang.String)>(v);
label:
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
label:
v = staticinvoke <org.fusesource.jansi.internal.JansiLoader: java.lang.String contentsEquals(java.io.InputStream,java.io.InputStream)>(v, v);
if v == null goto label;
v = new java.lang.RuntimeException;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Failed to write a native library file at %s because %s", v);
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v = staticinvoke <org.fusesource.jansi.internal.JansiLoader: boolean loadNativeLibrary(java.io.File)>(v);
if v == 0 goto label;
v = class "Lorg/fusesource/jansi/internal/JansiLoader;";
v = virtualinvoke v.<java.lang.Class: java.net.URL getResource(java.lang.String)>(v);
v = virtualinvoke v.<java.net.URL: java.lang.String toExternalForm()>();
<org.fusesource.jansi.internal.JansiLoader: java.lang.String nativeLibrarySourceUrl> = v;
label:
return 1;
label:
v := @caughtexception;
v = <java.lang.System: java.io.PrintStream err>;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
label:
return 0;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.io.IOException from label to label with label;
}
private static java.lang.String randomUUID()
{
java.util.Random v;
long v;
java.lang.String v;
v = new java.util.Random;
specialinvoke v.<java.util.Random: void <init>()>();
v = virtualinvoke v.<java.util.Random: long nextLong()>();
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
return v;
}
private static void copy(java.io.InputStream, java.io.OutputStream) throws java.io.IOException
{
java.io.OutputStream v;
byte[] v;
int v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
v := @parameter: java.io.OutputStream;
v = newarray (byte)[8192];
label:
v = virtualinvoke v.<java.io.InputStream: int read(byte[])>(v);
if v <= 0 goto label;
virtualinvoke v.<java.io.OutputStream: void write(byte[],int,int)>(v, 0, v);
goto label;
label:
return;
}
private static boolean loadNativeLibrary(java.io.File)
{
java.io.PrintStream v, v, v;
java.lang.Object[] v, v;
java.io.File v;
java.lang.String v, v, v, v, v;
java.lang.UnsatisfiedLinkError v;
boolean v, v;
v := @parameter: java.io.File;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
staticinvoke <java.lang.System: void load(java.lang.String)>(v);
<org.fusesource.jansi.internal.JansiLoader: java.lang.String nativeLibraryPath> = v;
label:
return 1;
label:
v := @caughtexception;
v = virtualinvoke v.<java.io.File: boolean canExecute()>();
if v != 0 goto label;
v = <java.lang.System: java.io.PrintStream err>;
v = newarray (java.lang.Object)[3];
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v[0] = v;
v[1] = v;
v = staticinvoke <org.fusesource.jansi.internal.OSInfo: java.lang.String getNativeLibFolderPathForCurrentOS()>();
v[2] = v;
virtualinvoke v.<java.io.PrintStream: java.io.PrintStream printf(java.lang.String,java.lang.Object[])>("Failed to load native library:%s. The native library file at %s is not executable, make sure that the directory is mounted on a partition without the noexec flag, or set the jansi.tmpdir system property to point to a proper location.  osinfo: %s%n", v);
goto label;
label:
v = <java.lang.System: java.io.PrintStream err>;
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v[0] = v;
v = staticinvoke <org.fusesource.jansi.internal.OSInfo: java.lang.String getNativeLibFolderPathForCurrentOS()>();
v[1] = v;
virtualinvoke v.<java.io.PrintStream: java.io.PrintStream printf(java.lang.String,java.lang.Object[])>("Failed to load native library:%s. osinfo: %s%n", v);
label:
v = <java.lang.System: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.Object)>(v);
return 0;
label:
return 0;
catch java.lang.UnsatisfiedLinkError from label to label with label;
}
private static void loadJansiNativeLibrary() throws java.lang.Exception
{
boolean v, v, v, v, v, v, v, v, v;
java.lang.Exception v;
java.lang.Object[] v, v;
java.lang.String[] v;
java.lang.AssertionError v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.LinkedList v;
java.lang.Package v;
java.io.File v, v, v, v;
java.lang.Class v;
v = <org.fusesource.jansi.internal.JansiLoader: boolean loaded>;
if v == 0 goto label;
return;
label:
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("library.jansi.path");
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("library.jansi.name");
if v != null goto label;
v = staticinvoke <java.lang.System: java.lang.String mapLibraryName(java.lang.String)>("jansi");
v = <org.fusesource.jansi.internal.JansiLoader: boolean $assertionsDisabled>;
if v != 0 goto label;
if v != null goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(".dylib");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>(".dylib", ".jnilib");
label:
if v == null goto label;
v = staticinvoke <org.fusesource.jansi.internal.OSInfo: java.lang.String getNativeLibFolderPathForCurrentOS()>();
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 = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String,java.lang.String)>(v, v);
v = staticinvoke <org.fusesource.jansi.internal.JansiLoader: boolean loadNativeLibrary(java.io.File)>(v);
if v == 0 goto label;
<org.fusesource.jansi.internal.JansiLoader: boolean loaded> = 1;
return;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String,java.lang.String)>(v, v);
v = staticinvoke <org.fusesource.jansi.internal.JansiLoader: boolean loadNativeLibrary(java.io.File)>(v);
if v == 0 goto label;
<org.fusesource.jansi.internal.JansiLoader: boolean loaded> = 1;
return;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = class "Lorg/fusesource/jansi/internal/JansiLoader;";
v = virtualinvoke v.<java.lang.Class: java.lang.Package getPackage()>();
v = virtualinvoke v.<java.lang.Package: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(46, 47);
v = newarray (java.lang.Object)[2];
v[0] = v;
v = staticinvoke <org.fusesource.jansi.internal.OSInfo: java.lang.String getNativeLibFolderPathForCurrentOS()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("/%s/native/%s", v);
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 = staticinvoke <org.fusesource.jansi.internal.JansiLoader: boolean hasResource(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <org.fusesource.jansi.internal.JansiLoader: java.io.File getTempDir()>();
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v = staticinvoke <org.fusesource.jansi.internal.JansiLoader: boolean extractAndLoadLibraryFile(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
if v == 0 goto label;
<org.fusesource.jansi.internal.JansiLoader: boolean loaded> = 1;
return;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("java.library.path", "");
v = <java.io.File: java.lang.String pathSeparator>;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String,java.lang.String)>(v, v);
v = staticinvoke <org.fusesource.jansi.internal.JansiLoader: boolean loadNativeLibrary(java.io.File)>(v);
if v == 0 goto label;
<org.fusesource.jansi.internal.JansiLoader: boolean loaded> = 1;
return;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
v = new java.lang.Exception;
v = newarray (java.lang.Object)[3];
v = staticinvoke <org.fusesource.jansi.internal.OSInfo: java.lang.String getOSName()>();
v[0] = v;
v = staticinvoke <org.fusesource.jansi.internal.OSInfo: java.lang.String getArchName()>();
v[1] = v;
v = <java.io.File: java.lang.String pathSeparator>;
v = staticinvoke <org.fusesource.jansi.internal.JansiLoader: java.lang.String join(java.util.List,java.lang.String)>(v, v);
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("No native library found for os.name=%s, os.arch=%s, paths=[%s]", v);
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String)>(v);
throw v;
}
private static boolean hasResource(java.lang.String)
{
java.net.URL v;
java.lang.Class v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.String;
v = class "Lorg/fusesource/jansi/internal/JansiLoader;";
v = virtualinvoke v.<java.lang.Class: java.net.URL getResource(java.lang.String)>(v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static int getMajorVersion()
{
int v, v;
java.lang.String[] v;
java.lang.String v, v;
v = staticinvoke <org.fusesource.jansi.internal.JansiLoader: java.lang.String getVersion()>();
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("\\.");
v = lengthof v;
if v <= 0 goto label;
v = v[0];
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
goto label;
label:
v = 1;
label:
return v;
}
public static int getMinorVersion()
{
int v, v;
java.lang.String[] v;
java.lang.String v, v;
v = staticinvoke <org.fusesource.jansi.internal.JansiLoader: java.lang.String getVersion()>();
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("\\.");
v = lengthof v;
if v <= 1 goto label;
v = v[1];
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
goto label;
label:
v = 0;
label:
return v;
}
public static java.lang.String getVersion()
{
java.io.PrintStream v;
java.util.Properties v;
java.net.URL v;
java.io.IOException v;
java.lang.Class v;
java.lang.String v, v;
java.io.InputStream v;
v = class "Lorg/fusesource/jansi/internal/JansiLoader;";
v = virtualinvoke v.<java.lang.Class: java.net.URL getResource(java.lang.String)>("/org/fusesource/jansi/jansi.properties");
v = "unknown";
label:
if v == null goto label;
v = new java.util.Properties;
specialinvoke v.<java.util.Properties: void <init>()>();
v = virtualinvoke v.<java.net.URL: java.io.InputStream openStream()>();
virtualinvoke v.<java.util.Properties: void load(java.io.InputStream)>(v);
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String,java.lang.String)>("version", "unknown");
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("[^0-9.]", "");
label:
goto label;
label:
v := @caughtexception;
v = <java.lang.System: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.Object)>(v);
label:
return v;
catch java.io.IOException from label to label with label;
}
private static java.lang.String join(java.util.List, java.lang.String)
{
java.util.Iterator v;
java.util.List v;
java.lang.Object v;
java.lang.StringBuilder v;
java.lang.String v, v;
boolean v, v;
v := @parameter: java.util.List;
v := @parameter: java.lang.String;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = 1;
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()>();
if v == 0 goto label;
v = 0;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
static void <clinit>()
{
java.lang.Class v;
boolean v, v;
v = class "Lorg/fusesource/jansi/internal/JansiLoader;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.fusesource.jansi.internal.JansiLoader: boolean $assertionsDisabled> = v;
<org.fusesource.jansi.internal.JansiLoader: boolean loaded> = 0;
return;
}
}