a.smali
.class public final Lcom/huawei/hms/support/a/a;
.super Ljava/lang/Object;
.source "GenericTypeReflector.java"
# direct methods
.method public static a(Ljava/lang/reflect/Type;)Ljava/lang/Class;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/reflect/Type;",
")",
"Ljava/lang/Class",
"<*>;"
}
.end annotation
.prologue
.line 26
move-object v0, p0
:goto_1
instance-of v1, v0, Ljava/lang/Class;
if-eqz v1, :cond_8
.line 27
check-cast v0, Ljava/lang/Class;
.line 35
:goto_7
return-object v0
.line 29
:cond_8
instance-of v1, v0, Ljava/lang/reflect/ParameterizedType;
if-eqz v1, :cond_15
.line 30
check-cast v0, Ljava/lang/reflect/ParameterizedType;
invoke-interface {v0}, Ljava/lang/reflect/ParameterizedType;->getRawType()Ljava/lang/reflect/Type;
move-result-object v0
check-cast v0, Ljava/lang/Class;
goto :goto_7
.line 32
:cond_15
instance-of v1, v0, Ljava/lang/reflect/TypeVariable;
if-eqz v1, :cond_2d
.line 33
check-cast v0, Ljava/lang/reflect/TypeVariable;
.line 34
invoke-interface {v0}, Ljava/lang/reflect/TypeVariable;->getBounds()[Ljava/lang/reflect/Type;
move-result-object v1
array-length v1, v1
if-nez v1, :cond_25
.line 35
const-class v0, Ljava/lang/Object;
goto :goto_7
.line 37
:cond_25
invoke-interface {v0}, Ljava/lang/reflect/TypeVariable;->getBounds()[Ljava/lang/reflect/Type;
move-result-object v0
const/4 v1, 0x0
aget-object v0, v0, v1
goto :goto_1
.line 39
:cond_2d
new-instance v1, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "not supported: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
.end method