public class org.apache.commons.io.FileSystemUtils extends java.lang.Object
{
private static final org.apache.commons.io.FileSystemUtils INSTANCE;
private static final int INIT_PROBLEM;
private static final int OTHER;
private static final int WINDOWS;
private static final int UNIX;
private static final int POSIX_UNIX;
private static final int OS;
private static final java.lang.String DF;
public static long freeSpace(java.lang.String) throws java.io.IOException
{
java.time.Duration v;
int v;
long v;
java.lang.String v;
org.apache.commons.io.FileSystemUtils v;
v := @parameter: java.lang.String;
v = <org.apache.commons.io.FileSystemUtils: org.apache.commons.io.FileSystemUtils INSTANCE>;
v = <org.apache.commons.io.FileSystemUtils: int OS>;
v = staticinvoke <java.time.Duration: java.time.Duration ofMillis(long)>(-1L);
v = virtualinvoke v.<org.apache.commons.io.FileSystemUtils: long freeSpaceOS(java.lang.String,int,boolean,java.time.Duration)>(v, v, 0, v);
return v;
}
public static long freeSpaceKb() throws java.io.IOException
{
long v;
v = staticinvoke <org.apache.commons.io.FileSystemUtils: long freeSpaceKb(long)>(-1L);
return v;
}
public static long freeSpaceKb(long) throws java.io.IOException
{
long v, v;
java.lang.String v;
java.io.File v;
v := @parameter: long;
v = staticinvoke <org.apache.commons.io.FileUtils: java.io.File current()>();
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v = staticinvoke <org.apache.commons.io.FileSystemUtils: long freeSpaceKb(java.lang.String,long)>(v, v);
return v;
}
public static long freeSpaceKb(java.lang.String) throws java.io.IOException
{
long v;
java.lang.String v;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.commons.io.FileSystemUtils: long freeSpaceKb(java.lang.String,long)>(v, -1L);
return v;
}
public static long freeSpaceKb(java.lang.String, long) throws java.io.IOException
{
java.time.Duration v;
int v;
long v, v;
java.lang.String v;
org.apache.commons.io.FileSystemUtils v;
v := @parameter: java.lang.String;
v := @parameter: long;
v = <org.apache.commons.io.FileSystemUtils: org.apache.commons.io.FileSystemUtils INSTANCE>;
v = <org.apache.commons.io.FileSystemUtils: int OS>;
v = staticinvoke <java.time.Duration: java.time.Duration ofMillis(long)>(v);
v = virtualinvoke v.<org.apache.commons.io.FileSystemUtils: long freeSpaceOS(java.lang.String,int,boolean,java.time.Duration)>(v, v, 1, v);
return v;
}
public void <init>()
{
org.apache.commons.io.FileSystemUtils v;
v := @this: org.apache.commons.io.FileSystemUtils;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
long freeSpaceOS(java.lang.String, int, boolean, java.time.Duration) throws java.io.IOException
{
java.lang.IllegalStateException v, v;
long v, v, v, v;
org.apache.commons.io.FileSystemUtils v;
java.time.Duration v;
int v;
java.lang.String v;
boolean v;
v := @this: org.apache.commons.io.FileSystemUtils;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: java.time.Duration;
staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "path");
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
if v == 0 goto label;
v = virtualinvoke v.<org.apache.commons.io.FileSystemUtils: long freeSpaceWindows(java.lang.String,java.time.Duration)>(v, v);
v = v / 1024L;
goto label;
label:
v = virtualinvoke v.<org.apache.commons.io.FileSystemUtils: long freeSpaceWindows(java.lang.String,java.time.Duration)>(v, v);
label:
return v;
label:
v = virtualinvoke v.<org.apache.commons.io.FileSystemUtils: long freeSpaceUnix(java.lang.String,boolean,boolean,java.time.Duration)>(v, v, 0, v);
return v;
label:
v = virtualinvoke v.<org.apache.commons.io.FileSystemUtils: long freeSpaceUnix(java.lang.String,boolean,boolean,java.time.Duration)>(v, v, 1, v);
return v;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Unsupported operating system");
throw v;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Exception caught when determining operating system");
throw v;
}
long freeSpaceUnix(java.lang.String, boolean, boolean, java.time.Duration) throws java.io.IOException
{
java.lang.String[] v;
long v;
org.apache.commons.io.FileSystemUtils v;
java.util.StringTokenizer v, v, v;
java.time.Duration v;
int v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
boolean v, v, v;
java.io.IOException v, v;
java.lang.IllegalArgumentException v;
java.util.List v;
java.lang.Object v, v;
v := @this: org.apache.commons.io.FileSystemUtils;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: java.time.Duration;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Path must not be empty");
throw v;
label:
v = "-";
if v == 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>("-") <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[])>("\u0001k");
label:
if v == 0 goto label;
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[])>("\u0001P");
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 1 goto label;
v = newarray (java.lang.String)[3];
v = <org.apache.commons.io.FileSystemUtils: java.lang.String DF>;
v[0] = v;
v[1] = v;
v[2] = v;
goto label;
label:
v = newarray (java.lang.String)[2];
v = <org.apache.commons.io.FileSystemUtils: java.lang.String DF>;
v[0] = v;
v[1] = v;
label:
v = virtualinvoke v.<org.apache.commons.io.FileSystemUtils: java.util.List performCommand(java.lang.String[],int,java.time.Duration)>(v, 3, v);
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= 2 goto label;
v = new java.io.IOException;
v = <org.apache.commons.io.FileSystemUtils: java.lang.String DF>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.util.List)>(v, 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[])>("Command line \'\u0001\' did not return info as expected for path \'\u0001\'- response was \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = new java.util.StringTokenizer;
specialinvoke v.<java.util.StringTokenizer: void <init>(java.lang.String,java.lang.String)>(v, " ");
v = v;
v = virtualinvoke v.<java.util.StringTokenizer: int countTokens()>();
if v >= 4 goto label;
v = virtualinvoke v.<java.util.StringTokenizer: int countTokens()>();
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= 3 goto label;
label:
v = new java.io.IOException;
v = <org.apache.commons.io.FileSystemUtils: java.lang.String DF>;
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[])>("Command line \'\u0001\' did not return data as expected for path \'\u0001\'- check path is valid");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(2);
v = new java.util.StringTokenizer;
specialinvoke v.<java.util.StringTokenizer: void <init>(java.lang.String,java.lang.String)>(v, " ");
v = v;
goto label;
label:
virtualinvoke v.<java.util.StringTokenizer: java.lang.String nextToken()>();
label:
virtualinvoke v.<java.util.StringTokenizer: java.lang.String nextToken()>();
virtualinvoke v.<java.util.StringTokenizer: java.lang.String nextToken()>();
v = virtualinvoke v.<java.util.StringTokenizer: java.lang.String nextToken()>();
v = virtualinvoke v.<org.apache.commons.io.FileSystemUtils: long parseBytes(java.lang.String,java.lang.String)>(v, v);
return v;
}
long freeSpaceWindows(java.lang.String, java.time.Duration) throws java.io.IOException
{
java.lang.String[] v;
long v;
org.apache.commons.io.FileSystemUtils v;
java.time.Duration v;
int v, v;
java.lang.String v, v, v, v;
boolean v, v;
char v;
java.io.IOException v;
java.lang.IllegalArgumentException v;
java.util.List v;
java.lang.Object v;
v := @this: org.apache.commons.io.FileSystemUtils;
v := @parameter: java.lang.String;
v := @parameter: java.time.Duration;
v = staticinvoke <org.apache.commons.io.FilenameUtils: java.lang.String normalize(java.lang.String,boolean)>(v, 0);
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v == 34 goto label;
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[])>("\"\u0001\"");
label:
v = newarray (java.lang.String)[3];
v[0] = "cmd.exe";
v[1] = "/C";
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[])>("dir /a /-c \u0001");
v[2] = v;
v = virtualinvoke v.<org.apache.commons.io.FileSystemUtils: java.util.List performCommand(java.lang.String[],int,java.time.Duration)>(v, 2147483647, v);
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
label:
if v < 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.commons.io.FileSystemUtils: long parseDir(java.lang.String,java.lang.String)>(v, v);
return v;
label:
v = v - 1;
goto label;
label:
v = new java.io.IOException;
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[])>("Command line \'dir /-c\' did not return any info for path \'\u0001\'");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
}
java.lang.Process openProcess(java.lang.String[]) throws java.io.IOException
{
java.lang.Process v;
java.lang.Runtime v;
java.lang.String[] v;
org.apache.commons.io.FileSystemUtils v;
v := @this: org.apache.commons.io.FileSystemUtils;
v := @parameter: java.lang.String[];
v = staticinvoke <java.lang.Runtime: java.lang.Runtime getRuntime()>();
v = virtualinvoke v.<java.lang.Runtime: java.lang.Process exec(java.lang.String[])>(v);
return v;
}
long parseBytes(java.lang.String, java.lang.String) throws java.io.IOException
{
java.io.IOException v, v;
java.lang.NumberFormatException v;
long v;
org.apache.commons.io.FileSystemUtils v;
byte v;
java.lang.String v, v, v, v, v, v;
v := @this: org.apache.commons.io.FileSystemUtils;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
label:
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v = v cmp 0L;
if v >= 0 goto label;
v = new java.io.IOException;
v = <org.apache.commons.io.FileSystemUtils: java.lang.String DF>;
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[])>("Command line \'\u0001\' did not find free space in response for path \'\u0001\'- check path is valid");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = <org.apache.commons.io.FileSystemUtils: java.lang.String DF>;
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[])>("Command line \'\u0001\' did not return numeric data as expected for path \'\u0001\'- check path is valid");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.NumberFormatException from label to label with label;
}
long parseDir(java.lang.String, java.lang.String) throws java.io.IOException
{
long v;
org.apache.commons.io.FileSystemUtils v;
int v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v;
boolean v, v;
char v, v, v, v;
java.io.IOException v;
java.lang.StringBuilder v;
v := @this: org.apache.commons.io.FileSystemUtils;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = 0;
v = 0;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
label:
if v < 0 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: boolean isDigit(char)>(v);
if v == 0 goto label;
v = v + 1;
goto label;
label:
v = v - 1;
goto label;
label:
if v < 0 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: boolean isDigit(char)>(v);
if v != 0 goto label;
if v == 44 goto label;
if v == 46 goto label;
v = v + 1;
goto label;
label:
v = v - 1;
goto label;
label:
if v >= 0 goto label;
v = new java.io.IOException;
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[])>("Command line \'dir /-c\' did not return valid info for path \'\u0001\'");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new java.lang.StringBuilder;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>(v);
v = 0;
label:
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.lang.StringBuilder: char charAt(int)>(v);
if v == 44 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: char charAt(int)>(v);
if v != 46 goto label;
label:
v = v;
v = v - 1;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder deleteCharAt(int)>(v);
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.commons.io.FileSystemUtils: long parseBytes(java.lang.String,java.lang.String)>(v, v);
return v;
}
java.util.List performCommand(java.lang.String[], int, java.time.Duration) throws java.io.IOException
{
java.lang.Thread v;
java.time.Duration v;
java.util.stream.Collector v;
boolean v;
java.lang.Process v;
java.util.List v, v, v;
java.util.stream.Stream v, v, v;
java.lang.Throwable v, v, v, v, v;
java.lang.String[] v;
org.apache.commons.io.FileSystemUtils v;
java.util.function.Function v;
java.nio.charset.Charset v;
int v, v, v;
java.lang.String v, v, v;
java.io.OutputStream v;
java.io.IOException v, v, v;
java.io.InputStreamReader v;
java.lang.InterruptedException v;
java.lang.Object v;
java.io.BufferedReader v;
java.io.InputStream v, v;
v := @this: org.apache.commons.io.FileSystemUtils;
v := @parameter: java.lang.String[];
v := @parameter: int;
v := @parameter: java.time.Duration;
v = virtualinvoke v.<org.apache.commons.io.FileSystemUtils: java.lang.Process openProcess(java.lang.String[])>(v);
v = staticinvoke <org.apache.commons.io.ThreadMonitor: java.lang.Thread start(java.time.Duration)>(v);
label:
v = virtualinvoke v.<java.lang.Process: java.io.InputStream getInputStream()>();
label:
v = virtualinvoke v.<java.lang.Process: java.io.OutputStream getOutputStream()>();
label:
v = virtualinvoke v.<java.lang.Process: java.io.InputStream getErrorStream()>();
label:
v = new java.io.BufferedReader;
v = new java.io.InputStreamReader;
v = staticinvoke <java.nio.charset.Charset: java.nio.charset.Charset defaultCharset()>();
specialinvoke v.<java.io.InputStreamReader: void <init>(java.io.InputStream,java.nio.charset.Charset)>(v, v);
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
label:
v = virtualinvoke v.<java.io.BufferedReader: java.util.stream.Stream lines()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream limit(long)>(v);
v = staticinvoke <org.apache.commons.io.FileSystemUtils$lambda_performCommand_0__420: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(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);
virtualinvoke v.<java.lang.Process: int waitFor()>();
staticinvoke <org.apache.commons.io.ThreadMonitor: void stop(java.lang.Thread)>(v);
v = virtualinvoke v.<java.lang.Process: int exitValue()>();
if v == 0 goto label;
v = new java.io.IOException;
v = virtualinvoke v.<java.lang.Process: int exitValue()>();
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,java.util.List)>(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[])>("Command line returned OS error code \'\u0001\' for command \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = new java.io.IOException;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.List)>(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[])>("Command line did not return any info for command \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
virtualinvoke v.<java.io.BufferedReader: void close()>();
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
label:
if v == null goto label;
virtualinvoke v.<java.io.OutputStream: void close()>();
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
label:
virtualinvoke v.<java.lang.Process: void destroy()>();
return v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.List,java.time.Duration)>(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[])>("Command line threw an InterruptedException for command \u timeout=\u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
if v == null goto label;
virtualinvoke v.<java.lang.Process: void destroy()>();
label:
throw v;
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.InterruptedException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
org.apache.commons.io.FileSystemUtils v;
byte v;
java.util.Locale v;
java.lang.String v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.io.IOException v;
java.lang.Exception v;
v = new org.apache.commons.io.FileSystemUtils;
specialinvoke v.<org.apache.commons.io.FileSystemUtils: void <init>()>();
<org.apache.commons.io.FileSystemUtils: org.apache.commons.io.FileSystemUtils INSTANCE> = v;
v = 0;
v = "df";
label:
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("os.name");
if v != null goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("os.name not found");
throw v;
label:
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("windows");
if v == 0 goto label;
v = 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("linux");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("mpe/ix");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("freebsd");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("openbsd");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("irix");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("digital unix");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("unix");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("mac os x");
if v == 0 goto label;
label:
v = 2;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("sun os");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("sunos");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("solaris");
if v == 0 goto label;
label:
v = 3;
v = "/usr/xpg4/bin/df";
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("hp-ux");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("aix");
if v == 0 goto label;
label:
v = 3;
label:
goto label;
label:
v := @caughtexception;
v = -1;
label:
<org.apache.commons.io.FileSystemUtils: int OS> = v;
<org.apache.commons.io.FileSystemUtils: java.lang.String DF> = v;
return;
catch java.lang.Exception from label to label with label;
}
}