mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-27 12:29:21 +00:00
Fix parse tree of attribute on match arm
This commit is contained in:
parent
aea9c98f53
commit
a67fe4ea7e
4 changed files with 133 additions and 133 deletions
|
@ -342,21 +342,6 @@ pub(crate) fn match_arm_list(p: &mut Parser) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// test match_arms_outer_attributes
|
|
||||||
// fn foo() {
|
|
||||||
// match () {
|
|
||||||
// #[cfg(feature = "some")]
|
|
||||||
// _ => (),
|
|
||||||
// #[cfg(feature = "other")]
|
|
||||||
// _ => (),
|
|
||||||
// #[cfg(feature = "many")]
|
|
||||||
// #[cfg(feature = "attributes")]
|
|
||||||
// #[cfg(feature = "before")]
|
|
||||||
// _ => (),
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
attributes::outer_attributes(p);
|
|
||||||
|
|
||||||
// test match_arms_commas
|
// test match_arms_commas
|
||||||
// fn foo() {
|
// fn foo() {
|
||||||
// match () {
|
// match () {
|
||||||
|
@ -387,6 +372,21 @@ pub(crate) fn match_arm_list(p: &mut Parser) {
|
||||||
// }
|
// }
|
||||||
fn match_arm(p: &mut Parser) -> BlockLike {
|
fn match_arm(p: &mut Parser) -> BlockLike {
|
||||||
let m = p.start();
|
let m = p.start();
|
||||||
|
// test match_arms_outer_attributes
|
||||||
|
// fn foo() {
|
||||||
|
// match () {
|
||||||
|
// #[cfg(feature = "some")]
|
||||||
|
// _ => (),
|
||||||
|
// #[cfg(feature = "other")]
|
||||||
|
// _ => (),
|
||||||
|
// #[cfg(feature = "many")]
|
||||||
|
// #[cfg(feature = "attributes")]
|
||||||
|
// #[cfg(feature = "before")]
|
||||||
|
// _ => (),
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
attributes::outer_attributes(p);
|
||||||
|
|
||||||
patterns::pattern_list_r(p, TokenSet::empty());
|
patterns::pattern_list_r(p, TokenSet::empty());
|
||||||
if p.at(IF_KW) {
|
if p.at(IF_KW) {
|
||||||
match_guard(p);
|
match_guard(p);
|
||||||
|
|
|
@ -33,11 +33,11 @@ SOURCE_FILE@[0; 293)
|
||||||
R_PAREN@[40; 41)
|
R_PAREN@[40; 41)
|
||||||
COMMA@[41; 42)
|
COMMA@[41; 42)
|
||||||
WHITESPACE@[42; 51)
|
WHITESPACE@[42; 51)
|
||||||
|
MATCH_ARM@[51; 78)
|
||||||
ATTR@[51; 52)
|
ATTR@[51; 52)
|
||||||
POUND@[51; 52)
|
POUND@[51; 52)
|
||||||
err: `expected `[``
|
err: `expected `[``
|
||||||
err: `expected pattern`
|
err: `expected pattern`
|
||||||
MATCH_ARM@[52; 78)
|
|
||||||
ERROR@[52; 53)
|
ERROR@[52; 53)
|
||||||
EXCL@[52; 53)
|
EXCL@[52; 53)
|
||||||
err: `expected FAT_ARROW`
|
err: `expected FAT_ARROW`
|
||||||
|
@ -103,11 +103,11 @@ SOURCE_FILE@[0; 293)
|
||||||
R_PAREN@[149; 150)
|
R_PAREN@[149; 150)
|
||||||
COMMA@[150; 151)
|
COMMA@[150; 151)
|
||||||
WHITESPACE@[151; 160)
|
WHITESPACE@[151; 160)
|
||||||
|
MATCH_ARM@[160; 179)
|
||||||
ATTR@[160; 161)
|
ATTR@[160; 161)
|
||||||
POUND@[160; 161)
|
POUND@[160; 161)
|
||||||
err: `expected `[``
|
err: `expected `[``
|
||||||
err: `expected pattern`
|
err: `expected pattern`
|
||||||
MATCH_ARM@[161; 179)
|
|
||||||
ERROR@[161; 162)
|
ERROR@[161; 162)
|
||||||
EXCL@[161; 162)
|
EXCL@[161; 162)
|
||||||
err: `expected FAT_ARROW`
|
err: `expected FAT_ARROW`
|
||||||
|
@ -138,6 +138,7 @@ SOURCE_FILE@[0; 293)
|
||||||
MATCH_ARM_LIST@[200; 290)
|
MATCH_ARM_LIST@[200; 290)
|
||||||
L_CURLY@[200; 201)
|
L_CURLY@[200; 201)
|
||||||
WHITESPACE@[201; 210)
|
WHITESPACE@[201; 210)
|
||||||
|
MATCH_ARM@[210; 250)
|
||||||
ATTR@[210; 222)
|
ATTR@[210; 222)
|
||||||
POUND@[210; 211)
|
POUND@[210; 211)
|
||||||
TOKEN_TREE@[211; 222)
|
TOKEN_TREE@[211; 222)
|
||||||
|
@ -153,7 +154,6 @@ SOURCE_FILE@[0; 293)
|
||||||
POUND@[231; 232)
|
POUND@[231; 232)
|
||||||
err: `expected `[``
|
err: `expected `[``
|
||||||
err: `expected pattern`
|
err: `expected pattern`
|
||||||
MATCH_ARM@[232; 250)
|
|
||||||
ERROR@[232; 233)
|
ERROR@[232; 233)
|
||||||
EXCL@[232; 233)
|
EXCL@[232; 233)
|
||||||
err: `expected FAT_ARROW`
|
err: `expected FAT_ARROW`
|
||||||
|
|
|
@ -43,6 +43,7 @@ SOURCE_FILE@[0; 89)
|
||||||
R_PAREN@[57; 58)
|
R_PAREN@[57; 58)
|
||||||
COMMA@[58; 59)
|
COMMA@[58; 59)
|
||||||
WHITESPACE@[59; 68)
|
WHITESPACE@[59; 68)
|
||||||
|
MATCH_ARM@[68; 80)
|
||||||
ATTR@[68; 80)
|
ATTR@[68; 80)
|
||||||
POUND@[68; 69)
|
POUND@[68; 69)
|
||||||
TOKEN_TREE@[69; 80)
|
TOKEN_TREE@[69; 80)
|
||||||
|
@ -53,11 +54,10 @@ SOURCE_FILE@[0; 89)
|
||||||
IDENT@[74; 78) "test"
|
IDENT@[74; 78) "test"
|
||||||
R_PAREN@[78; 79)
|
R_PAREN@[78; 79)
|
||||||
R_BRACK@[79; 80)
|
R_BRACK@[79; 80)
|
||||||
WHITESPACE@[80; 85)
|
|
||||||
err: `expected pattern`
|
err: `expected pattern`
|
||||||
err: `expected FAT_ARROW`
|
err: `expected FAT_ARROW`
|
||||||
err: `expected expression`
|
err: `expected expression`
|
||||||
MATCH_ARM@[85; 85)
|
WHITESPACE@[80; 85)
|
||||||
R_CURLY@[85; 86)
|
R_CURLY@[85; 86)
|
||||||
WHITESPACE@[86; 87)
|
WHITESPACE@[86; 87)
|
||||||
R_CURLY@[87; 88)
|
R_CURLY@[87; 88)
|
||||||
|
|
|
@ -21,6 +21,7 @@ SOURCE_FILE@[0; 259)
|
||||||
MATCH_ARM_LIST@[24; 256)
|
MATCH_ARM_LIST@[24; 256)
|
||||||
L_CURLY@[24; 25)
|
L_CURLY@[24; 25)
|
||||||
WHITESPACE@[25; 34)
|
WHITESPACE@[25; 34)
|
||||||
|
MATCH_ARM@[34; 74)
|
||||||
ATTR@[34; 58)
|
ATTR@[34; 58)
|
||||||
POUND@[34; 35)
|
POUND@[34; 35)
|
||||||
TOKEN_TREE@[35; 58)
|
TOKEN_TREE@[35; 58)
|
||||||
|
@ -36,7 +37,6 @@ SOURCE_FILE@[0; 259)
|
||||||
R_PAREN@[56; 57)
|
R_PAREN@[56; 57)
|
||||||
R_BRACK@[57; 58)
|
R_BRACK@[57; 58)
|
||||||
WHITESPACE@[58; 67)
|
WHITESPACE@[58; 67)
|
||||||
MATCH_ARM@[67; 74)
|
|
||||||
PLACEHOLDER_PAT@[67; 68)
|
PLACEHOLDER_PAT@[67; 68)
|
||||||
UNDERSCORE@[67; 68)
|
UNDERSCORE@[67; 68)
|
||||||
WHITESPACE@[68; 69)
|
WHITESPACE@[68; 69)
|
||||||
|
@ -47,6 +47,7 @@ SOURCE_FILE@[0; 259)
|
||||||
R_PAREN@[73; 74)
|
R_PAREN@[73; 74)
|
||||||
COMMA@[74; 75)
|
COMMA@[74; 75)
|
||||||
WHITESPACE@[75; 84)
|
WHITESPACE@[75; 84)
|
||||||
|
MATCH_ARM@[84; 125)
|
||||||
ATTR@[84; 109)
|
ATTR@[84; 109)
|
||||||
POUND@[84; 85)
|
POUND@[84; 85)
|
||||||
TOKEN_TREE@[85; 109)
|
TOKEN_TREE@[85; 109)
|
||||||
|
@ -62,7 +63,6 @@ SOURCE_FILE@[0; 259)
|
||||||
R_PAREN@[107; 108)
|
R_PAREN@[107; 108)
|
||||||
R_BRACK@[108; 109)
|
R_BRACK@[108; 109)
|
||||||
WHITESPACE@[109; 118)
|
WHITESPACE@[109; 118)
|
||||||
MATCH_ARM@[118; 125)
|
|
||||||
PLACEHOLDER_PAT@[118; 119)
|
PLACEHOLDER_PAT@[118; 119)
|
||||||
UNDERSCORE@[118; 119)
|
UNDERSCORE@[118; 119)
|
||||||
WHITESPACE@[119; 120)
|
WHITESPACE@[119; 120)
|
||||||
|
@ -73,6 +73,7 @@ SOURCE_FILE@[0; 259)
|
||||||
R_PAREN@[124; 125)
|
R_PAREN@[124; 125)
|
||||||
COMMA@[125; 126)
|
COMMA@[125; 126)
|
||||||
WHITESPACE@[126; 135)
|
WHITESPACE@[126; 135)
|
||||||
|
MATCH_ARM@[135; 249)
|
||||||
ATTR@[135; 159)
|
ATTR@[135; 159)
|
||||||
POUND@[135; 136)
|
POUND@[135; 136)
|
||||||
TOKEN_TREE@[136; 159)
|
TOKEN_TREE@[136; 159)
|
||||||
|
@ -118,7 +119,6 @@ SOURCE_FILE@[0; 259)
|
||||||
R_PAREN@[231; 232)
|
R_PAREN@[231; 232)
|
||||||
R_BRACK@[232; 233)
|
R_BRACK@[232; 233)
|
||||||
WHITESPACE@[233; 242)
|
WHITESPACE@[233; 242)
|
||||||
MATCH_ARM@[242; 249)
|
|
||||||
PLACEHOLDER_PAT@[242; 243)
|
PLACEHOLDER_PAT@[242; 243)
|
||||||
UNDERSCORE@[242; 243)
|
UNDERSCORE@[242; 243)
|
||||||
WHITESPACE@[243; 244)
|
WHITESPACE@[243; 244)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue