HashCodeBuilder.smali
.class public Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.super Ljava/lang/Object;
.source "HashCodeBuilder.java"
# interfaces
.implements Lorg/apache/commons/lang3/builder/Builder;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lorg/apache/commons/lang3/builder/Builder<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
# static fields
.field private static final DEFAULT_INITIAL_VALUE:I = 0x11
.field private static final DEFAULT_MULTIPLIER_VALUE:I = 0x25
.field private static final REGISTRY:Ljava/lang/ThreadLocal;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ThreadLocal<",
"Ljava/util/Set<",
"Lorg/apache/commons/lang3/builder/IDKey;",
">;>;"
}
.end annotation
.end field
# instance fields
.field private final iConstant:I
.field private iTotal:I
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 119
new-instance v0, Ljava/lang/ThreadLocal;
invoke-direct {v0}, Ljava/lang/ThreadLocal;-><init>()V
sput-object v0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->REGISTRY:Ljava/lang/ThreadLocal;
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 535
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 528
iput v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
const/16 v0, 0x25
.line 536
iput v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
const/16 v0, 0x11
.line 537
iput v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
return-void
.end method
.method public constructor <init>(II)V
.registers 8
.line 557
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 528
iput v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
.line 558
rem-int/lit8 v1, p1, 0x2
const/4 v2, 0x1
if-eqz v1, :cond_d
const/4 v1, 0x1
goto :goto_e
:cond_d
const/4 v1, 0x0
:goto_e
new-array v3, v0, [Ljava/lang/Object;
const-string v4, "HashCodeBuilder requires an odd initial value"
invoke-static {v1, v4, v3}, Lorg/apache/commons/lang3/Validate;->isTrue(ZLjava/lang/String;[Ljava/lang/Object;)V
.line 559
rem-int/lit8 v1, p2, 0x2
if-eqz v1, :cond_1a
goto :goto_1b
:cond_1a
const/4 v2, 0x0
:goto_1b
new-array v0, v0, [Ljava/lang/Object;
const-string v1, "HashCodeBuilder requires an odd multiplier"
invoke-static {v2, v1, v0}, Lorg/apache/commons/lang3/Validate;->isTrue(ZLjava/lang/String;[Ljava/lang/Object;)V
.line 560
iput p2, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
.line 561
iput p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
return-void
.end method
.method static getRegistry()Ljava/util/Set;
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"Lorg/apache/commons/lang3/builder/IDKey;",
">;"
}
.end annotation
.line 147
sget-object v0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->REGISTRY:Ljava/lang/ThreadLocal;
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Set;
return-object v0
.end method
.method static isRegistered(Ljava/lang/Object;)Z
.registers 3
.line 162
invoke-static {}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->getRegistry()Ljava/util/Set;
move-result-object v0
if-eqz v0, :cond_13
.line 163
new-instance v1, Lorg/apache/commons/lang3/builder/IDKey;
invoke-direct {v1, p0}, Lorg/apache/commons/lang3/builder/IDKey;-><init>(Ljava/lang/Object;)V
invoke-interface {v0, v1}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_13
const/4 p0, 0x1
goto :goto_14
:cond_13
const/4 p0, 0x0
:goto_14
return p0
.end method
.method private static reflectionAppend(Ljava/lang/Object;Ljava/lang/Class;Lorg/apache/commons/lang3/builder/HashCodeBuilder;Z[Ljava/lang/String;)V
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Ljava/lang/Class<",
"*>;",
"Lorg/apache/commons/lang3/builder/HashCodeBuilder;",
"Z[",
"Ljava/lang/String;",
")V"
}
.end annotation
.line 184
invoke-static {p0}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->isRegistered(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
return-void
.line 188
:cond_7
:try_start_7
invoke-static {p0}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->register(Ljava/lang/Object;)V
.line 189
invoke-virtual {p1}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field;
move-result-object p1
const/4 v0, 0x1
.line 190
invoke-static {p1, v0}, Ljava/lang/reflect/AccessibleObject;->setAccessible([Ljava/lang/reflect/AccessibleObject;Z)V
.line 191
array-length v0, p1
const/4 v1, 0x0
:goto_14
if-ge v1, v0, :cond_58
aget-object v2, p1, v1
.line 192
invoke-virtual {v2}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v3
invoke-static {p4, v3}, Lorg/apache/commons/lang3/ArrayUtils;->contains([Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_55
invoke-virtual {v2}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v3
const/16 v4, 0x24
invoke-virtual {v3, v4}, Ljava/lang/String;->indexOf(I)I
move-result v3
const/4 v4, -0x1
if-ne v3, v4, :cond_55
if-nez p3, :cond_3b
invoke-virtual {v2}, Ljava/lang/reflect/Field;->getModifiers()I
move-result v3
invoke-static {v3}, Ljava/lang/reflect/Modifier;->isTransient(I)Z
move-result v3
if-nez v3, :cond_55
:cond_3b
invoke-virtual {v2}, Ljava/lang/reflect/Field;->getModifiers()I
move-result v3
invoke-static {v3}, Ljava/lang/reflect/Modifier;->isStatic(I)Z
move-result v3
:try_end_43
.catchall {:try_start_7 .. :try_end_43} :catchall_5c
if-nez v3, :cond_55
.line 197
:try_start_45
invoke-virtual {v2, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
.line 198
invoke-virtual {p2, v2}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append(Ljava/lang/Object;)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
:try_end_4c
.catch Ljava/lang/IllegalAccessException; {:try_start_45 .. :try_end_4c} :catch_4d
.catchall {:try_start_45 .. :try_end_4c} :catchall_5c
goto :goto_55
.line 202
:catch_4d
:try_start_4d
new-instance p1, Ljava/lang/InternalError;
const-string p2, "Unexpected IllegalAccessException"
invoke-direct {p1, p2}, Ljava/lang/InternalError;-><init>(Ljava/lang/String;)V
throw p1
:try_end_55
.catchall {:try_start_4d .. :try_end_55} :catchall_5c
:cond_55
:goto_55
add-int/lit8 v1, v1, 0x1
goto :goto_14
.line 207
:cond_58
invoke-static {p0}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->unregister(Ljava/lang/Object;)V
return-void
:catchall_5c
move-exception p1
invoke-static {p0}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->unregister(Ljava/lang/Object;)V
throw p1
.end method
.method public static reflectionHashCode(IILjava/lang/Object;)I
.registers 10
const/4 v0, 0x0
new-array v6, v0, [Ljava/lang/String;
const/4 v4, 0x0
const/4 v5, 0x0
move v1, p0
move v2, p1
move-object v3, p2
.line 250
invoke-static/range {v1 .. v6}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->reflectionHashCode(IILjava/lang/Object;ZLjava/lang/Class;[Ljava/lang/String;)I
move-result p0
return p0
.end method
.method public static reflectionHashCode(IILjava/lang/Object;Z)I
.registers 11
const/4 v0, 0x0
new-array v6, v0, [Ljava/lang/String;
const/4 v5, 0x0
move v1, p0
move v2, p1
move-object v3, p2
move v4, p3
.line 295
invoke-static/range {v1 .. v6}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->reflectionHashCode(IILjava/lang/Object;ZLjava/lang/Class;[Ljava/lang/String;)I
move-result p0
return p0
.end method
.method public static varargs reflectionHashCode(IILjava/lang/Object;ZLjava/lang/Class;[Ljava/lang/String;)I
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(IITT;Z",
"Ljava/lang/Class<",
"-TT;>;[",
"Ljava/lang/String;",
")I"
}
.end annotation
if-eqz p2, :cond_23
.line 352
new-instance v0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;
invoke-direct {v0, p0, p1}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;-><init>(II)V
.line 353
invoke-virtual {p2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p0
.line 354
invoke-static {p2, p0, v0, p3, p5}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->reflectionAppend(Ljava/lang/Object;Ljava/lang/Class;Lorg/apache/commons/lang3/builder/HashCodeBuilder;Z[Ljava/lang/String;)V
.line 355
:goto_e
invoke-virtual {p0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object p1
if-eqz p1, :cond_1e
if-eq p0, p4, :cond_1e
.line 356
invoke-virtual {p0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object p0
.line 357
invoke-static {p2, p0, v0, p3, p5}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->reflectionAppend(Ljava/lang/Object;Ljava/lang/Class;Lorg/apache/commons/lang3/builder/HashCodeBuilder;Z[Ljava/lang/String;)V
goto :goto_e
.line 359
:cond_1e
invoke-virtual {v0}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->toHashCode()I
move-result p0
return p0
.line 350
:cond_23
new-instance p0, Ljava/lang/IllegalArgumentException;
const-string p1, "The object to build a hash code for must not be null"
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static reflectionHashCode(Ljava/lang/Object;Ljava/util/Collection;)I
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Ljava/util/Collection<",
"Ljava/lang/String;",
">;)I"
}
.end annotation
.line 434
invoke-static {p1}, Lorg/apache/commons/lang3/builder/ReflectionToStringBuilder;->toNoNullStringArray(Ljava/util/Collection;)[Ljava/lang/String;
move-result-object p1
invoke-static {p0, p1}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->reflectionHashCode(Ljava/lang/Object;[Ljava/lang/String;)I
move-result p0
return p0
.end method
.method public static reflectionHashCode(Ljava/lang/Object;Z)I
.registers 9
const/4 v0, 0x0
new-array v6, v0, [Ljava/lang/String;
const/16 v1, 0x11
const/16 v2, 0x25
const/4 v5, 0x0
move-object v3, p0
move v4, p1
.line 396
invoke-static/range {v1 .. v6}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->reflectionHashCode(IILjava/lang/Object;ZLjava/lang/Class;[Ljava/lang/String;)I
move-result p0
return p0
.end method
.method public static varargs reflectionHashCode(Ljava/lang/Object;[Ljava/lang/String;)I
.registers 8
const/16 v0, 0x11
const/16 v1, 0x25
const/4 v3, 0x0
const/4 v4, 0x0
move-object v2, p0
move-object v5, p1
.line 473
invoke-static/range {v0 .. v5}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->reflectionHashCode(IILjava/lang/Object;ZLjava/lang/Class;[Ljava/lang/String;)I
move-result p0
return p0
.end method
.method static register(Ljava/lang/Object;)V
.registers 4
.line 486
const-class v0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;
monitor-enter v0
.line 487
:try_start_3
invoke-static {}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->getRegistry()Ljava/util/Set;
move-result-object v1
if-nez v1, :cond_13
.line 488
sget-object v1, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->REGISTRY:Ljava/lang/ThreadLocal;
new-instance v2, Ljava/util/HashSet;
invoke-direct {v2}, Ljava/util/HashSet;-><init>()V
invoke-virtual {v1, v2}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
.line 490
:cond_13
monitor-exit v0
:try_end_14
.catchall {:try_start_3 .. :try_end_14} :catchall_21
.line 491
invoke-static {}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->getRegistry()Ljava/util/Set;
move-result-object v0
new-instance v1, Lorg/apache/commons/lang3/builder/IDKey;
invoke-direct {v1, p0}, Lorg/apache/commons/lang3/builder/IDKey;-><init>(Ljava/lang/Object;)V
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
return-void
:catchall_21
move-exception p0
.line 490
:try_start_22
monitor-exit v0
:try_end_23
.catchall {:try_start_22 .. :try_end_23} :catchall_21
throw p0
.end method
.method static unregister(Ljava/lang/Object;)V
.registers 3
.line 507
invoke-static {}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->getRegistry()Ljava/util/Set;
move-result-object v0
if-eqz v0, :cond_27
.line 509
new-instance v1, Lorg/apache/commons/lang3/builder/IDKey;
invoke-direct {v1, p0}, Lorg/apache/commons/lang3/builder/IDKey;-><init>(Ljava/lang/Object;)V
invoke-interface {v0, v1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
.line 510
const-class p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;
monitor-enter p0
.line 512
:try_start_11
invoke-static {}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->getRegistry()Ljava/util/Set;
move-result-object v0
if-eqz v0, :cond_22
.line 513
invoke-interface {v0}, Ljava/util/Set;->isEmpty()Z
move-result v0
if-eqz v0, :cond_22
.line 514
sget-object v0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->REGISTRY:Ljava/lang/ThreadLocal;
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->remove()V
.line 516
:cond_22
monitor-exit p0
goto :goto_27
:catchall_24
move-exception v0
monitor-exit p0
:try_end_26
.catchall {:try_start_11 .. :try_end_26} :catchall_24
throw v0
:cond_27
:goto_27
return-void
.end method
# virtual methods
.method public append(B)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 4
.line 622
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int v0, v0, v1
add-int/2addr v0, p1
iput v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
return-object p0
.end method
.method public append(C)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 4
.line 658
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int v0, v0, v1
add-int/2addr v0, p1
iput v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
return-object p0
.end method
.method public append(D)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 3
.line 692
invoke-static {p1, p2}, Ljava/lang/Double;->doubleToLongBits(D)J
move-result-wide p1
invoke-virtual {p0, p1, p2}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append(J)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
move-result-object p1
return-object p1
.end method
.method public append(F)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 4
.line 725
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int v0, v0, v1
invoke-static {p1}, Ljava/lang/Float;->floatToIntBits(F)I
move-result p1
add-int/2addr v0, p1
iput v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
return-object p0
.end method
.method public append(I)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 4
.line 759
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int v0, v0, v1
add-int/2addr v0, p1
iput v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
return-object p0
.end method
.method public append(J)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 6
.line 797
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int v0, v0, v1
const/16 v1, 0x20
shr-long v1, p1, v1
xor-long/2addr p1, v1
long-to-int p2, p1
add-int/2addr v0, p2
iput v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
return-object p0
.end method
.method public append(Ljava/lang/Object;)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 4
if-nez p1, :cond_c
.line 832
iget p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int p1, p1, v0
iput p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
goto/16 :goto_8c
.line 835
:cond_c
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->isArray()Z
move-result v0
if-eqz v0, :cond_7f
.line 838
instance-of v0, p1, [J
if-eqz v0, :cond_23
.line 839
check-cast p1, [J
check-cast p1, [J
invoke-virtual {p0, p1}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append([J)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
goto/16 :goto_8c
.line 840
:cond_23
instance-of v0, p1, [I
if-eqz v0, :cond_2f
.line 841
check-cast p1, [I
check-cast p1, [I
invoke-virtual {p0, p1}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append([I)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
goto :goto_8c
.line 842
:cond_2f
instance-of v0, p1, [S
if-eqz v0, :cond_3b
.line 843
check-cast p1, [S
check-cast p1, [S
invoke-virtual {p0, p1}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append([S)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
goto :goto_8c
.line 844
:cond_3b
instance-of v0, p1, [C
if-eqz v0, :cond_47
.line 845
check-cast p1, [C
check-cast p1, [C
invoke-virtual {p0, p1}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append([C)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
goto :goto_8c
.line 846
:cond_47
instance-of v0, p1, [B
if-eqz v0, :cond_53
.line 847
check-cast p1, [B
check-cast p1, [B
invoke-virtual {p0, p1}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append([B)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
goto :goto_8c
.line 848
:cond_53
instance-of v0, p1, [D
if-eqz v0, :cond_5f
.line 849
check-cast p1, [D
check-cast p1, [D
invoke-virtual {p0, p1}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append([D)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
goto :goto_8c
.line 850
:cond_5f
instance-of v0, p1, [F
if-eqz v0, :cond_6b
.line 851
check-cast p1, [F
check-cast p1, [F
invoke-virtual {p0, p1}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append([F)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
goto :goto_8c
.line 852
:cond_6b
instance-of v0, p1, [Z
if-eqz v0, :cond_77
.line 853
check-cast p1, [Z
check-cast p1, [Z
invoke-virtual {p0, p1}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append([Z)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
goto :goto_8c
.line 856
:cond_77
check-cast p1, [Ljava/lang/Object;
check-cast p1, [Ljava/lang/Object;
invoke-virtual {p0, p1}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append([Ljava/lang/Object;)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
goto :goto_8c
.line 859
:cond_7f
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int v0, v0, v1
invoke-virtual {p1}, Ljava/lang/Object;->hashCode()I
move-result p1
add-int/2addr v0, p1
iput v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
:goto_8c
return-object p0
.end method
.method public append(S)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 4
.line 895
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int v0, v0, v1
add-int/2addr v0, p1
iput v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
return-object p0
.end method
.method public append(Z)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 4
.line 586
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int v0, v0, v1
xor-int/lit8 p1, p1, 0x1
add-int/2addr v0, p1
iput v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
return-object p0
.end method
.method public append([B)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 5
if-nez p1, :cond_b
.line 639
iget p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int p1, p1, v0
iput p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
goto :goto_17
.line 641
:cond_b
array-length v0, p1
const/4 v1, 0x0
:goto_d
if-ge v1, v0, :cond_17
aget-byte v2, p1, v1
.line 642
invoke-virtual {p0, v2}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append(B)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_d
:cond_17
:goto_17
return-object p0
.end method
.method public append([C)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 5
if-nez p1, :cond_b
.line 673
iget p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int p1, p1, v0
iput p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
goto :goto_17
.line 675
:cond_b
array-length v0, p1
const/4 v1, 0x0
:goto_d
if-ge v1, v0, :cond_17
aget-char v2, p1, v1
.line 676
invoke-virtual {p0, v2}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append(C)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_d
:cond_17
:goto_17
return-object p0
.end method
.method public append([D)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 6
if-nez p1, :cond_b
.line 706
iget p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int p1, p1, v0
iput p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
goto :goto_17
.line 708
:cond_b
array-length v0, p1
const/4 v1, 0x0
:goto_d
if-ge v1, v0, :cond_17
aget-wide v2, p1, v1
.line 709
invoke-virtual {p0, v2, v3}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append(D)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_d
:cond_17
:goto_17
return-object p0
.end method
.method public append([F)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 5
if-nez p1, :cond_b
.line 740
iget p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int p1, p1, v0
iput p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
goto :goto_17
.line 742
:cond_b
array-length v0, p1
const/4 v1, 0x0
:goto_d
if-ge v1, v0, :cond_17
aget v2, p1, v1
.line 743
invoke-virtual {p0, v2}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append(F)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_d
:cond_17
:goto_17
return-object p0
.end method
.method public append([I)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 5
if-nez p1, :cond_b
.line 774
iget p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int p1, p1, v0
iput p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
goto :goto_17
.line 776
:cond_b
array-length v0, p1
const/4 v1, 0x0
:goto_d
if-ge v1, v0, :cond_17
aget v2, p1, v1
.line 777
invoke-virtual {p0, v2}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append(I)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_d
:cond_17
:goto_17
return-object p0
.end method
.method public append([J)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 6
if-nez p1, :cond_b
.line 812
iget p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int p1, p1, v0
iput p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
goto :goto_17
.line 814
:cond_b
array-length v0, p1
const/4 v1, 0x0
:goto_d
if-ge v1, v0, :cond_17
aget-wide v2, p1, v1
.line 815
invoke-virtual {p0, v2, v3}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append(J)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_d
:cond_17
:goto_17
return-object p0
.end method
.method public append([Ljava/lang/Object;)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 5
if-nez p1, :cond_b
.line 876
iget p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int p1, p1, v0
iput p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
goto :goto_17
.line 878
:cond_b
array-length v0, p1
const/4 v1, 0x0
:goto_d
if-ge v1, v0, :cond_17
aget-object v2, p1, v1
.line 879
invoke-virtual {p0, v2}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append(Ljava/lang/Object;)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_d
:cond_17
:goto_17
return-object p0
.end method
.method public append([S)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 5
if-nez p1, :cond_b
.line 910
iget p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int p1, p1, v0
iput p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
goto :goto_17
.line 912
:cond_b
array-length v0, p1
const/4 v1, 0x0
:goto_d
if-ge v1, v0, :cond_17
aget-short v2, p1, v1
.line 913
invoke-virtual {p0, v2}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append(S)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_d
:cond_17
:goto_17
return-object p0
.end method
.method public append([Z)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 5
if-nez p1, :cond_b
.line 601
iget p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int p1, p1, v0
iput p1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
goto :goto_17
.line 603
:cond_b
array-length v0, p1
const/4 v1, 0x0
:goto_d
if-ge v1, v0, :cond_17
aget-boolean v2, p1, v1
.line 604
invoke-virtual {p0, v2}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->append(Z)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_d
:cond_17
:goto_17
return-object p0
.end method
.method public appendSuper(I)Lorg/apache/commons/lang3/builder/HashCodeBuilder;
.registers 4
.line 930
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
iget v1, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iConstant:I
mul-int v0, v0, v1
add-int/2addr v0, p1
iput v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
return-object p0
.end method
.method public build()Ljava/lang/Integer;
.registers 2
.line 954
invoke-virtual {p0}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->toHashCode()I
move-result v0
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic build()Ljava/lang/Object;
.registers 2
.line 101
invoke-virtual {p0}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->build()Ljava/lang/Integer;
move-result-object v0
return-object v0
.end method
.method public hashCode()I
.registers 2
.line 968
invoke-virtual {p0}, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->toHashCode()I
move-result v0
return v0
.end method
.method public toHashCode()I
.registers 2
.line 942
iget v0, p0, Lorg/apache/commons/lang3/builder/HashCodeBuilder;->iTotal:I
return v0
.end method