TextFormat$Tokenizer.smali
.class final Lcom/google/protobuf/TextFormat$Tokenizer;
.super Ljava/lang/Object;
.source "TextFormat.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/protobuf/TextFormat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1a
name = "Tokenizer"
.end annotation
# static fields
.field private static final DOUBLE_INFINITY:Ljava/util/regex/Pattern;
.field private static final FLOAT_INFINITY:Ljava/util/regex/Pattern;
.field private static final FLOAT_NAN:Ljava/util/regex/Pattern;
.field private static final TOKEN:Ljava/util/regex/Pattern;
.field private static final WHITESPACE:Ljava/util/regex/Pattern;
# instance fields
.field private column:I
.field private currentToken:Ljava/lang/String;
.field private line:I
.field private final matcher:Ljava/util/regex/Matcher;
.field private pos:I
.field private previousColumn:I
.field private previousLine:I
.field private final text:Ljava/lang/CharSequence;
# direct methods
.method static constructor <clinit>()V
.registers 3
.prologue
const/16 v2, 0x8
const/4 v1, 0x2
.line 637
const-string v0, "(\\s|(#.*$))++"
.line 638
invoke-static {v0, v2}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;I)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/protobuf/TextFormat$Tokenizer;->WHITESPACE:Ljava/util/regex/Pattern;
.line 639
const-string v0, "[a-zA-Z_][0-9a-zA-Z_+-]*+|[.]?[0-9+-][0-9a-zA-Z_.+-]*+|\"([^\"\n\\\\]|\\\\.)*+(\"|\\\\?$)|\'([^\'\n\\\\]|\\\\.)*+(\'|\\\\?$)"
invoke-static {v0, v2}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;I)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/protobuf/TextFormat$Tokenizer;->TOKEN:Ljava/util/regex/Pattern;
.line 646
const-string v0, "-?inf(inity)?"
invoke-static {v0, v1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;I)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/protobuf/TextFormat$Tokenizer;->DOUBLE_INFINITY:Ljava/util/regex/Pattern;
.line 649
const-string v0, "-?inf(inity)?f?"
invoke-static {v0, v1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;I)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/protobuf/TextFormat$Tokenizer;->FLOAT_INFINITY:Ljava/util/regex/Pattern;
.line 652
const-string v0, "nanf?"
invoke-static {v0, v1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;I)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/protobuf/TextFormat$Tokenizer;->FLOAT_NAN:Ljava/util/regex/Pattern;
return-void
.end method
.method private constructor <init>(Ljava/lang/CharSequence;)V
.registers 3
.prologue
const/4 v0, 0x0
.line 657
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 624
iput v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->pos:I
.line 627
iput v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->line:I
.line 628
iput v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->column:I
.line 632
iput v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->previousLine:I
.line 633
iput v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->previousColumn:I
.line 658
iput-object p1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->text:Ljava/lang/CharSequence;
.line 659
sget-object v0, Lcom/google/protobuf/TextFormat$Tokenizer;->WHITESPACE:Ljava/util/regex/Pattern;
invoke-virtual {v0, p1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
iput-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
.line 660
invoke-direct {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->skipWhitespace()V
.line 661
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
.line 662
return-void
.end method
.method synthetic constructor <init>(Ljava/lang/CharSequence;Lcom/google/protobuf/TextFormat$1;)V
.registers 3
.prologue
.line 618
invoke-direct {p0, p1}, Lcom/google/protobuf/TextFormat$Tokenizer;-><init>(Ljava/lang/CharSequence;)V
return-void
.end method
.method static synthetic access$1200(Lcom/google/protobuf/TextFormat$Tokenizer;)Ljava/lang/String;
.registers 2
.prologue
.line 618
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
return-object v0
.end method
.method private consumeByteString(Ljava/util/List;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<",
"Lcom/google/protobuf/ByteString;",
">;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/TextFormat$ParseException;
}
.end annotation
.prologue
const/4 v0, 0x0
.line 1035
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
if-lez v1, :cond_f
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
.line 1036
invoke-virtual {v1, v0}, Ljava/lang/String;->charAt(I)C
move-result v0
.line 1038
:cond_f
const/16 v1, 0x22
if-eq v0, v1, :cond_1e
const/16 v1, 0x27
if-eq v0, v1, :cond_1e
.line 1039
const-string v0, "Expected string."
invoke-virtual {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->parseException(Ljava/lang/String;)Lcom/google/protobuf/TextFormat$ParseException;
move-result-object v0
throw v0
.line 1042
:cond_1e
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
const/4 v2, 0x2
if-lt v1, v2, :cond_37
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
iget-object v2, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
.line 1043
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, -0x1
invoke-virtual {v1, v2}, Ljava/lang/String;->charAt(I)C
move-result v1
if-eq v1, v0, :cond_3e
.line 1044
:cond_37
const-string v0, "String missing ending quote."
invoke-virtual {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->parseException(Ljava/lang/String;)Lcom/google/protobuf/TextFormat$ParseException;
move-result-object v0
throw v0
.line 1048
:cond_3e
:try_start_3e
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
const/4 v1, 0x1
iget-object v2, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
.line 1049
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, -0x1
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
.line 1050
invoke-static {v0}, Lcom/google/protobuf/TextFormat;->unescapeBytes(Ljava/lang/CharSequence;)Lcom/google/protobuf/ByteString;
move-result-object v0
.line 1051
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
.line 1052
invoke-interface {p1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_57
.catch Lcom/google/protobuf/TextFormat$InvalidEscapeSequenceException; {:try_start_3e .. :try_end_57} :catch_58
.line 1056
return-void
.line 1053
:catch_58
move-exception v0
.line 1054
invoke-virtual {v0}, Lcom/google/protobuf/TextFormat$InvalidEscapeSequenceException;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->parseException(Ljava/lang/String;)Lcom/google/protobuf/TextFormat$ParseException;
move-result-object v0
throw v0
.end method
.method private floatParseException(Ljava/lang/NumberFormatException;)Lcom/google/protobuf/TextFormat$ParseException;
.registers 4
.prologue
.line 1093
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Couldn\'t parse number: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p1}, Ljava/lang/NumberFormatException;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->parseException(Ljava/lang/String;)Lcom/google/protobuf/TextFormat$ParseException;
move-result-object v0
return-object v0
.end method
.method private integerParseException(Ljava/lang/NumberFormatException;)Lcom/google/protobuf/TextFormat$ParseException;
.registers 4
.prologue
.line 1085
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Couldn\'t parse integer: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p1}, Ljava/lang/NumberFormatException;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->parseException(Ljava/lang/String;)Lcom/google/protobuf/TextFormat$ParseException;
move-result-object v0
return-object v0
.end method
.method private skipWhitespace()V
.registers 4
.prologue
.line 725
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
sget-object v1, Lcom/google/protobuf/TextFormat$Tokenizer;->WHITESPACE:Ljava/util/regex/Pattern;
invoke-virtual {v0, v1}, Ljava/util/regex/Matcher;->usePattern(Ljava/util/regex/Pattern;)Ljava/util/regex/Matcher;
.line 726
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
invoke-virtual {v0}, Ljava/util/regex/Matcher;->lookingAt()Z
move-result v0
if-eqz v0, :cond_20
.line 727
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
invoke-virtual {v1}, Ljava/util/regex/Matcher;->end()I
move-result v1
iget-object v2, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
invoke-virtual {v2}, Ljava/util/regex/Matcher;->regionEnd()I
move-result v2
invoke-virtual {v0, v1, v2}, Ljava/util/regex/Matcher;->region(II)Ljava/util/regex/Matcher;
.line 729
:cond_20
return-void
.end method
# virtual methods
.method public atEnd()Z
.registers 2
.prologue
.line 682
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v0
if-nez v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public consume(Ljava/lang/String;)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/TextFormat$ParseException;
}
.end annotation
.prologue
.line 749
invoke-virtual {p0, p1}, Lcom/google/protobuf/TextFormat$Tokenizer;->tryConsume(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_24
.line 750
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Expected \""
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "\"."
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->parseException(Ljava/lang/String;)Lcom/google/protobuf/TextFormat$ParseException;
move-result-object v0
throw v0
.line 752
:cond_24
return-void
.end method
.method public consumeBoolean()Z
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/TextFormat$ParseException;
}
.end annotation
.prologue
.line 975
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
const-string v1, "true"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_28
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
const-string v1, "True"
.line 976
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_28
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
const-string v1, "t"
.line 977
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_28
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
const-string v1, "1"
.line 978
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_2d
.line 979
:cond_28
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
.line 980
const/4 v0, 0x1
.line 986
:goto_2c
return v0
.line 981
:cond_2d
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
const-string v1, "false"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_55
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
const-string v1, "False"
.line 982
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_55
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
const-string v1, "f"
.line 983
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_55
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
const-string v1, "0"
.line 984
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_5a
.line 985
:cond_55
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
.line 986
const/4 v0, 0x0
goto :goto_2c
.line 988
:cond_5a
const-string v0, "Expected \"true\" or \"false\"."
invoke-virtual {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->parseException(Ljava/lang/String;)Lcom/google/protobuf/TextFormat$ParseException;
move-result-object v0
throw v0
.end method
.method public consumeByteString()Lcom/google/protobuf/ByteString;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/TextFormat$ParseException;
}
.end annotation
.prologue
.line 1019
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 1020
invoke-direct {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->consumeByteString(Ljava/util/List;)V
.line 1021
:goto_8
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
const-string v2, "\'"
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_1c
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
const-string v2, "\""
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_20
.line 1022
:cond_1c
invoke-direct {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->consumeByteString(Ljava/util/List;)V
goto :goto_8
.line 1024
:cond_20
invoke-static {v0}, Lcom/google/protobuf/ByteString;->copyFrom(Ljava/lang/Iterable;)Lcom/google/protobuf/ByteString;
move-result-object v0
return-object v0
.end method
.method public consumeDouble()D
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/TextFormat$ParseException;
}
.end annotation
.prologue
.line 901
sget-object v0, Lcom/google/protobuf/TextFormat$Tokenizer;->DOUBLE_INFINITY:Ljava/util/regex/Pattern;
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
invoke-virtual {v0}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
if-eqz v0, :cond_21
.line 902
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
const-string v1, "-"
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
.line 903
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
.line 904
if-eqz v0, :cond_1e
const-wide/high16 v0, -0x10000000000000L # Double.NEGATIVE_INFINITY
.line 913
:goto_1d
return-wide v0
.line 904
:cond_1e
const-wide/high16 v0, 0x7ff0000000000000L # Double.POSITIVE_INFINITY
goto :goto_1d
.line 906
:cond_21
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
const-string v1, "nan"
invoke-virtual {v0, v1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_31
.line 907
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
.line 908
const-wide/high16 v0, 0x7ff8000000000000L # Double.NaN
goto :goto_1d
.line 911
:cond_31
:try_start_31
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v0
.line 912
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
:try_end_3a
.catch Ljava/lang/NumberFormatException; {:try_start_31 .. :try_end_3a} :catch_3b
goto :goto_1d
.line 914
:catch_3b
move-exception v0
.line 915
invoke-direct {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->floatParseException(Ljava/lang/NumberFormatException;)Lcom/google/protobuf/TextFormat$ParseException;
move-result-object v0
throw v0
.end method
.method public consumeFloat()F
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/TextFormat$ParseException;
}
.end annotation
.prologue
.line 939
sget-object v0, Lcom/google/protobuf/TextFormat$Tokenizer;->FLOAT_INFINITY:Ljava/util/regex/Pattern;
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
invoke-virtual {v0}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
if-eqz v0, :cond_21
.line 940
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
const-string v1, "-"
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
.line 941
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
.line 942
if-eqz v0, :cond_1e
const/high16 v0, -0x800000 # Float.NEGATIVE_INFINITY
.line 951
:goto_1d
return v0
.line 942
:cond_1e
const/high16 v0, 0x7f800000 # Float.POSITIVE_INFINITY
goto :goto_1d
.line 944
:cond_21
sget-object v0, Lcom/google/protobuf/TextFormat$Tokenizer;->FLOAT_NAN:Ljava/util/regex/Pattern;
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
invoke-virtual {v0}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
if-eqz v0, :cond_35
.line 945
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
.line 946
const/high16 v0, 0x7fc00000 # Float.NaN
goto :goto_1d
.line 949
:cond_35
:try_start_35
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-static {v0}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
move-result v0
.line 950
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
:try_end_3e
.catch Ljava/lang/NumberFormatException; {:try_start_35 .. :try_end_3e} :catch_3f
goto :goto_1d
.line 952
:catch_3f
move-exception v0
.line 953
invoke-direct {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->floatParseException(Ljava/lang/NumberFormatException;)Lcom/google/protobuf/TextFormat$ParseException;
move-result-object v0
throw v0
.end method
.method public consumeIdentifier()Ljava/lang/String;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/TextFormat$ParseException;
}
.end annotation
.prologue
.line 781
const/4 v0, 0x0
:goto_1
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
if-ge v0, v1, :cond_52
.line 782
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-virtual {v1, v0}, Ljava/lang/String;->charAt(I)C
move-result v1
.line 783
const/16 v2, 0x61
if-gt v2, v1, :cond_17
const/16 v2, 0x7a
if-le v1, v2, :cond_2f
:cond_17
const/16 v2, 0x41
if-gt v2, v1, :cond_1f
const/16 v2, 0x5a
if-le v1, v2, :cond_2f
:cond_1f
const/16 v2, 0x30
if-gt v2, v1, :cond_27
const/16 v2, 0x39
if-le v1, v2, :cond_2f
:cond_27
const/16 v2, 0x5f
if-eq v1, v2, :cond_2f
const/16 v2, 0x2e
if-ne v1, v2, :cond_32
.line 781
:cond_2f
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 789
:cond_32
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Expected identifier. Found \'"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "\'"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->parseException(Ljava/lang/String;)Lcom/google/protobuf/TextFormat$ParseException;
move-result-object v0
throw v0
.line 794
:cond_52
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
.line 795
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
.line 796
return-object v0
.end method
.method public consumeInt32()I
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/TextFormat$ParseException;
}
.end annotation
.prologue
.line 818
:try_start_0
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-static {v0}, Lcom/google/protobuf/TextFormat;->parseInt32(Ljava/lang/String;)I
move-result v0
.line 819
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
:try_end_9
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_9} :catch_a
.line 820
return v0
.line 821
:catch_a
move-exception v0
.line 822
invoke-direct {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->integerParseException(Ljava/lang/NumberFormatException;)Lcom/google/protobuf/TextFormat$ParseException;
move-result-object v0
throw v0
.end method
.method public consumeInt64()J
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/TextFormat$ParseException;
}
.end annotation
.prologue
.line 846
:try_start_0
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-static {v0}, Lcom/google/protobuf/TextFormat;->parseInt64(Ljava/lang/String;)J
move-result-wide v0
.line 847
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
:try_end_9
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_9} :catch_a
.line 848
return-wide v0
.line 849
:catch_a
move-exception v0
.line 850
invoke-direct {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->integerParseException(Ljava/lang/NumberFormatException;)Lcom/google/protobuf/TextFormat$ParseException;
move-result-object v0
throw v0
.end method
.method public consumeString()Ljava/lang/String;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/TextFormat$ParseException;
}
.end annotation
.prologue
.line 997
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->consumeByteString()Lcom/google/protobuf/ByteString;
move-result-object v0
invoke-virtual {v0}, Lcom/google/protobuf/ByteString;->toStringUtf8()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public consumeUInt32()I
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/TextFormat$ParseException;
}
.end annotation
.prologue
.line 832
:try_start_0
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-static {v0}, Lcom/google/protobuf/TextFormat;->parseUInt32(Ljava/lang/String;)I
move-result v0
.line 833
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
:try_end_9
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_9} :catch_a
.line 834
return v0
.line 835
:catch_a
move-exception v0
.line 836
invoke-direct {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->integerParseException(Ljava/lang/NumberFormatException;)Lcom/google/protobuf/TextFormat$ParseException;
move-result-object v0
throw v0
.end method
.method public consumeUInt64()J
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/TextFormat$ParseException;
}
.end annotation
.prologue
.line 873
:try_start_0
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-static {v0}, Lcom/google/protobuf/TextFormat;->parseUInt64(Ljava/lang/String;)J
move-result-wide v0
.line 874
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
:try_end_9
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_9} :catch_a
.line 875
return-wide v0
.line 876
:catch_a
move-exception v0
.line 877
invoke-direct {p0, v0}, Lcom/google/protobuf/TextFormat$Tokenizer;->integerParseException(Ljava/lang/NumberFormatException;)Lcom/google/protobuf/TextFormat$ParseException;
move-result-object v0
throw v0
.end method
.method getColumn()I
.registers 2
.prologue
.line 677
iget v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->column:I
return v0
.end method
.method getLine()I
.registers 2
.prologue
.line 673
iget v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->line:I
return v0
.end method
.method getPreviousColumn()I
.registers 2
.prologue
.line 669
iget v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->previousColumn:I
return v0
.end method
.method getPreviousLine()I
.registers 2
.prologue
.line 665
iget v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->previousLine:I
return v0
.end method
.method public lookingAt(Ljava/lang/String;)Z
.registers 3
.prologue
.line 773
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
return v0
.end method
.method public lookingAtInteger()Z
.registers 4
.prologue
const/4 v0, 0x0
.line 759
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
if-nez v1, :cond_a
.line 764
:cond_9
:goto_9
return v0
.line 763
:cond_a
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-virtual {v1, v0}, Ljava/lang/String;->charAt(I)C
move-result v1
.line 764
const/16 v2, 0x30
if-gt v2, v1, :cond_18
const/16 v2, 0x39
if-le v1, v2, :cond_20
:cond_18
const/16 v2, 0x2d
if-eq v1, v2, :cond_20
const/16 v2, 0x2b
if-ne v1, v2, :cond_9
:cond_20
const/4 v0, 0x1
goto :goto_9
.end method
.method public nextToken()V
.registers 4
.prologue
.line 687
iget v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->line:I
iput v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->previousLine:I
.line 688
iget v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->column:I
iput v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->previousColumn:I
.line 691
:goto_8
iget v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->pos:I
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
invoke-virtual {v1}, Ljava/util/regex/Matcher;->regionStart()I
move-result v1
if-ge v0, v1, :cond_35
.line 692
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->text:Ljava/lang/CharSequence;
iget v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->pos:I
invoke-interface {v0, v1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v0
const/16 v1, 0xa
if-ne v0, v1, :cond_2e
.line 693
iget v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->line:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->line:I
.line 694
const/4 v0, 0x0
iput v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->column:I
.line 698
:goto_27
iget v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->pos:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->pos:I
goto :goto_8
.line 696
:cond_2e
iget v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->column:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->column:I
goto :goto_27
.line 702
:cond_35
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
invoke-virtual {v0}, Ljava/util/regex/Matcher;->regionStart()I
move-result v0
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
invoke-virtual {v1}, Ljava/util/regex/Matcher;->regionEnd()I
move-result v1
if-ne v0, v1, :cond_48
.line 704
const-string v0, ""
iput-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
.line 718
:goto_47
return-void
.line 706
:cond_48
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
sget-object v1, Lcom/google/protobuf/TextFormat$Tokenizer;->TOKEN:Ljava/util/regex/Pattern;
invoke-virtual {v0, v1}, Ljava/util/regex/Matcher;->usePattern(Ljava/util/regex/Pattern;)Ljava/util/regex/Matcher;
.line 707
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
invoke-virtual {v0}, Ljava/util/regex/Matcher;->lookingAt()Z
move-result v0
if-eqz v0, :cond_74
.line 708
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
invoke-virtual {v0}, Ljava/util/regex/Matcher;->group()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
.line 709
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
iget-object v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
invoke-virtual {v1}, Ljava/util/regex/Matcher;->end()I
move-result v1
iget-object v2, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
invoke-virtual {v2}, Ljava/util/regex/Matcher;->regionEnd()I
move-result v2
invoke-virtual {v0, v1, v2}, Ljava/util/regex/Matcher;->region(II)Ljava/util/regex/Matcher;
.line 716
:goto_70
invoke-direct {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->skipWhitespace()V
goto :goto_47
.line 712
:cond_74
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->text:Ljava/lang/CharSequence;
iget v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->pos:I
invoke-interface {v0, v1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v0
invoke-static {v0}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
.line 713
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
iget v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->pos:I
add-int/lit8 v1, v1, 0x1
iget-object v2, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->matcher:Ljava/util/regex/Matcher;
invoke-virtual {v2}, Ljava/util/regex/Matcher;->regionEnd()I
move-result v2
invoke-virtual {v0, v1, v2}, Ljava/util/regex/Matcher;->region(II)Ljava/util/regex/Matcher;
goto :goto_70
.end method
.method public parseException(Ljava/lang/String;)Lcom/google/protobuf/TextFormat$ParseException;
.registers 5
.prologue
.line 1064
new-instance v0, Lcom/google/protobuf/TextFormat$ParseException;
iget v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->line:I
add-int/lit8 v1, v1, 0x1
iget v2, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->column:I
add-int/lit8 v2, v2, 0x1
invoke-direct {v0, v1, v2, p1}, Lcom/google/protobuf/TextFormat$ParseException;-><init>(IILjava/lang/String;)V
return-object v0
.end method
.method public parseExceptionPreviousToken(Ljava/lang/String;)Lcom/google/protobuf/TextFormat$ParseException;
.registers 5
.prologue
.line 1075
new-instance v0, Lcom/google/protobuf/TextFormat$ParseException;
iget v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->previousLine:I
add-int/lit8 v1, v1, 0x1
iget v2, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->previousColumn:I
add-int/lit8 v2, v2, 0x1
invoke-direct {v0, v1, v2, p1}, Lcom/google/protobuf/TextFormat$ParseException;-><init>(IILjava/lang/String;)V
return-object v0
.end method
.method public tryConsume(Ljava/lang/String;)Z
.registers 3
.prologue
.line 736
iget-object v0, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->currentToken:Ljava/lang/String;
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_d
.line 737
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->nextToken()V
.line 738
const/4 v0, 0x1
.line 740
:goto_c
return v0
:cond_d
const/4 v0, 0x0
goto :goto_c
.end method
.method public tryConsumeDouble()Z
.registers 2
.prologue
.line 925
:try_start_0
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->consumeDouble()D
:try_end_3
.catch Lcom/google/protobuf/TextFormat$ParseException; {:try_start_0 .. :try_end_3} :catch_5
.line 926
const/4 v0, 0x1
.line 928
:goto_4
return v0
.line 927
:catch_5
move-exception v0
.line 928
const/4 v0, 0x0
goto :goto_4
.end method
.method public tryConsumeFloat()Z
.registers 2
.prologue
.line 963
:try_start_0
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->consumeFloat()F
:try_end_3
.catch Lcom/google/protobuf/TextFormat$ParseException; {:try_start_0 .. :try_end_3} :catch_5
.line 964
const/4 v0, 0x1
.line 966
:goto_4
return v0
.line 965
:catch_5
move-exception v0
.line 966
const/4 v0, 0x0
goto :goto_4
.end method
.method public tryConsumeIdentifier()Z
.registers 2
.prologue
.line 805
:try_start_0
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->consumeIdentifier()Ljava/lang/String;
:try_end_3
.catch Lcom/google/protobuf/TextFormat$ParseException; {:try_start_0 .. :try_end_3} :catch_5
.line 806
const/4 v0, 0x1
.line 808
:goto_4
return v0
.line 807
:catch_5
move-exception v0
.line 808
const/4 v0, 0x0
goto :goto_4
.end method
.method public tryConsumeInt64()Z
.registers 2
.prologue
.line 860
:try_start_0
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->consumeInt64()J
:try_end_3
.catch Lcom/google/protobuf/TextFormat$ParseException; {:try_start_0 .. :try_end_3} :catch_5
.line 861
const/4 v0, 0x1
.line 863
:goto_4
return v0
.line 862
:catch_5
move-exception v0
.line 863
const/4 v0, 0x0
goto :goto_4
.end method
.method public tryConsumeString()Z
.registers 2
.prologue
.line 1006
:try_start_0
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->consumeString()Ljava/lang/String;
:try_end_3
.catch Lcom/google/protobuf/TextFormat$ParseException; {:try_start_0 .. :try_end_3} :catch_5
.line 1007
const/4 v0, 0x1
.line 1009
:goto_4
return v0
.line 1008
:catch_5
move-exception v0
.line 1009
const/4 v0, 0x0
goto :goto_4
.end method
.method public tryConsumeUInt64()Z
.registers 2
.prologue
.line 887
:try_start_0
invoke-virtual {p0}, Lcom/google/protobuf/TextFormat$Tokenizer;->consumeUInt64()J
:try_end_3
.catch Lcom/google/protobuf/TextFormat$ParseException; {:try_start_0 .. :try_end_3} :catch_5
.line 888
const/4 v0, 0x1
.line 890
:goto_4
return v0
.line 889
:catch_5
move-exception v0
.line 890
const/4 v0, 0x0
goto :goto_4
.end method
.method public unknownFieldParseExceptionPreviousToken(Ljava/lang/String;Ljava/lang/String;)Lcom/google/protobuf/TextFormat$UnknownFieldParseException;
.registers 6
.prologue
.line 1104
new-instance v0, Lcom/google/protobuf/TextFormat$UnknownFieldParseException;
iget v1, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->previousLine:I
add-int/lit8 v1, v1, 0x1
iget v2, p0, Lcom/google/protobuf/TextFormat$Tokenizer;->previousColumn:I
add-int/lit8 v2, v2, 0x1
invoke-direct {v0, v1, v2, p1, p2}, Lcom/google/protobuf/TextFormat$UnknownFieldParseException;-><init>(IILjava/lang/String;Ljava/lang/String;)V
return-object v0
.end method