TypeAdapters$2.smali 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. .class final Lcom/google/gson/internal/bind/TypeAdapters$2;
  2. .super Lcom/google/gson/TypeAdapter;
  3. .source ""
  4. # annotations
  5. .annotation system Ldalvik/annotation/EnclosingClass;
  6. value = Lcom/google/gson/internal/bind/TypeAdapters;
  7. .end annotation
  8. .annotation system Ldalvik/annotation/InnerClass;
  9. accessFlags = 0x8
  10. name = null
  11. .end annotation
  12. .annotation system Ldalvik/annotation/Signature;
  13. value = {
  14. "Lcom/google/gson/TypeAdapter<",
  15. "Ljava/util/BitSet;",
  16. ">;"
  17. }
  18. .end annotation
  19. # direct methods
  20. .method constructor <init>()V
  21. .locals 0
  22. invoke-direct {p0}, Lcom/google/gson/TypeAdapter;-><init>()V
  23. return-void
  24. .end method
  25. # virtual methods
  26. .method public bridge synthetic read(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
  27. .locals 0
  28. .annotation system Ldalvik/annotation/Throws;
  29. value = {
  30. Ljava/io/IOException;
  31. }
  32. .end annotation
  33. invoke-virtual {p0, p1}, Lcom/google/gson/internal/bind/TypeAdapters$2;->read(Lcom/google/gson/stream/JsonReader;)Ljava/util/BitSet;
  34. move-result-object p1
  35. return-object p1
  36. .end method
  37. .method public read(Lcom/google/gson/stream/JsonReader;)Ljava/util/BitSet;
  38. .locals 7
  39. .annotation system Ldalvik/annotation/Throws;
  40. value = {
  41. Ljava/io/IOException;
  42. }
  43. .end annotation
  44. new-instance v0, Ljava/util/BitSet;
  45. invoke-direct {v0}, Ljava/util/BitSet;-><init>()V
  46. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->beginArray()V
  47. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
  48. move-result-object v1
  49. const/4 v2, 0x0
  50. const/4 v3, 0x0
  51. :goto_0
  52. sget-object v4, Lcom/google/gson/stream/JsonToken;->END_ARRAY:Lcom/google/gson/stream/JsonToken;
  53. if-eq v1, v4, :cond_5
  54. sget-object v4, Lcom/google/gson/internal/bind/TypeAdapters$36;->$SwitchMap$com$google$gson$stream$JsonToken:[I
  55. invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
  56. move-result v5
  57. aget v4, v4, v5
  58. const/4 v5, 0x1
  59. if-eq v4, v5, :cond_3
  60. const/4 v6, 0x2
  61. if-eq v4, v6, :cond_2
  62. const/4 v6, 0x3
  63. if-ne v4, v6, :cond_1
  64. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->nextString()Ljava/lang/String;
  65. move-result-object v1
  66. :try_start_0
  67. invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  68. move-result v1
  69. :try_end_0
  70. .catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0
  71. if-eqz v1, :cond_0
  72. goto :goto_1
  73. :cond_0
  74. const/4 v5, 0x0
  75. goto :goto_1
  76. :catch_0
  77. new-instance p1, Lcom/google/gson/JsonSyntaxException;
  78. new-instance v0, Ljava/lang/StringBuilder;
  79. invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
  80. const-string v2, "Error: Expecting: bitset number value (1, 0), Found: "
  81. invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  82. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  83. invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  84. move-result-object v0
  85. invoke-direct {p1, v0}, Lcom/google/gson/JsonSyntaxException;-><init>(Ljava/lang/String;)V
  86. throw p1
  87. :cond_1
  88. new-instance p1, Lcom/google/gson/JsonSyntaxException;
  89. new-instance v0, Ljava/lang/StringBuilder;
  90. invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
  91. const-string v2, "Invalid bitset value type: "
  92. invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  93. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  94. invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  95. move-result-object v0
  96. invoke-direct {p1, v0}, Lcom/google/gson/JsonSyntaxException;-><init>(Ljava/lang/String;)V
  97. throw p1
  98. :cond_2
  99. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->nextBoolean()Z
  100. move-result v5
  101. goto :goto_1
  102. :cond_3
  103. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->nextInt()I
  104. move-result v1
  105. if-eqz v1, :cond_0
  106. :goto_1
  107. if-eqz v5, :cond_4
  108. invoke-virtual {v0, v3}, Ljava/util/BitSet;->set(I)V
  109. :cond_4
  110. add-int/lit8 v3, v3, 0x1
  111. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
  112. move-result-object v1
  113. goto :goto_0
  114. :cond_5
  115. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->endArray()V
  116. return-object v0
  117. .end method
  118. .method public bridge synthetic write(Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
  119. .locals 0
  120. .annotation system Ldalvik/annotation/Throws;
  121. value = {
  122. Ljava/io/IOException;
  123. }
  124. .end annotation
  125. check-cast p2, Ljava/util/BitSet;
  126. invoke-virtual {p0, p1, p2}, Lcom/google/gson/internal/bind/TypeAdapters$2;->write(Lcom/google/gson/stream/JsonWriter;Ljava/util/BitSet;)V
  127. return-void
  128. .end method
  129. .method public write(Lcom/google/gson/stream/JsonWriter;Ljava/util/BitSet;)V
  130. .locals 4
  131. .annotation system Ldalvik/annotation/Throws;
  132. value = {
  133. Ljava/io/IOException;
  134. }
  135. .end annotation
  136. invoke-virtual {p1}, Lcom/google/gson/stream/JsonWriter;->beginArray()Lcom/google/gson/stream/JsonWriter;
  137. invoke-virtual {p2}, Ljava/util/BitSet;->length()I
  138. move-result v0
  139. const/4 v1, 0x0
  140. :goto_0
  141. if-ge v1, v0, :cond_0
  142. invoke-virtual {p2, v1}, Ljava/util/BitSet;->get(I)Z
  143. move-result v2
  144. int-to-long v2, v2
  145. invoke-virtual {p1, v2, v3}, Lcom/google/gson/stream/JsonWriter;->value(J)Lcom/google/gson/stream/JsonWriter;
  146. add-int/lit8 v1, v1, 0x1
  147. goto :goto_0
  148. :cond_0
  149. invoke-virtual {p1}, Lcom/google/gson/stream/JsonWriter;->endArray()Lcom/google/gson/stream/JsonWriter;
  150. return-void
  151. .end method