final class com.google.common.hash.SipHashFunction extends com.google.common.hash.AbstractHashFunction implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.hash.SipHashFunction
super_class: com.google.common.hash.AbstractHashFunction
{
static final com.google.common.hash.HashFunction SIP_HASH_24;
descriptor: Lcom/google/common/hash/HashFunction;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private final int c;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int d;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long k0;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long k1;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=0, args_size=0
0: new com.google.common.hash.SipHashFunction
dup
iconst_2
iconst_4
ldc 506097522914230528
ldc 1084818905618843912
invokespecial com.google.common.hash.SipHashFunction.<init>:(IIJJ)V
1: putstatic com.google.common.hash.SipHashFunction.SIP_HASH_24:Lcom/google/common/hash/HashFunction;
2: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(int, int, long, long);
descriptor: (IIJJ)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
invokespecial com.google.common.hash.AbstractHashFunction.<init>:()V
1: iload 1
ifle 2
iconst_1
goto 3
StackMap locals: com.google.common.hash.SipHashFunction int int long long
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "The number of SipRound iterations (c=%s) during Compression must be positive."
iload 1
4: invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;I)V
5: iload 2
ifle 6
iconst_1
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: ldc "The number of SipRound iterations (d=%s) during Finalization must be positive."
iload 2
8: invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;I)V
9: aload 0
iload 1
putfield com.google.common.hash.SipHashFunction.c:I
10: aload 0
iload 2
putfield com.google.common.hash.SipHashFunction.d:I
11: aload 0
lload 3
putfield com.google.common.hash.SipHashFunction.k0:J
12: aload 0
lload 5
putfield com.google.common.hash.SipHashFunction.k1:J
13: return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/google/common/hash/SipHashFunction;
0 14 1 c I
0 14 2 d I
0 14 3 k0 J
0 14 5 k1 J
MethodParameters:
Name Flags
c
d
k0
k1
public int bits();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: bipush 64
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/hash/SipHashFunction;
public com.google.common.hash.Hasher newHasher();
descriptor: ()Lcom/google/common/hash/Hasher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=1, args_size=1
start local 0 0: new com.google.common.hash.SipHashFunction$SipHasher
dup
aload 0
getfield com.google.common.hash.SipHashFunction.c:I
aload 0
getfield com.google.common.hash.SipHashFunction.d:I
aload 0
getfield com.google.common.hash.SipHashFunction.k0:J
aload 0
getfield com.google.common.hash.SipHashFunction.k1:J
invokespecial com.google.common.hash.SipHashFunction$SipHasher.<init>:(IIJJ)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/hash/SipHashFunction;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Hashing.sipHash"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.google.common.hash.SipHashFunction.c:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
aload 0
getfield com.google.common.hash.SipHashFunction.d:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.common.hash.SipHashFunction.k0:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.google.common.hash.SipHashFunction.k1:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/hash/SipHashFunction;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.google.common.hash.SipHashFunction
ifeq 4
1: aload 1
checkcast com.google.common.hash.SipHashFunction
astore 2
start local 2 2: aload 0
getfield com.google.common.hash.SipHashFunction.c:I
aload 2
getfield com.google.common.hash.SipHashFunction.c:I
if_icmpne 3
aload 0
getfield com.google.common.hash.SipHashFunction.d:I
aload 2
getfield com.google.common.hash.SipHashFunction.d:I
if_icmpne 3
aload 0
getfield com.google.common.hash.SipHashFunction.k0:J
aload 2
getfield com.google.common.hash.SipHashFunction.k0:J
lcmp
ifne 3
aload 0
getfield com.google.common.hash.SipHashFunction.k1:J
aload 2
getfield com.google.common.hash.SipHashFunction.k1:J
lcmp
ifne 3
iconst_1
ireturn
StackMap locals: com.google.common.hash.SipHashFunction
StackMap stack:
3: iconst_0
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/hash/SipHashFunction;
0 5 1 object Ljava/lang/Object;
2 4 2 other Lcom/google/common/hash/SipHashFunction;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
object
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Object.hashCode:()I
aload 0
getfield com.google.common.hash.SipHashFunction.c:I
ixor
aload 0
getfield com.google.common.hash.SipHashFunction.d:I
ixor
i2l
aload 0
getfield com.google.common.hash.SipHashFunction.k0:J
lxor
aload 0
getfield com.google.common.hash.SipHashFunction.k1:J
lxor
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/hash/SipHashFunction;
}
SourceFile: "SipHashFunction.java"
NestMembers:
com.google.common.hash.SipHashFunction$SipHasher
InnerClasses:
private final SipHasher = com.google.common.hash.SipHashFunction$SipHasher of com.google.common.hash.SipHashFunction
RuntimeVisibleAnnotations:
com.google.errorprone.annotations.Immutable()