ConstructorConstructor$3.smali 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. .class Lcom/google/gson/internal/ConstructorConstructor$3;
  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;->newDefaultConstructor(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 final synthetic val$constructor:Ljava/lang/reflect/Constructor;
  24. # direct methods
  25. .method constructor <init>(Lcom/google/gson/internal/ConstructorConstructor;Ljava/lang/reflect/Constructor;)V
  26. .locals 0
  27. iput-object p1, p0, Lcom/google/gson/internal/ConstructorConstructor$3;->this$0:Lcom/google/gson/internal/ConstructorConstructor;
  28. iput-object p2, p0, Lcom/google/gson/internal/ConstructorConstructor$3;->val$constructor:Ljava/lang/reflect/Constructor;
  29. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  30. return-void
  31. .end method
  32. # virtual methods
  33. .method public construct()Ljava/lang/Object;
  34. .locals 5
  35. .annotation system Ldalvik/annotation/Signature;
  36. value = {
  37. "()TT;"
  38. }
  39. .end annotation
  40. const-string v0, " with no args"
  41. const-string v1, "Failed to invoke "
  42. const/4 v2, 0x0
  43. :try_start_0
  44. iget-object v3, p0, Lcom/google/gson/internal/ConstructorConstructor$3;->val$constructor:Ljava/lang/reflect/Constructor;
  45. invoke-virtual {v3, v2}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
  46. move-result-object v0
  47. :try_end_0
  48. .catch Ljava/lang/InstantiationException; {:try_start_0 .. :try_end_0} :catch_2
  49. .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_1
  50. .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_0
  51. return-object v0
  52. :catch_0
  53. move-exception v0
  54. new-instance v1, Ljava/lang/AssertionError;
  55. invoke-direct {v1, v0}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
  56. throw v1
  57. :catch_1
  58. move-exception v2
  59. new-instance v3, Ljava/lang/RuntimeException;
  60. new-instance v4, Ljava/lang/StringBuilder;
  61. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
  62. invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  63. iget-object v1, p0, Lcom/google/gson/internal/ConstructorConstructor$3;->val$constructor:Ljava/lang/reflect/Constructor;
  64. invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  65. invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  66. invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  67. move-result-object v0
  68. invoke-virtual {v2}, Ljava/lang/reflect/InvocationTargetException;->getTargetException()Ljava/lang/Throwable;
  69. move-result-object v1
  70. invoke-direct {v3, v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
  71. throw v3
  72. :catch_2
  73. move-exception v2
  74. new-instance v3, Ljava/lang/RuntimeException;
  75. new-instance v4, Ljava/lang/StringBuilder;
  76. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
  77. invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  78. iget-object v1, p0, Lcom/google/gson/internal/ConstructorConstructor$3;->val$constructor:Ljava/lang/reflect/Constructor;
  79. invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  80. invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  81. invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  82. move-result-object v0
  83. invoke-direct {v3, v0, v2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
  84. throw v3
  85. .end method