SignatureReader.smali
.class public Lorg/objectweb/asm/signature/SignatureReader;
.super Ljava/lang/Object;
# instance fields
.field private final a:Ljava/lang/String;
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.registers 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lorg/objectweb/asm/signature/SignatureReader;->a:Ljava/lang/String;
return-void
.end method
.method private static a(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
.registers 11
const/16 v7, 0x3b
const/4 v2, 0x1
const/4 v1, 0x0
:goto_4
add-int/lit8 v0, p1, 0x1
invoke-virtual {p0, p1}, Ljava/lang/String;->charAt(I)C
move-result v3
packed-switch v3, :pswitch_data_86
:pswitch_d
move v3, v1
move v4, v0
move v6, v0
move v0, v1
:goto_11
add-int/lit8 v5, v6, 0x1
invoke-virtual {p0, v6}, Ljava/lang/String;->charAt(I)C
move-result v6
sparse-switch v6, :sswitch_data_be
move v6, v5
goto :goto_11
:pswitch_1c
invoke-virtual {p2, v3}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitBaseType(C)V
:goto_1f
return v0
:pswitch_20
invoke-virtual {p2}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitArrayType()Lorg/objectweb/asm/signature/SignatureVisitor;
move-result-object p2
move p1, v0
goto :goto_4
:pswitch_26
invoke-virtual {p0, v7, v0}, Ljava/lang/String;->indexOf(II)I
move-result v1
invoke-virtual {p0, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitTypeVariable(Ljava/lang/String;)V
add-int/lit8 v0, v1, 0x1
goto :goto_1f
:sswitch_34
if-nez v3, :cond_41
add-int/lit8 v3, v5, -0x1
invoke-virtual {p0, v4, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v3
if-eqz v0, :cond_48
invoke-virtual {p2, v3}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitInnerClassType(Ljava/lang/String;)V
:cond_41
:goto_41
if-ne v6, v7, :cond_4c
invoke-virtual {p2}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitEnd()V
move v0, v5
goto :goto_1f
:cond_48
invoke-virtual {p2, v3}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitClassType(Ljava/lang/String;)V
goto :goto_41
:cond_4c
move v0, v2
move v3, v1
move v4, v5
move v6, v5
goto :goto_11
:sswitch_51
add-int/lit8 v3, v5, -0x1
invoke-virtual {p0, v4, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v3
if-eqz v0, :cond_6e
invoke-virtual {p2, v3}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitInnerClassType(Ljava/lang/String;)V
:goto_5c
invoke-virtual {p0, v5}, Ljava/lang/String;->charAt(I)C
move-result v3
sparse-switch v3, :sswitch_data_cc
const/16 v3, 0x3d
invoke-virtual {p2, v3}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitTypeArgument(C)Lorg/objectweb/asm/signature/SignatureVisitor;
move-result-object v3
invoke-static {p0, v5, v3}, Lorg/objectweb/asm/signature/SignatureReader;->a(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
move-result v5
goto :goto_5c
:cond_6e
invoke-virtual {p2, v3}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitClassType(Ljava/lang/String;)V
goto :goto_5c
:sswitch_72
move v3, v2
move v6, v5
goto :goto_11
:sswitch_75
add-int/lit8 v5, v5, 0x1
invoke-virtual {p2}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitTypeArgument()V
goto :goto_5c
:sswitch_7b
add-int/lit8 v5, v5, 0x1
invoke-virtual {p2, v3}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitTypeArgument(C)Lorg/objectweb/asm/signature/SignatureVisitor;
move-result-object v3
invoke-static {p0, v5, v3}, Lorg/objectweb/asm/signature/SignatureReader;->a(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
move-result v5
goto :goto_5c
:pswitch_data_86
.packed-switch 0x42
:pswitch_1c
:pswitch_1c
:pswitch_1c
:pswitch_d
:pswitch_1c
:pswitch_d
:pswitch_d
:pswitch_1c
:pswitch_1c
:pswitch_d
:pswitch_d
:pswitch_d
:pswitch_d
:pswitch_d
:pswitch_d
:pswitch_d
:pswitch_d
:pswitch_1c
:pswitch_26
:pswitch_d
:pswitch_1c
:pswitch_d
:pswitch_d
:pswitch_d
:pswitch_1c
:pswitch_20
.end packed-switch
:sswitch_data_be
.sparse-switch
0x2e -> :sswitch_34
0x3b -> :sswitch_34
0x3c -> :sswitch_51
.end sparse-switch
:sswitch_data_cc
.sparse-switch
0x2a -> :sswitch_75
0x2b -> :sswitch_7b
0x2d -> :sswitch_7b
0x3e -> :sswitch_72
.end sparse-switch
.end method
# virtual methods
.method public accept(Lorg/objectweb/asm/signature/SignatureVisitor;)V
.registers 8
const/16 v5, 0x3a
const/4 v0, 0x0
iget-object v2, p0, Lorg/objectweb/asm/signature/SignatureReader;->a:Ljava/lang/String;
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v3
invoke-virtual {v2, v0}, Ljava/lang/String;->charAt(I)C
move-result v1
const/16 v4, 0x3c
if-ne v1, v4, :cond_50
const/4 v0, 0x2
:cond_12
invoke-virtual {v2, v5, v0}, Ljava/lang/String;->indexOf(II)I
move-result v1
add-int/lit8 v0, v0, -0x1
invoke-virtual {v2, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitFormalTypeParameter(Ljava/lang/String;)V
add-int/lit8 v0, v1, 0x1
invoke-virtual {v2, v0}, Ljava/lang/String;->charAt(I)C
move-result v1
const/16 v4, 0x4c
if-eq v1, v4, :cond_31
const/16 v4, 0x5b
if-eq v1, v4, :cond_31
const/16 v4, 0x54
if-ne v1, v4, :cond_96
:cond_31
invoke-virtual {p1}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitClassBound()Lorg/objectweb/asm/signature/SignatureVisitor;
move-result-object v1
invoke-static {v2, v0, v1}, Lorg/objectweb/asm/signature/SignatureReader;->a(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
move-result v0
move v1, v0
:goto_3a
add-int/lit8 v0, v1, 0x1
invoke-virtual {v2, v1}, Ljava/lang/String;->charAt(I)C
move-result v1
if-ne v1, v5, :cond_4c
invoke-virtual {p1}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitInterfaceBound()Lorg/objectweb/asm/signature/SignatureVisitor;
move-result-object v1
invoke-static {v2, v0, v1}, Lorg/objectweb/asm/signature/SignatureReader;->a(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
move-result v0
move v1, v0
goto :goto_3a
:cond_4c
const/16 v4, 0x3e
if-ne v1, v4, :cond_12
:cond_50
invoke-virtual {v2, v0}, Ljava/lang/String;->charAt(I)C
move-result v1
const/16 v4, 0x28
if-ne v1, v4, :cond_82
add-int/lit8 v0, v0, 0x1
:goto_5a
invoke-virtual {v2, v0}, Ljava/lang/String;->charAt(I)C
move-result v1
const/16 v4, 0x29
if-eq v1, v4, :cond_6b
invoke-virtual {p1}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitParameterType()Lorg/objectweb/asm/signature/SignatureVisitor;
move-result-object v1
invoke-static {v2, v0, v1}, Lorg/objectweb/asm/signature/SignatureReader;->a(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
move-result v0
goto :goto_5a
:cond_6b
add-int/lit8 v0, v0, 0x1
invoke-virtual {p1}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitReturnType()Lorg/objectweb/asm/signature/SignatureVisitor;
move-result-object v1
invoke-static {v2, v0, v1}, Lorg/objectweb/asm/signature/SignatureReader;->a(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
move-result v0
:goto_75
if-ge v0, v3, :cond_95
add-int/lit8 v0, v0, 0x1
invoke-virtual {p1}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitExceptionType()Lorg/objectweb/asm/signature/SignatureVisitor;
move-result-object v1
invoke-static {v2, v0, v1}, Lorg/objectweb/asm/signature/SignatureReader;->a(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
move-result v0
goto :goto_75
:cond_82
invoke-virtual {p1}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitSuperclass()Lorg/objectweb/asm/signature/SignatureVisitor;
move-result-object v1
invoke-static {v2, v0, v1}, Lorg/objectweb/asm/signature/SignatureReader;->a(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
move-result v0
:goto_8a
if-ge v0, v3, :cond_95
invoke-virtual {p1}, Lorg/objectweb/asm/signature/SignatureVisitor;->visitInterface()Lorg/objectweb/asm/signature/SignatureVisitor;
move-result-object v1
invoke-static {v2, v0, v1}, Lorg/objectweb/asm/signature/SignatureReader;->a(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
move-result v0
goto :goto_8a
:cond_95
return-void
:cond_96
move v1, v0
goto :goto_3a
.end method
.method public acceptType(Lorg/objectweb/asm/signature/SignatureVisitor;)V
.registers 4
iget-object v0, p0, Lorg/objectweb/asm/signature/SignatureReader;->a:Ljava/lang/String;
const/4 v1, 0x0
invoke-static {v0, v1, p1}, Lorg/objectweb/asm/signature/SignatureReader;->a(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
return-void
.end method