MapTypeAdapterFactory$Adapter.smali 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631
  1. .class final Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;
  2. .super Lcom/google/gson/TypeAdapter;
  3. .source ""
  4. # annotations
  5. .annotation system Ldalvik/annotation/EnclosingClass;
  6. value = Lcom/google/gson/internal/bind/MapTypeAdapterFactory;
  7. .end annotation
  8. .annotation system Ldalvik/annotation/InnerClass;
  9. accessFlags = 0x12
  10. name = "Adapter"
  11. .end annotation
  12. .annotation system Ldalvik/annotation/Signature;
  13. value = {
  14. "<K:",
  15. "Ljava/lang/Object;",
  16. "V:",
  17. "Ljava/lang/Object;",
  18. ">",
  19. "Lcom/google/gson/TypeAdapter<",
  20. "Ljava/util/Map<",
  21. "TK;TV;>;>;"
  22. }
  23. .end annotation
  24. # instance fields
  25. .field private final constructor:Lcom/google/gson/internal/ObjectConstructor;
  26. .annotation system Ldalvik/annotation/Signature;
  27. value = {
  28. "Lcom/google/gson/internal/ObjectConstructor<",
  29. "+",
  30. "Ljava/util/Map<",
  31. "TK;TV;>;>;"
  32. }
  33. .end annotation
  34. .end field
  35. .field private final keyTypeAdapter:Lcom/google/gson/TypeAdapter;
  36. .annotation system Ldalvik/annotation/Signature;
  37. value = {
  38. "Lcom/google/gson/TypeAdapter<",
  39. "TK;>;"
  40. }
  41. .end annotation
  42. .end field
  43. .field final synthetic this$0:Lcom/google/gson/internal/bind/MapTypeAdapterFactory;
  44. .field private final valueTypeAdapter:Lcom/google/gson/TypeAdapter;
  45. .annotation system Ldalvik/annotation/Signature;
  46. value = {
  47. "Lcom/google/gson/TypeAdapter<",
  48. "TV;>;"
  49. }
  50. .end annotation
  51. .end field
  52. # direct methods
  53. .method public constructor <init>(Lcom/google/gson/internal/bind/MapTypeAdapterFactory;Lcom/google/gson/Gson;Ljava/lang/reflect/Type;Lcom/google/gson/TypeAdapter;Ljava/lang/reflect/Type;Lcom/google/gson/TypeAdapter;Lcom/google/gson/internal/ObjectConstructor;)V
  54. .locals 0
  55. .annotation system Ldalvik/annotation/Signature;
  56. value = {
  57. "(",
  58. "Lcom/google/gson/Gson;",
  59. "Ljava/lang/reflect/Type;",
  60. "Lcom/google/gson/TypeAdapter<",
  61. "TK;>;",
  62. "Ljava/lang/reflect/Type;",
  63. "Lcom/google/gson/TypeAdapter<",
  64. "TV;>;",
  65. "Lcom/google/gson/internal/ObjectConstructor<",
  66. "+",
  67. "Ljava/util/Map<",
  68. "TK;TV;>;>;)V"
  69. }
  70. .end annotation
  71. iput-object p1, p0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->this$0:Lcom/google/gson/internal/bind/MapTypeAdapterFactory;
  72. invoke-direct {p0}, Lcom/google/gson/TypeAdapter;-><init>()V
  73. new-instance p1, Lcom/google/gson/internal/bind/TypeAdapterRuntimeTypeWrapper;
  74. invoke-direct {p1, p2, p4, p3}, Lcom/google/gson/internal/bind/TypeAdapterRuntimeTypeWrapper;-><init>(Lcom/google/gson/Gson;Lcom/google/gson/TypeAdapter;Ljava/lang/reflect/Type;)V
  75. iput-object p1, p0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->keyTypeAdapter:Lcom/google/gson/TypeAdapter;
  76. new-instance p1, Lcom/google/gson/internal/bind/TypeAdapterRuntimeTypeWrapper;
  77. invoke-direct {p1, p2, p6, p5}, Lcom/google/gson/internal/bind/TypeAdapterRuntimeTypeWrapper;-><init>(Lcom/google/gson/Gson;Lcom/google/gson/TypeAdapter;Ljava/lang/reflect/Type;)V
  78. iput-object p1, p0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->valueTypeAdapter:Lcom/google/gson/TypeAdapter;
  79. iput-object p7, p0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->constructor:Lcom/google/gson/internal/ObjectConstructor;
  80. return-void
  81. .end method
  82. .method private keyToString(Lcom/google/gson/JsonElement;)Ljava/lang/String;
  83. .locals 1
  84. invoke-virtual {p1}, Lcom/google/gson/JsonElement;->isJsonPrimitive()Z
  85. move-result v0
  86. if-eqz v0, :cond_3
  87. invoke-virtual {p1}, Lcom/google/gson/JsonElement;->getAsJsonPrimitive()Lcom/google/gson/JsonPrimitive;
  88. move-result-object p1
  89. invoke-virtual {p1}, Lcom/google/gson/JsonPrimitive;->isNumber()Z
  90. move-result v0
  91. if-eqz v0, :cond_0
  92. invoke-virtual {p1}, Lcom/google/gson/JsonPrimitive;->getAsNumber()Ljava/lang/Number;
  93. move-result-object p1
  94. invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
  95. move-result-object p1
  96. return-object p1
  97. :cond_0
  98. invoke-virtual {p1}, Lcom/google/gson/JsonPrimitive;->isBoolean()Z
  99. move-result v0
  100. if-eqz v0, :cond_1
  101. invoke-virtual {p1}, Lcom/google/gson/JsonPrimitive;->getAsBoolean()Z
  102. move-result p1
  103. invoke-static {p1}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String;
  104. move-result-object p1
  105. return-object p1
  106. :cond_1
  107. invoke-virtual {p1}, Lcom/google/gson/JsonPrimitive;->isString()Z
  108. move-result v0
  109. if-eqz v0, :cond_2
  110. invoke-virtual {p1}, Lcom/google/gson/JsonPrimitive;->getAsString()Ljava/lang/String;
  111. move-result-object p1
  112. return-object p1
  113. :cond_2
  114. new-instance p1, Ljava/lang/AssertionError;
  115. invoke-direct {p1}, Ljava/lang/AssertionError;-><init>()V
  116. throw p1
  117. :cond_3
  118. invoke-virtual {p1}, Lcom/google/gson/JsonElement;->isJsonNull()Z
  119. move-result p1
  120. if-eqz p1, :cond_4
  121. const-string p1, "null"
  122. return-object p1
  123. :cond_4
  124. new-instance p1, Ljava/lang/AssertionError;
  125. invoke-direct {p1}, Ljava/lang/AssertionError;-><init>()V
  126. throw p1
  127. .end method
  128. # virtual methods
  129. .method public bridge synthetic read(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
  130. .locals 0
  131. .annotation system Ldalvik/annotation/Throws;
  132. value = {
  133. Ljava/io/IOException;
  134. }
  135. .end annotation
  136. invoke-virtual {p0, p1}, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->read(Lcom/google/gson/stream/JsonReader;)Ljava/util/Map;
  137. move-result-object p1
  138. return-object p1
  139. .end method
  140. .method public read(Lcom/google/gson/stream/JsonReader;)Ljava/util/Map;
  141. .locals 4
  142. .annotation system Ldalvik/annotation/Signature;
  143. value = {
  144. "(",
  145. "Lcom/google/gson/stream/JsonReader;",
  146. ")",
  147. "Ljava/util/Map<",
  148. "TK;TV;>;"
  149. }
  150. .end annotation
  151. .annotation system Ldalvik/annotation/Throws;
  152. value = {
  153. Ljava/io/IOException;
  154. }
  155. .end annotation
  156. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
  157. move-result-object v0
  158. sget-object v1, Lcom/google/gson/stream/JsonToken;->NULL:Lcom/google/gson/stream/JsonToken;
  159. if-ne v0, v1, :cond_0
  160. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->nextNull()V
  161. const/4 p1, 0x0
  162. return-object p1
  163. :cond_0
  164. iget-object v1, p0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->constructor:Lcom/google/gson/internal/ObjectConstructor;
  165. invoke-interface {v1}, Lcom/google/gson/internal/ObjectConstructor;->construct()Ljava/lang/Object;
  166. move-result-object v1
  167. check-cast v1, Ljava/util/Map;
  168. sget-object v2, Lcom/google/gson/stream/JsonToken;->BEGIN_ARRAY:Lcom/google/gson/stream/JsonToken;
  169. const-string v3, "duplicate key: "
  170. if-ne v0, v2, :cond_3
  171. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->beginArray()V
  172. :goto_0
  173. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->hasNext()Z
  174. move-result v0
  175. if-eqz v0, :cond_2
  176. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->beginArray()V
  177. iget-object v0, p0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->keyTypeAdapter:Lcom/google/gson/TypeAdapter;
  178. invoke-virtual {v0, p1}, Lcom/google/gson/TypeAdapter;->read(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
  179. move-result-object v0
  180. iget-object v2, p0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->valueTypeAdapter:Lcom/google/gson/TypeAdapter;
  181. invoke-virtual {v2, p1}, Lcom/google/gson/TypeAdapter;->read(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
  182. move-result-object v2
  183. invoke-interface {v1, v0, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  184. move-result-object v2
  185. if-nez v2, :cond_1
  186. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->endArray()V
  187. goto :goto_0
  188. :cond_1
  189. new-instance p1, Lcom/google/gson/JsonSyntaxException;
  190. new-instance v1, Ljava/lang/StringBuilder;
  191. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  192. invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  193. invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  194. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  195. move-result-object v0
  196. invoke-direct {p1, v0}, Lcom/google/gson/JsonSyntaxException;-><init>(Ljava/lang/String;)V
  197. throw p1
  198. :cond_2
  199. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->endArray()V
  200. goto :goto_2
  201. :cond_3
  202. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->beginObject()V
  203. :goto_1
  204. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->hasNext()Z
  205. move-result v0
  206. if-eqz v0, :cond_5
  207. sget-object v0, Lcom/google/gson/internal/JsonReaderInternalAccess;->INSTANCE:Lcom/google/gson/internal/JsonReaderInternalAccess;
  208. invoke-virtual {v0, p1}, Lcom/google/gson/internal/JsonReaderInternalAccess;->promoteNameToValue(Lcom/google/gson/stream/JsonReader;)V
  209. iget-object v0, p0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->keyTypeAdapter:Lcom/google/gson/TypeAdapter;
  210. invoke-virtual {v0, p1}, Lcom/google/gson/TypeAdapter;->read(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
  211. move-result-object v0
  212. iget-object v2, p0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->valueTypeAdapter:Lcom/google/gson/TypeAdapter;
  213. invoke-virtual {v2, p1}, Lcom/google/gson/TypeAdapter;->read(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
  214. move-result-object v2
  215. invoke-interface {v1, v0, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  216. move-result-object v2
  217. if-nez v2, :cond_4
  218. goto :goto_1
  219. :cond_4
  220. new-instance p1, Lcom/google/gson/JsonSyntaxException;
  221. new-instance v1, Ljava/lang/StringBuilder;
  222. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  223. invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  224. invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  225. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  226. move-result-object v0
  227. invoke-direct {p1, v0}, Lcom/google/gson/JsonSyntaxException;-><init>(Ljava/lang/String;)V
  228. throw p1
  229. :cond_5
  230. invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->endObject()V
  231. :goto_2
  232. return-object v1
  233. .end method
  234. .method public bridge synthetic write(Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
  235. .locals 0
  236. .annotation system Ldalvik/annotation/Throws;
  237. value = {
  238. Ljava/io/IOException;
  239. }
  240. .end annotation
  241. check-cast p2, Ljava/util/Map;
  242. invoke-virtual {p0, p1, p2}, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->write(Lcom/google/gson/stream/JsonWriter;Ljava/util/Map;)V
  243. return-void
  244. .end method
  245. .method public write(Lcom/google/gson/stream/JsonWriter;Ljava/util/Map;)V
  246. .locals 7
  247. .annotation system Ldalvik/annotation/Signature;
  248. value = {
  249. "(",
  250. "Lcom/google/gson/stream/JsonWriter;",
  251. "Ljava/util/Map<",
  252. "TK;TV;>;)V"
  253. }
  254. .end annotation
  255. .annotation system Ldalvik/annotation/Throws;
  256. value = {
  257. Ljava/io/IOException;
  258. }
  259. .end annotation
  260. if-nez p2, :cond_0
  261. invoke-virtual {p1}, Lcom/google/gson/stream/JsonWriter;->nullValue()Lcom/google/gson/stream/JsonWriter;
  262. return-void
  263. :cond_0
  264. iget-object v0, p0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->this$0:Lcom/google/gson/internal/bind/MapTypeAdapterFactory;
  265. iget-boolean v0, v0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory;->complexMapKeySerialization:Z
  266. if-nez v0, :cond_2
  267. invoke-virtual {p1}, Lcom/google/gson/stream/JsonWriter;->beginObject()Lcom/google/gson/stream/JsonWriter;
  268. invoke-interface {p2}, Ljava/util/Map;->entrySet()Ljava/util/Set;
  269. move-result-object p2
  270. invoke-interface {p2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
  271. move-result-object p2
  272. :goto_0
  273. invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
  274. move-result v0
  275. if-eqz v0, :cond_1
  276. invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  277. move-result-object v0
  278. check-cast v0, Ljava/util/Map$Entry;
  279. invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
  280. move-result-object v1
  281. invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
  282. move-result-object v1
  283. invoke-virtual {p1, v1}, Lcom/google/gson/stream/JsonWriter;->name(Ljava/lang/String;)Lcom/google/gson/stream/JsonWriter;
  284. iget-object v1, p0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->valueTypeAdapter:Lcom/google/gson/TypeAdapter;
  285. invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
  286. move-result-object v0
  287. invoke-virtual {v1, p1, v0}, Lcom/google/gson/TypeAdapter;->write(Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
  288. goto :goto_0
  289. :cond_1
  290. invoke-virtual {p1}, Lcom/google/gson/stream/JsonWriter;->endObject()Lcom/google/gson/stream/JsonWriter;
  291. return-void
  292. :cond_2
  293. new-instance v0, Ljava/util/ArrayList;
  294. invoke-interface {p2}, Ljava/util/Map;->size()I
  295. move-result v1
  296. invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
  297. new-instance v1, Ljava/util/ArrayList;
  298. invoke-interface {p2}, Ljava/util/Map;->size()I
  299. move-result v2
  300. invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(I)V
  301. invoke-interface {p2}, Ljava/util/Map;->entrySet()Ljava/util/Set;
  302. move-result-object p2
  303. invoke-interface {p2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
  304. move-result-object p2
  305. const/4 v2, 0x0
  306. const/4 v3, 0x0
  307. :goto_1
  308. invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
  309. move-result v4
  310. if-eqz v4, :cond_5
  311. invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  312. move-result-object v4
  313. check-cast v4, Ljava/util/Map$Entry;
  314. iget-object v5, p0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->keyTypeAdapter:Lcom/google/gson/TypeAdapter;
  315. invoke-interface {v4}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
  316. move-result-object v6
  317. invoke-virtual {v5, v6}, Lcom/google/gson/TypeAdapter;->toJsonTree(Ljava/lang/Object;)Lcom/google/gson/JsonElement;
  318. move-result-object v5
  319. invoke-interface {v0, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
  320. invoke-interface {v4}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
  321. move-result-object v4
  322. invoke-interface {v1, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
  323. invoke-virtual {v5}, Lcom/google/gson/JsonElement;->isJsonArray()Z
  324. move-result v4
  325. if-nez v4, :cond_4
  326. invoke-virtual {v5}, Lcom/google/gson/JsonElement;->isJsonObject()Z
  327. move-result v4
  328. if-eqz v4, :cond_3
  329. goto :goto_2
  330. :cond_3
  331. const/4 v4, 0x0
  332. goto :goto_3
  333. :cond_4
  334. :goto_2
  335. const/4 v4, 0x1
  336. :goto_3
  337. or-int/2addr v3, v4
  338. goto :goto_1
  339. :cond_5
  340. if-eqz v3, :cond_7
  341. invoke-virtual {p1}, Lcom/google/gson/stream/JsonWriter;->beginArray()Lcom/google/gson/stream/JsonWriter;
  342. invoke-interface {v0}, Ljava/util/List;->size()I
  343. move-result p2
  344. :goto_4
  345. if-ge v2, p2, :cond_6
  346. invoke-virtual {p1}, Lcom/google/gson/stream/JsonWriter;->beginArray()Lcom/google/gson/stream/JsonWriter;
  347. invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
  348. move-result-object v3
  349. check-cast v3, Lcom/google/gson/JsonElement;
  350. invoke-static {v3, p1}, Lcom/google/gson/internal/Streams;->write(Lcom/google/gson/JsonElement;Lcom/google/gson/stream/JsonWriter;)V
  351. iget-object v3, p0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->valueTypeAdapter:Lcom/google/gson/TypeAdapter;
  352. invoke-interface {v1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
  353. move-result-object v4
  354. invoke-virtual {v3, p1, v4}, Lcom/google/gson/TypeAdapter;->write(Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
  355. invoke-virtual {p1}, Lcom/google/gson/stream/JsonWriter;->endArray()Lcom/google/gson/stream/JsonWriter;
  356. add-int/lit8 v2, v2, 0x1
  357. goto :goto_4
  358. :cond_6
  359. invoke-virtual {p1}, Lcom/google/gson/stream/JsonWriter;->endArray()Lcom/google/gson/stream/JsonWriter;
  360. goto :goto_6
  361. :cond_7
  362. invoke-virtual {p1}, Lcom/google/gson/stream/JsonWriter;->beginObject()Lcom/google/gson/stream/JsonWriter;
  363. invoke-interface {v0}, Ljava/util/List;->size()I
  364. move-result p2
  365. :goto_5
  366. if-ge v2, p2, :cond_8
  367. invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
  368. move-result-object v3
  369. check-cast v3, Lcom/google/gson/JsonElement;
  370. invoke-direct {p0, v3}, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->keyToString(Lcom/google/gson/JsonElement;)Ljava/lang/String;
  371. move-result-object v3
  372. invoke-virtual {p1, v3}, Lcom/google/gson/stream/JsonWriter;->name(Ljava/lang/String;)Lcom/google/gson/stream/JsonWriter;
  373. iget-object v3, p0, Lcom/google/gson/internal/bind/MapTypeAdapterFactory$Adapter;->valueTypeAdapter:Lcom/google/gson/TypeAdapter;
  374. invoke-interface {v1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
  375. move-result-object v4
  376. invoke-virtual {v3, p1, v4}, Lcom/google/gson/TypeAdapter;->write(Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
  377. add-int/lit8 v2, v2, 0x1
  378. goto :goto_5
  379. :cond_8
  380. invoke-virtual {p1}, Lcom/google/gson/stream/JsonWriter;->endObject()Lcom/google/gson/stream/JsonWriter;
  381. :goto_6
  382. return-void
  383. .end method