Tokeniser.smali
.class final Lorg/jsoup/parser/Tokeniser;
.super Ljava/lang/Object;
# static fields
.field private static final r:[C
.field static final s:[I
# instance fields
.field private final a:Lorg/jsoup/parser/CharacterReader;
.field private final b:Lorg/jsoup/parser/ParseErrorList;
.field private c:Lorg/jsoup/parser/TokeniserState;
.field private d:Lorg/jsoup/parser/Token;
.field private e:Z
.field private f:Ljava/lang/String;
.field private g:Ljava/lang/StringBuilder;
.field h:Ljava/lang/StringBuilder;
.field i:Lorg/jsoup/parser/Token$Tag;
.field j:Lorg/jsoup/parser/Token$StartTag;
.field k:Lorg/jsoup/parser/Token$EndTag;
.field l:Lorg/jsoup/parser/Token$Character;
.field m:Lorg/jsoup/parser/Token$Doctype;
.field n:Lorg/jsoup/parser/Token$Comment;
.field private o:Ljava/lang/String;
.field private final p:[I
.field private final q:[I
# direct methods
.method static constructor <clinit>()V
.registers 2
const/4 v0, 0x7
new-array v0, v0, [C
fill-array-data v0, :array_16
sput-object v0, Lorg/jsoup/parser/Tokeniser;->r:[C
const/16 v1, 0x20
new-array v1, v1, [I
fill-array-data v1, :array_22
sput-object v1, Lorg/jsoup/parser/Tokeniser;->s:[I
invoke-static {v0}, Ljava/util/Arrays;->sort([C)V
return-void
nop
:array_16
.array-data 2
0x9s
0xas
0xds
0xcs
0x20s
0x3cs
0x26s
.end array-data
nop
:array_22
.array-data 4
0x20ac
0x81
0x201a
0x192
0x201e
0x2026
0x2020
0x2021
0x2c6
0x2030
0x160
0x2039
0x152
0x8d
0x17d
0x8f
0x90
0x2018
0x2019
0x201c
0x201d
0x2022
0x2013
0x2014
0x2dc
0x2122
0x161
0x203a
0x153
0x9d
0x17e
0x178
.end array-data
.end method
.method constructor <init>(Lorg/jsoup/parser/CharacterReader;Lorg/jsoup/parser/ParseErrorList;)V
.registers 5
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
sget-object v0, Lorg/jsoup/parser/TokeniserState;->f:Lorg/jsoup/parser/TokeniserState;
iput-object v0, p0, Lorg/jsoup/parser/Tokeniser;->c:Lorg/jsoup/parser/TokeniserState;
const/4 v0, 0x0
iput-boolean v0, p0, Lorg/jsoup/parser/Tokeniser;->e:Z
const/4 v0, 0x0
iput-object v0, p0, Lorg/jsoup/parser/Tokeniser;->f:Ljava/lang/String;
new-instance v0, Ljava/lang/StringBuilder;
const/16 v1, 0x400
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
iput-object v0, p0, Lorg/jsoup/parser/Tokeniser;->g:Ljava/lang/StringBuilder;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
iput-object v0, p0, Lorg/jsoup/parser/Tokeniser;->h:Ljava/lang/StringBuilder;
new-instance v0, Lorg/jsoup/parser/Token$StartTag;
invoke-direct {v0}, Lorg/jsoup/parser/Token$StartTag;-><init>()V
iput-object v0, p0, Lorg/jsoup/parser/Tokeniser;->j:Lorg/jsoup/parser/Token$StartTag;
new-instance v0, Lorg/jsoup/parser/Token$EndTag;
invoke-direct {v0}, Lorg/jsoup/parser/Token$EndTag;-><init>()V
iput-object v0, p0, Lorg/jsoup/parser/Tokeniser;->k:Lorg/jsoup/parser/Token$EndTag;
new-instance v0, Lorg/jsoup/parser/Token$Character;
invoke-direct {v0}, Lorg/jsoup/parser/Token$Character;-><init>()V
iput-object v0, p0, Lorg/jsoup/parser/Tokeniser;->l:Lorg/jsoup/parser/Token$Character;
new-instance v0, Lorg/jsoup/parser/Token$Doctype;
invoke-direct {v0}, Lorg/jsoup/parser/Token$Doctype;-><init>()V
iput-object v0, p0, Lorg/jsoup/parser/Tokeniser;->m:Lorg/jsoup/parser/Token$Doctype;
new-instance v0, Lorg/jsoup/parser/Token$Comment;
invoke-direct {v0}, Lorg/jsoup/parser/Token$Comment;-><init>()V
iput-object v0, p0, Lorg/jsoup/parser/Tokeniser;->n:Lorg/jsoup/parser/Token$Comment;
const/4 v0, 0x1
new-array v0, v0, [I
iput-object v0, p0, Lorg/jsoup/parser/Tokeniser;->p:[I
const/4 v0, 0x2
new-array v0, v0, [I
iput-object v0, p0, Lorg/jsoup/parser/Tokeniser;->q:[I
iput-object p1, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
iput-object p2, p0, Lorg/jsoup/parser/Tokeniser;->b:Lorg/jsoup/parser/ParseErrorList;
return-void
.end method
.method private c(Ljava/lang/String;)V
.registers 7
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->b:Lorg/jsoup/parser/ParseErrorList;
invoke-virtual {v0}, Lorg/jsoup/parser/ParseErrorList;->c()Z
move-result v0
if-eqz v0, :cond_20
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->b:Lorg/jsoup/parser/ParseErrorList;
new-instance v1, Lorg/jsoup/parser/ParseError;
iget-object v2, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v2}, Lorg/jsoup/parser/CharacterReader;->pos()I
move-result v2
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object p1, v3, v4
const-string p1, "Invalid character reference: %s"
invoke-direct {v1, v2, p1, v3}, Lorg/jsoup/parser/ParseError;-><init>(ILjava/lang/String;[Ljava/lang/Object;)V
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_20
return-void
.end method
# virtual methods
.method a(Lorg/jsoup/parser/TokeniserState;)V
.registers 3
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v0}, Lorg/jsoup/parser/CharacterReader;->advance()V
iput-object p1, p0, Lorg/jsoup/parser/Tokeniser;->c:Lorg/jsoup/parser/TokeniserState;
return-void
.end method
.method b()Ljava/lang/String;
.registers 2
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->o:Ljava/lang/String;
return-object v0
.end method
.method d(Ljava/lang/Character;Z)[I
.registers 11
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v0}, Lorg/jsoup/parser/CharacterReader;->isEmpty()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_a
return-object v1
:cond_a
if-eqz p1, :cond_19
invoke-virtual {p1}, Ljava/lang/Character;->charValue()C
move-result p1
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v0}, Lorg/jsoup/parser/CharacterReader;->current()C
move-result v0
if-ne p1, v0, :cond_19
return-object v1
:cond_19
iget-object p1, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
sget-object v0, Lorg/jsoup/parser/Tokeniser;->r:[C
invoke-virtual {p1, v0}, Lorg/jsoup/parser/CharacterReader;->v([C)Z
move-result p1
if-eqz p1, :cond_24
return-object v1
:cond_24
iget-object p1, p0, Lorg/jsoup/parser/Tokeniser;->p:[I
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v0}, Lorg/jsoup/parser/CharacterReader;->p()V
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
const-string v2, "#"
invoke-virtual {v0, v2}, Lorg/jsoup/parser/CharacterReader;->q(Ljava/lang/String;)Z
move-result v0
const-string v2, "missing semicolon"
const-string v3, ";"
const/4 v4, 0x0
if-eqz v0, :cond_b7
iget-object p2, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
const-string v0, "X"
invoke-virtual {p2, v0}, Lorg/jsoup/parser/CharacterReader;->r(Ljava/lang/String;)Z
move-result p2
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
if-eqz p2, :cond_4b
invoke-virtual {v0}, Lorg/jsoup/parser/CharacterReader;->f()Ljava/lang/String;
move-result-object v0
goto :goto_4f
:cond_4b
invoke-virtual {v0}, Lorg/jsoup/parser/CharacterReader;->e()Ljava/lang/String;
move-result-object v0
:goto_4f
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v5
if-nez v5, :cond_60
const-string p1, "numeric reference with no numerals"
invoke-direct {p0, p1}, Lorg/jsoup/parser/Tokeniser;->c(Ljava/lang/String;)V
iget-object p1, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {p1}, Lorg/jsoup/parser/CharacterReader;->C()V
return-object v1
:cond_60
iget-object v1, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v1}, Lorg/jsoup/parser/CharacterReader;->E()V
iget-object v1, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v1, v3}, Lorg/jsoup/parser/CharacterReader;->q(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_70
invoke-direct {p0, v2}, Lorg/jsoup/parser/Tokeniser;->c(Ljava/lang/String;)V
:cond_70
if-eqz p2, :cond_75
const/16 p2, 0x10
goto :goto_77
:cond_75
const/16 p2, 0xa
:goto_77
const/4 v1, -0x1
:try_start_78
invoke-static {v0, p2}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;I)Ljava/lang/Integer;
move-result-object p2
invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I
move-result p2
:try_end_80
.catch Ljava/lang/NumberFormatException; {:try_start_78 .. :try_end_80} :catch_81
goto :goto_82
:catch_81
const/4 p2, -0x1
:goto_82
if-eq p2, v1, :cond_ac
const v0, 0xd800
if-lt p2, v0, :cond_8e
const v0, 0xdfff
if-le p2, v0, :cond_ac
:cond_8e
const v0, 0x10ffff
if-le p2, v0, :cond_94
goto :goto_ac
:cond_94
const/16 v0, 0x80
if-lt p2, v0, :cond_a9
sget-object v1, Lorg/jsoup/parser/Tokeniser;->s:[I
array-length v1, v1
add-int/2addr v1, v0
if-ge p2, v1, :cond_a9
const-string v0, "character is not a valid unicode code point"
invoke-direct {p0, v0}, Lorg/jsoup/parser/Tokeniser;->c(Ljava/lang/String;)V
sget-object v0, Lorg/jsoup/parser/Tokeniser;->s:[I
add-int/lit8 p2, p2, -0x80
aget p2, v0, p2
:cond_a9
aput p2, p1, v4
return-object p1
:cond_ac
:goto_ac
const-string p2, "character outside of valid range"
invoke-direct {p0, p2}, Lorg/jsoup/parser/Tokeniser;->c(Ljava/lang/String;)V
const p2, 0xfffd
aput p2, p1, v4
return-object p1
:cond_b7
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v0}, Lorg/jsoup/parser/CharacterReader;->h()Ljava/lang/String;
move-result-object v0
iget-object v5, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
const/16 v6, 0x3b
invoke-virtual {v5, v6}, Lorg/jsoup/parser/CharacterReader;->s(C)Z
move-result v5
invoke-static {v0}, Lorg/jsoup/nodes/Entities;->isBaseNamedEntity(Ljava/lang/String;)Z
move-result v6
const/4 v7, 0x1
if-nez v6, :cond_d7
invoke-static {v0}, Lorg/jsoup/nodes/Entities;->isNamedEntity(Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_d5
if-eqz v5, :cond_d5
goto :goto_d7
:cond_d5
const/4 v6, 0x0
goto :goto_d8
:cond_d7
:goto_d7
const/4 v6, 0x1
:goto_d8
if-nez v6, :cond_e7
iget-object p1, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {p1}, Lorg/jsoup/parser/CharacterReader;->C()V
if-eqz v5, :cond_e6
const-string p1, "invalid named reference"
invoke-direct {p0, p1}, Lorg/jsoup/parser/Tokeniser;->c(Ljava/lang/String;)V
:cond_e6
return-object v1
:cond_e7
if-eqz p2, :cond_10d
iget-object p2, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {p2}, Lorg/jsoup/parser/CharacterReader;->y()Z
move-result p2
if-nez p2, :cond_107
iget-object p2, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {p2}, Lorg/jsoup/parser/CharacterReader;->w()Z
move-result p2
if-nez p2, :cond_107
iget-object p2, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
const/4 v5, 0x3
new-array v5, v5, [C
fill-array-data v5, :array_14a
invoke-virtual {p2, v5}, Lorg/jsoup/parser/CharacterReader;->u([C)Z
move-result p2
if-eqz p2, :cond_10d
:cond_107
iget-object p1, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {p1}, Lorg/jsoup/parser/CharacterReader;->C()V
return-object v1
:cond_10d
iget-object p2, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {p2}, Lorg/jsoup/parser/CharacterReader;->E()V
iget-object p2, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {p2, v3}, Lorg/jsoup/parser/CharacterReader;->q(Ljava/lang/String;)Z
move-result p2
if-nez p2, :cond_11d
invoke-direct {p0, v2}, Lorg/jsoup/parser/Tokeniser;->c(Ljava/lang/String;)V
:cond_11d
iget-object p2, p0, Lorg/jsoup/parser/Tokeniser;->q:[I
invoke-static {v0, p2}, Lorg/jsoup/nodes/Entities;->codepointsForName(Ljava/lang/String;[I)I
move-result p2
if-ne p2, v7, :cond_12c
iget-object p2, p0, Lorg/jsoup/parser/Tokeniser;->q:[I
aget p2, p2, v4
aput p2, p1, v4
return-object p1
:cond_12c
const/4 p1, 0x2
if-ne p2, p1, :cond_132
iget-object p1, p0, Lorg/jsoup/parser/Tokeniser;->q:[I
return-object p1
:cond_132
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string p2, "Unexpected characters returned for "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lorg/jsoup/helper/Validate;->fail(Ljava/lang/String;)V
iget-object p1, p0, Lorg/jsoup/parser/Tokeniser;->q:[I
return-object p1
nop
:array_14a
.array-data 2
0x3ds
0x2ds
0x5fs
.end array-data
.end method
.method e()V
.registers 3
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->n:Lorg/jsoup/parser/Token$Comment;
invoke-virtual {v0}, Lorg/jsoup/parser/Token$Comment;->m()Lorg/jsoup/parser/Token;
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->n:Lorg/jsoup/parser/Token$Comment;
const/4 v1, 0x1
iput-boolean v1, v0, Lorg/jsoup/parser/Token$Comment;->d:Z
return-void
.end method
.method f()V
.registers 2
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->n:Lorg/jsoup/parser/Token$Comment;
invoke-virtual {v0}, Lorg/jsoup/parser/Token$Comment;->m()Lorg/jsoup/parser/Token;
return-void
.end method
.method g()V
.registers 2
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->m:Lorg/jsoup/parser/Token$Doctype;
invoke-virtual {v0}, Lorg/jsoup/parser/Token$Doctype;->m()Lorg/jsoup/parser/Token;
return-void
.end method
.method h(Z)Lorg/jsoup/parser/Token$Tag;
.registers 2
if-eqz p1, :cond_8
iget-object p1, p0, Lorg/jsoup/parser/Tokeniser;->j:Lorg/jsoup/parser/Token$StartTag;
invoke-virtual {p1}, Lorg/jsoup/parser/Token$StartTag;->E()Lorg/jsoup/parser/Token$Tag;
goto :goto_d
:cond_8
iget-object p1, p0, Lorg/jsoup/parser/Tokeniser;->k:Lorg/jsoup/parser/Token$EndTag;
invoke-virtual {p1}, Lorg/jsoup/parser/Token$Tag;->E()Lorg/jsoup/parser/Token$Tag;
:goto_d
iput-object p1, p0, Lorg/jsoup/parser/Tokeniser;->i:Lorg/jsoup/parser/Token$Tag;
return-object p1
.end method
.method i()V
.registers 2
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->h:Ljava/lang/StringBuilder;
invoke-static {v0}, Lorg/jsoup/parser/Token;->n(Ljava/lang/StringBuilder;)V
return-void
.end method
.method j(C)V
.registers 2
invoke-static {p1}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Lorg/jsoup/parser/Tokeniser;->k(Ljava/lang/String;)V
return-void
.end method
.method k(Ljava/lang/String;)V
.registers 4
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->f:Ljava/lang/String;
if-nez v0, :cond_7
iput-object p1, p0, Lorg/jsoup/parser/Tokeniser;->f:Ljava/lang/String;
goto :goto_1b
:cond_7
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->g:Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v0
if-nez v0, :cond_16
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->g:Ljava/lang/StringBuilder;
iget-object v1, p0, Lorg/jsoup/parser/Tokeniser;->f:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_16
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->g:Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:goto_1b
return-void
.end method
.method l(Lorg/jsoup/parser/Token;)V
.registers 4
iget-boolean v0, p0, Lorg/jsoup/parser/Tokeniser;->e:Z
invoke-static {v0}, Lorg/jsoup/helper/Validate;->isFalse(Z)V
iput-object p1, p0, Lorg/jsoup/parser/Tokeniser;->d:Lorg/jsoup/parser/Token;
const/4 v0, 0x1
iput-boolean v0, p0, Lorg/jsoup/parser/Tokeniser;->e:Z
iget-object v0, p1, Lorg/jsoup/parser/Token;->a:Lorg/jsoup/parser/Token$TokenType;
sget-object v1, Lorg/jsoup/parser/Token$TokenType;->StartTag:Lorg/jsoup/parser/Token$TokenType;
if-ne v0, v1, :cond_17
check-cast p1, Lorg/jsoup/parser/Token$StartTag;
iget-object p1, p1, Lorg/jsoup/parser/Token$Tag;->b:Ljava/lang/String;
iput-object p1, p0, Lorg/jsoup/parser/Tokeniser;->o:Ljava/lang/String;
goto :goto_26
:cond_17
sget-object v1, Lorg/jsoup/parser/Token$TokenType;->EndTag:Lorg/jsoup/parser/Token$TokenType;
if-ne v0, v1, :cond_26
check-cast p1, Lorg/jsoup/parser/Token$EndTag;
iget-object p1, p1, Lorg/jsoup/parser/Token$Tag;->j:Lorg/jsoup/nodes/Attributes;
if-eqz p1, :cond_26
const-string p1, "Attributes incorrectly present on end tag"
invoke-virtual {p0, p1}, Lorg/jsoup/parser/Tokeniser;->r(Ljava/lang/String;)V
:cond_26
:goto_26
return-void
.end method
.method m([I)V
.registers 5
new-instance v0, Ljava/lang/String;
array-length v1, p1
const/4 v2, 0x0
invoke-direct {v0, p1, v2, v1}, Ljava/lang/String;-><init>([III)V
invoke-virtual {p0, v0}, Lorg/jsoup/parser/Tokeniser;->k(Ljava/lang/String;)V
return-void
.end method
.method n()V
.registers 2
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->n:Lorg/jsoup/parser/Token$Comment;
invoke-virtual {p0, v0}, Lorg/jsoup/parser/Tokeniser;->l(Lorg/jsoup/parser/Token;)V
return-void
.end method
.method o()V
.registers 2
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->m:Lorg/jsoup/parser/Token$Doctype;
invoke-virtual {p0, v0}, Lorg/jsoup/parser/Tokeniser;->l(Lorg/jsoup/parser/Token;)V
return-void
.end method
.method p()V
.registers 2
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->i:Lorg/jsoup/parser/Token$Tag;
invoke-virtual {v0}, Lorg/jsoup/parser/Token$Tag;->x()V
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->i:Lorg/jsoup/parser/Token$Tag;
invoke-virtual {p0, v0}, Lorg/jsoup/parser/Tokeniser;->l(Lorg/jsoup/parser/Token;)V
return-void
.end method
.method q(Lorg/jsoup/parser/TokeniserState;)V
.registers 7
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->b:Lorg/jsoup/parser/ParseErrorList;
invoke-virtual {v0}, Lorg/jsoup/parser/ParseErrorList;->c()Z
move-result v0
if-eqz v0, :cond_20
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->b:Lorg/jsoup/parser/ParseErrorList;
new-instance v1, Lorg/jsoup/parser/ParseError;
iget-object v2, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v2}, Lorg/jsoup/parser/CharacterReader;->pos()I
move-result v2
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object p1, v3, v4
const-string p1, "Unexpectedly reached end of file (EOF) in input state [%s]"
invoke-direct {v1, v2, p1, v3}, Lorg/jsoup/parser/ParseError;-><init>(ILjava/lang/String;[Ljava/lang/Object;)V
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_20
return-void
.end method
.method r(Ljava/lang/String;)V
.registers 5
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->b:Lorg/jsoup/parser/ParseErrorList;
invoke-virtual {v0}, Lorg/jsoup/parser/ParseErrorList;->c()Z
move-result v0
if-eqz v0, :cond_18
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->b:Lorg/jsoup/parser/ParseErrorList;
new-instance v1, Lorg/jsoup/parser/ParseError;
iget-object v2, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v2}, Lorg/jsoup/parser/CharacterReader;->pos()I
move-result v2
invoke-direct {v1, v2, p1}, Lorg/jsoup/parser/ParseError;-><init>(ILjava/lang/String;)V
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_18
return-void
.end method
.method s(Lorg/jsoup/parser/TokeniserState;)V
.registers 8
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->b:Lorg/jsoup/parser/ParseErrorList;
invoke-virtual {v0}, Lorg/jsoup/parser/ParseErrorList;->c()Z
move-result v0
if-eqz v0, :cond_2d
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->b:Lorg/jsoup/parser/ParseErrorList;
new-instance v1, Lorg/jsoup/parser/ParseError;
iget-object v2, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v2}, Lorg/jsoup/parser/CharacterReader;->pos()I
move-result v2
const/4 v3, 0x2
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
iget-object v5, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v5}, Lorg/jsoup/parser/CharacterReader;->current()C
move-result v5
invoke-static {v5}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character;
move-result-object v5
aput-object v5, v3, v4
const/4 v4, 0x1
aput-object p1, v3, v4
const-string p1, "Unexpected character \'%s\' in input state [%s]"
invoke-direct {v1, v2, p1, v3}, Lorg/jsoup/parser/ParseError;-><init>(ILjava/lang/String;[Ljava/lang/Object;)V
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_2d
return-void
.end method
.method t()Z
.registers 3
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->o:Ljava/lang/String;
if-eqz v0, :cond_14
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->i:Lorg/jsoup/parser/Token$Tag;
invoke-virtual {v0}, Lorg/jsoup/parser/Token$Tag;->A()Ljava/lang/String;
move-result-object v0
iget-object v1, p0, Lorg/jsoup/parser/Tokeniser;->o:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_14
const/4 v0, 0x1
goto :goto_15
:cond_14
const/4 v0, 0x0
:goto_15
return v0
.end method
.method u()Lorg/jsoup/parser/Token;
.registers 6
:goto_0
iget-boolean v0, p0, Lorg/jsoup/parser/Tokeniser;->e:Z
if-nez v0, :cond_c
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->c:Lorg/jsoup/parser/TokeniserState;
iget-object v1, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v0, p0, v1}, Lorg/jsoup/parser/TokeniserState;->s(Lorg/jsoup/parser/Tokeniser;Lorg/jsoup/parser/CharacterReader;)V
goto :goto_0
:cond_c
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->g:Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v1
const/4 v2, 0x0
const/4 v3, 0x0
if-eqz v1, :cond_29
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v4
invoke-virtual {v0, v3, v4}, Ljava/lang/StringBuilder;->delete(II)Ljava/lang/StringBuilder;
iput-object v2, p0, Lorg/jsoup/parser/Tokeniser;->f:Ljava/lang/String;
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->l:Lorg/jsoup/parser/Token$Character;
invoke-virtual {v0, v1}, Lorg/jsoup/parser/Token$Character;->p(Ljava/lang/String;)Lorg/jsoup/parser/Token$Character;
return-object v0
:cond_29
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->f:Ljava/lang/String;
if-eqz v0, :cond_35
iget-object v1, p0, Lorg/jsoup/parser/Tokeniser;->l:Lorg/jsoup/parser/Token$Character;
invoke-virtual {v1, v0}, Lorg/jsoup/parser/Token$Character;->p(Ljava/lang/String;)Lorg/jsoup/parser/Token$Character;
iput-object v2, p0, Lorg/jsoup/parser/Tokeniser;->f:Ljava/lang/String;
return-object v1
:cond_35
iput-boolean v3, p0, Lorg/jsoup/parser/Tokeniser;->e:Z
iget-object v0, p0, Lorg/jsoup/parser/Tokeniser;->d:Lorg/jsoup/parser/Token;
return-object v0
.end method
.method v(Lorg/jsoup/parser/TokeniserState;)V
.registers 2
iput-object p1, p0, Lorg/jsoup/parser/Tokeniser;->c:Lorg/jsoup/parser/TokeniserState;
return-void
.end method
.method w(Z)Ljava/lang/String;
.registers 6
invoke-static {}, Lorg/jsoup/internal/StringUtil;->borrowBuilder()Ljava/lang/StringBuilder;
move-result-object v0
:cond_4
:goto_4
iget-object v1, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v1}, Lorg/jsoup/parser/CharacterReader;->isEmpty()Z
move-result v1
if-nez v1, :cond_44
iget-object v1, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
const/16 v2, 0x26
invoke-virtual {v1, v2}, Lorg/jsoup/parser/CharacterReader;->consumeTo(C)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v1, v2}, Lorg/jsoup/parser/CharacterReader;->s(C)Z
move-result v1
if-eqz v1, :cond_4
iget-object v1, p0, Lorg/jsoup/parser/Tokeniser;->a:Lorg/jsoup/parser/CharacterReader;
invoke-virtual {v1}, Lorg/jsoup/parser/CharacterReader;->c()C
const/4 v1, 0x0
invoke-virtual {p0, v1, p1}, Lorg/jsoup/parser/Tokeniser;->d(Ljava/lang/Character;Z)[I
move-result-object v1
if-eqz v1, :cond_40
array-length v3, v1
if-nez v3, :cond_2f
goto :goto_40
:cond_2f
const/4 v2, 0x0
aget v2, v1, v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->appendCodePoint(I)Ljava/lang/StringBuilder;
array-length v2, v1
const/4 v3, 0x2
if-ne v2, v3, :cond_4
const/4 v2, 0x1
aget v1, v1, v2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->appendCodePoint(I)Ljava/lang/StringBuilder;
goto :goto_4
:cond_40
:goto_40
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_4
:cond_44
invoke-static {v0}, Lorg/jsoup/internal/StringUtil;->releaseBuilder(Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method