public final class com.google.common.io.Files extends java.lang.Object
{
private static final int TEMP_DIR_ATTEMPTS;
private static final com.google.common.graph.SuccessorsFunction FILE_TREE;
private void <init>()
{
com.google.common.io.Files v;
v := @this: com.google.common.io.Files;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static java.io.BufferedReader newReader(java.io.File, java.nio.charset.Charset) throws java.io.FileNotFoundException
{
java.nio.charset.Charset v;
java.io.BufferedReader v;
java.io.FileInputStream v;
java.io.InputStreamReader v;
java.io.File v;
v := @parameter: java.io.File;
v := @parameter: java.nio.charset.Charset;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = new java.io.BufferedReader;
v = new java.io.InputStreamReader;
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
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);
return v;
}
public static java.io.BufferedWriter newWriter(java.io.File, java.nio.charset.Charset) throws java.io.FileNotFoundException
{
java.nio.charset.Charset v;
java.io.BufferedWriter v;
java.io.FileOutputStream v;
java.io.OutputStreamWriter v;
java.io.File v;
v := @parameter: java.io.File;
v := @parameter: java.nio.charset.Charset;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = new java.io.BufferedWriter;
v = new java.io.OutputStreamWriter;
v = new java.io.FileOutputStream;
specialinvoke v.<java.io.FileOutputStream: void <init>(java.io.File)>(v);
specialinvoke v.<java.io.OutputStreamWriter: void <init>(java.io.OutputStream,java.nio.charset.Charset)>(v, v);
specialinvoke v.<java.io.BufferedWriter: void <init>(java.io.Writer)>(v);
return v;
}
public static com.google.common.io.ByteSource asByteSource(java.io.File)
{
com.google.common.io.Files$FileByteSource v;
java.io.File v;
v := @parameter: java.io.File;
v = new com.google.common.io.Files$FileByteSource;
specialinvoke v.<com.google.common.io.Files$FileByteSource: void <init>(java.io.File)>(v);
return v;
}
public static transient com.google.common.io.ByteSink asByteSink(java.io.File, com.google.common.io.FileWriteMode[])
{
com.google.common.io.FileWriteMode[] v;
java.io.File v;
com.google.common.io.Files$FileByteSink v;
v := @parameter: java.io.File;
v := @parameter: com.google.common.io.FileWriteMode[];
v = new com.google.common.io.Files$FileByteSink;
specialinvoke v.<com.google.common.io.Files$FileByteSink: void <init>(java.io.File,com.google.common.io.FileWriteMode[])>(v, v);
return v;
}
public static com.google.common.io.CharSource asCharSource(java.io.File, java.nio.charset.Charset)
{
java.nio.charset.Charset v;
com.google.common.io.CharSource v;
com.google.common.io.ByteSource v;
java.io.File v;
v := @parameter: java.io.File;
v := @parameter: java.nio.charset.Charset;
v = staticinvoke <com.google.common.io.Files: com.google.common.io.ByteSource asByteSource(java.io.File)>(v);
v = virtualinvoke v.<com.google.common.io.ByteSource: com.google.common.io.CharSource asCharSource(java.nio.charset.Charset)>(v);
return v;
}
public static transient com.google.common.io.CharSink asCharSink(java.io.File, java.nio.charset.Charset, com.google.common.io.FileWriteMode[])
{
com.google.common.io.ByteSink v;
com.google.common.io.FileWriteMode[] v;
java.nio.charset.Charset v;
com.google.common.io.CharSink v;
java.io.File v;
v := @parameter: java.io.File;
v := @parameter: java.nio.charset.Charset;
v := @parameter: com.google.common.io.FileWriteMode[];
v = staticinvoke <com.google.common.io.Files: com.google.common.io.ByteSink asByteSink(java.io.File,com.google.common.io.FileWriteMode[])>(v, v);
v = virtualinvoke v.<com.google.common.io.ByteSink: com.google.common.io.CharSink asCharSink(java.nio.charset.Charset)>(v);
return v;
}
public static byte[] toByteArray(java.io.File) throws java.io.IOException
{
byte[] v;
com.google.common.io.ByteSource v;
java.io.File v;
v := @parameter: java.io.File;
v = staticinvoke <com.google.common.io.Files: com.google.common.io.ByteSource asByteSource(java.io.File)>(v);
v = virtualinvoke v.<com.google.common.io.ByteSource: byte[] read()>();
return v;
}
public static java.lang.String toString(java.io.File, java.nio.charset.Charset) throws java.io.IOException
{
java.nio.charset.Charset v;
com.google.common.io.CharSource v;
java.lang.String v;
java.io.File v;
v := @parameter: java.io.File;
v := @parameter: java.nio.charset.Charset;
v = staticinvoke <com.google.common.io.Files: com.google.common.io.CharSource asCharSource(java.io.File,java.nio.charset.Charset)>(v, v);
v = virtualinvoke v.<com.google.common.io.CharSource: java.lang.String read()>();
return v;
}
public static void write(byte[], java.io.File) throws java.io.IOException
{
com.google.common.io.ByteSink v;
byte[] v;
com.google.common.io.FileWriteMode[] v;
java.io.File v;
v := @parameter: byte[];
v := @parameter: java.io.File;
v = newarray (com.google.common.io.FileWriteMode)[0];
v = staticinvoke <com.google.common.io.Files: com.google.common.io.ByteSink asByteSink(java.io.File,com.google.common.io.FileWriteMode[])>(v, v);
virtualinvoke v.<com.google.common.io.ByteSink: void write(byte[])>(v);
return;
}
public static void write(java.lang.CharSequence, java.io.File, java.nio.charset.Charset) throws java.io.IOException
{
com.google.common.io.FileWriteMode[] v;
java.lang.CharSequence v;
java.nio.charset.Charset v;
com.google.common.io.CharSink v;
java.io.File v;
v := @parameter: java.lang.CharSequence;
v := @parameter: java.io.File;
v := @parameter: java.nio.charset.Charset;
v = newarray (com.google.common.io.FileWriteMode)[0];
v = staticinvoke <com.google.common.io.Files: com.google.common.io.CharSink asCharSink(java.io.File,java.nio.charset.Charset,com.google.common.io.FileWriteMode[])>(v, v, v);
virtualinvoke v.<com.google.common.io.CharSink: void write(java.lang.CharSequence)>(v);
return;
}
public static void copy(java.io.File, java.io.OutputStream) throws java.io.IOException
{
java.io.OutputStream v;
com.google.common.io.ByteSource v;
java.io.File v;
v := @parameter: java.io.File;
v := @parameter: java.io.OutputStream;
v = staticinvoke <com.google.common.io.Files: com.google.common.io.ByteSource asByteSource(java.io.File)>(v);
virtualinvoke v.<com.google.common.io.ByteSource: long copyTo(java.io.OutputStream)>(v);
return;
}
public static void copy(java.io.File, java.io.File) throws java.io.IOException
{
com.google.common.io.ByteSink v;
com.google.common.io.FileWriteMode[] v;
com.google.common.io.ByteSource v;
java.io.File v, v;
boolean v, v;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v = virtualinvoke v.<java.io.File: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.String,java.lang.Object,java.lang.Object)>(v, "Source %s and destination %s must be different", v, v);
v = staticinvoke <com.google.common.io.Files: com.google.common.io.ByteSource asByteSource(java.io.File)>(v);
v = newarray (com.google.common.io.FileWriteMode)[0];
v = staticinvoke <com.google.common.io.Files: com.google.common.io.ByteSink asByteSink(java.io.File,com.google.common.io.FileWriteMode[])>(v, v);
virtualinvoke v.<com.google.common.io.ByteSource: long copyTo(com.google.common.io.ByteSink)>(v);
return;
}
public static void copy(java.io.File, java.nio.charset.Charset, java.lang.Appendable) throws java.io.IOException
{
java.nio.charset.Charset v;
java.lang.Appendable v;
com.google.common.io.CharSource v;
java.io.File v;
v := @parameter: java.io.File;
v := @parameter: java.nio.charset.Charset;
v := @parameter: java.lang.Appendable;
v = staticinvoke <com.google.common.io.Files: com.google.common.io.CharSource asCharSource(java.io.File,java.nio.charset.Charset)>(v, v);
virtualinvoke v.<com.google.common.io.CharSource: long copyTo(java.lang.Appendable)>(v);
return;
}
public static void append(java.lang.CharSequence, java.io.File, java.nio.charset.Charset) throws java.io.IOException
{
com.google.common.io.FileWriteMode[] v;
java.lang.CharSequence v;
java.nio.charset.Charset v;
com.google.common.io.FileWriteMode v;
com.google.common.io.CharSink v;
java.io.File v;
v := @parameter: java.lang.CharSequence;
v := @parameter: java.io.File;
v := @parameter: java.nio.charset.Charset;
v = newarray (com.google.common.io.FileWriteMode)[1];
v = <com.google.common.io.FileWriteMode: com.google.common.io.FileWriteMode APPEND>;
v[0] = v;
v = staticinvoke <com.google.common.io.Files: com.google.common.io.CharSink asCharSink(java.io.File,java.nio.charset.Charset,com.google.common.io.FileWriteMode[])>(v, v, v);
virtualinvoke v.<com.google.common.io.CharSink: void write(java.lang.CharSequence)>(v);
return;
}
public static boolean equal(java.io.File, java.io.File) throws java.io.IOException
{
long v, v;
java.io.File v, v;
byte v, v, v;
com.google.common.io.ByteSource v, v;
boolean v, v;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
if v == v goto label;
v = virtualinvoke v.<java.io.File: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
return 1;
label:
v = virtualinvoke v.<java.io.File: long length()>();
v = virtualinvoke v.<java.io.File: long length()>();
v = v cmp 0L;
if v == 0 goto label;
v = v cmp 0L;
if v == 0 goto label;
v = v cmp v;
if v == 0 goto label;
return 0;
label:
v = staticinvoke <com.google.common.io.Files: com.google.common.io.ByteSource asByteSource(java.io.File)>(v);
v = staticinvoke <com.google.common.io.Files: com.google.common.io.ByteSource asByteSource(java.io.File)>(v);
v = virtualinvoke v.<com.google.common.io.ByteSource: boolean contentEquals(com.google.common.io.ByteSource)>(v);
return v;
}
public static java.io.File createTempDir()
{
java.lang.IllegalStateException v;
long v;
int v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v;
boolean v;
java.io.File v, v;
java.lang.StringBuilder v, v, v;
v = new java.io.File;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("java.io.tmpdir");
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(21);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(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-");
v = 0;
label:
if v >= 10000 goto label;
v = new java.io.File;
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = 11 + v;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,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[])>("\u0001\u0001");
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = virtualinvoke v.<java.io.File: boolean mkdir()>();
if v == 0 goto label;
return v;
label:
v = v + 1;
goto label;
label:
v = new java.lang.IllegalStateException;
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = 66 + v;
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(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[])>("Failed to create directory within 10000 attempts (tried \u to \u)");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
}
public static void touch(java.io.File) throws java.io.IOException
{
java.io.IOException v;
long v;
java.io.File v;
int v, v;
java.lang.StringBuilder v;
java.lang.String v, v, v;
boolean v, v;
v := @parameter: java.io.File;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = virtualinvoke v.<java.io.File: boolean createNewFile()>();
if v != 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = virtualinvoke v.<java.io.File: boolean setLastModified(long)>(v);
if v != 0 goto label;
v = new java.io.IOException;
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = 38 + v;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(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[])>("Unable to update modification time of \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public static void createParentDirs(java.io.File) throws java.io.IOException
{
java.io.IOException v;
java.io.File v, v, v;
int v, v;
java.lang.StringBuilder v;
java.lang.String v, v, v;
boolean v;
v := @parameter: java.io.File;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = virtualinvoke v.<java.io.File: java.io.File getCanonicalFile()>();
v = virtualinvoke v.<java.io.File: java.io.File getParentFile()>();
if v != null goto label;
return;
label:
virtualinvoke v.<java.io.File: boolean mkdirs()>();
v = virtualinvoke v.<java.io.File: boolean isDirectory()>();
if v != 0 goto label;
v = new java.io.IOException;
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = 39 + v;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(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[])>("Unable to create parent directories of \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public static void move(java.io.File, java.io.File) throws java.io.IOException
{
int v, v, v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v, v;
java.io.IOException v, v;
java.io.File v, v;
java.lang.StringBuilder v, v;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = virtualinvoke v.<java.io.File: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.String,java.lang.Object,java.lang.Object)>(v, "Source %s and destination %s must be different", v, v);
v = virtualinvoke v.<java.io.File: boolean renameTo(java.io.File)>(v);
if v != 0 goto label;
staticinvoke <com.google.common.io.Files: void copy(java.io.File,java.io.File)>(v, v);
v = virtualinvoke v.<java.io.File: boolean delete()>();
if v != 0 goto label;
v = virtualinvoke v.<java.io.File: boolean delete()>();
if v != 0 goto label;
v = new java.io.IOException;
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = 17 + v;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(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[])>("Unable to delete \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new java.io.IOException;
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = 17 + v;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(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[])>("Unable to delete \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public static java.lang.String readFirstLine(java.io.File, java.nio.charset.Charset) throws java.io.IOException
{
java.nio.charset.Charset v;
com.google.common.io.CharSource v;
java.lang.String v;
java.io.File v;
v := @parameter: java.io.File;
v := @parameter: java.nio.charset.Charset;
v = staticinvoke <com.google.common.io.Files: com.google.common.io.CharSource asCharSource(java.io.File,java.nio.charset.Charset)>(v, v);
v = virtualinvoke v.<com.google.common.io.CharSource: java.lang.String readFirstLine()>();
return v;
}
public static java.util.List readLines(java.io.File, java.nio.charset.Charset) throws java.io.IOException
{
java.nio.charset.Charset v;
java.lang.Object v;
com.google.common.io.CharSource v;
com.google.common.io.Files$1 v;
java.io.File v;
v := @parameter: java.io.File;
v := @parameter: java.nio.charset.Charset;
v = staticinvoke <com.google.common.io.Files: com.google.common.io.CharSource asCharSource(java.io.File,java.nio.charset.Charset)>(v, v);
v = new com.google.common.io.Files$1;
specialinvoke v.<com.google.common.io.Files$1: void <init>()>();
v = virtualinvoke v.<com.google.common.io.CharSource: java.lang.Object readLines(com.google.common.io.LineProcessor)>(v);
return v;
}
public static java.lang.Object readLines(java.io.File, java.nio.charset.Charset, com.google.common.io.LineProcessor) throws java.io.IOException
{
com.google.common.io.LineProcessor v;
java.nio.charset.Charset v;
java.lang.Object v;
com.google.common.io.CharSource v;
java.io.File v;
v := @parameter: java.io.File;
v := @parameter: java.nio.charset.Charset;
v := @parameter: com.google.common.io.LineProcessor;
v = staticinvoke <com.google.common.io.Files: com.google.common.io.CharSource asCharSource(java.io.File,java.nio.charset.Charset)>(v, v);
v = virtualinvoke v.<com.google.common.io.CharSource: java.lang.Object readLines(com.google.common.io.LineProcessor)>(v);
return v;
}
public static java.lang.Object readBytes(java.io.File, com.google.common.io.ByteProcessor) throws java.io.IOException
{
com.google.common.io.ByteProcessor v;
java.lang.Object v;
com.google.common.io.ByteSource v;
java.io.File v;
v := @parameter: java.io.File;
v := @parameter: com.google.common.io.ByteProcessor;
v = staticinvoke <com.google.common.io.Files: com.google.common.io.ByteSource asByteSource(java.io.File)>(v);
v = virtualinvoke v.<com.google.common.io.ByteSource: java.lang.Object read(com.google.common.io.ByteProcessor)>(v);
return v;
}
public static com.google.common.hash.HashCode hash(java.io.File, com.google.common.hash.HashFunction) throws java.io.IOException
{
com.google.common.hash.HashCode v;
com.google.common.hash.HashFunction v;
com.google.common.io.ByteSource v;
java.io.File v;
v := @parameter: java.io.File;
v := @parameter: com.google.common.hash.HashFunction;
v = staticinvoke <com.google.common.io.Files: com.google.common.io.ByteSource asByteSource(java.io.File)>(v);
v = virtualinvoke v.<com.google.common.io.ByteSource: com.google.common.hash.HashCode hash(com.google.common.hash.HashFunction)>(v);
return v;
}
public static java.nio.MappedByteBuffer map(java.io.File) throws java.io.IOException
{
java.nio.channels.FileChannel$MapMode v;
java.io.File v;
java.nio.MappedByteBuffer v;
v := @parameter: java.io.File;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = <java.nio.channels.FileChannel$MapMode: java.nio.channels.FileChannel$MapMode READ_ONLY>;
v = staticinvoke <com.google.common.io.Files: java.nio.MappedByteBuffer map(java.io.File,java.nio.channels.FileChannel$MapMode)>(v, v);
return v;
}
public static java.nio.MappedByteBuffer map(java.io.File, java.nio.channels.FileChannel$MapMode) throws java.io.IOException
{
java.nio.channels.FileChannel$MapMode v;
java.io.File v;
java.nio.MappedByteBuffer v;
v := @parameter: java.io.File;
v := @parameter: java.nio.channels.FileChannel$MapMode;
v = staticinvoke <com.google.common.io.Files: java.nio.MappedByteBuffer mapInternal(java.io.File,java.nio.channels.FileChannel$MapMode,long)>(v, v, -1L);
return v;
}
public static java.nio.MappedByteBuffer map(java.io.File, java.nio.channels.FileChannel$MapMode, long) throws java.io.IOException
{
byte v;
long v;
java.nio.channels.FileChannel$MapMode v;
java.io.File v;
boolean v;
java.nio.MappedByteBuffer v;
v := @parameter: java.io.File;
v := @parameter: java.nio.channels.FileChannel$MapMode;
v := @parameter: long;
v = v cmp 0L;
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.String,long)>(v, "size (%s) may not be negative", v);
v = staticinvoke <com.google.common.io.Files: java.nio.MappedByteBuffer mapInternal(java.io.File,java.nio.channels.FileChannel$MapMode,long)>(v, v, v);
return v;
}
private static java.nio.MappedByteBuffer mapInternal(java.io.File, java.nio.channels.FileChannel$MapMode, long) throws java.io.IOException
{
java.lang.Throwable v;
java.io.RandomAccessFile v;
long v, v;
java.lang.RuntimeException v;
java.nio.channels.FileChannel$MapMode v, v;
java.io.File v;
byte v;
com.google.common.io.Closer v;
java.io.Closeable v, v;
java.lang.String v;
java.nio.channels.FileChannel v;
java.nio.MappedByteBuffer v;
v := @parameter: java.io.File;
v := @parameter: java.nio.channels.FileChannel$MapMode;
v := @parameter: long;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = staticinvoke <com.google.common.io.Closer: com.google.common.io.Closer create()>();
label:
v = new java.io.RandomAccessFile;
v = <java.nio.channels.FileChannel$MapMode: java.nio.channels.FileChannel$MapMode READ_ONLY>;
if v != v goto label;
v = "r";
goto label;
label:
v = "rw";
label:
specialinvoke v.<java.io.RandomAccessFile: void <init>(java.io.File,java.lang.String)>(v, v);
v = virtualinvoke v.<com.google.common.io.Closer: java.io.Closeable register(java.io.Closeable)>(v);
v = virtualinvoke v.<java.io.RandomAccessFile: java.nio.channels.FileChannel getChannel()>();
v = virtualinvoke v.<com.google.common.io.Closer: java.io.Closeable register(java.io.Closeable)>(v);
v = v cmp -1L;
if v != 0 goto label;
v = virtualinvoke v.<java.nio.channels.FileChannel: long size()>();
goto label;
label:
v = v;
label:
v = virtualinvoke v.<java.nio.channels.FileChannel: java.nio.MappedByteBuffer map(java.nio.channels.FileChannel$MapMode,long,long)>(v, 0L, v);
label:
virtualinvoke v.<com.google.common.io.Closer: void close()>();
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<com.google.common.io.Closer: java.lang.RuntimeException rethrow(java.lang.Throwable)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
public static java.lang.String simplifyPath(java.lang.String)
{
byte v;
com.google.common.base.Splitter v, v;
boolean v, v, v, v, v, v, v;
com.google.common.base.Joiner v;
java.lang.Iterable v;
java.util.ArrayList v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v;
java.util.Iterator v;
char v;
java.lang.Object v, v;
v := @parameter: java.lang.String;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
return ".";
label:
v = staticinvoke <com.google.common.base.Splitter: com.google.common.base.Splitter on(char)>(47);
v = virtualinvoke v.<com.google.common.base.Splitter: com.google.common.base.Splitter omitEmptyStrings()>();
v = virtualinvoke v.<com.google.common.base.Splitter: java.lang.Iterable split(java.lang.CharSequence)>(v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.lang.Iterable: 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 = -1;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
lookupswitch(v)
{
case 46: goto label;
case 1472: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(".");
if v == 0 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("..");
if v == 0 goto label;
v = 1;
label:
lookupswitch(v)
{
case 0: goto label;
case 1: goto label;
default: goto label;
};
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("..");
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
interfaceinvoke v.<java.util.List: java.lang.Object remove(int)>(v);
goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>("..");
goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = staticinvoke <com.google.common.base.Joiner: com.google.common.base.Joiner on(char)>(47);
v = virtualinvoke v.<com.google.common.base.Joiner: java.lang.String join(java.lang.Iterable)>(v);
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v != 47 goto label;
v = "/";
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String concat(java.lang.String)>(v);
goto label;
label:
v = new java.lang.String;
v = v;
specialinvoke v.<java.lang.String: void <init>(java.lang.String)>("/");
label:
v = v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("/../");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(3);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("/..");
if v == 0 goto label;
v = "/";
goto label;
label:
v = "";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = ".";
label:
return v;
}
public static java.lang.String getFileExtension(java.lang.String)
{
int v, v, v;
java.lang.String v, v, v;
java.io.File v;
v := @parameter: java.lang.String;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
v = (int) -1;
if v != v goto label;
v = "";
goto label;
label:
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
label:
return v;
}
public static java.lang.String getNameWithoutExtension(java.lang.String)
{
int v, v;
java.lang.String v, v, v;
java.io.File v;
v := @parameter: java.lang.String;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
v = (int) -1;
if v != v goto label;
v = v;
goto label;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
return v;
}
public static com.google.common.graph.Traverser fileTraverser()
{
com.google.common.graph.SuccessorsFunction v;
com.google.common.graph.Traverser v;
v = <com.google.common.io.Files: com.google.common.graph.SuccessorsFunction FILE_TREE>;
v = staticinvoke <com.google.common.graph.Traverser: com.google.common.graph.Traverser forTree(com.google.common.graph.SuccessorsFunction)>(v);
return v;
}
public static com.google.common.base.Predicate isDirectory()
{
com.google.common.io.Files$FilePredicate v;
v = <com.google.common.io.Files$FilePredicate: com.google.common.io.Files$FilePredicate IS_DIRECTORY>;
return v;
}
public static com.google.common.base.Predicate isFile()
{
com.google.common.io.Files$FilePredicate v;
v = <com.google.common.io.Files$FilePredicate: com.google.common.io.Files$FilePredicate IS_FILE>;
return v;
}
static void <clinit>()
{
com.google.common.io.Files$2 v;
v = new com.google.common.io.Files$2;
specialinvoke v.<com.google.common.io.Files$2: void <init>()>();
<com.google.common.io.Files: com.google.common.graph.SuccessorsFunction FILE_TREE> = v;
return;
}
}