LinkedHashTreeMap$Node.smali 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  1. .class final Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  2. .super Ljava/lang/Object;
  3. .source ""
  4. # interfaces
  5. .implements Ljava/util/Map$Entry;
  6. # annotations
  7. .annotation system Ldalvik/annotation/EnclosingClass;
  8. value = Lcom/google/gson/internal/LinkedHashTreeMap;
  9. .end annotation
  10. .annotation system Ldalvik/annotation/InnerClass;
  11. accessFlags = 0x18
  12. name = "Node"
  13. .end annotation
  14. .annotation system Ldalvik/annotation/Signature;
  15. value = {
  16. "<K:",
  17. "Ljava/lang/Object;",
  18. "V:",
  19. "Ljava/lang/Object;",
  20. ">",
  21. "Ljava/lang/Object;",
  22. "Ljava/util/Map$Entry<",
  23. "TK;TV;>;"
  24. }
  25. .end annotation
  26. # instance fields
  27. .field final hash:I
  28. .field height:I
  29. .field final key:Ljava/lang/Object;
  30. .annotation system Ldalvik/annotation/Signature;
  31. value = {
  32. "TK;"
  33. }
  34. .end annotation
  35. .end field
  36. .field left:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  37. .annotation system Ldalvik/annotation/Signature;
  38. value = {
  39. "Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
  40. "TK;TV;>;"
  41. }
  42. .end annotation
  43. .end field
  44. .field next:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  45. .annotation system Ldalvik/annotation/Signature;
  46. value = {
  47. "Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
  48. "TK;TV;>;"
  49. }
  50. .end annotation
  51. .end field
  52. .field parent:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  53. .annotation system Ldalvik/annotation/Signature;
  54. value = {
  55. "Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
  56. "TK;TV;>;"
  57. }
  58. .end annotation
  59. .end field
  60. .field prev:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  61. .annotation system Ldalvik/annotation/Signature;
  62. value = {
  63. "Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
  64. "TK;TV;>;"
  65. }
  66. .end annotation
  67. .end field
  68. .field right:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  69. .annotation system Ldalvik/annotation/Signature;
  70. value = {
  71. "Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
  72. "TK;TV;>;"
  73. }
  74. .end annotation
  75. .end field
  76. .field value:Ljava/lang/Object;
  77. .annotation system Ldalvik/annotation/Signature;
  78. value = {
  79. "TV;"
  80. }
  81. .end annotation
  82. .end field
  83. # direct methods
  84. .method constructor <init>()V
  85. .locals 1
  86. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  87. const/4 v0, 0x0
  88. iput-object v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->key:Ljava/lang/Object;
  89. const/4 v0, -0x1
  90. iput v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->hash:I
  91. iput-object p0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->prev:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  92. iput-object p0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->next:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  93. return-void
  94. .end method
  95. .method constructor <init>(Lcom/google/gson/internal/LinkedHashTreeMap$Node;Ljava/lang/Object;ILcom/google/gson/internal/LinkedHashTreeMap$Node;Lcom/google/gson/internal/LinkedHashTreeMap$Node;)V
  96. .locals 0
  97. .annotation system Ldalvik/annotation/Signature;
  98. value = {
  99. "(",
  100. "Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
  101. "TK;TV;>;TK;I",
  102. "Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
  103. "TK;TV;>;",
  104. "Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
  105. "TK;TV;>;)V"
  106. }
  107. .end annotation
  108. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  109. iput-object p1, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->parent:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  110. iput-object p2, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->key:Ljava/lang/Object;
  111. iput p3, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->hash:I
  112. const/4 p1, 0x1
  113. iput p1, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->height:I
  114. iput-object p4, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->next:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  115. iput-object p5, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->prev:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  116. iput-object p0, p5, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->next:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  117. iput-object p0, p4, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->prev:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  118. return-void
  119. .end method
  120. # virtual methods
  121. .method public equals(Ljava/lang/Object;)Z
  122. .locals 3
  123. instance-of v0, p1, Ljava/util/Map$Entry;
  124. const/4 v1, 0x0
  125. if-eqz v0, :cond_2
  126. check-cast p1, Ljava/util/Map$Entry;
  127. iget-object v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->key:Ljava/lang/Object;
  128. if-nez v0, :cond_0
  129. invoke-interface {p1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
  130. move-result-object v0
  131. if-nez v0, :cond_2
  132. goto :goto_0
  133. :cond_0
  134. invoke-interface {p1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
  135. move-result-object v2
  136. invoke-virtual {v0, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
  137. move-result v0
  138. if-eqz v0, :cond_2
  139. :goto_0
  140. iget-object v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->value:Ljava/lang/Object;
  141. invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
  142. move-result-object p1
  143. if-nez v0, :cond_1
  144. if-nez p1, :cond_2
  145. goto :goto_1
  146. :cond_1
  147. invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
  148. move-result p1
  149. if-eqz p1, :cond_2
  150. :goto_1
  151. const/4 v1, 0x1
  152. :cond_2
  153. return v1
  154. .end method
  155. .method public first()Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  156. .locals 3
  157. .annotation system Ldalvik/annotation/Signature;
  158. value = {
  159. "()",
  160. "Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
  161. "TK;TV;>;"
  162. }
  163. .end annotation
  164. iget-object v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->left:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  165. move-object v1, p0
  166. :goto_0
  167. if-eqz v0, :cond_0
  168. iget-object v1, v0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->left:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  169. move-object v2, v1
  170. move-object v1, v0
  171. move-object v0, v2
  172. goto :goto_0
  173. :cond_0
  174. return-object v1
  175. .end method
  176. .method public getKey()Ljava/lang/Object;
  177. .locals 1
  178. .annotation system Ldalvik/annotation/Signature;
  179. value = {
  180. "()TK;"
  181. }
  182. .end annotation
  183. iget-object v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->key:Ljava/lang/Object;
  184. return-object v0
  185. .end method
  186. .method public getValue()Ljava/lang/Object;
  187. .locals 1
  188. .annotation system Ldalvik/annotation/Signature;
  189. value = {
  190. "()TV;"
  191. }
  192. .end annotation
  193. iget-object v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->value:Ljava/lang/Object;
  194. return-object v0
  195. .end method
  196. .method public hashCode()I
  197. .locals 3
  198. iget-object v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->key:Ljava/lang/Object;
  199. const/4 v1, 0x0
  200. if-nez v0, :cond_0
  201. const/4 v0, 0x0
  202. goto :goto_0
  203. :cond_0
  204. invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I
  205. move-result v0
  206. :goto_0
  207. iget-object v2, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->value:Ljava/lang/Object;
  208. if-nez v2, :cond_1
  209. goto :goto_1
  210. :cond_1
  211. invoke-virtual {v2}, Ljava/lang/Object;->hashCode()I
  212. move-result v1
  213. :goto_1
  214. xor-int/2addr v0, v1
  215. return v0
  216. .end method
  217. .method public last()Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  218. .locals 3
  219. .annotation system Ldalvik/annotation/Signature;
  220. value = {
  221. "()",
  222. "Lcom/google/gson/internal/LinkedHashTreeMap$Node<",
  223. "TK;TV;>;"
  224. }
  225. .end annotation
  226. iget-object v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->right:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  227. move-object v1, p0
  228. :goto_0
  229. if-eqz v0, :cond_0
  230. iget-object v1, v0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->right:Lcom/google/gson/internal/LinkedHashTreeMap$Node;
  231. move-object v2, v1
  232. move-object v1, v0
  233. move-object v0, v2
  234. goto :goto_0
  235. :cond_0
  236. return-object v1
  237. .end method
  238. .method public setValue(Ljava/lang/Object;)Ljava/lang/Object;
  239. .locals 1
  240. .annotation system Ldalvik/annotation/Signature;
  241. value = {
  242. "(TV;)TV;"
  243. }
  244. .end annotation
  245. iget-object v0, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->value:Ljava/lang/Object;
  246. iput-object p1, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->value:Ljava/lang/Object;
  247. return-object v0
  248. .end method
  249. .method public toString()Ljava/lang/String;
  250. .locals 2
  251. new-instance v0, Ljava/lang/StringBuilder;
  252. invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
  253. iget-object v1, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->key:Ljava/lang/Object;
  254. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  255. const-string v1, "="
  256. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  257. iget-object v1, p0, Lcom/google/gson/internal/LinkedHashTreeMap$Node;->value:Ljava/lang/Object;
  258. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  259. invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  260. move-result-object v0
  261. return-object v0
  262. .end method