TypeAdapters$30.smali 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. .class final Lcom/google/gson/internal/bind/TypeAdapters$30;
  2. .super Ljava/lang/Object;
  3. .source ""
  4. # interfaces
  5. .implements Lcom/google/gson/TypeAdapterFactory;
  6. # annotations
  7. .annotation system Ldalvik/annotation/EnclosingClass;
  8. value = Lcom/google/gson/internal/bind/TypeAdapters;
  9. .end annotation
  10. .annotation system Ldalvik/annotation/InnerClass;
  11. accessFlags = 0x8
  12. name = null
  13. .end annotation
  14. # direct methods
  15. .method constructor <init>()V
  16. .locals 0
  17. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  18. return-void
  19. .end method
  20. # virtual methods
  21. .method public create(Lcom/google/gson/Gson;Lcom/google/gson/reflect/TypeToken;)Lcom/google/gson/TypeAdapter;
  22. .locals 0
  23. .annotation system Ldalvik/annotation/Signature;
  24. value = {
  25. "<T:",
  26. "Ljava/lang/Object;",
  27. ">(",
  28. "Lcom/google/gson/Gson;",
  29. "Lcom/google/gson/reflect/TypeToken<",
  30. "TT;>;)",
  31. "Lcom/google/gson/TypeAdapter<",
  32. "TT;>;"
  33. }
  34. .end annotation
  35. invoke-virtual {p2}, Lcom/google/gson/reflect/TypeToken;->getRawType()Ljava/lang/Class;
  36. move-result-object p1
  37. const-class p2, Ljava/lang/Enum;
  38. invoke-virtual {p2, p1}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
  39. move-result p2
  40. if-eqz p2, :cond_2
  41. const-class p2, Ljava/lang/Enum;
  42. if-ne p1, p2, :cond_0
  43. goto :goto_0
  44. :cond_0
  45. invoke-virtual {p1}, Ljava/lang/Class;->isEnum()Z
  46. move-result p2
  47. if-nez p2, :cond_1
  48. invoke-virtual {p1}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
  49. move-result-object p1
  50. :cond_1
  51. new-instance p2, Lcom/google/gson/internal/bind/TypeAdapters$EnumTypeAdapter;
  52. invoke-direct {p2, p1}, Lcom/google/gson/internal/bind/TypeAdapters$EnumTypeAdapter;-><init>(Ljava/lang/Class;)V
  53. return-object p2
  54. :cond_2
  55. :goto_0
  56. const/4 p1, 0x0
  57. return-object p1
  58. .end method