ConstructorConstructor$14.smali 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. .class Lcom/google/gson/internal/ConstructorConstructor$14;
  2. .super Ljava/lang/Object;
  3. .source ""
  4. # interfaces
  5. .implements Lcom/google/gson/internal/ObjectConstructor;
  6. # annotations
  7. .annotation system Ldalvik/annotation/EnclosingMethod;
  8. value = Lcom/google/gson/internal/ConstructorConstructor;->newUnsafeAllocator(Ljava/lang/reflect/Type;Ljava/lang/Class;)Lcom/google/gson/internal/ObjectConstructor;
  9. .end annotation
  10. .annotation system Ldalvik/annotation/InnerClass;
  11. accessFlags = 0x0
  12. name = null
  13. .end annotation
  14. .annotation system Ldalvik/annotation/Signature;
  15. value = {
  16. "Ljava/lang/Object;",
  17. "Lcom/google/gson/internal/ObjectConstructor<",
  18. "TT;>;"
  19. }
  20. .end annotation
  21. # instance fields
  22. .field final synthetic this$0:Lcom/google/gson/internal/ConstructorConstructor;
  23. .field private final unsafeAllocator:Lcom/google/gson/internal/UnsafeAllocator;
  24. .field final synthetic val$rawType:Ljava/lang/Class;
  25. .field final synthetic val$type:Ljava/lang/reflect/Type;
  26. # direct methods
  27. .method constructor <init>(Lcom/google/gson/internal/ConstructorConstructor;Ljava/lang/Class;Ljava/lang/reflect/Type;)V
  28. .locals 0
  29. iput-object p1, p0, Lcom/google/gson/internal/ConstructorConstructor$14;->this$0:Lcom/google/gson/internal/ConstructorConstructor;
  30. iput-object p2, p0, Lcom/google/gson/internal/ConstructorConstructor$14;->val$rawType:Ljava/lang/Class;
  31. iput-object p3, p0, Lcom/google/gson/internal/ConstructorConstructor$14;->val$type:Ljava/lang/reflect/Type;
  32. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  33. invoke-static {}, Lcom/google/gson/internal/UnsafeAllocator;->create()Lcom/google/gson/internal/UnsafeAllocator;
  34. move-result-object p1
  35. iput-object p1, p0, Lcom/google/gson/internal/ConstructorConstructor$14;->unsafeAllocator:Lcom/google/gson/internal/UnsafeAllocator;
  36. return-void
  37. .end method
  38. # virtual methods
  39. .method public construct()Ljava/lang/Object;
  40. .locals 4
  41. .annotation system Ldalvik/annotation/Signature;
  42. value = {
  43. "()TT;"
  44. }
  45. .end annotation
  46. :try_start_0
  47. iget-object v0, p0, Lcom/google/gson/internal/ConstructorConstructor$14;->unsafeAllocator:Lcom/google/gson/internal/UnsafeAllocator;
  48. iget-object v1, p0, Lcom/google/gson/internal/ConstructorConstructor$14;->val$rawType:Ljava/lang/Class;
  49. invoke-virtual {v0, v1}, Lcom/google/gson/internal/UnsafeAllocator;->newInstance(Ljava/lang/Class;)Ljava/lang/Object;
  50. move-result-object v0
  51. :try_end_0
  52. .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
  53. return-object v0
  54. :catch_0
  55. move-exception v0
  56. new-instance v1, Ljava/lang/RuntimeException;
  57. new-instance v2, Ljava/lang/StringBuilder;
  58. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  59. const-string v3, "Unable to invoke no-args constructor for "
  60. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  61. iget-object v3, p0, Lcom/google/gson/internal/ConstructorConstructor$14;->val$type:Ljava/lang/reflect/Type;
  62. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  63. const-string v3, ". "
  64. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  65. const-string v3, "Register an InstanceCreator with Gson for this type may fix this problem."
  66. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  67. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  68. move-result-object v2
  69. invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
  70. throw v1
  71. .end method