LinkedTreeMap$Node.smali 9.2 KB

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