Pair.smali 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. .class public Landroid/support/v4/util/Pair;
  2. .super Ljava/lang/Object;
  3. .source "Pair.java"
  4. # annotations
  5. .annotation system Ldalvik/annotation/Signature;
  6. value = {
  7. "<F:",
  8. "Ljava/lang/Object;",
  9. "S:",
  10. "Ljava/lang/Object;",
  11. ">",
  12. "Ljava/lang/Object;"
  13. }
  14. .end annotation
  15. # instance fields
  16. .field public final first:Ljava/lang/Object;
  17. .annotation system Ldalvik/annotation/Signature;
  18. value = {
  19. "TF;"
  20. }
  21. .end annotation
  22. .end field
  23. .field public final second:Ljava/lang/Object;
  24. .annotation system Ldalvik/annotation/Signature;
  25. value = {
  26. "TS;"
  27. }
  28. .end annotation
  29. .end field
  30. # direct methods
  31. .method public constructor <init>(Ljava/lang/Object;Ljava/lang/Object;)V
  32. .locals 0
  33. .annotation system Ldalvik/annotation/Signature;
  34. value = {
  35. "(TF;TS;)V"
  36. }
  37. .end annotation
  38. .prologue
  39. .line 34
  40. .local p0, "this":Landroid/support/v4/util/Pair;, "Landroid/support/v4/util/Pair<TF;TS;>;"
  41. .local p1, "first":Ljava/lang/Object;, "TF;"
  42. .local p2, "second":Ljava/lang/Object;, "TS;"
  43. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  44. .line 35
  45. iput-object p1, p0, Landroid/support/v4/util/Pair;->first:Ljava/lang/Object;
  46. .line 36
  47. iput-object p2, p0, Landroid/support/v4/util/Pair;->second:Ljava/lang/Object;
  48. .line 37
  49. return-void
  50. .end method
  51. .method public static create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/support/v4/util/Pair;
  52. .locals 1
  53. .annotation system Ldalvik/annotation/Signature;
  54. value = {
  55. "<A:",
  56. "Ljava/lang/Object;",
  57. "B:",
  58. "Ljava/lang/Object;",
  59. ">(TA;TB;)",
  60. "Landroid/support/v4/util/Pair",
  61. "<TA;TB;>;"
  62. }
  63. .end annotation
  64. .prologue
  65. .line 77
  66. .local p0, "a":Ljava/lang/Object;, "TA;"
  67. .local p1, "b":Ljava/lang/Object;, "TB;"
  68. new-instance v0, Landroid/support/v4/util/Pair;
  69. invoke-direct {v0, p0, p1}, Landroid/support/v4/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
  70. return-object v0
  71. .end method
  72. .method private static objectsEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
  73. .locals 1
  74. .param p0, "a" # Ljava/lang/Object;
  75. .param p1, "b" # Ljava/lang/Object;
  76. .prologue
  77. .line 57
  78. if-eq p0, p1, :cond_0
  79. if-eqz p0, :cond_1
  80. invoke-virtual {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
  81. move-result v0
  82. if-eqz v0, :cond_1
  83. :cond_0
  84. const/4 v0, 0x1
  85. :goto_0
  86. return v0
  87. :cond_1
  88. const/4 v0, 0x0
  89. goto :goto_0
  90. .end method
  91. # virtual methods
  92. .method public equals(Ljava/lang/Object;)Z
  93. .locals 4
  94. .param p1, "o" # Ljava/lang/Object;
  95. .prologue
  96. .local p0, "this":Landroid/support/v4/util/Pair;, "Landroid/support/v4/util/Pair<TF;TS;>;"
  97. const/4 v1, 0x0
  98. .line 49
  99. instance-of v2, p1, Landroid/support/v4/util/Pair;
  100. if-nez v2, :cond_1
  101. .line 53
  102. :cond_0
  103. :goto_0
  104. return v1
  105. :cond_1
  106. move-object v0, p1
  107. .line 52
  108. check-cast v0, Landroid/support/v4/util/Pair;
  109. .line 53
  110. .local v0, "p":Landroid/support/v4/util/Pair;, "Landroid/support/v4/util/Pair<**>;"
  111. iget-object v2, v0, Landroid/support/v4/util/Pair;->first:Ljava/lang/Object;
  112. iget-object v3, p0, Landroid/support/v4/util/Pair;->first:Ljava/lang/Object;
  113. invoke-static {v2, v3}, Landroid/support/v4/util/Pair;->objectsEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
  114. move-result v2
  115. if-eqz v2, :cond_0
  116. iget-object v2, v0, Landroid/support/v4/util/Pair;->second:Ljava/lang/Object;
  117. iget-object v3, p0, Landroid/support/v4/util/Pair;->second:Ljava/lang/Object;
  118. invoke-static {v2, v3}, Landroid/support/v4/util/Pair;->objectsEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
  119. move-result v2
  120. if-eqz v2, :cond_0
  121. const/4 v1, 0x1
  122. goto :goto_0
  123. .end method
  124. .method public hashCode()I
  125. .locals 3
  126. .prologue
  127. .local p0, "this":Landroid/support/v4/util/Pair;, "Landroid/support/v4/util/Pair<TF;TS;>;"
  128. const/4 v1, 0x0
  129. .line 67
  130. iget-object v0, p0, Landroid/support/v4/util/Pair;->first:Ljava/lang/Object;
  131. if-nez v0, :cond_0
  132. move v0, v1
  133. :goto_0
  134. iget-object v2, p0, Landroid/support/v4/util/Pair;->second:Ljava/lang/Object;
  135. if-nez v2, :cond_1
  136. :goto_1
  137. xor-int/2addr v0, v1
  138. return v0
  139. :cond_0
  140. iget-object v0, p0, Landroid/support/v4/util/Pair;->first:Ljava/lang/Object;
  141. invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I
  142. move-result v0
  143. goto :goto_0
  144. :cond_1
  145. iget-object v1, p0, Landroid/support/v4/util/Pair;->second:Ljava/lang/Object;
  146. invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
  147. move-result v1
  148. goto :goto_1
  149. .end method