.class public abstract Lcom/google/common/base/Converter; .super Ljava/lang/Object; .source "Converter.java" # interfaces .implements Lcom/google/common/base/Function; # annotations .annotation build Lcom/google/common/annotations/GwtCompatible; .end annotation .annotation runtime Lcom/google/common/base/ElementTypesAreNonnullByDefault; .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/google/common/base/Converter$IdentityConverter;, Lcom/google/common/base/Converter$FunctionBasedConverter;, Lcom/google/common/base/Converter$ConverterComposition;, Lcom/google/common/base/Converter$ReverseConverter; } .end annotation .annotation system Ldalvik/annotation/Signature; value = { "", "Ljava/lang/Object;", "Lcom/google/common/base/Function<", "TA;TB;>;" } .end annotation # instance fields .field private final handleNullAutomatically:Z .field private transient reverse:Lcom/google/common/base/Converter; .annotation runtime Lcom/google/errorprone/annotations/concurrent/LazyInit; .end annotation .annotation build Lcom/google/j2objc/annotations/RetainedWith; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Lcom/google/common/base/Converter<", "TB;TA;>;" } .end annotation .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end field # direct methods .method public constructor ()V .locals 1 const/4 v0, 0x1 .line 1 invoke-direct {p0, v0}, Lcom/google/common/base/Converter;->(Z)V return-void .end method .method public constructor (Z)V .locals 0 .line 2 invoke-direct {p0}, Ljava/lang/Object;->()V .line 3 iput-boolean p1, p0, Lcom/google/common/base/Converter;->handleNullAutomatically:Z return-void .end method .method public static from(Lcom/google/common/base/Function;Lcom/google/common/base/Function;)Lcom/google/common/base/Converter; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/google/common/base/Function<", "-TA;+TB;>;", "Lcom/google/common/base/Function<", "-TB;+TA;>;)", "Lcom/google/common/base/Converter<", "TA;TB;>;" } .end annotation .line 1 new-instance v0, Lcom/google/common/base/Converter$FunctionBasedConverter; const/4 v1, 0x0 invoke-direct {v0, p0, p1, v1}, Lcom/google/common/base/Converter$FunctionBasedConverter;->(Lcom/google/common/base/Function;Lcom/google/common/base/Function;Lcom/google/common/base/Converter$1;)V return-object v0 .end method .method public static identity()Lcom/google/common/base/Converter; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/google/common/base/Converter<", "TT;TT;>;" } .end annotation .line 1 sget-object v0, Lcom/google/common/base/Converter$IdentityConverter;->INSTANCE:Lcom/google/common/base/Converter$IdentityConverter; return-object v0 .end method .method private unsafeDoBackward(Ljava/lang/Object;)Ljava/lang/Object; .locals 0 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end param .annotation system Ldalvik/annotation/Signature; value = { "(TB;)TA;" } .end annotation .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .line 1 invoke-static {p1}, Lcom/google/common/base/NullnessCasts;->uncheckedCastNullableTToT(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 invoke-virtual {p0, p1}, Lcom/google/common/base/Converter;->doBackward(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method .method private unsafeDoForward(Ljava/lang/Object;)Ljava/lang/Object; .locals 0 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end param .annotation system Ldalvik/annotation/Signature; value = { "(TA;)TB;" } .end annotation .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .line 1 invoke-static {p1}, Lcom/google/common/base/NullnessCasts;->uncheckedCastNullableTToT(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 invoke-virtual {p0, p1}, Lcom/google/common/base/Converter;->doForward(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method # virtual methods .method public final andThen(Lcom/google/common/base/Converter;)Lcom/google/common/base/Converter; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/google/common/base/Converter<", "TB;TC;>;)", "Lcom/google/common/base/Converter<", "TA;TC;>;" } .end annotation .line 1 invoke-virtual {p0, p1}, Lcom/google/common/base/Converter;->doAndThen(Lcom/google/common/base/Converter;)Lcom/google/common/base/Converter; move-result-object p1 return-object p1 .end method .method public final apply(Ljava/lang/Object;)Ljava/lang/Object; .locals 0 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end param .annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "(TA;)TB;" } .end annotation .annotation runtime Ljava/lang/Deprecated; .end annotation .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .line 1 invoke-virtual {p0, p1}, Lcom/google/common/base/Converter;->convert(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method .method public final convert(Ljava/lang/Object;)Ljava/lang/Object; .locals 0 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end param .annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "(TA;)TB;" } .end annotation .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .line 1 invoke-virtual {p0, p1}, Lcom/google/common/base/Converter;->correctedDoForward(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method .method public convertAll(Ljava/lang/Iterable;)Ljava/lang/Iterable; .locals 1 .annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Iterable<", "+TA;>;)", "Ljava/lang/Iterable<", "TB;>;" } .end annotation const-string v0, "fromIterable" .line 1 invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 2 new-instance v0, Lcom/google/common/base/Converter$1; invoke-direct {v0, p0, p1}, Lcom/google/common/base/Converter$1;->(Lcom/google/common/base/Converter;Ljava/lang/Iterable;)V return-object v0 .end method .method correctedDoBackward(Ljava/lang/Object;)Ljava/lang/Object; .locals 1 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end param .annotation system Ldalvik/annotation/Signature; value = { "(TB;)TA;" } .end annotation .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .line 1 iget-boolean v0, p0, Lcom/google/common/base/Converter;->handleNullAutomatically:Z if-eqz v0, :cond_1 if-nez p1, :cond_0 const/4 p1, 0x0 goto :goto_0 .line 2 :cond_0 invoke-virtual {p0, p1}, Lcom/google/common/base/Converter;->doBackward(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 :goto_0 return-object p1 .line 3 :cond_1 invoke-direct {p0, p1}, Lcom/google/common/base/Converter;->unsafeDoBackward(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method .method correctedDoForward(Ljava/lang/Object;)Ljava/lang/Object; .locals 1 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end param .annotation system Ldalvik/annotation/Signature; value = { "(TA;)TB;" } .end annotation .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .line 1 iget-boolean v0, p0, Lcom/google/common/base/Converter;->handleNullAutomatically:Z if-eqz v0, :cond_1 if-nez p1, :cond_0 const/4 p1, 0x0 goto :goto_0 .line 2 :cond_0 invoke-virtual {p0, p1}, Lcom/google/common/base/Converter;->doForward(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 :goto_0 return-object p1 .line 3 :cond_1 invoke-direct {p0, p1}, Lcom/google/common/base/Converter;->unsafeDoForward(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method .method public doAndThen(Lcom/google/common/base/Converter;)Lcom/google/common/base/Converter; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/google/common/base/Converter<", "TB;TC;>;)", "Lcom/google/common/base/Converter<", "TA;TC;>;" } .end annotation .line 1 new-instance v0, Lcom/google/common/base/Converter$ConverterComposition; 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/Converter; invoke-direct {v0, p0, p1}, Lcom/google/common/base/Converter$ConverterComposition;->(Lcom/google/common/base/Converter;Lcom/google/common/base/Converter;)V return-object v0 .end method .method public abstract doBackward(Ljava/lang/Object;)Ljava/lang/Object; .annotation build Lcom/google/errorprone/annotations/ForOverride; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "(TB;)TA;" } .end annotation .end method .method public abstract doForward(Ljava/lang/Object;)Ljava/lang/Object; .annotation build Lcom/google/errorprone/annotations/ForOverride; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "(TA;)TB;" } .end annotation .end method .method public equals(Ljava/lang/Object;)Z .locals 0 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end param .line 1 invoke-super {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result p1 return p1 .end method .method public reverse()Lcom/google/common/base/Converter; .locals 1 .annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/google/common/base/Converter<", "TB;TA;>;" } .end annotation .line 1 iget-object v0, p0, Lcom/google/common/base/Converter;->reverse:Lcom/google/common/base/Converter; if-nez v0, :cond_0 .line 2 new-instance v0, Lcom/google/common/base/Converter$ReverseConverter; invoke-direct {v0, p0}, Lcom/google/common/base/Converter$ReverseConverter;->(Lcom/google/common/base/Converter;)V iput-object v0, p0, Lcom/google/common/base/Converter;->reverse:Lcom/google/common/base/Converter; :cond_0 return-object v0 .end method