final class com.google.common.hash.ChecksumHashFunction$ChecksumHasher extends com.google.common.hash.AbstractByteHasher
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.hash.ChecksumHashFunction$ChecksumHasher
super_class: com.google.common.hash.AbstractByteHasher
{
private final java.util.zip.Checksum checksum;
descriptor: Ljava/util/zip/Checksum;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final com.google.common.hash.ChecksumHashFunction this$0;
descriptor: Lcom/google/common/hash/ChecksumHashFunction;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(com.google.common.hash.ChecksumHashFunction, java.util.zip.Checksum);
descriptor: (Lcom/google/common/hash/ChecksumHashFunction;Ljava/util/zip/Checksum;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.google.common.hash.ChecksumHashFunction$ChecksumHasher.this$0:Lcom/google/common/hash/ChecksumHashFunction;
aload 0
invokespecial com.google.common.hash.AbstractByteHasher.<init>:()V
1: aload 0
aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.zip.Checksum
putfield com.google.common.hash.ChecksumHashFunction$ChecksumHasher.checksum:Ljava/util/zip/Checksum;
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/hash/ChecksumHashFunction$ChecksumHasher;
0 3 2 checksum Ljava/util/zip/Checksum;
MethodParameters:
Name Flags
this$0 final
checksum
protected void update(byte);
descriptor: (B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.hash.ChecksumHashFunction$ChecksumHasher.checksum:Ljava/util/zip/Checksum;
iload 1
invokeinterface java.util.zip.Checksum.update:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/hash/ChecksumHashFunction$ChecksumHasher;
0 2 1 b B
MethodParameters:
Name Flags
b
protected void update(byte[], int, int);
descriptor: ([BII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.google.common.hash.ChecksumHashFunction$ChecksumHasher.checksum:Ljava/util/zip/Checksum;
aload 1
iload 2
iload 3
invokeinterface java.util.zip.Checksum.update:([BII)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/hash/ChecksumHashFunction$ChecksumHasher;
0 2 1 bytes [B
0 2 2 off I
0 2 3 len I
MethodParameters:
Name Flags
bytes
off
len
public com.google.common.hash.HashCode hash();
descriptor: ()Lcom/google/common/hash/HashCode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.google.common.hash.ChecksumHashFunction$ChecksumHasher.checksum:Ljava/util/zip/Checksum;
invokeinterface java.util.zip.Checksum.getValue:()J
lstore 1
start local 1 1: aload 0
getfield com.google.common.hash.ChecksumHashFunction$ChecksumHasher.this$0:Lcom/google/common/hash/ChecksumHashFunction;
getfield com.google.common.hash.ChecksumHashFunction.bits:I
bipush 32
if_icmpne 3
2: lload 1
l2i
invokestatic com.google.common.hash.HashCode.fromInt:(I)Lcom/google/common/hash/HashCode;
areturn
3: StackMap locals: long
StackMap stack:
lload 1
invokestatic com.google.common.hash.HashCode.fromLong:(J)Lcom/google/common/hash/HashCode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/hash/ChecksumHashFunction$ChecksumHasher;
1 4 1 value J
}
SourceFile: "ChecksumHashFunction.java"
NestHost: com.google.common.hash.ChecksumHashFunction
InnerClasses:
private final ChecksumHasher = com.google.common.hash.ChecksumHashFunction$ChecksumHasher of com.google.common.hash.ChecksumHashFunction