.class abstract Lcom/google/common/hash/AbstractByteHasher; .super Lcom/google/common/hash/AbstractHasher; .source "AbstractByteHasher.java" # instance fields .field private final scratch:Ljava/nio/ByteBuffer; # direct methods .method constructor ()V .locals 2 .prologue .line 36 invoke-direct {p0}, Lcom/google/common/hash/AbstractHasher;->()V .line 38 const/16 v0, 0x8 invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer; move-result-object v0 sget-object v1, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder; invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; move-result-object v0 iput-object v0, p0, Lcom/google/common/hash/AbstractByteHasher;->scratch:Ljava/nio/ByteBuffer; return-void .end method .method private update(I)Lcom/google/common/hash/Hasher; .locals 2 .prologue .line 86 :try_start_0 iget-object v0, p0, Lcom/google/common/hash/AbstractByteHasher;->scratch:Ljava/nio/ByteBuffer; invoke-virtual {v0}, Ljava/nio/ByteBuffer;->array()[B move-result-object v0 const/4 v1, 0x0 invoke-virtual {p0, v0, v1, p1}, Lcom/google/common/hash/AbstractByteHasher;->update([BII)V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 88 iget-object v0, p0, Lcom/google/common/hash/AbstractByteHasher;->scratch:Ljava/nio/ByteBuffer; invoke-virtual {v0}, Ljava/nio/ByteBuffer;->clear()Ljava/nio/Buffer; .line 90 return-object p0 .line 88 :catchall_0 move-exception v0 iget-object v1, p0, Lcom/google/common/hash/AbstractByteHasher;->scratch:Ljava/nio/ByteBuffer; invoke-virtual {v1}, Ljava/nio/ByteBuffer;->clear()Ljava/nio/Buffer; throw v0 .end method # virtual methods .method public putByte(B)Lcom/google/common/hash/Hasher; .locals 0 .prologue .line 63 invoke-virtual {p0, p1}, Lcom/google/common/hash/AbstractByteHasher;->update(B)V .line 64 return-object p0 .end method .method public bridge synthetic putByte(B)Lcom/google/common/hash/PrimitiveSink; .locals 1 .prologue .line 36 invoke-virtual {p0, p1}, Lcom/google/common/hash/AbstractByteHasher;->putByte(B)Lcom/google/common/hash/Hasher; move-result-object v0 return-object v0 .end method .method public putBytes([B)Lcom/google/common/hash/Hasher; .locals 0 .prologue .line 69 invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; .line 70 invoke-virtual {p0, p1}, Lcom/google/common/hash/AbstractByteHasher;->update([B)V .line 71 return-object p0 .end method .method public putBytes([BII)Lcom/google/common/hash/Hasher; .locals 2 .prologue .line 76 add-int v0, p2, p3 array-length v1, p1 invoke-static {p2, v0, v1}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V .line 77 invoke-virtual {p0, p1, p2, p3}, Lcom/google/common/hash/AbstractByteHasher;->update([BII)V .line 78 return-object p0 .end method .method public bridge synthetic putBytes([B)Lcom/google/common/hash/PrimitiveSink; .locals 1 .prologue .line 36 invoke-virtual {p0, p1}, Lcom/google/common/hash/AbstractByteHasher;->putBytes([B)Lcom/google/common/hash/Hasher; move-result-object v0 return-object v0 .end method .method public bridge synthetic putBytes([BII)Lcom/google/common/hash/PrimitiveSink; .locals 1 .prologue .line 36 invoke-virtual {p0, p1, p2, p3}, Lcom/google/common/hash/AbstractByteHasher;->putBytes([BII)Lcom/google/common/hash/Hasher; move-result-object v0 return-object v0 .end method .method public putChar(C)Lcom/google/common/hash/Hasher; .locals 1 .prologue .line 113 iget-object v0, p0, Lcom/google/common/hash/AbstractByteHasher;->scratch:Ljava/nio/ByteBuffer; invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->putChar(C)Ljava/nio/ByteBuffer; .line 114 const/4 v0, 0x2 invoke-direct {p0, v0}, Lcom/google/common/hash/AbstractByteHasher;->update(I)Lcom/google/common/hash/Hasher; move-result-object v0 return-object v0 .end method .method public bridge synthetic putChar(C)Lcom/google/common/hash/PrimitiveSink; .locals 1 .prologue .line 36 invoke-virtual {p0, p1}, Lcom/google/common/hash/AbstractByteHasher;->putChar(C)Lcom/google/common/hash/Hasher; move-result-object v0 return-object v0 .end method .method public putInt(I)Lcom/google/common/hash/Hasher; .locals 1 .prologue .line 101 iget-object v0, p0, Lcom/google/common/hash/AbstractByteHasher;->scratch:Ljava/nio/ByteBuffer; invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer; .line 102 const/4 v0, 0x4 invoke-direct {p0, v0}, Lcom/google/common/hash/AbstractByteHasher;->update(I)Lcom/google/common/hash/Hasher; move-result-object v0 return-object v0 .end method .method public bridge synthetic putInt(I)Lcom/google/common/hash/PrimitiveSink; .locals 1 .prologue .line 36 invoke-virtual {p0, p1}, Lcom/google/common/hash/AbstractByteHasher;->putInt(I)Lcom/google/common/hash/Hasher; move-result-object v0 return-object v0 .end method .method public putLong(J)Lcom/google/common/hash/Hasher; .locals 1 .prologue .line 107 iget-object v0, p0, Lcom/google/common/hash/AbstractByteHasher;->scratch:Ljava/nio/ByteBuffer; invoke-virtual {v0, p1, p2}, Ljava/nio/ByteBuffer;->putLong(J)Ljava/nio/ByteBuffer; .line 108 const/16 v0, 0x8 invoke-direct {p0, v0}, Lcom/google/common/hash/AbstractByteHasher;->update(I)Lcom/google/common/hash/Hasher; move-result-object v0 return-object v0 .end method .method public bridge synthetic putLong(J)Lcom/google/common/hash/PrimitiveSink; .locals 1 .prologue .line 36 invoke-virtual {p0, p1, p2}, Lcom/google/common/hash/AbstractByteHasher;->putLong(J)Lcom/google/common/hash/Hasher; move-result-object v0 return-object v0 .end method .method public putObject(Ljava/lang/Object;Lcom/google/common/hash/Funnel;)Lcom/google/common/hash/Hasher; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(TT;", "Lcom/google/common/hash/Funnel", "<-TT;>;)", "Lcom/google/common/hash/Hasher;" } .end annotation .prologue .line 119 invoke-interface {p2, p1, p0}, Lcom/google/common/hash/Funnel;->funnel(Ljava/lang/Object;Lcom/google/common/hash/PrimitiveSink;)V .line 120 return-object p0 .end method .method public putShort(S)Lcom/google/common/hash/Hasher; .locals 1 .prologue .line 95 iget-object v0, p0, Lcom/google/common/hash/AbstractByteHasher;->scratch:Ljava/nio/ByteBuffer; invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->putShort(S)Ljava/nio/ByteBuffer; .line 96 const/4 v0, 0x2 invoke-direct {p0, v0}, Lcom/google/common/hash/AbstractByteHasher;->update(I)Lcom/google/common/hash/Hasher; move-result-object v0 return-object v0 .end method .method public bridge synthetic putShort(S)Lcom/google/common/hash/PrimitiveSink; .locals 1 .prologue .line 36 invoke-virtual {p0, p1}, Lcom/google/common/hash/AbstractByteHasher;->putShort(S)Lcom/google/common/hash/Hasher; move-result-object v0 return-object v0 .end method .method protected abstract update(B)V .end method .method protected update([B)V .locals 2 .prologue .line 49 const/4 v0, 0x0 array-length v1, p1 invoke-virtual {p0, p1, v0, v1}, Lcom/google/common/hash/AbstractByteHasher;->update([BII)V .line 50 return-void .end method .method protected update([BII)V .locals 2 .prologue .line 56 move v0, p2 :goto_0 add-int v1, p2, p3 if-ge v0, v1, :cond_0 .line 57 aget-byte v1, p1, v0 invoke-virtual {p0, v1}, Lcom/google/common/hash/AbstractByteHasher;->update(B)V .line 56 add-int/lit8 v0, v0, 0x1 goto :goto_0 .line 59 :cond_0 return-void .end method