From 71efdaa6364142b359c59659ec10f35a1e53b5d2 Mon Sep 17 00:00:00 2001 From: uHOOCCOOHu Date: Mon, 30 Sep 2019 04:44:33 +0800 Subject: Parse correct AttrInput --- .../test_data/parser/ok/0006_inner_attributes.txt | 268 +++++++++++---------- .../test_data/parser/ok/0008_mod_item.txt | 10 +- .../test_data/parser/ok/0011_outer_attribute.rs | 3 + .../test_data/parser/ok/0011_outer_attribute.txt | 53 ++-- .../parser/ok/0017_attr_trailing_comma.txt | 20 +- .../test_data/parser/ok/0035_weird_exprs.txt | 89 ++++--- .../test_data/parser/ok/0044_let_attrs.txt | 26 +- .../test_data/parser/ok/0045_block_inner_attrs.txt | 90 ++++--- .../parser/ok/0046_extern_inner_attributes.txt | 18 +- .../test_data/parser/ok/0051_parameter_attrs.txt | 150 +++++++----- .../ok/0053_outer_attribute_on_macro_rules.txt | 10 +- 11 files changed, 423 insertions(+), 314 deletions(-) (limited to 'crates/ra_syntax/test_data/parser/ok') diff --git a/crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.txt b/crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.txt index d8cabc9af..d72b72561 100644 --- a/crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.txt +++ b/crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.txt @@ -2,163 +2,183 @@ SOURCE_FILE@[0; 236) ATTR@[0; 8) POUND@[0; 1) "#" EXCL@[1; 2) "!" - TOKEN_TREE@[2; 8) - L_BRACK@[2; 3) "[" - IDENT@[3; 7) "attr" - R_BRACK@[7; 8) "]" + L_BRACK@[2; 3) "[" + PATH@[3; 7) + PATH_SEGMENT@[3; 7) + NAME_REF@[3; 7) + IDENT@[3; 7) "attr" + R_BRACK@[7; 8) "]" WHITESPACE@[8; 9) "\n" ATTR@[9; 23) POUND@[9; 10) "#" EXCL@[10; 11) "!" - TOKEN_TREE@[11; 23) - L_BRACK@[11; 12) "[" - IDENT@[12; 16) "attr" - TOKEN_TREE@[16; 22) - L_PAREN@[16; 17) "(" - TRUE_KW@[17; 21) "true" - R_PAREN@[21; 22) ")" - R_BRACK@[22; 23) "]" + L_BRACK@[11; 12) "[" + PATH@[12; 16) + PATH_SEGMENT@[12; 16) + NAME_REF@[12; 16) + IDENT@[12; 16) "attr" + TOKEN_TREE@[16; 22) + L_PAREN@[16; 17) "(" + TRUE_KW@[17; 21) "true" + R_PAREN@[21; 22) ")" + R_BRACK@[22; 23) "]" WHITESPACE@[23; 24) "\n" ATTR@[24; 39) POUND@[24; 25) "#" EXCL@[25; 26) "!" - TOKEN_TREE@[26; 39) - L_BRACK@[26; 27) "[" - IDENT@[27; 31) "attr" - TOKEN_TREE@[31; 38) - L_PAREN@[31; 32) "(" - IDENT@[32; 37) "ident" - R_PAREN@[37; 38) ")" - R_BRACK@[38; 39) "]" + L_BRACK@[26; 27) "[" + PATH@[27; 31) + PATH_SEGMENT@[27; 31) + NAME_REF@[27; 31) + IDENT@[27; 31) "attr" + TOKEN_TREE@[31; 38) + L_PAREN@[31; 32) "(" + IDENT@[32; 37) "ident" + R_PAREN@[37; 38) ")" + R_BRACK@[38; 39) "]" WHITESPACE@[39; 40) "\n" ATTR@[40; 116) POUND@[40; 41) "#" EXCL@[41; 42) "!" - TOKEN_TREE@[42; 116) - L_BRACK@[42; 43) "[" - IDENT@[43; 47) "attr" - TOKEN_TREE@[47; 115) - L_PAREN@[47; 48) "(" - IDENT@[48; 53) "ident" - COMMA@[53; 54) "," - WHITESPACE@[54; 55) " " - INT_NUMBER@[55; 58) "100" - COMMA@[58; 59) "," - WHITESPACE@[59; 60) " " - TRUE_KW@[60; 64) "true" - COMMA@[64; 65) "," - WHITESPACE@[65; 66) " " - STRING@[66; 72) "\"true\"" - COMMA@[72; 73) "," - WHITESPACE@[73; 74) " " - IDENT@[74; 79) "ident" - WHITESPACE@[79; 80) " " - EQ@[80; 81) "=" - WHITESPACE@[81; 82) " " - INT_NUMBER@[82; 85) "100" - COMMA@[85; 86) "," - WHITESPACE@[86; 87) " " - IDENT@[87; 92) "ident" - WHITESPACE@[92; 93) " " - EQ@[93; 94) "=" - WHITESPACE@[94; 95) " " - STRING@[95; 102) "\"hello\"" - COMMA@[102; 103) "," - WHITESPACE@[103; 104) " " - IDENT@[104; 109) "ident" - TOKEN_TREE@[109; 114) - L_PAREN@[109; 110) "(" - INT_NUMBER@[110; 113) "100" - R_PAREN@[113; 114) ")" - R_PAREN@[114; 115) ")" - R_BRACK@[115; 116) "]" + L_BRACK@[42; 43) "[" + PATH@[43; 47) + PATH_SEGMENT@[43; 47) + NAME_REF@[43; 47) + IDENT@[43; 47) "attr" + TOKEN_TREE@[47; 115) + L_PAREN@[47; 48) "(" + IDENT@[48; 53) "ident" + COMMA@[53; 54) "," + WHITESPACE@[54; 55) " " + INT_NUMBER@[55; 58) "100" + COMMA@[58; 59) "," + WHITESPACE@[59; 60) " " + TRUE_KW@[60; 64) "true" + COMMA@[64; 65) "," + WHITESPACE@[65; 66) " " + STRING@[66; 72) "\"true\"" + COMMA@[72; 73) "," + WHITESPACE@[73; 74) " " + IDENT@[74; 79) "ident" + WHITESPACE@[79; 80) " " + EQ@[80; 81) "=" + WHITESPACE@[81; 82) " " + INT_NUMBER@[82; 85) "100" + COMMA@[85; 86) "," + WHITESPACE@[86; 87) " " + IDENT@[87; 92) "ident" + WHITESPACE@[92; 93) " " + EQ@[93; 94) "=" + WHITESPACE@[94; 95) " " + STRING@[95; 102) "\"hello\"" + COMMA@[102; 103) "," + WHITESPACE@[103; 104) " " + IDENT@[104; 109) "ident" + TOKEN_TREE@[109; 114) + L_PAREN@[109; 110) "(" + INT_NUMBER@[110; 113) "100" + R_PAREN@[113; 114) ")" + R_PAREN@[114; 115) ")" + R_BRACK@[115; 116) "]" WHITESPACE@[116; 117) "\n" ATTR@[117; 130) POUND@[117; 118) "#" EXCL@[118; 119) "!" - TOKEN_TREE@[119; 130) - L_BRACK@[119; 120) "[" - IDENT@[120; 124) "attr" - TOKEN_TREE@[124; 129) - L_PAREN@[124; 125) "(" - INT_NUMBER@[125; 128) "100" - R_PAREN@[128; 129) ")" - R_BRACK@[129; 130) "]" + L_BRACK@[119; 120) "[" + PATH@[120; 124) + PATH_SEGMENT@[120; 124) + NAME_REF@[120; 124) + IDENT@[120; 124) "attr" + TOKEN_TREE@[124; 129) + L_PAREN@[124; 125) "(" + INT_NUMBER@[125; 128) "100" + R_PAREN@[128; 129) ")" + R_BRACK@[129; 130) "]" WHITESPACE@[130; 131) "\n" ATTR@[131; 155) POUND@[131; 132) "#" EXCL@[132; 133) "!" - TOKEN_TREE@[133; 155) - L_BRACK@[133; 134) "[" - IDENT@[134; 138) "attr" - TOKEN_TREE@[138; 154) - L_PAREN@[138; 139) "(" - IDENT@[139; 146) "enabled" - WHITESPACE@[146; 147) " " - EQ@[147; 148) "=" - WHITESPACE@[148; 149) " " - TRUE_KW@[149; 153) "true" - R_PAREN@[153; 154) ")" - R_BRACK@[154; 155) "]" + L_BRACK@[133; 134) "[" + PATH@[134; 138) + PATH_SEGMENT@[134; 138) + NAME_REF@[134; 138) + IDENT@[134; 138) "attr" + TOKEN_TREE@[138; 154) + L_PAREN@[138; 139) "(" + IDENT@[139; 146) "enabled" + WHITESPACE@[146; 147) " " + EQ@[147; 148) "=" + WHITESPACE@[148; 149) " " + TRUE_KW@[149; 153) "true" + R_PAREN@[153; 154) ")" + R_BRACK@[154; 155) "]" WHITESPACE@[155; 156) "\n" ATTR@[156; 173) POUND@[156; 157) "#" EXCL@[157; 158) "!" - TOKEN_TREE@[158; 173) - L_BRACK@[158; 159) "[" - IDENT@[159; 166) "enabled" - TOKEN_TREE@[166; 172) - L_PAREN@[166; 167) "(" - TRUE_KW@[167; 171) "true" - R_PAREN@[171; 172) ")" - R_BRACK@[172; 173) "]" + L_BRACK@[158; 159) "[" + PATH@[159; 166) + PATH_SEGMENT@[159; 166) + NAME_REF@[159; 166) + IDENT@[159; 166) "enabled" + TOKEN_TREE@[166; 172) + L_PAREN@[166; 167) "(" + TRUE_KW@[167; 171) "true" + R_PAREN@[171; 172) ")" + R_BRACK@[172; 173) "]" WHITESPACE@[173; 174) "\n" ATTR@[174; 191) POUND@[174; 175) "#" EXCL@[175; 176) "!" - TOKEN_TREE@[176; 191) - L_BRACK@[176; 177) "[" - IDENT@[177; 181) "attr" - TOKEN_TREE@[181; 190) - L_PAREN@[181; 182) "(" - STRING@[182; 189) "\"hello\"" - R_PAREN@[189; 190) ")" - R_BRACK@[190; 191) "]" + L_BRACK@[176; 177) "[" + PATH@[177; 181) + PATH_SEGMENT@[177; 181) + NAME_REF@[177; 181) + IDENT@[177; 181) "attr" + TOKEN_TREE@[181; 190) + L_PAREN@[181; 182) "(" + STRING@[182; 189) "\"hello\"" + R_PAREN@[189; 190) ")" + R_BRACK@[190; 191) "]" WHITESPACE@[191; 192) "\n" ATTR@[192; 214) POUND@[192; 193) "#" EXCL@[193; 194) "!" - TOKEN_TREE@[194; 214) - L_BRACK@[194; 195) "[" - IDENT@[195; 199) "repr" - TOKEN_TREE@[199; 213) - L_PAREN@[199; 200) "(" - IDENT@[200; 201) "C" - COMMA@[201; 202) "," - WHITESPACE@[202; 203) " " - IDENT@[203; 208) "align" - WHITESPACE@[208; 209) " " - EQ@[209; 210) "=" - WHITESPACE@[210; 211) " " - INT_NUMBER@[211; 212) "4" - R_PAREN@[212; 213) ")" - R_BRACK@[213; 214) "]" + L_BRACK@[194; 195) "[" + PATH@[195; 199) + PATH_SEGMENT@[195; 199) + NAME_REF@[195; 199) + IDENT@[195; 199) "repr" + TOKEN_TREE@[199; 213) + L_PAREN@[199; 200) "(" + IDENT@[200; 201) "C" + COMMA@[201; 202) "," + WHITESPACE@[202; 203) " " + IDENT@[203; 208) "align" + WHITESPACE@[208; 209) " " + EQ@[209; 210) "=" + WHITESPACE@[210; 211) " " + INT_NUMBER@[211; 212) "4" + R_PAREN@[212; 213) ")" + R_BRACK@[213; 214) "]" WHITESPACE@[214; 215) "\n" ATTR@[215; 236) POUND@[215; 216) "#" EXCL@[216; 217) "!" - TOKEN_TREE@[217; 236) - L_BRACK@[217; 218) "[" - IDENT@[218; 222) "repr" - TOKEN_TREE@[222; 235) - L_PAREN@[222; 223) "(" - IDENT@[223; 224) "C" - COMMA@[224; 225) "," - WHITESPACE@[225; 226) " " - IDENT@[226; 231) "align" - TOKEN_TREE@[231; 234) - L_PAREN@[231; 232) "(" - INT_NUMBER@[232; 233) "4" - R_PAREN@[233; 234) ")" - R_PAREN@[234; 235) ")" - R_BRACK@[235; 236) "]" + L_BRACK@[217; 218) "[" + PATH@[218; 222) + PATH_SEGMENT@[218; 222) + NAME_REF@[218; 222) + IDENT@[218; 222) "repr" + TOKEN_TREE@[222; 235) + L_PAREN@[222; 223) "(" + IDENT@[223; 224) "C" + COMMA@[224; 225) "," + WHITESPACE@[225; 226) " " + IDENT@[226; 231) "align" + TOKEN_TREE@[231; 234) + L_PAREN@[231; 232) "(" + INT_NUMBER@[232; 233) "4" + R_PAREN@[233; 234) ")" + R_PAREN@[234; 235) ")" + R_BRACK@[235; 236) "]" diff --git a/crates/ra_syntax/test_data/parser/ok/0008_mod_item.txt b/crates/ra_syntax/test_data/parser/ok/0008_mod_item.txt index 35465632d..061019a73 100644 --- a/crates/ra_syntax/test_data/parser/ok/0008_mod_item.txt +++ b/crates/ra_syntax/test_data/parser/ok/0008_mod_item.txt @@ -65,10 +65,12 @@ SOURCE_FILE@[0; 118) ATTR@[79; 87) POUND@[79; 80) "#" EXCL@[80; 81) "!" - TOKEN_TREE@[81; 87) - L_BRACK@[81; 82) "[" - IDENT@[82; 86) "attr" - R_BRACK@[86; 87) "]" + L_BRACK@[81; 82) "[" + PATH@[82; 86) + PATH_SEGMENT@[82; 86) + NAME_REF@[82; 86) + IDENT@[82; 86) "attr" + R_BRACK@[86; 87) "]" WHITESPACE@[87; 92) "\n " MODULE@[92; 98) MOD_KW@[92; 95) "mod" diff --git a/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.rs b/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.rs index 8b80c0d90..3d2e01d5c 100644 --- a/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.rs +++ b/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.rs @@ -1,3 +1,6 @@ #[cfg(test)] #[ignore] fn foo() {} + +#[path = "a.rs"] +mod b; diff --git a/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.txt b/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.txt index a845c5c24..f7aa8afe4 100644 --- a/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.txt +++ b/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.txt @@ -1,22 +1,26 @@ -SOURCE_FILE@[0; 35) +SOURCE_FILE@[0; 60) FN_DEF@[0; 34) ATTR@[0; 12) POUND@[0; 1) "#" - TOKEN_TREE@[1; 12) - L_BRACK@[1; 2) "[" - IDENT@[2; 5) "cfg" - TOKEN_TREE@[5; 11) - L_PAREN@[5; 6) "(" - IDENT@[6; 10) "test" - R_PAREN@[10; 11) ")" - R_BRACK@[11; 12) "]" + L_BRACK@[1; 2) "[" + PATH@[2; 5) + PATH_SEGMENT@[2; 5) + NAME_REF@[2; 5) + IDENT@[2; 5) "cfg" + TOKEN_TREE@[5; 11) + L_PAREN@[5; 6) "(" + IDENT@[6; 10) "test" + R_PAREN@[10; 11) ")" + R_BRACK@[11; 12) "]" WHITESPACE@[12; 13) "\n" ATTR@[13; 22) POUND@[13; 14) "#" - TOKEN_TREE@[14; 22) - L_BRACK@[14; 15) "[" - IDENT@[15; 21) "ignore" - R_BRACK@[21; 22) "]" + L_BRACK@[14; 15) "[" + PATH@[15; 21) + PATH_SEGMENT@[15; 21) + NAME_REF@[15; 21) + IDENT@[15; 21) "ignore" + R_BRACK@[21; 22) "]" WHITESPACE@[22; 23) "\n" FN_KW@[23; 25) "fn" WHITESPACE@[25; 26) " " @@ -30,4 +34,25 @@ SOURCE_FILE@[0; 35) BLOCK@[32; 34) L_CURLY@[32; 33) "{" R_CURLY@[33; 34) "}" - WHITESPACE@[34; 35) "\n" + WHITESPACE@[34; 36) "\n\n" + MODULE@[36; 59) + ATTR@[36; 52) + POUND@[36; 37) "#" + L_BRACK@[37; 38) "[" + PATH@[38; 42) + PATH_SEGMENT@[38; 42) + NAME_REF@[38; 42) + IDENT@[38; 42) "path" + WHITESPACE@[42; 43) " " + EQ@[43; 44) "=" + WHITESPACE@[44; 45) " " + LITERAL@[45; 51) + STRING@[45; 51) "\"a.rs\"" + R_BRACK@[51; 52) "]" + WHITESPACE@[52; 53) "\n" + MOD_KW@[53; 56) "mod" + WHITESPACE@[56; 57) " " + NAME@[57; 58) + IDENT@[57; 58) "b" + SEMI@[58; 59) ";" + WHITESPACE@[59; 60) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.txt b/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.txt index a1084b221..1d65b0d6e 100644 --- a/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.txt +++ b/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.txt @@ -2,15 +2,17 @@ SOURCE_FILE@[0; 23) FN_DEF@[0; 22) ATTR@[0; 10) POUND@[0; 1) "#" - TOKEN_TREE@[1; 10) - L_BRACK@[1; 2) "[" - IDENT@[2; 5) "foo" - TOKEN_TREE@[5; 9) - L_PAREN@[5; 6) "(" - IDENT@[6; 7) "a" - COMMA@[7; 8) "," - R_PAREN@[8; 9) ")" - R_BRACK@[9; 10) "]" + L_BRACK@[1; 2) "[" + PATH@[2; 5) + PATH_SEGMENT@[2; 5) + NAME_REF@[2; 5) + IDENT@[2; 5) "foo" + TOKEN_TREE@[5; 9) + L_PAREN@[5; 6) "(" + IDENT@[6; 7) "a" + COMMA@[7; 8) "," + R_PAREN@[8; 9) ")" + R_BRACK@[9; 10) "]" WHITESPACE@[10; 11) "\n" FN_KW@[11; 13) "fn" WHITESPACE@[13; 14) " " diff --git a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt index 3326ab2ae..3260cc589 100644 --- a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt +++ b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt @@ -10,62 +10,73 @@ SOURCE_FILE@[0; 3813) ATTR@[271; 302) POUND@[271; 272) "#" EXCL@[272; 273) "!" - TOKEN_TREE@[273; 302) - L_BRACK@[273; 274) "[" - IDENT@[274; 279) "allow" - TOKEN_TREE@[279; 301) - L_PAREN@[279; 280) "(" - IDENT@[280; 300) "non_camel_case_types" - R_PAREN@[300; 301) ")" - R_BRACK@[301; 302) "]" + L_BRACK@[273; 274) "[" + PATH@[274; 279) + PATH_SEGMENT@[274; 279) + NAME_REF@[274; 279) + IDENT@[274; 279) "allow" + TOKEN_TREE@[279; 301) + L_PAREN@[279; 280) "(" + IDENT@[280; 300) "non_camel_case_types" + R_PAREN@[300; 301) ")" + R_BRACK@[301; 302) "]" WHITESPACE@[302; 303) "\n" ATTR@[303; 323) POUND@[303; 304) "#" EXCL@[304; 305) "!" - TOKEN_TREE@[305; 323) - L_BRACK@[305; 306) "[" - IDENT@[306; 311) "allow" - TOKEN_TREE@[311; 322) - L_PAREN@[311; 312) "(" - IDENT@[312; 321) "dead_code" - R_PAREN@[321; 322) ")" - R_BRACK@[322; 323) "]" + L_BRACK@[305; 306) "[" + PATH@[306; 311) + PATH_SEGMENT@[306; 311) + NAME_REF@[306; 311) + IDENT@[306; 311) "allow" + TOKEN_TREE@[311; 322) + L_PAREN@[311; 312) "(" + IDENT@[312; 321) "dead_code" + R_PAREN@[321; 322) ")" + R_BRACK@[322; 323) "]" WHITESPACE@[323; 324) "\n" ATTR@[324; 351) POUND@[324; 325) "#" EXCL@[325; 326) "!" - TOKEN_TREE@[326; 351) - L_BRACK@[326; 327) "[" - IDENT@[327; 332) "allow" - TOKEN_TREE@[332; 350) - L_PAREN@[332; 333) "(" - IDENT@[333; 349) "unreachable_code" - R_PAREN@[349; 350) ")" - R_BRACK@[350; 351) "]" + L_BRACK@[326; 327) "[" + PATH@[327; 332) + PATH_SEGMENT@[327; 332) + NAME_REF@[327; 332) + IDENT@[327; 332) "allow" + TOKEN_TREE@[332; 350) + L_PAREN@[332; 333) "(" + IDENT@[333; 349) "unreachable_code" + R_PAREN@[349; 350) ")" + R_BRACK@[350; 351) "]" WHITESPACE@[351; 352) "\n" ATTR@[352; 376) POUND@[352; 353) "#" EXCL@[353; 354) "!" - TOKEN_TREE@[354; 376) - L_BRACK@[354; 355) "[" - IDENT@[355; 360) "allow" - TOKEN_TREE@[360; 375) - L_PAREN@[360; 361) "(" - IDENT@[361; 374) "unused_parens" - R_PAREN@[374; 375) ")" - R_BRACK@[375; 376) "]" + L_BRACK@[354; 355) "[" + PATH@[355; 360) + PATH_SEGMENT@[355; 360) + NAME_REF@[355; 360) + IDENT@[355; 360) "allow" + TOKEN_TREE@[360; 375) + L_PAREN@[360; 361) "(" + IDENT@[361; 374) "unused_parens" + R_PAREN@[374; 375) ")" + R_BRACK@[375; 376) "]" WHITESPACE@[376; 378) "\n\n" ATTR@[378; 405) POUND@[378; 379) "#" EXCL@[379; 380) "!" - TOKEN_TREE@[380; 405) - L_BRACK@[380; 381) "[" - IDENT@[381; 396) "recursion_limit" - WHITESPACE@[396; 397) " " - EQ@[397; 398) "=" - WHITESPACE@[398; 399) " " + L_BRACK@[380; 381) "[" + PATH@[381; 396) + PATH_SEGMENT@[381; 396) + NAME_REF@[381; 396) + IDENT@[381; 396) "recursion_limit" + WHITESPACE@[396; 397) " " + EQ@[397; 398) "=" + WHITESPACE@[398; 399) " " + LITERAL@[399; 404) STRING@[399; 404) "\"128\"" - R_BRACK@[404; 405) "]" + R_BRACK@[404; 405) "]" WHITESPACE@[405; 407) "\n\n" USE_ITEM@[407; 427) USE_KW@[407; 410) "use" diff --git a/crates/ra_syntax/test_data/parser/ok/0044_let_attrs.txt b/crates/ra_syntax/test_data/parser/ok/0044_let_attrs.txt index 7dabe535f..bfc793dc1 100644 --- a/crates/ra_syntax/test_data/parser/ok/0044_let_attrs.txt +++ b/crates/ra_syntax/test_data/parser/ok/0044_let_attrs.txt @@ -17,18 +17,20 @@ SOURCE_FILE@[0; 166) LET_STMT@[77; 163) ATTR@[77; 106) POUND@[77; 78) "#" - TOKEN_TREE@[78; 106) - L_BRACK@[78; 79) "[" - IDENT@[79; 82) "cfg" - TOKEN_TREE@[82; 105) - L_PAREN@[82; 83) "(" - IDENT@[83; 90) "feature" - WHITESPACE@[90; 91) " " - EQ@[91; 92) "=" - WHITESPACE@[92; 93) " " - STRING@[93; 104) "\"backtrace\"" - R_PAREN@[104; 105) ")" - R_BRACK@[105; 106) "]" + L_BRACK@[78; 79) "[" + PATH@[79; 82) + PATH_SEGMENT@[79; 82) + NAME_REF@[79; 82) + IDENT@[79; 82) "cfg" + TOKEN_TREE@[82; 105) + L_PAREN@[82; 83) "(" + IDENT@[83; 90) "feature" + WHITESPACE@[90; 91) " " + EQ@[91; 92) "=" + WHITESPACE@[92; 93) " " + STRING@[93; 104) "\"backtrace\"" + R_PAREN@[104; 105) ")" + R_BRACK@[105; 106) "]" WHITESPACE@[106; 111) "\n " LET_KW@[111; 114) "let" WHITESPACE@[114; 115) " " diff --git a/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.txt b/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.txt index e8be8203b..3d9aab500 100644 --- a/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.txt +++ b/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.txt @@ -15,14 +15,16 @@ SOURCE_FILE@[0; 686) ATTR@[17; 57) POUND@[17; 18) "#" EXCL@[18; 19) "!" - TOKEN_TREE@[19; 57) - L_BRACK@[19; 20) "[" - IDENT@[20; 23) "doc" - TOKEN_TREE@[23; 56) - L_PAREN@[23; 24) "(" - STRING@[24; 55) "\"Inner attributes all ..." - R_PAREN@[55; 56) ")" - R_BRACK@[56; 57) "]" + L_BRACK@[19; 20) "[" + PATH@[20; 23) + PATH_SEGMENT@[20; 23) + NAME_REF@[20; 23) + IDENT@[20; 23) "doc" + TOKEN_TREE@[23; 56) + L_PAREN@[23; 24) "(" + STRING@[24; 55) "\"Inner attributes all ..." + R_PAREN@[55; 56) ")" + R_BRACK@[56; 57) "]" WHITESPACE@[57; 62) "\n " COMMENT@[62; 97) "//! As are ModuleDoc ..." WHITESPACE@[97; 102) "\n " @@ -34,26 +36,30 @@ SOURCE_FILE@[0; 686) ATTR@[112; 180) POUND@[112; 113) "#" EXCL@[113; 114) "!" - TOKEN_TREE@[114; 180) - L_BRACK@[114; 115) "[" - IDENT@[115; 118) "doc" - TOKEN_TREE@[118; 179) - L_PAREN@[118; 119) "(" - STRING@[119; 178) "\"Inner attributes are ..." - R_PAREN@[178; 179) ")" - R_BRACK@[179; 180) "]" + L_BRACK@[114; 115) "[" + PATH@[115; 118) + PATH_SEGMENT@[115; 118) + NAME_REF@[115; 118) + IDENT@[115; 118) "doc" + TOKEN_TREE@[118; 179) + L_PAREN@[118; 119) "(" + STRING@[119; 178) "\"Inner attributes are ..." + R_PAREN@[178; 179) ")" + R_BRACK@[179; 180) "]" WHITESPACE@[180; 189) "\n " ATTR@[189; 244) POUND@[189; 190) "#" EXCL@[190; 191) "!" - TOKEN_TREE@[191; 244) - L_BRACK@[191; 192) "[" - IDENT@[192; 195) "doc" - TOKEN_TREE@[195; 243) - L_PAREN@[195; 196) "(" - STRING@[196; 242) "\"Being validated is n ..." - R_PAREN@[242; 243) ")" - R_BRACK@[243; 244) "]" + L_BRACK@[191; 192) "[" + PATH@[192; 195) + PATH_SEGMENT@[192; 195) + NAME_REF@[192; 195) + IDENT@[192; 195) "doc" + TOKEN_TREE@[195; 243) + L_PAREN@[195; 196) "(" + STRING@[196; 242) "\"Being validated is n ..." + R_PAREN@[242; 243) ")" + R_BRACK@[243; 244) "]" WHITESPACE@[244; 253) "\n " COMMENT@[253; 288) "//! As are ModuleDoc ..." WHITESPACE@[288; 293) "\n " @@ -67,14 +73,16 @@ SOURCE_FILE@[0; 686) ATTR@[310; 409) POUND@[310; 311) "#" EXCL@[311; 312) "!" - TOKEN_TREE@[312; 409) - L_BRACK@[312; 313) "[" - IDENT@[313; 316) "doc" - TOKEN_TREE@[316; 408) - L_PAREN@[316; 317) "(" - STRING@[317; 407) "\"Inner attributes are ..." - R_PAREN@[407; 408) ")" - R_BRACK@[408; 409) "]" + L_BRACK@[312; 313) "[" + PATH@[313; 316) + PATH_SEGMENT@[313; 316) + NAME_REF@[313; 316) + IDENT@[313; 316) "doc" + TOKEN_TREE@[316; 408) + L_PAREN@[316; 317) "(" + STRING@[317; 407) "\"Inner attributes are ..." + R_PAREN@[407; 408) ")" + R_BRACK@[408; 409) "]" WHITESPACE@[409; 418) "\n " COMMENT@[418; 453) "//! As are ModuleDoc ..." WHITESPACE@[453; 458) "\n " @@ -154,14 +162,16 @@ SOURCE_FILE@[0; 686) ATTR@[612; 639) POUND@[612; 613) "#" EXCL@[613; 614) "!" - TOKEN_TREE@[614; 639) - L_BRACK@[614; 615) "[" - IDENT@[615; 620) "allow" - TOKEN_TREE@[620; 638) - L_PAREN@[620; 621) "(" - IDENT@[621; 637) "unused_variables" - R_PAREN@[637; 638) ")" - R_BRACK@[638; 639) "]" + L_BRACK@[614; 615) "[" + PATH@[615; 620) + PATH_SEGMENT@[615; 620) + NAME_REF@[615; 620) + IDENT@[615; 620) "allow" + TOKEN_TREE@[620; 638) + L_PAREN@[620; 621) "(" + IDENT@[621; 637) "unused_variables" + R_PAREN@[637; 638) ")" + R_BRACK@[638; 639) "]" WHITESPACE@[639; 640) " " COMMENT@[640; 677) "// this is `inner_at ..." WHITESPACE@[677; 682) "\n " diff --git a/crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.txt b/crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.txt index 4487a6e2e..8f192124b 100644 --- a/crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.txt +++ b/crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.txt @@ -13,14 +13,16 @@ SOURCE_FILE@[0; 87) ATTR@[47; 84) POUND@[47; 48) "#" EXCL@[48; 49) "!" - TOKEN_TREE@[49; 84) - L_BRACK@[49; 50) "[" - IDENT@[50; 53) "doc" - TOKEN_TREE@[53; 83) - L_PAREN@[53; 54) "(" - STRING@[54; 82) "\"This is also a doc c ..." - R_PAREN@[82; 83) ")" - R_BRACK@[83; 84) "]" + L_BRACK@[49; 50) "[" + PATH@[50; 53) + PATH_SEGMENT@[50; 53) + NAME_REF@[50; 53) + IDENT@[50; 53) "doc" + TOKEN_TREE@[53; 83) + L_PAREN@[53; 54) "(" + STRING@[54; 82) "\"This is also a doc c ..." + R_PAREN@[82; 83) ")" + R_BRACK@[83; 84) "]" WHITESPACE@[84; 85) "\n" R_CURLY@[85; 86) "}" WHITESPACE@[86; 87) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.txt b/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.txt index e08fb4988..bfd47d2e1 100644 --- a/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.txt +++ b/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.txt @@ -8,17 +8,21 @@ SOURCE_FILE@[0; 519) L_PAREN@[5; 6) "(" ATTR@[6; 14) POUND@[6; 7) "#" - TOKEN_TREE@[7; 14) - L_BRACK@[7; 8) "[" - IDENT@[8; 13) "attr1" - R_BRACK@[13; 14) "]" + L_BRACK@[7; 8) "[" + PATH@[8; 13) + PATH_SEGMENT@[8; 13) + NAME_REF@[8; 13) + IDENT@[8; 13) "attr1" + R_BRACK@[13; 14) "]" WHITESPACE@[14; 15) " " ATTR@[15; 23) POUND@[15; 16) "#" - TOKEN_TREE@[16; 23) - L_BRACK@[16; 17) "[" - IDENT@[17; 22) "attr2" - R_BRACK@[22; 23) "]" + L_BRACK@[16; 17) "[" + PATH@[17; 22) + PATH_SEGMENT@[17; 22) + NAME_REF@[17; 22) + IDENT@[17; 22) "attr2" + R_BRACK@[22; 23) "]" WHITESPACE@[23; 24) " " PARAM@[24; 33) BIND_PAT@[24; 27) @@ -47,10 +51,12 @@ SOURCE_FILE@[0; 519) L_PAREN@[43; 44) "(" ATTR@[44; 52) POUND@[44; 45) "#" - TOKEN_TREE@[45; 52) - L_BRACK@[45; 46) "[" - IDENT@[46; 51) "attr1" - R_BRACK@[51; 52) "]" + L_BRACK@[45; 46) "[" + PATH@[46; 51) + PATH_SEGMENT@[46; 51) + NAME_REF@[46; 51) + IDENT@[46; 51) "attr1" + R_BRACK@[51; 52) "]" WHITESPACE@[52; 53) " " PARAM@[53; 58) BIND_PAT@[53; 54) @@ -105,10 +111,12 @@ SOURCE_FILE@[0; 519) WHITESPACE@[105; 106) " " ATTR@[106; 113) POUND@[106; 107) "#" - TOKEN_TREE@[107; 113) - L_BRACK@[107; 108) "[" - IDENT@[108; 112) "attr" - R_BRACK@[112; 113) "]" + L_BRACK@[107; 108) "[" + PATH@[108; 112) + PATH_SEGMENT@[108; 112) + NAME_REF@[108; 112) + IDENT@[108; 112) "attr" + R_BRACK@[112; 113) "]" WHITESPACE@[113; 114) " " DOTDOTDOT@[114; 117) "..." R_PAREN@[117; 118) ")" @@ -148,10 +156,12 @@ SOURCE_FILE@[0; 519) L_PAREN@[145; 146) "(" ATTR@[146; 153) POUND@[146; 147) "#" - TOKEN_TREE@[147; 153) - L_BRACK@[147; 148) "[" - IDENT@[148; 152) "attr" - R_BRACK@[152; 153) "]" + L_BRACK@[147; 148) "[" + PATH@[148; 152) + PATH_SEGMENT@[148; 152) + NAME_REF@[148; 152) + IDENT@[148; 152) "attr" + R_BRACK@[152; 153) "]" WHITESPACE@[153; 154) " " PARAM@[154; 166) REFERENCE_TYPE@[154; 166) @@ -196,10 +206,12 @@ SOURCE_FILE@[0; 519) L_PAREN@[196; 197) "(" ATTR@[197; 204) POUND@[197; 198) "#" - TOKEN_TREE@[198; 204) - L_BRACK@[198; 199) "[" - IDENT@[199; 203) "attr" - R_BRACK@[203; 204) "]" + L_BRACK@[198; 199) "[" + PATH@[199; 203) + PATH_SEGMENT@[199; 203) + NAME_REF@[199; 203) + IDENT@[199; 203) "attr" + R_BRACK@[203; 204) "]" WHITESPACE@[204; 205) " " PARAM@[205; 211) PLACEHOLDER_PAT@[205; 206) @@ -216,10 +228,12 @@ SOURCE_FILE@[0; 519) ATTR@[213; 221) POUND@[213; 214) "#" WHITESPACE@[214; 215) " " - TOKEN_TREE@[215; 221) - L_BRACK@[215; 216) "[" - IDENT@[216; 220) "attr" - R_BRACK@[220; 221) "]" + L_BRACK@[215; 216) "[" + PATH@[216; 220) + PATH_SEGMENT@[216; 220) + NAME_REF@[216; 220) + IDENT@[216; 220) "attr" + R_BRACK@[220; 221) "]" WHITESPACE@[221; 222) " " PARAM@[222; 232) BIND_PAT@[222; 227) @@ -260,10 +274,12 @@ SOURCE_FILE@[0; 519) L_PAREN@[256; 257) "(" ATTR@[257; 268) POUND@[257; 258) "#" - TOKEN_TREE@[258; 268) - L_BRACK@[258; 259) "[" - IDENT@[259; 267) "must_use" - R_BRACK@[267; 268) "]" + L_BRACK@[258; 259) "[" + PATH@[259; 267) + PATH_SEGMENT@[259; 267) + NAME_REF@[259; 267) + IDENT@[259; 267) "must_use" + R_BRACK@[267; 268) "]" WHITESPACE@[268; 269) " " SELF_PARAM@[269; 273) SELF_KW@[269; 273) "self" @@ -283,10 +299,12 @@ SOURCE_FILE@[0; 519) L_PAREN@[288; 289) "(" ATTR@[289; 296) POUND@[289; 290) "#" - TOKEN_TREE@[290; 296) - L_BRACK@[290; 291) "[" - IDENT@[291; 295) "attr" - R_BRACK@[295; 296) "]" + L_BRACK@[290; 291) "[" + PATH@[291; 295) + PATH_SEGMENT@[291; 295) + NAME_REF@[291; 295) + IDENT@[291; 295) "attr" + R_BRACK@[295; 296) "]" WHITESPACE@[296; 297) " " SELF_PARAM@[297; 301) SELF_KW@[297; 301) "self" @@ -306,10 +324,12 @@ SOURCE_FILE@[0; 519) L_PAREN@[316; 317) "(" ATTR@[317; 324) POUND@[317; 318) "#" - TOKEN_TREE@[318; 324) - L_BRACK@[318; 319) "[" - IDENT@[319; 323) "attr" - R_BRACK@[323; 324) "]" + L_BRACK@[318; 319) "[" + PATH@[319; 323) + PATH_SEGMENT@[319; 323) + NAME_REF@[319; 323) + IDENT@[319; 323) "attr" + R_BRACK@[323; 324) "]" WHITESPACE@[324; 325) " " SELF_PARAM@[325; 330) AMP@[325; 326) "&" @@ -335,10 +355,12 @@ SOURCE_FILE@[0; 519) L_PAREN@[349; 350) "(" ATTR@[350; 357) POUND@[350; 351) "#" - TOKEN_TREE@[351; 357) - L_BRACK@[351; 352) "[" - IDENT@[352; 356) "attr" - R_BRACK@[356; 357) "]" + L_BRACK@[351; 352) "[" + PATH@[352; 356) + PATH_SEGMENT@[352; 356) + NAME_REF@[352; 356) + IDENT@[352; 356) "attr" + R_BRACK@[356; 357) "]" WHITESPACE@[357; 358) " " SELF_PARAM@[358; 367) AMP@[358; 359) "&" @@ -366,10 +388,12 @@ SOURCE_FILE@[0; 519) L_PAREN@[386; 387) "(" ATTR@[387; 394) POUND@[387; 388) "#" - TOKEN_TREE@[388; 394) - L_BRACK@[388; 389) "[" - IDENT@[389; 393) "attr" - R_BRACK@[393; 394) "]" + L_BRACK@[388; 389) "[" + PATH@[389; 393) + PATH_SEGMENT@[389; 393) + NAME_REF@[389; 393) + IDENT@[389; 393) "attr" + R_BRACK@[393; 394) "]" WHITESPACE@[394; 395) " " SELF_PARAM@[395; 403) AMP@[395; 396) "&" @@ -397,10 +421,12 @@ SOURCE_FILE@[0; 519) L_PAREN@[422; 423) "(" ATTR@[423; 430) POUND@[423; 424) "#" - TOKEN_TREE@[424; 430) - L_BRACK@[424; 425) "[" - IDENT@[425; 429) "attr" - R_BRACK@[429; 430) "]" + L_BRACK@[424; 425) "[" + PATH@[425; 429) + PATH_SEGMENT@[425; 429) + NAME_REF@[425; 429) + IDENT@[425; 429) "attr" + R_BRACK@[429; 430) "]" WHITESPACE@[430; 431) " " SELF_PARAM@[431; 443) AMP@[431; 432) "&" @@ -425,10 +451,12 @@ SOURCE_FILE@[0; 519) L_PAREN@[457; 458) "(" ATTR@[458; 465) POUND@[458; 459) "#" - TOKEN_TREE@[459; 465) - L_BRACK@[459; 460) "[" - IDENT@[460; 464) "attr" - R_BRACK@[464; 465) "]" + L_BRACK@[459; 460) "[" + PATH@[460; 464) + PATH_SEGMENT@[460; 464) + NAME_REF@[460; 464) + IDENT@[460; 464) "attr" + R_BRACK@[464; 465) "]" WHITESPACE@[465; 466) " " SELF_PARAM@[466; 476) SELF_KW@[466; 470) "self" @@ -455,10 +483,12 @@ SOURCE_FILE@[0; 519) L_PAREN@[490; 491) "(" ATTR@[491; 498) POUND@[491; 492) "#" - TOKEN_TREE@[492; 498) - L_BRACK@[492; 493) "[" - IDENT@[493; 497) "attr" - R_BRACK@[497; 498) "]" + L_BRACK@[492; 493) "[" + PATH@[493; 497) + PATH_SEGMENT@[493; 497) + NAME_REF@[493; 497) + IDENT@[493; 497) "attr" + R_BRACK@[497; 498) "]" WHITESPACE@[498; 499) " " SELF_PARAM@[499; 513) SELF_KW@[499; 503) "self" diff --git a/crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.txt b/crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.txt index f77221f76..04ff0e2ff 100644 --- a/crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.txt +++ b/crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.txt @@ -4,10 +4,12 @@ SOURCE_FILE@[0; 65) WHITESPACE@[13; 14) "\n" ATTR@[14; 29) POUND@[14; 15) "#" - TOKEN_TREE@[15; 29) - L_BRACK@[15; 16) "[" - IDENT@[16; 28) "macro_export" - R_BRACK@[28; 29) "]" + L_BRACK@[15; 16) "[" + PATH@[16; 28) + PATH_SEGMENT@[16; 28) + NAME_REF@[16; 28) + IDENT@[16; 28) "macro_export" + R_BRACK@[28; 29) "]" WHITESPACE@[29; 30) "\n" PATH@[30; 41) PATH_SEGMENT@[30; 41) -- cgit v1.2.3