public class oadd.org.apache.hadoop.io.MD5Hash extends java.lang.Object implements oadd.org.apache.hadoop.io.WritableComparable
{
public static final int MD5_LEN;
private static final java.lang.ThreadLocal DIGESTER_FACTORY;
private byte[] digest;
private static final char[] HEX_DIGITS;
public void <init>()
{
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v;
v := @this: oadd.org.apache.hadoop.io.MD5Hash;
specialinvoke v.<java.lang.Object: void <init>()>();
v = newarray (byte)[16];
v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest> = v;
return;
}
public void <init>(java.lang.String)
{
oadd.org.apache.hadoop.io.MD5Hash v;
java.lang.String v;
v := @this: oadd.org.apache.hadoop.io.MD5Hash;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
virtualinvoke v.<oadd.org.apache.hadoop.io.MD5Hash: void setDigest(java.lang.String)>(v);
return;
}
public void <init>(byte[])
{
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v;
int v, v;
java.lang.String v;
java.lang.IllegalArgumentException v;
v := @this: oadd.org.apache.hadoop.io.MD5Hash;
v := @parameter: byte[];
specialinvoke v.<java.lang.Object: void <init>()>();
v = lengthof v;
if v == 16 goto label;
v = new java.lang.IllegalArgumentException;
v = lengthof v;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("Wrong length: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest> = v;
return;
}
public void readFields(java.io.DataInput) throws java.io.IOException
{
java.io.DataInput v;
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v;
v := @this: oadd.org.apache.hadoop.io.MD5Hash;
v := @parameter: java.io.DataInput;
v = v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest>;
interfaceinvoke v.<java.io.DataInput: void readFully(byte[])>(v);
return;
}
public static oadd.org.apache.hadoop.io.MD5Hash read(java.io.DataInput) throws java.io.IOException
{
java.io.DataInput v;
oadd.org.apache.hadoop.io.MD5Hash v;
v := @parameter: java.io.DataInput;
v = new oadd.org.apache.hadoop.io.MD5Hash;
specialinvoke v.<oadd.org.apache.hadoop.io.MD5Hash: void <init>()>();
virtualinvoke v.<oadd.org.apache.hadoop.io.MD5Hash: void readFields(java.io.DataInput)>(v);
return v;
}
public void write(java.io.DataOutput) throws java.io.IOException
{
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v;
java.io.DataOutput v;
v := @this: oadd.org.apache.hadoop.io.MD5Hash;
v := @parameter: java.io.DataOutput;
v = v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest>;
interfaceinvoke v.<java.io.DataOutput: void write(byte[])>(v);
return;
}
public void set(oadd.org.apache.hadoop.io.MD5Hash)
{
oadd.org.apache.hadoop.io.MD5Hash v, v;
byte[] v, v;
v := @this: oadd.org.apache.hadoop.io.MD5Hash;
v := @parameter: oadd.org.apache.hadoop.io.MD5Hash;
v = v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest>;
v = v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, 16);
return;
}
public byte[] getDigest()
{
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v;
v := @this: oadd.org.apache.hadoop.io.MD5Hash;
v = v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest>;
return v;
}
public static oadd.org.apache.hadoop.io.MD5Hash digest(byte[])
{
int v;
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v;
v := @parameter: byte[];
v = lengthof v;
v = staticinvoke <oadd.org.apache.hadoop.io.MD5Hash: oadd.org.apache.hadoop.io.MD5Hash digest(byte[],int,int)>(v, 0, v);
return v;
}
public static java.security.MessageDigest getDigester()
{
java.lang.Object v;
java.lang.ThreadLocal v;
v = <oadd.org.apache.hadoop.io.MD5Hash: java.lang.ThreadLocal DIGESTER_FACTORY>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
virtualinvoke v.<java.security.MessageDigest: void reset()>();
return v;
}
public static oadd.org.apache.hadoop.io.MD5Hash digest(java.io.InputStream) throws java.io.IOException
{
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v, v;
java.security.MessageDigest v;
int v, v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
v = newarray (byte)[4096];
v = staticinvoke <oadd.org.apache.hadoop.io.MD5Hash: java.security.MessageDigest getDigester()>();
label:
v = virtualinvoke v.<java.io.InputStream: int read(byte[])>(v);
v = (int) -1;
if v == v goto label;
virtualinvoke v.<java.security.MessageDigest: void update(byte[],int,int)>(v, 0, v);
goto label;
label:
v = new oadd.org.apache.hadoop.io.MD5Hash;
v = virtualinvoke v.<java.security.MessageDigest: byte[] digest()>();
specialinvoke v.<oadd.org.apache.hadoop.io.MD5Hash: void <init>(byte[])>(v);
return v;
}
public static oadd.org.apache.hadoop.io.MD5Hash digest(byte[], int, int)
{
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v, v;
java.security.MessageDigest v;
int v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <oadd.org.apache.hadoop.io.MD5Hash: java.security.MessageDigest getDigester()>();
virtualinvoke v.<java.security.MessageDigest: void update(byte[],int,int)>(v, v, v);
v = virtualinvoke v.<java.security.MessageDigest: byte[] digest()>();
v = new oadd.org.apache.hadoop.io.MD5Hash;
specialinvoke v.<oadd.org.apache.hadoop.io.MD5Hash: void <init>(byte[])>(v);
return v;
}
public static oadd.org.apache.hadoop.io.MD5Hash digest(byte[][], int, int)
{
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v, v;
java.security.MessageDigest v;
byte[][] v;
int v, v, v, v;
v := @parameter: byte[][];
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <oadd.org.apache.hadoop.io.MD5Hash: java.security.MessageDigest getDigester()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
virtualinvoke v.<java.security.MessageDigest: void update(byte[],int,int)>(v, v, v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.security.MessageDigest: byte[] digest()>();
v = new oadd.org.apache.hadoop.io.MD5Hash;
specialinvoke v.<oadd.org.apache.hadoop.io.MD5Hash: void <init>(byte[])>(v);
return v;
}
public static oadd.org.apache.hadoop.io.MD5Hash digest(java.lang.String)
{
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v;
java.lang.String v;
v := @parameter: java.lang.String;
v = staticinvoke <oadd.org.apache.hadoop.io.UTF8: byte[] getBytes(java.lang.String)>(v);
v = staticinvoke <oadd.org.apache.hadoop.io.MD5Hash: oadd.org.apache.hadoop.io.MD5Hash digest(byte[])>(v);
return v;
}
public static oadd.org.apache.hadoop.io.MD5Hash digest(oadd.org.apache.hadoop.io.UTF8)
{
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v;
oadd.org.apache.hadoop.io.UTF8 v;
int v;
v := @parameter: oadd.org.apache.hadoop.io.UTF8;
v = virtualinvoke v.<oadd.org.apache.hadoop.io.UTF8: byte[] getBytes()>();
v = virtualinvoke v.<oadd.org.apache.hadoop.io.UTF8: int getLength()>();
v = staticinvoke <oadd.org.apache.hadoop.io.MD5Hash: oadd.org.apache.hadoop.io.MD5Hash digest(byte[],int,int)>(v, 0, v);
return v;
}
public long halfDigest()
{
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v;
long v, v, v;
byte v;
int v, v, v;
v := @this: oadd.org.apache.hadoop.io.MD5Hash;
v = 0L;
v = 0;
label:
if v >= 8 goto label;
v = v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest>;
v = v[v];
v = v & 255L;
v = 7 - v;
v = 8 * v;
v = v << v;
v = v | v;
v = v + 1;
goto label;
label:
return v;
}
public int quarterDigest()
{
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v;
short v;
byte v;
int v, v, v, v, v;
v := @this: oadd.org.apache.hadoop.io.MD5Hash;
v = 0;
v = 0;
label:
if v >= 4 goto label;
v = v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest>;
v = v[v];
v = v & 255;
v = 3 - v;
v = 8 * v;
v = v << v;
v = v | v;
v = v + 1;
goto label;
label:
return v;
}
public boolean equals(java.lang.Object)
{
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v, v;
java.lang.Object v;
boolean v, v;
v := @this: oadd.org.apache.hadoop.io.MD5Hash;
v := @parameter: java.lang.Object;
v = v instanceof oadd.org.apache.hadoop.io.MD5Hash;
if v != 0 goto label;
return 0;
label:
v = v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest>;
v = v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest>;
v = staticinvoke <java.util.Arrays: boolean equals(byte[],byte[])>(v, v);
return v;
}
public int hashCode()
{
int v;
oadd.org.apache.hadoop.io.MD5Hash v;
v := @this: oadd.org.apache.hadoop.io.MD5Hash;
v = virtualinvoke v.<oadd.org.apache.hadoop.io.MD5Hash: int quarterDigest()>();
return v;
}
public int compareTo(oadd.org.apache.hadoop.io.MD5Hash)
{
oadd.org.apache.hadoop.io.MD5Hash v, v;
byte[] v, v;
int v;
v := @this: oadd.org.apache.hadoop.io.MD5Hash;
v := @parameter: oadd.org.apache.hadoop.io.MD5Hash;
v = v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest>;
v = v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest>;
v = staticinvoke <oadd.org.apache.hadoop.io.WritableComparator: int compareBytes(byte[],int,int,byte[],int,int)>(v, 0, 16, v, 0, 16);
return v;
}
public java.lang.String toString()
{
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v;
char v, v;
byte v, v;
int v, v, v;
char[] v, v;
java.lang.StringBuilder v;
java.lang.String v;
v := @this: oadd.org.apache.hadoop.io.MD5Hash;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(32);
v = 0;
label:
if v >= 16 goto label;
v = v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest>;
v = v[v];
v = <oadd.org.apache.hadoop.io.MD5Hash: char[] HEX_DIGITS>;
v = v >> 4;
v = v & 15;
v = v[v];
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = <oadd.org.apache.hadoop.io.MD5Hash: char[] HEX_DIGITS>;
v = v & 15;
v = v[v];
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public void setDigest(java.lang.String)
{
oadd.org.apache.hadoop.io.MD5Hash v;
byte[] v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v, v;
char v, v;
java.lang.IllegalArgumentException v;
v := @this: oadd.org.apache.hadoop.io.MD5Hash;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int length()>();
if v == 32 goto label;
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<java.lang.String: int length()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("Wrong length: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = newarray (byte)[16];
v = 0;
label:
if v >= 16 goto label;
v = v << 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <oadd.org.apache.hadoop.io.MD5Hash: int charToNibble(char)>(v);
v = v << 4;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <oadd.org.apache.hadoop.io.MD5Hash: int charToNibble(char)>(v);
v = v | v;
v[v] = v;
v = v + 1;
goto label;
label:
v.<oadd.org.apache.hadoop.io.MD5Hash: byte[] digest> = v;
return;
}
private static final int charToNibble(char)
{
char v;
java.lang.RuntimeException v;
int v, v, v, v, v;
java.lang.String v;
v := @parameter: char;
if v < 48 goto label;
if v > 57 goto label;
v = v - 48;
return v;
label:
if v < 97 goto label;
if v > 102 goto label;
v = v - 97;
v = 10 + v;
return v;
label:
if v < 65 goto label;
if v > 70 goto label;
v = v - 65;
v = 10 + v;
return v;
label:
v = new java.lang.RuntimeException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (char)>(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[])>("Not a hex character: \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
}
static void <clinit>()
{
char[] v;
oadd.org.apache.hadoop.io.MD5Hash$1 v;
oadd.org.apache.hadoop.io.MD5Hash$Comparator v;
v = new oadd.org.apache.hadoop.io.MD5Hash$1;
specialinvoke v.<oadd.org.apache.hadoop.io.MD5Hash$1: void <init>()>();
<oadd.org.apache.hadoop.io.MD5Hash: java.lang.ThreadLocal DIGESTER_FACTORY> = v;
v = new oadd.org.apache.hadoop.io.MD5Hash$Comparator;
specialinvoke v.<oadd.org.apache.hadoop.io.MD5Hash$Comparator: void <init>()>();
staticinvoke <oadd.org.apache.hadoop.io.WritableComparator: void define(java.lang.Class,oadd.org.apache.hadoop.io.WritableComparator)>(class "Loadd/org/apache/hadoop/io/MD5Hash;", v);
v = newarray (char)[16];
v[0] = 48;
v[1] = 49;
v[2] = 50;
v[3] = 51;
v[4] = 52;
v[5] = 53;
v[6] = 54;
v[7] = 55;
v[8] = 56;
v[9] = 57;
v[10] = 97;
v[11] = 98;
v[12] = 99;
v[13] = 100;
v[14] = 101;
v[15] = 102;
<oadd.org.apache.hadoop.io.MD5Hash: char[] HEX_DIGITS> = v;
return;
}
}