UnsafeAllocator$3.smali 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. .class final Lcom/google/gson/internal/UnsafeAllocator$3;
  2. .super Lcom/google/gson/internal/UnsafeAllocator;
  3. .source ""
  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$newInstance:Ljava/lang/reflect/Method;
  14. # direct methods
  15. .method constructor <init>(Ljava/lang/reflect/Method;)V
  16. .locals 0
  17. iput-object p1, p0, Lcom/google/gson/internal/UnsafeAllocator$3;->val$newInstance:Ljava/lang/reflect/Method;
  18. invoke-direct {p0}, Lcom/google/gson/internal/UnsafeAllocator;-><init>()V
  19. return-void
  20. .end method
  21. # virtual methods
  22. .method public newInstance(Ljava/lang/Class;)Ljava/lang/Object;
  23. .locals 3
  24. .annotation system Ldalvik/annotation/Signature;
  25. value = {
  26. "<T:",
  27. "Ljava/lang/Object;",
  28. ">(",
  29. "Ljava/lang/Class<",
  30. "TT;>;)TT;"
  31. }
  32. .end annotation
  33. .annotation system Ldalvik/annotation/Throws;
  34. value = {
  35. Ljava/lang/Exception;
  36. }
  37. .end annotation
  38. invoke-static {p1}, Lcom/google/gson/internal/UnsafeAllocator;->assertInstantiable(Ljava/lang/Class;)V
  39. iget-object v0, p0, Lcom/google/gson/internal/UnsafeAllocator$3;->val$newInstance:Ljava/lang/reflect/Method;
  40. const/4 v1, 0x2
  41. new-array v1, v1, [Ljava/lang/Object;
  42. const/4 v2, 0x0
  43. aput-object p1, v1, v2
  44. const-class p1, Ljava/lang/Object;
  45. const/4 v2, 0x1
  46. aput-object p1, v1, v2
  47. const/4 p1, 0x0
  48. invoke-virtual {v0, p1, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
  49. move-result-object p1
  50. return-object p1
  51. .end method