From 52dc0ddc84544a59d3a2580d9944d0482a633349 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 28 Jul 2018 13:00:16 +0300 Subject: [PATCH] Add vis test --- src/parser/grammar/mod.rs | 5 ++ .../parser/inline/0037_crate_visibility.rs | 4 ++ .../parser/inline/0037_crate_visibility.txt | 53 +++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 tests/data/parser/inline/0037_crate_visibility.rs create mode 100644 tests/data/parser/inline/0037_crate_visibility.txt diff --git a/src/parser/grammar/mod.rs b/src/parser/grammar/mod.rs index 54a63a5474..23216452f4 100644 --- a/src/parser/grammar/mod.rs +++ b/src/parser/grammar/mod.rs @@ -47,6 +47,11 @@ fn visibility(p: &mut Parser) { p.bump(); if p.at(L_PAREN) { match p.nth(1) { + // test crate_visibility + // pub(crate) struct S; + // pub(self) struct S; + // pub(self) struct S; + // pub(self) struct S; CRATE_KW | SELF_KW | SUPER_KW => { p.bump(); p.bump(); diff --git a/tests/data/parser/inline/0037_crate_visibility.rs b/tests/data/parser/inline/0037_crate_visibility.rs new file mode 100644 index 0000000000..faeefde94e --- /dev/null +++ b/tests/data/parser/inline/0037_crate_visibility.rs @@ -0,0 +1,4 @@ +pub(crate) struct S; +pub(self) struct S; +pub(self) struct S; +pub(self) struct S; diff --git a/tests/data/parser/inline/0037_crate_visibility.txt b/tests/data/parser/inline/0037_crate_visibility.txt new file mode 100644 index 0000000000..5fb410b676 --- /dev/null +++ b/tests/data/parser/inline/0037_crate_visibility.txt @@ -0,0 +1,53 @@ +FILE@[0; 81) + STRUCT_ITEM@[0; 21) + VISIBILITY@[0; 11) + PUB_KW@[0; 3) + L_PAREN@[3; 4) + CRATE_KW@[4; 9) + R_PAREN@[9; 10) + WHITESPACE@[10; 11) + STRUCT_KW@[11; 17) + NAME@[17; 19) + WHITESPACE@[17; 18) + IDENT@[18; 19) "S" + SEMI@[19; 20) + WHITESPACE@[20; 21) + STRUCT_ITEM@[21; 41) + VISIBILITY@[21; 31) + PUB_KW@[21; 24) + L_PAREN@[24; 25) + SELF_KW@[25; 29) + R_PAREN@[29; 30) + WHITESPACE@[30; 31) + STRUCT_KW@[31; 37) + NAME@[37; 39) + WHITESPACE@[37; 38) + IDENT@[38; 39) "S" + SEMI@[39; 40) + WHITESPACE@[40; 41) + STRUCT_ITEM@[41; 61) + VISIBILITY@[41; 51) + PUB_KW@[41; 44) + L_PAREN@[44; 45) + SELF_KW@[45; 49) + R_PAREN@[49; 50) + WHITESPACE@[50; 51) + STRUCT_KW@[51; 57) + NAME@[57; 59) + WHITESPACE@[57; 58) + IDENT@[58; 59) "S" + SEMI@[59; 60) + WHITESPACE@[60; 61) + STRUCT_ITEM@[61; 81) + VISIBILITY@[61; 71) + PUB_KW@[61; 64) + L_PAREN@[64; 65) + SELF_KW@[65; 69) + R_PAREN@[69; 70) + WHITESPACE@[70; 71) + STRUCT_KW@[71; 77) + NAME@[77; 79) + WHITESPACE@[77; 78) + IDENT@[78; 79) "S" + SEMI@[79; 80) + WHITESPACE@[80; 81)