1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- .class final Lcom/google/gson/internal/bind/ArrayTypeAdapter$1;
- .super Ljava/lang/Object;
- .source ""
- # interfaces
- .implements Lcom/google/gson/TypeAdapterFactory;
- # annotations
- .annotation system Ldalvik/annotation/EnclosingClass;
- value = Lcom/google/gson/internal/bind/ArrayTypeAdapter;
- .end annotation
- .annotation system Ldalvik/annotation/InnerClass;
- accessFlags = 0x8
- name = null
- .end annotation
- # direct methods
- .method constructor <init>()V
- .locals 0
- invoke-direct {p0}, Ljava/lang/Object;-><init>()V
- return-void
- .end method
- # virtual methods
- .method public create(Lcom/google/gson/Gson;Lcom/google/gson/reflect/TypeToken;)Lcom/google/gson/TypeAdapter;
- .locals 2
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "<T:",
- "Ljava/lang/Object;",
- ">(",
- "Lcom/google/gson/Gson;",
- "Lcom/google/gson/reflect/TypeToken<",
- "TT;>;)",
- "Lcom/google/gson/TypeAdapter<",
- "TT;>;"
- }
- .end annotation
- invoke-virtual {p2}, Lcom/google/gson/reflect/TypeToken;->getType()Ljava/lang/reflect/Type;
- move-result-object p2
- instance-of v0, p2, Ljava/lang/reflect/GenericArrayType;
- if-nez v0, :cond_1
- instance-of v0, p2, Ljava/lang/Class;
- if-eqz v0, :cond_0
- move-object v0, p2
- check-cast v0, Ljava/lang/Class;
- invoke-virtual {v0}, Ljava/lang/Class;->isArray()Z
- move-result v0
- if-nez v0, :cond_1
- :cond_0
- const/4 p1, 0x0
- return-object p1
- :cond_1
- invoke-static {p2}, Lcom/google/gson/internal/$Gson$Types;->getArrayComponentType(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
- move-result-object p2
- invoke-static {p2}, Lcom/google/gson/reflect/TypeToken;->get(Ljava/lang/reflect/Type;)Lcom/google/gson/reflect/TypeToken;
- move-result-object v0
- invoke-virtual {p1, v0}, Lcom/google/gson/Gson;->getAdapter(Lcom/google/gson/reflect/TypeToken;)Lcom/google/gson/TypeAdapter;
- move-result-object v0
- new-instance v1, Lcom/google/gson/internal/bind/ArrayTypeAdapter;
- invoke-static {p2}, Lcom/google/gson/internal/$Gson$Types;->getRawType(Ljava/lang/reflect/Type;)Ljava/lang/Class;
- move-result-object p2
- invoke-direct {v1, p1, v0, p2}, Lcom/google/gson/internal/bind/ArrayTypeAdapter;-><init>(Lcom/google/gson/Gson;Lcom/google/gson/TypeAdapter;Ljava/lang/Class;)V
- return-object v1
- .end method
|