aboutsummaryrefslogtreecommitdiff
path: root/smali/src
diff options
context:
space:
mode:
authorBen Gruver <bgruv@google.com>2012-09-23 18:10:10 -0700
committerBen Gruver <bgruv@google.com>2012-09-23 18:14:59 -0700
commit8d299c022282757e0966e235dcbe6140a7bcad41 (patch)
treed531453530c155a8d1a9485bab3214b6f9129aa0 /smali/src
parent48d5b730272ada20e5b8c0245d297b03dbbf6d02 (diff)
downloadsmali-8d299c022282757e0966e235dcbe6140a7bcad41.tar.gz
Generate separate POSITIVE/NEGATIVE_INTEGER_LITERAL tokens
Diffstat (limited to 'smali/src')
-rw-r--r--smali/src/main/antlr3/smaliParser.g4
-rw-r--r--smali/src/main/jflex/smaliLexer.flex3
-rw-r--r--smali/src/test/resources/LexerTest/ByteLiteralTest.tokens70
-rw-r--r--smali/src/test/resources/LexerTest/CommentTest.tokens2
-rw-r--r--smali/src/test/resources/LexerTest/FloatLiteralTest.tokens2
-rw-r--r--smali/src/test/resources/LexerTest/IntegerLiteralTest.tokens90
-rw-r--r--smali/src/test/resources/LexerTest/LongLiteralTest.tokens60
-rw-r--r--smali/src/test/resources/LexerTest/MiscTest.tokens2
-rw-r--r--smali/src/test/resources/LexerTest/RealSmaliFileTest.tokens80
-rw-r--r--smali/src/test/resources/LexerTest/ShortLiteralTest.tokens70
10 files changed, 191 insertions, 192 deletions
diff --git a/smali/src/main/antlr3/smaliParser.g b/smali/src/main/antlr3/smaliParser.g
index 6fb71325..26ecd966 100644
--- a/smali/src/main/antlr3/smaliParser.g
+++ b/smali/src/main/antlr3/smaliParser.g
@@ -568,7 +568,6 @@ simple_name
| VERIFICATION_ERROR_TYPE -> SIMPLE_NAME[$VERIFICATION_ERROR_TYPE]
| POSITIVE_INTEGER_LITERAL -> SIMPLE_NAME[$POSITIVE_INTEGER_LITERAL]
| NEGATIVE_INTEGER_LITERAL -> SIMPLE_NAME[$NEGATIVE_INTEGER_LITERAL]
- | INTEGER_LITERAL -> SIMPLE_NAME[$INTEGER_LITERAL]
| FLOAT_LITERAL_OR_ID -> SIMPLE_NAME[$FLOAT_LITERAL_OR_ID]
| DOUBLE_LITERAL_OR_ID -> SIMPLE_NAME[$DOUBLE_LITERAL_OR_ID]
| BOOL_LITERAL -> SIMPLE_NAME[$BOOL_LITERAL]
@@ -634,8 +633,7 @@ reference_type_descriptor
integer_literal
: POSITIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$POSITIVE_INTEGER_LITERAL]
- | NEGATIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$NEGATIVE_INTEGER_LITERAL]
- | INTEGER_LITERAL;
+ | NEGATIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$NEGATIVE_INTEGER_LITERAL];
float_literal
: FLOAT_LITERAL_OR_ID -> FLOAT_LITERAL[$FLOAT_LITERAL_OR_ID]
diff --git a/smali/src/main/jflex/smaliLexer.flex b/smali/src/main/jflex/smaliLexer.flex
index 231abefd..23303685 100644
--- a/smali/src/main/jflex/smaliLexer.flex
+++ b/smali/src/main/jflex/smaliLexer.flex
@@ -267,7 +267,8 @@ Type = {PrimitiveType} | {ClassDescriptor} | {ArrayDescriptor}
/*Literals*/
<YYINITIAL> {
- -? {Integer} { return newToken(INTEGER_LITERAL); }
+ {Integer} { return newToken(POSITIVE_INTEGER_LITERAL); }
+ - {Integer} { return newToken(NEGATIVE_INTEGER_LITERAL); }
-? {Integer} [lL] { return newToken(LONG_LITERAL); }
-? {Integer} [sS] { return newToken(SHORT_LITERAL); }
-? {Integer} [tT] { return newToken(BYTE_LITERAL); }
diff --git a/smali/src/test/resources/LexerTest/ByteLiteralTest.tokens b/smali/src/test/resources/LexerTest/ByteLiteralTest.tokens
index 921247f7..83677af1 100644
--- a/smali/src/test/resources/LexerTest/ByteLiteralTest.tokens
+++ b/smali/src/test/resources/LexerTest/ByteLiteralTest.tokens
@@ -1,47 +1,47 @@
BYTE_LITERAL("0x0T")
-INTEGER_LITERAL("0x00")
+POSITIVE_INTEGER_LITERAL("0x00")
BYTE_LITERAL("0x1T")
-INTEGER_LITERAL("0x12")
+POSITIVE_INTEGER_LITERAL("0x12")
BYTE_LITERAL("0x7fT")
BYTE_LITERAL("0x80t")
BYTE_LITERAL("0xFFt")
-INTEGER_LITERAL("-0x00")
-INTEGER_LITERAL("-0x01")
-INTEGER_LITERAL("-0x12")
-INTEGER_LITERAL("-0x80")
-INTEGER_LITERAL("-0x1f")
+NEGATIVE_INTEGER_LITERAL("-0x00")
+NEGATIVE_INTEGER_LITERAL("-0x01")
+NEGATIVE_INTEGER_LITERAL("-0x12")
+NEGATIVE_INTEGER_LITERAL("-0x80")
+NEGATIVE_INTEGER_LITERAL("-0x1f")
BYTE_LITERAL("-0x1fT")
-INTEGER_LITERAL("-0x81")
-INTEGER_LITERAL("-0xFF")
-INTEGER_LITERAL("-0x100")
-INTEGER_LITERAL("0")
+NEGATIVE_INTEGER_LITERAL("-0x81")
+NEGATIVE_INTEGER_LITERAL("-0xFF")
+NEGATIVE_INTEGER_LITERAL("-0x100")
+POSITIVE_INTEGER_LITERAL("0")
BYTE_LITERAL("1t")
-INTEGER_LITERAL("123")
+POSITIVE_INTEGER_LITERAL("123")
BYTE_LITERAL("127T")
-INTEGER_LITERAL("128")
-INTEGER_LITERAL("255")
-INTEGER_LITERAL("-0")
-INTEGER_LITERAL("-1")
-INTEGER_LITERAL("-123")
+POSITIVE_INTEGER_LITERAL("128")
+POSITIVE_INTEGER_LITERAL("255")
+NEGATIVE_INTEGER_LITERAL("-0")
+NEGATIVE_INTEGER_LITERAL("-1")
+NEGATIVE_INTEGER_LITERAL("-123")
BYTE_LITERAL("-123T")
-INTEGER_LITERAL("-127")
-INTEGER_LITERAL("-128")
-INTEGER_LITERAL("-129")
-INTEGER_LITERAL("-255")
-INTEGER_LITERAL("256")
-INTEGER_LITERAL("260")
-INTEGER_LITERAL("00")
-INTEGER_LITERAL("01")
+NEGATIVE_INTEGER_LITERAL("-127")
+NEGATIVE_INTEGER_LITERAL("-128")
+NEGATIVE_INTEGER_LITERAL("-129")
+NEGATIVE_INTEGER_LITERAL("-255")
+POSITIVE_INTEGER_LITERAL("256")
+POSITIVE_INTEGER_LITERAL("260")
+POSITIVE_INTEGER_LITERAL("00")
+POSITIVE_INTEGER_LITERAL("01")
BYTE_LITERAL("0123t")
-INTEGER_LITERAL("0177")
+POSITIVE_INTEGER_LITERAL("0177")
BYTE_LITERAL("0200T")
-INTEGER_LITERAL("0377")
-INTEGER_LITERAL("-00")
-INTEGER_LITERAL("-01")
-INTEGER_LITERAL("-0123")
+POSITIVE_INTEGER_LITERAL("0377")
+NEGATIVE_INTEGER_LITERAL("-00")
+NEGATIVE_INTEGER_LITERAL("-01")
+NEGATIVE_INTEGER_LITERAL("-0123")
BYTE_LITERAL("-0123t")
-INTEGER_LITERAL("-177")
-INTEGER_LITERAL("-0200")
-INTEGER_LITERAL("-0201")
-INTEGER_LITERAL("-0377")
-INTEGER_LITERAL("-0400") \ No newline at end of file
+NEGATIVE_INTEGER_LITERAL("-177")
+NEGATIVE_INTEGER_LITERAL("-0200")
+NEGATIVE_INTEGER_LITERAL("-0201")
+NEGATIVE_INTEGER_LITERAL("-0377")
+NEGATIVE_INTEGER_LITERAL("-0400") \ No newline at end of file
diff --git a/smali/src/test/resources/LexerTest/CommentTest.tokens b/smali/src/test/resources/LexerTest/CommentTest.tokens
index 5f781ade..b3e084ac 100644
--- a/smali/src/test/resources/LexerTest/CommentTest.tokens
+++ b/smali/src/test/resources/LexerTest/CommentTest.tokens
@@ -2,5 +2,5 @@ LINE_COMMENT("#") WHITE_SPACE("\n")
LINE_COMMENT("#abcd") WHITE_SPACE("\n")
LINE_COMMENT("# abcd") WHITE_SPACE("\n")
LINE_COMMENT("#0x1234") WHITE_SPACE("\n")
-INTEGER_LITERAL("0x1234") WHITE_SPACE(" ") LINE_COMMENT("#0x1234") WHITE_SPACE("\n")
+POSITIVE_INTEGER_LITERAL("0x1234") WHITE_SPACE(" ") LINE_COMMENT("#0x1234") WHITE_SPACE("\n")
INSTRUCTION_FORMAT35c_METHOD("invoke-virtual") WHITE_SPACE(" ") LINE_COMMENT("#invoke-virtual") \ No newline at end of file
diff --git a/smali/src/test/resources/LexerTest/FloatLiteralTest.tokens b/smali/src/test/resources/LexerTest/FloatLiteralTest.tokens
index 0945971c..82c99184 100644
--- a/smali/src/test/resources/LexerTest/FloatLiteralTest.tokens
+++ b/smali/src/test/resources/LexerTest/FloatLiteralTest.tokens
@@ -209,7 +209,7 @@ SIMPLE_NAME("-0x123ABCpZ")
SIMPLE_NAME("-0x123ABCp-")
SIMPLE_NAME("-0x123ABCp-A")
SIMPLE_NAME("-0x123ABCp-Z")
-INTEGER_LITERAL("0x123ABCDE1")
+POSITIVE_INTEGER_LITERAL("0x123ABCDE1")
SIMPLE_NAME("infinitye")
SIMPLE_NAME("-infinitye")
diff --git a/smali/src/test/resources/LexerTest/IntegerLiteralTest.tokens b/smali/src/test/resources/LexerTest/IntegerLiteralTest.tokens
index b829c396..a3610ab0 100644
--- a/smali/src/test/resources/LexerTest/IntegerLiteralTest.tokens
+++ b/smali/src/test/resources/LexerTest/IntegerLiteralTest.tokens
@@ -1,45 +1,45 @@
-INTEGER_LITERAL("0x0")
-INTEGER_LITERAL("0x00")
-INTEGER_LITERAL("0x1")
-INTEGER_LITERAL("0x12345678")
-INTEGER_LITERAL("0x7fffffff")
-INTEGER_LITERAL("0x80000000")
-INTEGER_LITERAL("0xFFFFFFFF")
-INTEGER_LITERAL("-0x00")
-INTEGER_LITERAL("-0x01")
-INTEGER_LITERAL("-0x12345678")
-INTEGER_LITERAL("-0x80000000")
-INTEGER_LITERAL("-0x1FFFFFFF")
-INTEGER_LITERAL("-0x80000001")
-INTEGER_LITERAL("-0xFFFFFFFF")
-INTEGER_LITERAL("-0x100000000")
-INTEGER_LITERAL("0")
-INTEGER_LITERAL("1")
-INTEGER_LITERAL("1234567890")
-INTEGER_LITERAL("2147483647")
-INTEGER_LITERAL("2147483648")
-INTEGER_LITERAL("4294967295")
-INTEGER_LITERAL("-0")
-INTEGER_LITERAL("-1")
-INTEGER_LITERAL("-1234567890")
-INTEGER_LITERAL("-2147483647")
-INTEGER_LITERAL("-2147483648")
-INTEGER_LITERAL("-2147483649")
-INTEGER_LITERAL("-4294967295")
-INTEGER_LITERAL("4294967295")
-INTEGER_LITERAL("4294967300")
-INTEGER_LITERAL("8589934592")
-INTEGER_LITERAL("00")
-INTEGER_LITERAL("01")
-INTEGER_LITERAL("012345670123")
-INTEGER_LITERAL("017777777777")
-INTEGER_LITERAL("020000000000")
-INTEGER_LITERAL("037777777777")
-INTEGER_LITERAL("-00")
-INTEGER_LITERAL("-01")
-INTEGER_LITERAL("-012345670123")
-INTEGER_LITERAL("-017777777777")
-INTEGER_LITERAL("-020000000000")
-INTEGER_LITERAL("-020000000001")
-INTEGER_LITERAL("-037777777777")
-INTEGER_LITERAL("0400000000000") \ No newline at end of file
+POSITIVE_INTEGER_LITERAL("0x0")
+POSITIVE_INTEGER_LITERAL("0x00")
+POSITIVE_INTEGER_LITERAL("0x1")
+POSITIVE_INTEGER_LITERAL("0x12345678")
+POSITIVE_INTEGER_LITERAL("0x7fffffff")
+POSITIVE_INTEGER_LITERAL("0x80000000")
+POSITIVE_INTEGER_LITERAL("0xFFFFFFFF")
+NEGATIVE_INTEGER_LITERAL("-0x00")
+NEGATIVE_INTEGER_LITERAL("-0x01")
+NEGATIVE_INTEGER_LITERAL("-0x12345678")
+NEGATIVE_INTEGER_LITERAL("-0x80000000")
+NEGATIVE_INTEGER_LITERAL("-0x1FFFFFFF")
+NEGATIVE_INTEGER_LITERAL("-0x80000001")
+NEGATIVE_INTEGER_LITERAL("-0xFFFFFFFF")
+NEGATIVE_INTEGER_LITERAL("-0x100000000")
+POSITIVE_INTEGER_LITERAL("0")
+POSITIVE_INTEGER_LITERAL("1")
+POSITIVE_INTEGER_LITERAL("1234567890")
+POSITIVE_INTEGER_LITERAL("2147483647")
+POSITIVE_INTEGER_LITERAL("2147483648")
+POSITIVE_INTEGER_LITERAL("4294967295")
+NEGATIVE_INTEGER_LITERAL("-0")
+NEGATIVE_INTEGER_LITERAL("-1")
+NEGATIVE_INTEGER_LITERAL("-1234567890")
+NEGATIVE_INTEGER_LITERAL("-2147483647")
+NEGATIVE_INTEGER_LITERAL("-2147483648")
+NEGATIVE_INTEGER_LITERAL("-2147483649")
+NEGATIVE_INTEGER_LITERAL("-4294967295")
+POSITIVE_INTEGER_LITERAL("4294967295")
+POSITIVE_INTEGER_LITERAL("4294967300")
+POSITIVE_INTEGER_LITERAL("8589934592")
+POSITIVE_INTEGER_LITERAL("00")
+POSITIVE_INTEGER_LITERAL("01")
+POSITIVE_INTEGER_LITERAL("012345670123")
+POSITIVE_INTEGER_LITERAL("017777777777")
+POSITIVE_INTEGER_LITERAL("020000000000")
+POSITIVE_INTEGER_LITERAL("037777777777")
+NEGATIVE_INTEGER_LITERAL("-00")
+NEGATIVE_INTEGER_LITERAL("-01")
+NEGATIVE_INTEGER_LITERAL("-012345670123")
+NEGATIVE_INTEGER_LITERAL("-017777777777")
+NEGATIVE_INTEGER_LITERAL("-020000000000")
+NEGATIVE_INTEGER_LITERAL("-020000000001")
+NEGATIVE_INTEGER_LITERAL("-037777777777")
+POSITIVE_INTEGER_LITERAL("0400000000000") \ No newline at end of file
diff --git a/smali/src/test/resources/LexerTest/LongLiteralTest.tokens b/smali/src/test/resources/LexerTest/LongLiteralTest.tokens
index f8ab03e8..f67deb33 100644
--- a/smali/src/test/resources/LexerTest/LongLiteralTest.tokens
+++ b/smali/src/test/resources/LexerTest/LongLiteralTest.tokens
@@ -10,39 +10,39 @@ LONG_LITERAL("-0x01L")
LONG_LITERAL("-0x1234567890123456L")
LONG_LITERAL("-0x8000000000000000L")
LONG_LITERAL("-0x1fffffffffffffffL")
-INTEGER_LITERAL("-0x8000000000000001")
-INTEGER_LITERAL("-0xFFFFFFFFFFFFFFFF")
-INTEGER_LITERAL("0x10000000000000000")
+NEGATIVE_INTEGER_LITERAL("-0x8000000000000001")
+NEGATIVE_INTEGER_LITERAL("-0xFFFFFFFFFFFFFFFF")
+POSITIVE_INTEGER_LITERAL("0x10000000000000000")
LONG_LITERAL("0L")
-INTEGER_LITERAL("1")
-INTEGER_LITERAL("1234567890123456789")
+POSITIVE_INTEGER_LITERAL("1")
+POSITIVE_INTEGER_LITERAL("1234567890123456789")
LONG_LITERAL("1234567890123456789L")
-INTEGER_LITERAL("9223372036854775807")
-INTEGER_LITERAL("9223372036854775808")
+POSITIVE_INTEGER_LITERAL("9223372036854775807")
+POSITIVE_INTEGER_LITERAL("9223372036854775808")
LONG_LITERAL("18446744073709551615L")
-INTEGER_LITERAL("-0")
-INTEGER_LITERAL("-1")
-INTEGER_LITERAL("-1234567890123456789")
+NEGATIVE_INTEGER_LITERAL("-0")
+NEGATIVE_INTEGER_LITERAL("-1")
+NEGATIVE_INTEGER_LITERAL("-1234567890123456789")
LONG_LITERAL("-1234567890123456789L")
-INTEGER_LITERAL("-9223372036854775807")
-INTEGER_LITERAL("-9223372036854775808")
-INTEGER_LITERAL("-9223372036854775809")
-INTEGER_LITERAL("-18446744073709551616")
-INTEGER_LITERAL("18446744073709551617")
-INTEGER_LITERAL("18446744073709551700")
-INTEGER_LITERAL("00")
-INTEGER_LITERAL("01")
-INTEGER_LITERAL("0123456701234567012345")
+NEGATIVE_INTEGER_LITERAL("-9223372036854775807")
+NEGATIVE_INTEGER_LITERAL("-9223372036854775808")
+NEGATIVE_INTEGER_LITERAL("-9223372036854775809")
+NEGATIVE_INTEGER_LITERAL("-18446744073709551616")
+POSITIVE_INTEGER_LITERAL("18446744073709551617")
+POSITIVE_INTEGER_LITERAL("18446744073709551700")
+POSITIVE_INTEGER_LITERAL("00")
+POSITIVE_INTEGER_LITERAL("01")
+POSITIVE_INTEGER_LITERAL("0123456701234567012345")
LONG_LITERAL("0123456701234567012345L")
-INTEGER_LITERAL("0777777777777777777777")
-INTEGER_LITERAL("0100000000000000000000")
-INTEGER_LITERAL("0177777777777777777777")
-INTEGER_LITERAL("-00")
-INTEGER_LITERAL("-01")
-INTEGER_LITERAL("-0123456701234567012345")
+POSITIVE_INTEGER_LITERAL("0777777777777777777777")
+POSITIVE_INTEGER_LITERAL("0100000000000000000000")
+POSITIVE_INTEGER_LITERAL("0177777777777777777777")
+NEGATIVE_INTEGER_LITERAL("-00")
+NEGATIVE_INTEGER_LITERAL("-01")
+NEGATIVE_INTEGER_LITERAL("-0123456701234567012345")
LONG_LITERAL("-0123456701234567012345L")
-INTEGER_LITERAL("-0777777777777777777777")
-INTEGER_LITERAL("-0100000000000000000000")
-INTEGER_LITERAL("-0100000000000000000001")
-INTEGER_LITERAL("-0177777777777777777777")
-INTEGER_LITERAL("-02000000000000000000000") \ No newline at end of file
+NEGATIVE_INTEGER_LITERAL("-0777777777777777777777")
+NEGATIVE_INTEGER_LITERAL("-0100000000000000000000")
+NEGATIVE_INTEGER_LITERAL("-0100000000000000000001")
+NEGATIVE_INTEGER_LITERAL("-0177777777777777777777")
+NEGATIVE_INTEGER_LITERAL("-02000000000000000000000") \ No newline at end of file
diff --git a/smali/src/test/resources/LexerTest/MiscTest.tokens b/smali/src/test/resources/LexerTest/MiscTest.tokens
index 841c9935..b42f2514 100644
--- a/smali/src/test/resources/LexerTest/MiscTest.tokens
+++ b/smali/src/test/resources/LexerTest/MiscTest.tokens
@@ -74,5 +74,5 @@ OFFSET("+0777")
OFFSET("+0x1234ABC")
OFFSET("+1234")
-OFFSET("+0") INTEGER_LITERAL("8")
+OFFSET("+0") POSITIVE_INTEGER_LITERAL("8")
INVALID_TOKEN("+") \ No newline at end of file
diff --git a/smali/src/test/resources/LexerTest/RealSmaliFileTest.tokens b/smali/src/test/resources/LexerTest/RealSmaliFileTest.tokens
index fc63c92c..562530df 100644
--- a/smali/src/test/resources/LexerTest/RealSmaliFileTest.tokens
+++ b/smali/src/test/resources/LexerTest/RealSmaliFileTest.tokens
@@ -21,7 +21,7 @@ SIMPLE_NAME("CARD_MAX_APPS")
COLON(":")
PRIMITIVE_TYPE("I")
EQUAL("=")
-INTEGER_LITERAL("0x8")
+POSITIVE_INTEGER_LITERAL("0x8")
FIELD_DIRECTIVE(".field")
SIMPLE_NAME("mWifiOnUid")
COLON(":")
@@ -157,14 +157,14 @@ OPEN_PAREN("(")
CLOSE_PAREN(")")
VOID_TYPE("V")
REGISTERS_DIRECTIVE(".registers")
-INTEGER_LITERAL("1")
+POSITIVE_INTEGER_LITERAL("1")
PROLOGUE_DIRECTIVE(".prologue")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("180")
+POSITIVE_INTEGER_LITERAL("180")
INSTRUCTION_FORMAT11n("const/4")
REGISTER("v0")
COMMA(",")
-INTEGER_LITERAL("0x0")
+POSITIVE_INTEGER_LITERAL("0x0")
INSTRUCTION_FORMAT21c_FIELD("sput")
REGISTER("v0")
COMMA(",")
@@ -174,11 +174,11 @@ SIMPLE_NAME("sKernelWakelockUpdateVersion")
COLON(":")
PRIMITIVE_TYPE("I")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("182")
+POSITIVE_INTEGER_LITERAL("182")
INSTRUCTION_FORMAT11n("const/4")
REGISTER("v0")
COMMA(",")
-INTEGER_LITERAL("0x6")
+POSITIVE_INTEGER_LITERAL("0x6")
INSTRUCTION_FORMAT22c_TYPE("new-array")
REGISTER("v0")
COMMA(",")
@@ -199,7 +199,7 @@ SIMPLE_NAME("PROC_WAKELOCKS_FORMAT")
COLON(":")
ARRAY_DESCRIPTOR("[I")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("3495")
+POSITIVE_INTEGER_LITERAL("3495")
INSTRUCTION_FORMAT21c_TYPE("new-instance")
REGISTER("v0")
COMMA(",")
@@ -225,12 +225,12 @@ COLON(":")
CLASS_DESCRIPTOR("Landroid/os/Parcelable$Creator;")
INSTRUCTION_FORMAT10x("return-void")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("182")
+POSITIVE_INTEGER_LITERAL("182")
INSTRUCTION_FORMAT10x("nop")
COLON(":")
SIMPLE_NAME("array_14")
ARRAY_DATA_DIRECTIVE(".array-data")
-INTEGER_LITERAL("0x4")
+POSITIVE_INTEGER_LITERAL("0x4")
BYTE_LITERAL("0x9t")
BYTE_LITERAL("0x10t")
BYTE_LITERAL("0x0t")
@@ -265,12 +265,12 @@ CLASS_DESCRIPTOR("Lcom/android/internal/telephony/cdma/CDMAPhone;")
CLOSE_PAREN(")")
VOID_TYPE("V")
REGISTERS_DIRECTIVE(".registers")
-INTEGER_LITERAL("2")
+POSITIVE_INTEGER_LITERAL("2")
PARAMETER_DIRECTIVE(".parameter")
STRING_LITERAL("\"phone\"")
PROLOGUE_DIRECTIVE(".prologue")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("42")
+POSITIVE_INTEGER_LITERAL("42")
INSTRUCTION_FORMAT35c_METHOD("invoke-direct")
OPEN_BRACE("{")
REGISTER("p0")
@@ -286,7 +286,7 @@ CLASS_DESCRIPTOR("Lcom/android/internal/telephony/PhoneBase;")
CLOSE_PAREN(")")
VOID_TYPE("V")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("43")
+POSITIVE_INTEGER_LITERAL("43")
INSTRUCTION_FORMAT10x("return-void")
END_METHOD_DIRECTIVE(".end method")
METHOD_DIRECTIVE(".method")
@@ -297,19 +297,19 @@ PRIMITIVE_TYPE("I")
CLOSE_PAREN(")")
CLASS_DESCRIPTOR("Ljava/lang/String;")
REGISTERS_DIRECTIVE(".registers")
-INTEGER_LITERAL("3")
+POSITIVE_INTEGER_LITERAL("3")
PARAMETER_DIRECTIVE(".parameter")
STRING_LITERAL("\"efid\"")
PROLOGUE_DIRECTIVE(".prologue")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("71")
+POSITIVE_INTEGER_LITERAL("71")
INSTRUCTION_FORMAT31t("sparse-switch")
REGISTER("p1")
COMMA(",")
COLON(":")
SIMPLE_NAME("sswitch_data_c")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("77")
+POSITIVE_INTEGER_LITERAL("77")
INSTRUCTION_FORMAT35c_METHOD("invoke-virtual")
OPEN_BRACE("{")
REGISTER("p0")
@@ -331,7 +331,7 @@ SIMPLE_NAME("goto_7")
INSTRUCTION_FORMAT11x("return-object")
REGISTER("v0")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("75")
+POSITIVE_INTEGER_LITERAL("75")
COLON(":")
SIMPLE_NAME("sswitch_8")
INSTRUCTION_FORMAT21c_STRING("const-string")
@@ -342,20 +342,20 @@ INSTRUCTION_FORMAT10t("goto")
COLON(":")
SIMPLE_NAME("goto_7")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("71")
+POSITIVE_INTEGER_LITERAL("71")
INSTRUCTION_FORMAT10x("nop")
COLON(":")
SIMPLE_NAME("sswitch_data_c")
SPARSE_SWITCH_DIRECTIVE(".sparse-switch")
-INTEGER_LITERAL("0x6f32")
+POSITIVE_INTEGER_LITERAL("0x6f32")
ARROW("->")
COLON(":")
SIMPLE_NAME("sswitch_8")
-INTEGER_LITERAL("0x6f3c")
+POSITIVE_INTEGER_LITERAL("0x6f3c")
ARROW("->")
COLON(":")
SIMPLE_NAME("sswitch_8")
-INTEGER_LITERAL("0x6f41")
+POSITIVE_INTEGER_LITERAL("0x6f41")
ARROW("->")
COLON(":")
SIMPLE_NAME("sswitch_8")
@@ -368,19 +368,19 @@ PRIMITIVE_TYPE("I")
CLOSE_PAREN(")")
CLASS_DESCRIPTOR("Lcom/android/internal/telephony/IccCardStatus$CardState;")
REGISTERS_DIRECTIVE(".registers")
-INTEGER_LITERAL("6")
+POSITIVE_INTEGER_LITERAL("6")
PARAMETER_DIRECTIVE(".parameter")
STRING_LITERAL("\"state\"")
PROLOGUE_DIRECTIVE(".prologue")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("59")
+POSITIVE_INTEGER_LITERAL("59")
INSTRUCTION_FORMAT31t("packed-switch")
REGISTER("p1")
COMMA(",")
COLON(":")
SIMPLE_NAME("pswitch_data_26")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("64")
+POSITIVE_INTEGER_LITERAL("64")
INSTRUCTION_FORMAT21c_TYPE("new-instance")
REGISTER("v1")
COMMA(",")
@@ -466,7 +466,7 @@ VOID_TYPE("V")
INSTRUCTION_FORMAT11x("throw")
REGISTER("v1")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("60")
+POSITIVE_INTEGER_LITERAL("60")
COLON(":")
SIMPLE_NAME("pswitch_1c")
INSTRUCTION_FORMAT21c_FIELD("sget-object")
@@ -478,7 +478,7 @@ SIMPLE_NAME("CARDSTATE_ABSENT")
COLON(":")
CLASS_DESCRIPTOR("Lcom/android/internal/telephony/IccCardStatus$CardState;")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("67")
+POSITIVE_INTEGER_LITERAL("67")
LOCAL_DIRECTIVE(".local")
REGISTER("v0")
COMMA(",")
@@ -490,7 +490,7 @@ SIMPLE_NAME("goto_1e")
INSTRUCTION_FORMAT11x("return-object")
REGISTER("v0")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("61")
+POSITIVE_INTEGER_LITERAL("61")
END_LOCAL_DIRECTIVE(".end local")
REGISTER("v0")
COLON(":")
@@ -509,7 +509,7 @@ INSTRUCTION_FORMAT10t("goto")
COLON(":")
SIMPLE_NAME("goto_1e")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("62")
+POSITIVE_INTEGER_LITERAL("62")
END_LOCAL_DIRECTIVE(".end local")
REGISTER("v0")
COLON(":")
@@ -528,12 +528,12 @@ INSTRUCTION_FORMAT10t("goto")
COLON(":")
SIMPLE_NAME("goto_1e")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("59")
+POSITIVE_INTEGER_LITERAL("59")
INSTRUCTION_FORMAT10x("nop")
COLON(":")
SIMPLE_NAME("pswitch_data_26")
PACKED_SWITCH_DIRECTIVE(".packed-switch")
-INTEGER_LITERAL("0x0")
+POSITIVE_INTEGER_LITERAL("0x0")
COLON(":")
SIMPLE_NAME("pswitch_1c")
COLON(":")
@@ -550,7 +550,7 @@ PARAM_LIST("IILjava/lang/String;ILandroid/os/Message;")
CLOSE_PAREN(")")
VOID_TYPE("V")
REGISTERS_DIRECTIVE(".registers")
-INTEGER_LITERAL("13")
+POSITIVE_INTEGER_LITERAL("13")
PARAMETER_DIRECTIVE(".parameter")
STRING_LITERAL("\"commandInterfaceCFAction\"")
PARAMETER_DIRECTIVE(".parameter")
@@ -565,13 +565,13 @@ PROLOGUE_DIRECTIVE(".prologue")
INSTRUCTION_FORMAT11n("const/4")
REGISTER("v3")
COMMA(",")
-INTEGER_LITERAL("0x1")
+POSITIVE_INTEGER_LITERAL("0x1")
INSTRUCTION_FORMAT11n("const/4")
REGISTER("v4")
COMMA(",")
-INTEGER_LITERAL("0x0")
+POSITIVE_INTEGER_LITERAL("0x0")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("981")
+POSITIVE_INTEGER_LITERAL("981")
INSTRUCTION_FORMAT35c_METHOD("invoke-direct")
OPEN_BRACE("{")
REGISTER("p0")
@@ -615,14 +615,14 @@ COMMA(",")
COLON(":")
SIMPLE_NAME("cond_28")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("985")
+POSITIVE_INTEGER_LITERAL("985")
INSTRUCTION_FORMAT21t("if-nez")
REGISTER("p2")
COMMA(",")
COLON(":")
SIMPLE_NAME("cond_2b")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("986")
+POSITIVE_INTEGER_LITERAL("986")
INSTRUCTION_FORMAT22c_FIELD("iget-object")
REGISTER("v0")
COMMA(",")
@@ -636,7 +636,7 @@ CLASS_DESCRIPTOR("Lcom/android/internal/telephony/gsm/GSMPhone$MyHandler;")
INSTRUCTION_FORMAT21s("const/16")
REGISTER("v1")
COMMA(",")
-INTEGER_LITERAL("0xc")
+POSITIVE_INTEGER_LITERAL("0xc")
INSTRUCTION_FORMAT35c_METHOD("invoke-virtual")
OPEN_BRACE("{")
REGISTER("p0")
@@ -687,7 +687,7 @@ CLASS_DESCRIPTOR("Landroid/os/Message;")
INSTRUCTION_FORMAT11x("move-result-object")
REGISTER("v6")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("991")
+POSITIVE_INTEGER_LITERAL("991")
LOCAL_DIRECTIVE(".local")
REGISTER("v6")
COMMA(",")
@@ -737,7 +737,7 @@ PARAM_LIST("IIILjava/lang/String;ILandroid/os/Message;")
CLOSE_PAREN(")")
VOID_TYPE("V")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("998")
+POSITIVE_INTEGER_LITERAL("998")
END_LOCAL_DIRECTIVE(".end local")
REGISTER("v6")
COLON(":")
@@ -750,12 +750,12 @@ REGISTER("v2")
COMMA(",")
REGISTER("v4")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("986")
+POSITIVE_INTEGER_LITERAL("986")
INSTRUCTION_FORMAT10t("goto")
COLON(":")
SIMPLE_NAME("goto_1b")
LINE_DIRECTIVE(".line")
-INTEGER_LITERAL("989")
+POSITIVE_INTEGER_LITERAL("989")
COLON(":")
SIMPLE_NAME("cond_2b")
INSTRUCTION_FORMAT12x_OR_ID("move-object")
diff --git a/smali/src/test/resources/LexerTest/ShortLiteralTest.tokens b/smali/src/test/resources/LexerTest/ShortLiteralTest.tokens
index d0a1fabf..d8521c1b 100644
--- a/smali/src/test/resources/LexerTest/ShortLiteralTest.tokens
+++ b/smali/src/test/resources/LexerTest/ShortLiteralTest.tokens
@@ -1,49 +1,49 @@
SHORT_LITERAL("0x0S")
-INTEGER_LITERAL("0x00")
+POSITIVE_INTEGER_LITERAL("0x00")
SHORT_LITERAL("0x1s")
-INTEGER_LITERAL("0x1234")
+POSITIVE_INTEGER_LITERAL("0x1234")
SHORT_LITERAL("0x7fffS")
SHORT_LITERAL("0x8000s")
-INTEGER_LITERAL("0xFFFF")
-INTEGER_LITERAL("-0x00")
-INTEGER_LITERAL("-0x01")
-INTEGER_LITERAL("-01234")
+POSITIVE_INTEGER_LITERAL("0xFFFF")
+NEGATIVE_INTEGER_LITERAL("-0x00")
+NEGATIVE_INTEGER_LITERAL("-0x01")
+NEGATIVE_INTEGER_LITERAL("-01234")
SHORT_LITERAL("-01234s")
-INTEGER_LITERAL("-0x8000")
-INTEGER_LITERAL("-0x1fff")
+NEGATIVE_INTEGER_LITERAL("-0x8000")
+NEGATIVE_INTEGER_LITERAL("-0x1fff")
SHORT_LITERAL("-0x1fffS")
-INTEGER_LITERAL("-0x8001")
-INTEGER_LITERAL("-0xFFFF")
-INTEGER_LITERAL("-0x100000")
-INTEGER_LITERAL("0")
-INTEGER_LITERAL("1")
-INTEGER_LITERAL("12345")
+NEGATIVE_INTEGER_LITERAL("-0x8001")
+NEGATIVE_INTEGER_LITERAL("-0xFFFF")
+NEGATIVE_INTEGER_LITERAL("-0x100000")
+POSITIVE_INTEGER_LITERAL("0")
+POSITIVE_INTEGER_LITERAL("1")
+POSITIVE_INTEGER_LITERAL("12345")
SHORT_LITERAL("12345s")
-INTEGER_LITERAL("32767")
-INTEGER_LITERAL("32678")
+POSITIVE_INTEGER_LITERAL("32767")
+POSITIVE_INTEGER_LITERAL("32678")
SHORT_LITERAL("65535S")
-INTEGER_LITERAL("-0")
-INTEGER_LITERAL("-1")
+NEGATIVE_INTEGER_LITERAL("-0")
+NEGATIVE_INTEGER_LITERAL("-1")
SHORT_LITERAL("-12345S")
-INTEGER_LITERAL("-32767")
+NEGATIVE_INTEGER_LITERAL("-32767")
SHORT_LITERAL("-32768s")
SHORT_LITERAL("-32679s")
SHORT_LITERAL("-65535s")
-INTEGER_LITERAL("65536")
-INTEGER_LITERAL("65600")
-INTEGER_LITERAL("00")
-INTEGER_LITERAL("01")
-INTEGER_LITERAL("012345")
+POSITIVE_INTEGER_LITERAL("65536")
+POSITIVE_INTEGER_LITERAL("65600")
+POSITIVE_INTEGER_LITERAL("00")
+POSITIVE_INTEGER_LITERAL("01")
+POSITIVE_INTEGER_LITERAL("012345")
SHORT_LITERAL("012345s")
-INTEGER_LITERAL("077777")
-INTEGER_LITERAL("0100000")
-INTEGER_LITERAL("0177777")
-INTEGER_LITERAL("-00")
-INTEGER_LITERAL("-01")
-INTEGER_LITERAL("-012345")
+POSITIVE_INTEGER_LITERAL("077777")
+POSITIVE_INTEGER_LITERAL("0100000")
+POSITIVE_INTEGER_LITERAL("0177777")
+NEGATIVE_INTEGER_LITERAL("-00")
+NEGATIVE_INTEGER_LITERAL("-01")
+NEGATIVE_INTEGER_LITERAL("-012345")
SHORT_LITERAL("-012345S")
-INTEGER_LITERAL("-077777")
-INTEGER_LITERAL("-0100000")
-INTEGER_LITERAL("-0100001")
-INTEGER_LITERAL("-0177777")
-INTEGER_LITERAL("0200000") \ No newline at end of file
+NEGATIVE_INTEGER_LITERAL("-077777")
+NEGATIVE_INTEGER_LITERAL("-0100000")
+NEGATIVE_INTEGER_LITERAL("-0100001")
+NEGATIVE_INTEGER_LITERAL("-0177777")
+POSITIVE_INTEGER_LITERAL("0200000") \ No newline at end of file