HashCode$IntHashCode.smali

.class final Lcom/google/common/hash/HashCode$IntHashCode;
.super Lcom/google/common/hash/HashCode;
.source "HashCode.java"

# interfaces
.implements Ljava/io/Serializable;


# static fields
.field private static final serialVersionUID:J


# instance fields
.field final hash:I


# direct methods
.method constructor <init>(I)V
    .registers 2

    .prologue
    .line 126
    invoke-direct {p0}, Lcom/google/common/hash/HashCode;-><init>()V

    .line 127
    iput p1, p0, Lcom/google/common/hash/HashCode$IntHashCode;->hash:I

    .line 128
    return-void
.end method


# virtual methods
.method public final asBytes()[B
    .registers 4

    .prologue
    .line 137
    const/4 v0, 0x4

    new-array v0, v0, [B

    const/4 v1, 0x0

    iget v2, p0, Lcom/google/common/hash/HashCode$IntHashCode;->hash:I

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    const/4 v1, 0x1

    iget v2, p0, Lcom/google/common/hash/HashCode$IntHashCode;->hash:I

    shr-int/lit8 v2, v2, 0x8

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    const/4 v1, 0x2

    iget v2, p0, Lcom/google/common/hash/HashCode$IntHashCode;->hash:I

    shr-int/lit8 v2, v2, 0x10

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    const/4 v1, 0x3

    iget v2, p0, Lcom/google/common/hash/HashCode$IntHashCode;->hash:I

    shr-int/lit8 v2, v2, 0x18

    aput-byte v2, v0, v1

    return-object v0
.end method

.method public final asInt()I
    .registers 2

    .prologue
    .line 146
    iget v0, p0, Lcom/google/common/hash/HashCode$IntHashCode;->hash:I

    return v0
.end method

.method public final asLong()J
    .registers 3

    .prologue
    .line 151
    new-instance v0, Ljava/lang/IllegalStateException;

    const-string v1, "this HashCode only has 32 bits; cannot create a long"

    invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method public final bits()I
    .registers 2

    .prologue
    .line 132
    const/16 v0, 0x20

    return v0
.end method

.method final equalsSameBits(Lcom/google/common/hash/HashCode;)Z
    .registers 4

    .prologue
    .line 167
    iget v0, p0, Lcom/google/common/hash/HashCode$IntHashCode;->hash:I

    invoke-virtual {p1}, Lcom/google/common/hash/HashCode;->asInt()I

    move-result v1

    if-ne v0, v1, :cond_a

    const/4 v0, 0x1

    :goto_9
    return v0

    :cond_a
    const/4 v0, 0x0

    goto :goto_9
.end method

.method public final padToLong()J
    .registers 5

    .prologue
    .line 156
    iget v0, p0, Lcom/google/common/hash/HashCode$IntHashCode;->hash:I

    .line 1075
    int-to-long v0, v0

    const-wide v2, 0xffffffffL

    and-long/2addr v0, v2

    .line 156
    return-wide v0
.end method

.method final writeBytesToImpl([BII)V
    .registers 8

    .prologue
    .line 161
    const/4 v0, 0x0

    :goto_1
    if-ge v0, p3, :cond_10

    .line 162
    add-int v1, p2, v0

    iget v2, p0, Lcom/google/common/hash/HashCode$IntHashCode;->hash:I

    shl-int/lit8 v3, v0, 0x3

    shr-int/2addr v2, v3

    int-to-byte v2, v2

    aput-byte v2, p1, v1

    .line 161
    add-int/lit8 v0, v0, 0x1

    goto :goto_1

    .line 164
    :cond_10
    return-void
.end method