X509NameTokenizer.smali
.class public Lorg/spongycastle/asn1/x509/X509NameTokenizer;
.super Ljava/lang/Object;
.source "X509NameTokenizer.java"
# instance fields
.field private buf:Ljava/lang/StringBuffer;
.field private index:I
.field private separator:C
.field private value:Ljava/lang/String;
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.registers 3
.prologue
.line 20
const/16 v0, 0x2c
invoke-direct {p0, p1, v0}, Lorg/spongycastle/asn1/x509/X509NameTokenizer;-><init>(Ljava/lang/String;C)V
.line 21
return-void
.end method
.method public constructor <init>(Ljava/lang/String;C)V
.registers 4
.prologue
.line 26
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 15
new-instance v0, Ljava/lang/StringBuffer;
invoke-direct {v0}, Ljava/lang/StringBuffer;-><init>()V
iput-object v0, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->buf:Ljava/lang/StringBuffer;
.line 27
iput-object p1, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->value:Ljava/lang/String;
.line 28
const/4 v0, -0x1
iput v0, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->index:I
.line 29
iput-char p2, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->separator:C
.line 30
return-void
.end method
# virtual methods
.method public hasMoreTokens()Z
.registers 3
.prologue
.line 34
iget v0, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->index:I
iget-object v1, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->value:Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
if-eq v0, v1, :cond_c
const/4 v0, 0x1
:goto_b
return v0
:cond_c
const/4 v0, 0x0
goto :goto_b
.end method
.method public nextToken()Ljava/lang/String;
.registers 8
.prologue
const/4 v4, 0x1
const/4 v1, 0x0
.line 39
iget v0, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->index:I
iget-object v2, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->value:Ljava/lang/String;
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v2
if-ne v0, v2, :cond_e
.line 41
const/4 v0, 0x0
.line 89
:goto_d
return-object v0
.line 44
:cond_e
iget v0, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->index:I
add-int/lit8 v0, v0, 0x1
.line 48
iget-object v2, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->buf:Ljava/lang/StringBuffer;
invoke-virtual {v2, v1}, Ljava/lang/StringBuffer;->setLength(I)V
move v2, v1
move v3, v0
move v0, v1
.line 50
:goto_1a
iget-object v5, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->value:Ljava/lang/String;
invoke-virtual {v5}, Ljava/lang/String;->length()I
move-result v5
if-eq v3, v5, :cond_5d
.line 52
iget-object v5, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->value:Ljava/lang/String;
invoke-virtual {v5, v3}, Ljava/lang/String;->charAt(I)C
move-result v5
.line 54
const/16 v6, 0x22
if-ne v5, v6, :cond_3d
.line 56
if-nez v0, :cond_66
.line 58
if-nez v2, :cond_3b
move v0, v4
.line 60
:goto_31
iget-object v2, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->buf:Ljava/lang/StringBuffer;
invoke-virtual {v2, v5}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
move v2, v0
move v0, v1
.line 84
:goto_38
add-int/lit8 v3, v3, 0x1
.line 85
goto :goto_1a
:cond_3b
move v0, v1
.line 58
goto :goto_31
.line 65
:cond_3d
if-nez v0, :cond_41
if-eqz v2, :cond_48
.line 67
:cond_41
iget-object v0, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->buf:Ljava/lang/StringBuffer;
invoke-virtual {v0, v5}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
move v0, v1
.line 68
goto :goto_38
.line 70
:cond_48
const/16 v6, 0x5c
if-ne v5, v6, :cond_53
.line 72
iget-object v0, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->buf:Ljava/lang/StringBuffer;
invoke-virtual {v0, v5}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
move v0, v4
.line 73
goto :goto_38
.line 75
:cond_53
iget-char v6, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->separator:C
if-eq v5, v6, :cond_5d
.line 81
iget-object v6, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->buf:Ljava/lang/StringBuffer;
invoke-virtual {v6, v5}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
goto :goto_38
.line 87
:cond_5d
iput v3, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->index:I
.line 89
iget-object v0, p0, Lorg/spongycastle/asn1/x509/X509NameTokenizer;->buf:Ljava/lang/StringBuffer;
invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_d
:cond_66
move v0, v2
goto :goto_31
.end method