abstract class com.google.common.hash.AbstractStreamingHasher extends com.google.common.hash.AbstractHasher
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.google.common.hash.AbstractStreamingHasher
super_class: com.google.common.hash.AbstractHasher
{
private final java.nio.ByteBuffer buffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int bufferSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int chunkSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iload 1
invokespecial com.google.common.hash.AbstractStreamingHasher.<init>:(II)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/hash/AbstractStreamingHasher;
0 2 1 chunkSize I
MethodParameters:
Name Flags
chunkSize
protected void <init>(int, int);
descriptor: (II)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.google.common.hash.AbstractHasher.<init>:()V
1: iload 2
iload 1
irem
ifne 2
iconst_1
goto 3
StackMap locals: com.google.common.hash.AbstractStreamingHasher int int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
4: aload 0
iload 2
bipush 7
iadd
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
putfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
5: aload 0
iload 2
putfield com.google.common.hash.AbstractStreamingHasher.bufferSize:I
6: aload 0
iload 1
putfield com.google.common.hash.AbstractStreamingHasher.chunkSize:I
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/google/common/hash/AbstractStreamingHasher;
0 8 1 chunkSize I
0 8 2 bufferSize I
MethodParameters:
Name Flags
chunkSize
bufferSize
protected abstract void process(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
bb
protected void processRemaining(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
1: aload 1
aload 0
getfield com.google.common.hash.AbstractStreamingHasher.chunkSize:I
bipush 7
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
2: goto 4
3: StackMap locals:
StackMap stack:
aload 1
lconst_0
invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
pop
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield com.google.common.hash.AbstractStreamingHasher.chunkSize:I
if_icmplt 3
5: aload 1
aload 0
getfield com.google.common.hash.AbstractStreamingHasher.chunkSize:I
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
6: aload 1
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
7: aload 0
aload 1
invokevirtual com.google.common.hash.AbstractStreamingHasher.process:(Ljava/nio/ByteBuffer;)V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/google/common/hash/AbstractStreamingHasher;
0 9 1 bb Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
bb
public final com.google.common.hash.Hasher putBytes(byte[], int, int);
descriptor: ([BII)Lcom/google/common/hash/Hasher;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
invokevirtual com.google.common.hash.AbstractStreamingHasher.putBytesInternal:(Ljava/nio/ByteBuffer;)Lcom/google/common/hash/Hasher;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/hash/AbstractStreamingHasher;
0 1 1 bytes [B
0 1 2 off I
0 1 3 len I
MethodParameters:
Name Flags
bytes
off
len
public final com.google.common.hash.Hasher putBytes(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Lcom/google/common/hash/Hasher;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.order:()Ljava/nio/ByteOrder;
astore 2
start local 2 1: aload 1
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
2: aload 0
aload 1
invokevirtual com.google.common.hash.AbstractStreamingHasher.putBytesInternal:(Ljava/nio/ByteBuffer;)Lcom/google/common/hash/Hasher;
astore 4
3: aload 1
aload 2
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
4: aload 4
areturn
5: StackMap locals: com.google.common.hash.AbstractStreamingHasher java.nio.ByteBuffer java.nio.ByteOrder
StackMap stack: java.lang.Throwable
astore 3
6: aload 1
aload 2
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
7: aload 3
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/google/common/hash/AbstractStreamingHasher;
0 8 1 readBuffer Ljava/nio/ByteBuffer;
1 8 2 order Ljava/nio/ByteOrder;
Exception table:
from to target type
1 3 5 any
MethodParameters:
Name Flags
readBuffer
private com.google.common.hash.Hasher putBytesInternal(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Lcom/google/common/hash/Hasher;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmpgt 4
1: aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
aload 1
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
2: aload 0
invokevirtual com.google.common.hash.AbstractStreamingHasher.munchIfFull:()V
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.hash.AbstractStreamingHasher.bufferSize:I
aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
isub
istore 2
start local 2 5: iconst_0
istore 3
start local 3 6: goto 9
7: StackMap locals: int int
StackMap stack:
aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 2
if_icmplt 7
end local 3 10: aload 0
invokevirtual com.google.common.hash.AbstractStreamingHasher.munch:()V
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.google.common.hash.AbstractStreamingHasher.process:(Ljava/nio/ByteBuffer;)V
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 0
getfield com.google.common.hash.AbstractStreamingHasher.chunkSize:I
if_icmpge 12
14: aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
aload 1
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
15: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/google/common/hash/AbstractStreamingHasher;
0 16 1 readBuffer Ljava/nio/ByteBuffer;
5 16 2 bytesToCopy I
6 10 3 i I
MethodParameters:
Name Flags
readBuffer
public final com.google.common.hash.Hasher putByte(byte);
descriptor: (B)Lcom/google/common/hash/Hasher;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
iload 1
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
1: aload 0
invokevirtual com.google.common.hash.AbstractStreamingHasher.munchIfFull:()V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/hash/AbstractStreamingHasher;
0 3 1 b B
MethodParameters:
Name Flags
b
public final com.google.common.hash.Hasher putShort(short);
descriptor: (S)Lcom/google/common/hash/Hasher;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
iload 1
invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
pop
1: aload 0
invokevirtual com.google.common.hash.AbstractStreamingHasher.munchIfFull:()V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/hash/AbstractStreamingHasher;
0 3 1 s S
MethodParameters:
Name Flags
s
public final com.google.common.hash.Hasher putChar(char);
descriptor: (C)Lcom/google/common/hash/Hasher;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
iload 1
invokevirtual java.nio.ByteBuffer.putChar:(C)Ljava/nio/ByteBuffer;
pop
1: aload 0
invokevirtual com.google.common.hash.AbstractStreamingHasher.munchIfFull:()V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/hash/AbstractStreamingHasher;
0 3 1 c C
MethodParameters:
Name Flags
c
public final com.google.common.hash.Hasher putInt(int);
descriptor: (I)Lcom/google/common/hash/Hasher;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
iload 1
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
1: aload 0
invokevirtual com.google.common.hash.AbstractStreamingHasher.munchIfFull:()V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/hash/AbstractStreamingHasher;
0 3 1 i I
MethodParameters:
Name Flags
i
public final com.google.common.hash.Hasher putLong(long);
descriptor: (J)Lcom/google/common/hash/Hasher;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
lload 1
invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
pop
1: aload 0
invokevirtual com.google.common.hash.AbstractStreamingHasher.munchIfFull:()V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/hash/AbstractStreamingHasher;
0 3 1 l J
MethodParameters:
Name Flags
l
public final com.google.common.hash.HashCode hash();
descriptor: ()Lcom/google/common/hash/HashCode;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.hash.AbstractStreamingHasher.munch:()V
1: aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
2: aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
ifle 5
3: aload 0
aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
invokevirtual com.google.common.hash.AbstractStreamingHasher.processRemaining:(Ljava/nio/ByteBuffer;)V
4: aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.google.common.hash.AbstractStreamingHasher.makeHash:()Lcom/google/common/hash/HashCode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/hash/AbstractStreamingHasher;
protected abstract com.google.common.hash.HashCode makeHash();
descriptor: ()Lcom/google/common/hash/HashCode;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
private void munchIfFull();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
bipush 8
if_icmpge 2
1: aload 0
invokevirtual com.google.common.hash.AbstractStreamingHasher.munch:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/hash/AbstractStreamingHasher;
private void munch();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
1: goto 3
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
invokevirtual com.google.common.hash.AbstractStreamingHasher.process:(Ljava/nio/ByteBuffer;)V
3: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 0
getfield com.google.common.hash.AbstractStreamingHasher.chunkSize:I
if_icmpge 2
4: aload 0
getfield com.google.common.hash.AbstractStreamingHasher.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/hash/AbstractStreamingHasher;
public com.google.common.hash.PrimitiveSink putShort(short);
descriptor: (S)Lcom/google/common/hash/PrimitiveSink;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual com.google.common.hash.AbstractStreamingHasher.putShort:(S)Lcom/google/common/hash/Hasher;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.google.common.hash.PrimitiveSink putBytes(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Lcom/google/common/hash/PrimitiveSink;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.google.common.hash.AbstractStreamingHasher.putBytes:(Ljava/nio/ByteBuffer;)Lcom/google/common/hash/Hasher;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.google.common.hash.PrimitiveSink putBytes(byte[], int, int);
descriptor: ([BII)Lcom/google/common/hash/PrimitiveSink;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
iload 2
iload 3
invokevirtual com.google.common.hash.AbstractStreamingHasher.putBytes:([BII)Lcom/google/common/hash/Hasher;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.google.common.hash.PrimitiveSink putInt(int);
descriptor: (I)Lcom/google/common/hash/PrimitiveSink;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual com.google.common.hash.AbstractStreamingHasher.putInt:(I)Lcom/google/common/hash/Hasher;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.google.common.hash.PrimitiveSink putByte(byte);
descriptor: (B)Lcom/google/common/hash/PrimitiveSink;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual com.google.common.hash.AbstractStreamingHasher.putByte:(B)Lcom/google/common/hash/Hasher;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.google.common.hash.PrimitiveSink putChar(char);
descriptor: (C)Lcom/google/common/hash/PrimitiveSink;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual com.google.common.hash.AbstractStreamingHasher.putChar:(C)Lcom/google/common/hash/Hasher;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.google.common.hash.PrimitiveSink putLong(long);
descriptor: (J)Lcom/google/common/hash/PrimitiveSink;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=2
0: aload 0
lload 1
invokevirtual com.google.common.hash.AbstractStreamingHasher.putLong:(J)Lcom/google/common/hash/Hasher;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "AbstractStreamingHasher.java"
RuntimeInvisibleAnnotations:
com.google.errorprone.annotations.CanIgnoreReturnValue()