final class com.google.common.hash.ChecksumHashFunction$ChecksumHasher extends com.google.common.hash.AbstractByteHasher
{
private final java.util.zip.Checksum checksum;
final com.google.common.hash.ChecksumHashFunction this$0;
private void <init>(com.google.common.hash.ChecksumHashFunction, java.util.zip.Checksum)
{
java.util.zip.Checksum v;
com.google.common.hash.ChecksumHashFunction$ChecksumHasher v;
java.lang.Object v;
com.google.common.hash.ChecksumHashFunction v;
v := @this: com.google.common.hash.ChecksumHashFunction$ChecksumHasher;
v := @parameter: com.google.common.hash.ChecksumHashFunction;
v := @parameter: java.util.zip.Checksum;
v.<com.google.common.hash.ChecksumHashFunction$ChecksumHasher: com.google.common.hash.ChecksumHashFunction this$0> = v;
specialinvoke v.<com.google.common.hash.AbstractByteHasher: void <init>()>();
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<com.google.common.hash.ChecksumHashFunction$ChecksumHasher: java.util.zip.Checksum checksum> = v;
return;
}
protected void update(byte)
{
java.util.zip.Checksum v;
com.google.common.hash.ChecksumHashFunction$ChecksumHasher v;
byte v;
v := @this: com.google.common.hash.ChecksumHashFunction$ChecksumHasher;
v := @parameter: byte;
v = v.<com.google.common.hash.ChecksumHashFunction$ChecksumHasher: java.util.zip.Checksum checksum>;
interfaceinvoke v.<java.util.zip.Checksum: void update(int)>(v);
return;
}
protected void update(byte[], int, int)
{
byte[] v;
java.util.zip.Checksum v;
com.google.common.hash.ChecksumHashFunction$ChecksumHasher v;
int v, v;
v := @this: com.google.common.hash.ChecksumHashFunction$ChecksumHasher;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v.<com.google.common.hash.ChecksumHashFunction$ChecksumHasher: java.util.zip.Checksum checksum>;
interfaceinvoke v.<java.util.zip.Checksum: void update(byte[],int,int)>(v, v, v);
return;
}
public com.google.common.hash.HashCode hash()
{
java.util.zip.Checksum v;
com.google.common.hash.ChecksumHashFunction$ChecksumHasher v;
com.google.common.hash.HashCode v, v;
int v;
long v;
com.google.common.hash.ChecksumHashFunction v;
v := @this: com.google.common.hash.ChecksumHashFunction$ChecksumHasher;
v = v.<com.google.common.hash.ChecksumHashFunction$ChecksumHasher: java.util.zip.Checksum checksum>;
v = interfaceinvoke v.<java.util.zip.Checksum: long getValue()>();
v = v.<com.google.common.hash.ChecksumHashFunction$ChecksumHasher: com.google.common.hash.ChecksumHashFunction this$0>;
v = v.<com.google.common.hash.ChecksumHashFunction: int bits>;
if v != 32 goto label;
v = staticinvoke <com.google.common.hash.HashCode: com.google.common.hash.HashCode fromInt(int)>(v);
return v;
label:
v = staticinvoke <com.google.common.hash.HashCode: com.google.common.hash.HashCode fromLong(long)>(v);
return v;
}
}