From 7e66785859fc4a31fc3faf4848174699d3a2c020 Mon Sep 17 00:00:00 2001 From: Toby Dimmick Date: Thu, 6 Feb 2020 11:44:00 +0000 Subject: Rework value parameter parsing - `Fn__(...)` parameters with idents/patterns no longer parse - Trait function parameters with arbitrary patterns parse - Trait function parameters without idents/patterns no longer parse - `fn(...)` parameters no longer parse with patterns other than a single ident --- .../ra_syntax/test_data/parser/ok/0030_traits.txt | 154 ++++++++------------- 1 file changed, 61 insertions(+), 93 deletions(-) (limited to 'crates/ra_syntax/test_data/parser/ok/0030_traits.txt') diff --git a/crates/ra_syntax/test_data/parser/ok/0030_traits.txt b/crates/ra_syntax/test_data/parser/ok/0030_traits.txt index b656c1a81..ac314ae50 100644 --- a/crates/ra_syntax/test_data/parser/ok/0030_traits.txt +++ b/crates/ra_syntax/test_data/parser/ok/0030_traits.txt @@ -1,93 +1,61 @@ -SOURCE_FILE@[0; 164) - TRAIT_DEF@[0; 66) - VISIBILITY@[0; 3) - PUB_KW@[0; 3) "pub" - WHITESPACE@[3; 4) " " - TRAIT_KW@[4; 9) "trait" - WHITESPACE@[9; 10) " " - NAME@[10; 22) - IDENT@[10; 22) "WriteMessage" - WHITESPACE@[22; 23) " " - ITEM_LIST@[23; 66) - L_CURLY@[23; 24) "{" - WHITESPACE@[24; 29) "\n " - FN_DEF@[29; 64) - FN_KW@[29; 31) "fn" - WHITESPACE@[31; 32) " " - NAME@[32; 45) - IDENT@[32; 45) "write_message" - PARAM_LIST@[45; 63) - L_PAREN@[45; 46) "(" - PARAM@[46; 62) - REFERENCE_TYPE@[46; 62) - AMP@[46; 47) "&" - PATH_TYPE@[47; 62) - PATH@[47; 62) - PATH_SEGMENT@[47; 62) - NAME_REF@[47; 62) - IDENT@[47; 62) "FrontendMessage" - R_PAREN@[62; 63) ")" - SEMI@[63; 64) ";" - WHITESPACE@[64; 65) "\n" - R_CURLY@[65; 66) "}" - WHITESPACE@[66; 68) "\n\n" - TRAIT_DEF@[68; 104) - TRAIT_KW@[68; 73) "trait" - WHITESPACE@[73; 74) " " - NAME@[74; 82) - IDENT@[74; 82) "Runnable" - WHITESPACE@[82; 83) " " - ITEM_LIST@[83; 104) - L_CURLY@[83; 84) "{" - WHITESPACE@[84; 89) "\n " - FN_DEF@[89; 102) - FN_KW@[89; 91) "fn" - WHITESPACE@[91; 92) " " - NAME@[92; 99) - IDENT@[92; 99) "handler" - PARAM_LIST@[99; 101) - L_PAREN@[99; 100) "(" - R_PAREN@[100; 101) ")" - SEMI@[101; 102) ";" - WHITESPACE@[102; 103) "\n" - R_CURLY@[103; 104) "}" - WHITESPACE@[104; 106) "\n\n" - TRAIT_DEF@[106; 163) - TRAIT_KW@[106; 111) "trait" - WHITESPACE@[111; 112) " " - NAME@[112; 125) - IDENT@[112; 125) "TraitWithExpr" - WHITESPACE@[125; 126) " " - ITEM_LIST@[126; 163) - L_CURLY@[126; 127) "{" - WHITESPACE@[127; 132) "\n " - FN_DEF@[132; 161) - FN_KW@[132; 134) "fn" - WHITESPACE@[134; 135) " " - NAME@[135; 147) - IDENT@[135; 147) "fn_with_expr" - PARAM_LIST@[147; 160) - L_PAREN@[147; 148) "(" - PARAM@[148; 159) - BIND_PAT@[148; 149) - NAME@[148; 149) - IDENT@[148; 149) "x" - COLON@[149; 150) ":" - WHITESPACE@[150; 151) " " - ARRAY_TYPE@[151; 159) - L_BRACK@[151; 152) "[" - PATH_TYPE@[152; 155) - PATH@[152; 155) - PATH_SEGMENT@[152; 155) - NAME_REF@[152; 155) - IDENT@[152; 155) "i32" - SEMI@[155; 156) ";" - WHITESPACE@[156; 157) " " - LITERAL@[157; 158) - INT_NUMBER@[157; 158) "1" - R_BRACK@[158; 159) "]" - R_PAREN@[159; 160) ")" - SEMI@[160; 161) ";" - WHITESPACE@[161; 162) "\n" - R_CURLY@[162; 163) "}" - WHITESPACE@[163; 164) "\n" +SOURCE_FILE@[0; 96) + TRAIT_DEF@[0; 36) + TRAIT_KW@[0; 5) "trait" + WHITESPACE@[5; 6) " " + NAME@[6; 14) + IDENT@[6; 14) "Runnable" + WHITESPACE@[14; 15) " " + ITEM_LIST@[15; 36) + L_CURLY@[15; 16) "{" + WHITESPACE@[16; 21) "\n " + FN_DEF@[21; 34) + FN_KW@[21; 23) "fn" + WHITESPACE@[23; 24) " " + NAME@[24; 31) + IDENT@[24; 31) "handler" + PARAM_LIST@[31; 33) + L_PAREN@[31; 32) "(" + R_PAREN@[32; 33) ")" + SEMI@[33; 34) ";" + WHITESPACE@[34; 35) "\n" + R_CURLY@[35; 36) "}" + WHITESPACE@[36; 38) "\n\n" + TRAIT_DEF@[38; 95) + TRAIT_KW@[38; 43) "trait" + WHITESPACE@[43; 44) " " + NAME@[44; 57) + IDENT@[44; 57) "TraitWithExpr" + WHITESPACE@[57; 58) " " + ITEM_LIST@[58; 95) + L_CURLY@[58; 59) "{" + WHITESPACE@[59; 64) "\n " + FN_DEF@[64; 93) + FN_KW@[64; 66) "fn" + WHITESPACE@[66; 67) " " + NAME@[67; 79) + IDENT@[67; 79) "fn_with_expr" + PARAM_LIST@[79; 92) + L_PAREN@[79; 80) "(" + PARAM@[80; 91) + BIND_PAT@[80; 81) + NAME@[80; 81) + IDENT@[80; 81) "x" + COLON@[81; 82) ":" + WHITESPACE@[82; 83) " " + ARRAY_TYPE@[83; 91) + L_BRACK@[83; 84) "[" + PATH_TYPE@[84; 87) + PATH@[84; 87) + PATH_SEGMENT@[84; 87) + NAME_REF@[84; 87) + IDENT@[84; 87) "i32" + SEMI@[87; 88) ";" + WHITESPACE@[88; 89) " " + LITERAL@[89; 90) + INT_NUMBER@[89; 90) "1" + R_BRACK@[90; 91) "]" + R_PAREN@[91; 92) ")" + SEMI@[92; 93) ";" + WHITESPACE@[93; 94) "\n" + R_CURLY@[94; 95) "}" + WHITESPACE@[95; 96) "\n" -- cgit v1.2.3