From 29b2e0adcc35834dda2884222624bfcc268a3eff Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 13 Jan 2018 11:55:03 +0300 Subject: G: allow self & super in paths --- tests/data/parser/err/0004_use_path_bad_segment.rs | 1 + .../data/parser/err/0004_use_path_bad_segment.txt | 16 +++++++ tests/data/parser/ok/0012_visibility.txt | 2 +- tests/data/parser/ok/0013_use_path_self_super.rs | 3 ++ tests/data/parser/ok/0013_use_path_self_super.txt | 50 ++++++++++++++++++++++ 5 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 tests/data/parser/err/0004_use_path_bad_segment.rs create mode 100644 tests/data/parser/err/0004_use_path_bad_segment.txt create mode 100644 tests/data/parser/ok/0013_use_path_self_super.rs create mode 100644 tests/data/parser/ok/0013_use_path_self_super.txt (limited to 'tests/data/parser') diff --git a/tests/data/parser/err/0004_use_path_bad_segment.rs b/tests/data/parser/err/0004_use_path_bad_segment.rs new file mode 100644 index 000000000..060e65d06 --- /dev/null +++ b/tests/data/parser/err/0004_use_path_bad_segment.rs @@ -0,0 +1 @@ +use foo::92; \ No newline at end of file diff --git a/tests/data/parser/err/0004_use_path_bad_segment.txt b/tests/data/parser/err/0004_use_path_bad_segment.txt new file mode 100644 index 000000000..241ee8562 --- /dev/null +++ b/tests/data/parser/err/0004_use_path_bad_segment.txt @@ -0,0 +1,16 @@ +FILE@[0; 12) + USE_ITEM@[0; 9) + USE_KW@[0; 3) + PATH@[3; 9) + PATH@[3; 7) + PATH_SEGMENT@[3; 7) + WHITESPACE@[3; 4) + IDENT@[4; 7) + COLONCOLON@[7; 9) + PATH_SEGMENT@[9; 9) + err: `expected identifier` + err: `expected SEMI` + ERROR@[9; 12) + err: `expected item` + INT_NUMBER@[9; 11) + SEMI@[11; 12) diff --git a/tests/data/parser/ok/0012_visibility.txt b/tests/data/parser/ok/0012_visibility.txt index 8324c48d5..0e091724d 100644 --- a/tests/data/parser/ok/0012_visibility.txt +++ b/tests/data/parser/ok/0012_visibility.txt @@ -58,7 +58,7 @@ FILE@[0; 98) VISIBILITY@[66; 88) PUB_KW@[66; 69) L_PAREN@[69; 70) - IDENT@[70; 72) + IN_KW@[70; 72) PATH@[72; 86) PATH@[72; 81) PATH@[72; 76) diff --git a/tests/data/parser/ok/0013_use_path_self_super.rs b/tests/data/parser/ok/0013_use_path_self_super.rs new file mode 100644 index 000000000..faf6a42c7 --- /dev/null +++ b/tests/data/parser/ok/0013_use_path_self_super.rs @@ -0,0 +1,3 @@ +use self::foo; +use super::super::bar; +use ::self::a::super::bar; diff --git a/tests/data/parser/ok/0013_use_path_self_super.txt b/tests/data/parser/ok/0013_use_path_self_super.txt new file mode 100644 index 000000000..90bbb9b2d --- /dev/null +++ b/tests/data/parser/ok/0013_use_path_self_super.txt @@ -0,0 +1,50 @@ +FILE@[0; 65) + USE_ITEM@[0; 15) + USE_KW@[0; 3) + PATH@[3; 13) + PATH@[3; 8) + PATH_SEGMENT@[3; 8) + WHITESPACE@[3; 4) + SELF_KW@[4; 8) + COLONCOLON@[8; 10) + PATH_SEGMENT@[10; 13) + IDENT@[10; 13) + SEMI@[13; 14) + WHITESPACE@[14; 15) + USE_ITEM@[15; 38) + USE_KW@[15; 18) + PATH@[18; 36) + PATH@[18; 31) + PATH@[18; 24) + PATH_SEGMENT@[18; 24) + WHITESPACE@[18; 19) + SUPER_KW@[19; 24) + COLONCOLON@[24; 26) + PATH_SEGMENT@[26; 31) + SUPER_KW@[26; 31) + COLONCOLON@[31; 33) + PATH_SEGMENT@[33; 36) + IDENT@[33; 36) + SEMI@[36; 37) + WHITESPACE@[37; 38) + USE_ITEM@[38; 65) + USE_KW@[38; 41) + PATH@[41; 63) + PATH@[41; 58) + PATH@[41; 51) + PATH@[41; 48) + PATH_SEGMENT@[41; 48) + WHITESPACE@[41; 42) + COLONCOLON@[42; 44) + SELF_KW@[44; 48) + COLONCOLON@[48; 50) + PATH_SEGMENT@[50; 51) + IDENT@[50; 51) + COLONCOLON@[51; 53) + PATH_SEGMENT@[53; 58) + SUPER_KW@[53; 58) + COLONCOLON@[58; 60) + PATH_SEGMENT@[60; 63) + IDENT@[60; 63) + SEMI@[63; 64) + WHITESPACE@[64; 65) -- cgit v1.2.3