TypeToken.smali
.class public abstract Lcom/google/common/reflect/TypeToken;
.super Lx3/c;
.source "TypeToken.java"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/reflect/TypeToken$TypeFilter;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lx3/c<",
"TT;>;",
"Ljava/io/Serializable;"
}
.end annotation
# instance fields
.field public final a:Ljava/lang/reflect/Type;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 5
invoke-direct {p0}, Lx3/c;-><init>()V
invoke-virtual {p0}, Lx3/c;->a()Ljava/lang/reflect/Type;
move-result-object v0
iput-object v0, p0, Lcom/google/common/reflect/TypeToken;->a:Ljava/lang/reflect/Type;
instance-of v1, v0, Ljava/lang/reflect/TypeVariable;
const/4 v2, 0x1
xor-int/2addr v1, v2
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object v0, v2, v3
const-string v0, "Cannot construct a TypeToken for a type variable.\nYou probably meant to call new TypeToken<%s>(getClass()) that can resolve the type variable for you.\nIf you do need to create a TypeToken of a type variable, please use TypeToken.of() instead."
invoke-static {v1, v0, v2}, Lr3/j;->b(ZLjava/lang/String;[Ljava/lang/Object;)V
return-void
.end method
.method public static a(Ljava/lang/reflect/Type;)Ljava/lang/Class;
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/reflect/Type;",
")",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
invoke-static {p0}, Lcom/google/common/reflect/TypeToken;->b(Ljava/lang/reflect/Type;)Lt3/o;
move-result-object p0
invoke-virtual {p0}, Lt3/o;->iterator()Lt3/k0;
move-result-object p0
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/Class;
return-object p0
.end method
.method public static synthetic a(Lcom/google/common/reflect/TypeToken;)Ljava/lang/reflect/Type;
.registers 1
iget-object p0, p0, Lcom/google/common/reflect/TypeToken;->a:Ljava/lang/reflect/Type;
return-object p0
.end method
.method public static b(Ljava/lang/reflect/Type;)Lt3/o;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/reflect/Type;",
")",
"Lt3/o<",
"Ljava/lang/Class<",
"*>;>;"
}
.end annotation
invoke-static {p0}, Lr3/j;->a(Ljava/lang/Object;)Ljava/lang/Object;
invoke-static {}, Lt3/o;->d()Lt3/o$a;
move-result-object v0
new-instance v1, Lcom/google/common/reflect/TypeToken$a;
invoke-direct {v1, v0}, Lcom/google/common/reflect/TypeToken$a;-><init>(Lt3/o$a;)V
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/reflect/Type;
const/4 v3, 0x0
aput-object p0, v2, v3
invoke-virtual {v1, v2}, Lx3/e;->a([Ljava/lang/reflect/Type;)V
invoke-virtual {v0}, Lt3/o$a;->a()Lt3/o;
move-result-object p0
return-object p0
.end method
# virtual methods
.method public final b()Ljava/lang/Class;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/lang/Class<",
"-TT;>;"
}
.end annotation
iget-object v0, p0, Lcom/google/common/reflect/TypeToken;->a:Ljava/lang/reflect/Type;
invoke-static {v0}, Lcom/google/common/reflect/TypeToken;->a(Ljava/lang/reflect/Type;)Ljava/lang/Class;
move-result-object v0
return-object v0
.end method
.method public equals(Ljava/lang/Object;)Z
.registers 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end param
instance-of v0, p1, Lcom/google/common/reflect/TypeToken;
if-eqz v0, :cond_f
check-cast p1, Lcom/google/common/reflect/TypeToken;
iget-object v0, p0, Lcom/google/common/reflect/TypeToken;->a:Ljava/lang/reflect/Type;
iget-object p1, p1, Lcom/google/common/reflect/TypeToken;->a:Ljava/lang/reflect/Type;
invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
:cond_f
const/4 p1, 0x0
return p1
.end method
.method public hashCode()I
.registers 2
iget-object v0, p0, Lcom/google/common/reflect/TypeToken;->a:Ljava/lang/reflect/Type;
invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I
move-result v0
return v0
.end method
.method public toString()Ljava/lang/String;
.registers 2
iget-object v0, p0, Lcom/google/common/reflect/TypeToken;->a:Ljava/lang/reflect/Type;
invoke-static {v0}, Lcom/google/common/reflect/Types;->a(Ljava/lang/reflect/Type;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method