123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- .class final Lcom/google/gson/internal/UnsafeAllocator$1;
- .super Lcom/google/gson/internal/UnsafeAllocator;
- .source ""
- # annotations
- .annotation system Ldalvik/annotation/EnclosingMethod;
- value = Lcom/google/gson/internal/UnsafeAllocator;->create()Lcom/google/gson/internal/UnsafeAllocator;
- .end annotation
- .annotation system Ldalvik/annotation/InnerClass;
- accessFlags = 0x8
- name = null
- .end annotation
- # instance fields
- .field final synthetic val$allocateInstance:Ljava/lang/reflect/Method;
- .field final synthetic val$unsafe:Ljava/lang/Object;
- # direct methods
- .method constructor <init>(Ljava/lang/reflect/Method;Ljava/lang/Object;)V
- .locals 0
- iput-object p1, p0, Lcom/google/gson/internal/UnsafeAllocator$1;->val$allocateInstance:Ljava/lang/reflect/Method;
- iput-object p2, p0, Lcom/google/gson/internal/UnsafeAllocator$1;->val$unsafe:Ljava/lang/Object;
- invoke-direct {p0}, Lcom/google/gson/internal/UnsafeAllocator;-><init>()V
- return-void
- .end method
- # virtual methods
- .method public newInstance(Ljava/lang/Class;)Ljava/lang/Object;
- .locals 4
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "<T:",
- "Ljava/lang/Object;",
- ">(",
- "Ljava/lang/Class<",
- "TT;>;)TT;"
- }
- .end annotation
- .annotation system Ldalvik/annotation/Throws;
- value = {
- Ljava/lang/Exception;
- }
- .end annotation
- invoke-static {p1}, Lcom/google/gson/internal/UnsafeAllocator;->assertInstantiable(Ljava/lang/Class;)V
- iget-object v0, p0, Lcom/google/gson/internal/UnsafeAllocator$1;->val$allocateInstance:Ljava/lang/reflect/Method;
- iget-object v1, p0, Lcom/google/gson/internal/UnsafeAllocator$1;->val$unsafe:Ljava/lang/Object;
- const/4 v2, 0x1
- new-array v2, v2, [Ljava/lang/Object;
- const/4 v3, 0x0
- aput-object p1, v2, v3
- invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
- move-result-object p1
- return-object p1
- .end method
|