UnsafeAllocator$2.smali 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. .class final Lcom/google/gson/internal/UnsafeAllocator$2;
  2. .super Lcom/google/gson/internal/UnsafeAllocator;
  3. .source "UnsafeAllocator.java"
  4. # annotations
  5. .annotation system Ldalvik/annotation/EnclosingMethod;
  6. value = Lcom/google/gson/internal/UnsafeAllocator;->create()Lcom/google/gson/internal/UnsafeAllocator;
  7. .end annotation
  8. .annotation system Ldalvik/annotation/InnerClass;
  9. accessFlags = 0x8
  10. name = null
  11. .end annotation
  12. # instance fields
  13. .field final synthetic val$constructorId:I
  14. .field final synthetic val$newInstance:Ljava/lang/reflect/Method;
  15. # direct methods
  16. .method constructor <init>(Ljava/lang/reflect/Method;I)V
  17. .locals 0
  18. .line 69
  19. iput-object p1, p0, Lcom/google/gson/internal/UnsafeAllocator$2;->val$newInstance:Ljava/lang/reflect/Method;
  20. iput p2, p0, Lcom/google/gson/internal/UnsafeAllocator$2;->val$constructorId:I
  21. invoke-direct {p0}, Lcom/google/gson/internal/UnsafeAllocator;-><init>()V
  22. return-void
  23. .end method
  24. # virtual methods
  25. .method public newInstance(Ljava/lang/Class;)Ljava/lang/Object;
  26. .locals 4
  27. .annotation system Ldalvik/annotation/Signature;
  28. value = {
  29. "<T:",
  30. "Ljava/lang/Object;",
  31. ">(",
  32. "Ljava/lang/Class<",
  33. "TT;>;)TT;"
  34. }
  35. .end annotation
  36. .annotation system Ldalvik/annotation/Throws;
  37. value = {
  38. Ljava/lang/Exception;
  39. }
  40. .end annotation
  41. .line 73
  42. .local p1, "c":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;"
  43. invoke-static {p1}, Lcom/google/gson/internal/UnsafeAllocator$2;->assertInstantiable(Ljava/lang/Class;)V
  44. .line 74
  45. iget-object v0, p0, Lcom/google/gson/internal/UnsafeAllocator$2;->val$newInstance:Ljava/lang/reflect/Method;
  46. const/4 v1, 0x2
  47. new-array v1, v1, [Ljava/lang/Object;
  48. const/4 v2, 0x0
  49. aput-object p1, v1, v2
  50. iget v2, p0, Lcom/google/gson/internal/UnsafeAllocator$2;->val$constructorId:I
  51. invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  52. move-result-object v2
  53. const/4 v3, 0x1
  54. aput-object v2, v1, v3
  55. const/4 v2, 0x0
  56. invoke-virtual {v0, v2, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
  57. move-result-object v0
  58. return-object v0
  59. .end method