ConstructorConstructor$5.smali 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. .class Lcom/google/gson/internal/ConstructorConstructor$5;
  2. .super Ljava/lang/Object;
  3. .source ""
  4. # interfaces
  5. .implements Lcom/google/gson/internal/ObjectConstructor;
  6. # annotations
  7. .annotation system Ldalvik/annotation/EnclosingMethod;
  8. value = Lcom/google/gson/internal/ConstructorConstructor;->newDefaultImplementationConstructor(Ljava/lang/reflect/Type;Ljava/lang/Class;)Lcom/google/gson/internal/ObjectConstructor;
  9. .end annotation
  10. .annotation system Ldalvik/annotation/InnerClass;
  11. accessFlags = 0x0
  12. name = null
  13. .end annotation
  14. .annotation system Ldalvik/annotation/Signature;
  15. value = {
  16. "Ljava/lang/Object;",
  17. "Lcom/google/gson/internal/ObjectConstructor<",
  18. "TT;>;"
  19. }
  20. .end annotation
  21. # instance fields
  22. .field final synthetic this$0:Lcom/google/gson/internal/ConstructorConstructor;
  23. .field final synthetic val$type:Ljava/lang/reflect/Type;
  24. # direct methods
  25. .method constructor <init>(Lcom/google/gson/internal/ConstructorConstructor;Ljava/lang/reflect/Type;)V
  26. .locals 0
  27. iput-object p1, p0, Lcom/google/gson/internal/ConstructorConstructor$5;->this$0:Lcom/google/gson/internal/ConstructorConstructor;
  28. iput-object p2, p0, Lcom/google/gson/internal/ConstructorConstructor$5;->val$type:Ljava/lang/reflect/Type;
  29. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  30. return-void
  31. .end method
  32. # virtual methods
  33. .method public construct()Ljava/lang/Object;
  34. .locals 3
  35. .annotation system Ldalvik/annotation/Signature;
  36. value = {
  37. "()TT;"
  38. }
  39. .end annotation
  40. iget-object v0, p0, Lcom/google/gson/internal/ConstructorConstructor$5;->val$type:Ljava/lang/reflect/Type;
  41. instance-of v1, v0, Ljava/lang/reflect/ParameterizedType;
  42. const-string v2, "Invalid EnumSet type: "
  43. if-eqz v1, :cond_1
  44. check-cast v0, Ljava/lang/reflect/ParameterizedType;
  45. invoke-interface {v0}, Ljava/lang/reflect/ParameterizedType;->getActualTypeArguments()[Ljava/lang/reflect/Type;
  46. move-result-object v0
  47. const/4 v1, 0x0
  48. aget-object v0, v0, v1
  49. instance-of v1, v0, Ljava/lang/Class;
  50. if-eqz v1, :cond_0
  51. check-cast v0, Ljava/lang/Class;
  52. invoke-static {v0}, Ljava/util/EnumSet;->noneOf(Ljava/lang/Class;)Ljava/util/EnumSet;
  53. move-result-object v0
  54. return-object v0
  55. :cond_0
  56. new-instance v0, Lcom/google/gson/JsonIOException;
  57. new-instance v1, Ljava/lang/StringBuilder;
  58. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  59. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  60. iget-object v2, p0, Lcom/google/gson/internal/ConstructorConstructor$5;->val$type:Ljava/lang/reflect/Type;
  61. invoke-virtual {v2}, Ljava/lang/Object;->toString()Ljava/lang/String;
  62. move-result-object v2
  63. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  64. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  65. move-result-object v1
  66. invoke-direct {v0, v1}, Lcom/google/gson/JsonIOException;-><init>(Ljava/lang/String;)V
  67. throw v0
  68. :cond_1
  69. new-instance v0, Lcom/google/gson/JsonIOException;
  70. new-instance v1, Ljava/lang/StringBuilder;
  71. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  72. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  73. iget-object v2, p0, Lcom/google/gson/internal/ConstructorConstructor$5;->val$type:Ljava/lang/reflect/Type;
  74. invoke-virtual {v2}, Ljava/lang/Object;->toString()Ljava/lang/String;
  75. move-result-object v2
  76. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  77. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  78. move-result-object v1
  79. invoke-direct {v0, v1}, Lcom/google/gson/JsonIOException;-><init>(Ljava/lang/String;)V
  80. throw v0
  81. .end method