.class final Lcom/google/common/base/FunctionalEquivalence; .super Lcom/google/common/base/Equivalence; .source "FunctionalEquivalence.java" # interfaces .implements Ljava/io/Serializable; # annotations .annotation build Lcom/google/common/annotations/Beta; .end annotation .annotation build Lcom/google/common/annotations/GwtCompatible; .end annotation .annotation runtime Lcom/google/common/base/ElementTypesAreNonnullByDefault; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "", "Lcom/google/common/base/Equivalence<", "TF;>;", "Ljava/io/Serializable;" } .end annotation # static fields .field private static final serialVersionUID:J # instance fields .field private final function:Lcom/google/common/base/Function; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/google/common/base/Function<", "-TF;+TT;>;" } .end annotation .end field .field private final resultEquivalence:Lcom/google/common/base/Equivalence; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/google/common/base/Equivalence<", "TT;>;" } .end annotation .end field # direct methods .method public constructor (Lcom/google/common/base/Function;Lcom/google/common/base/Equivalence;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/google/common/base/Function<", "-TF;+TT;>;", "Lcom/google/common/base/Equivalence<", "TT;>;)V" } .end annotation .line 1 invoke-direct {p0}, Lcom/google/common/base/Equivalence;->()V .line 2 invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Lcom/google/common/base/Function; iput-object p1, p0, Lcom/google/common/base/FunctionalEquivalence;->function:Lcom/google/common/base/Function; .line 3 invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Lcom/google/common/base/Equivalence; iput-object p1, p0, Lcom/google/common/base/FunctionalEquivalence;->resultEquivalence:Lcom/google/common/base/Equivalence; return-void .end method # virtual methods .method public doEquivalent(Ljava/lang/Object;Ljava/lang/Object;)Z .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(TF;TF;)Z" } .end annotation .line 1 iget-object v0, p0, Lcom/google/common/base/FunctionalEquivalence;->resultEquivalence:Lcom/google/common/base/Equivalence; iget-object v1, p0, Lcom/google/common/base/FunctionalEquivalence;->function:Lcom/google/common/base/Function; invoke-interface {v1, p1}, Lcom/google/common/base/Function;->apply(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 iget-object v1, p0, Lcom/google/common/base/FunctionalEquivalence;->function:Lcom/google/common/base/Function; invoke-interface {v1, p2}, Lcom/google/common/base/Function;->apply(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p2 invoke-virtual {v0, p1, p2}, Lcom/google/common/base/Equivalence;->equivalent(Ljava/lang/Object;Ljava/lang/Object;)Z move-result p1 return p1 .end method .method public doHash(Ljava/lang/Object;)I .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(TF;)I" } .end annotation .line 1 iget-object v0, p0, Lcom/google/common/base/FunctionalEquivalence;->resultEquivalence:Lcom/google/common/base/Equivalence; iget-object v1, p0, Lcom/google/common/base/FunctionalEquivalence;->function:Lcom/google/common/base/Function; invoke-interface {v1, p1}, Lcom/google/common/base/Function;->apply(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 invoke-virtual {v0, p1}, Lcom/google/common/base/Equivalence;->hash(Ljava/lang/Object;)I move-result p1 return p1 .end method .method public equals(Ljava/lang/Object;)Z .locals 4 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end param const/4 v0, 0x1 if-ne p1, p0, :cond_0 return v0 .line 1 :cond_0 instance-of v1, p1, Lcom/google/common/base/FunctionalEquivalence; const/4 v2, 0x0 if-eqz v1, :cond_2 .line 2 check-cast p1, Lcom/google/common/base/FunctionalEquivalence; .line 3 iget-object v1, p0, Lcom/google/common/base/FunctionalEquivalence;->function:Lcom/google/common/base/Function; iget-object v3, p1, Lcom/google/common/base/FunctionalEquivalence;->function:Lcom/google/common/base/Function; invoke-interface {v1, v3}, Lcom/google/common/base/Function;->equals(Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_1 iget-object v1, p0, Lcom/google/common/base/FunctionalEquivalence;->resultEquivalence:Lcom/google/common/base/Equivalence; iget-object p1, p1, Lcom/google/common/base/FunctionalEquivalence;->resultEquivalence:Lcom/google/common/base/Equivalence; invoke-virtual {v1, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result p1 if-eqz p1, :cond_1 goto :goto_0 :cond_1 move v0, v2 :goto_0 return v0 :cond_2 return v2 .end method .method public hashCode()I .locals 3 const/4 v0, 0x2 new-array v0, v0, [Ljava/lang/Object; .line 1 iget-object v1, p0, Lcom/google/common/base/FunctionalEquivalence;->function:Lcom/google/common/base/Function; const/4 v2, 0x0 aput-object v1, v0, v2 iget-object v1, p0, Lcom/google/common/base/FunctionalEquivalence;->resultEquivalence:Lcom/google/common/base/Equivalence; const/4 v2, 0x1 aput-object v1, v0, v2 invoke-static {v0}, Lcom/google/common/base/Objects;->hashCode([Ljava/lang/Object;)I move-result v0 return v0 .end method .method public toString()Ljava/lang/String; .locals 5 .line 1 iget-object v0, p0, Lcom/google/common/base/FunctionalEquivalence;->resultEquivalence:Lcom/google/common/base/Equivalence; invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 iget-object v1, p0, Lcom/google/common/base/FunctionalEquivalence;->function:Lcom/google/common/base/Function; invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 invoke-virtual {v0}, Ljava/lang/String;->length()I move-result v2 add-int/lit8 v2, v2, 0xd invoke-virtual {v1}, Ljava/lang/String;->length()I move-result v3 add-int/2addr v3, v2 const-string v2, ".onResultOf(" const-string v4, ")" invoke-static {v3, v0, v2, v1, v4}, Lcom/android/billingclient/api/f;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v0 return-object v0 .end method