From bd3a26493f101039fb6fe97561a15bcfffea82f0 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 8 Sep 2018 10:13:32 +0300 Subject: fix stuck parser --- .../tests/data/parser/ok/0034_macro_2.0.txt | 250 +++++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 crates/libsyntax2/tests/data/parser/ok/0034_macro_2.0.txt (limited to 'crates/libsyntax2/tests/data/parser/ok/0034_macro_2.0.txt') diff --git a/crates/libsyntax2/tests/data/parser/ok/0034_macro_2.0.txt b/crates/libsyntax2/tests/data/parser/ok/0034_macro_2.0.txt new file mode 100644 index 000000000..1a8ca761d --- /dev/null +++ b/crates/libsyntax2/tests/data/parser/ok/0034_macro_2.0.txt @@ -0,0 +1,250 @@ +ROOT@[0; 350) + MACRO_CALL@[0; 41) + PATH@[0; 5) + PATH_SEGMENT@[0; 5) + NAME_REF@[0; 5) + IDENT@[0; 5) "macro" + err: `expected EXCL` + WHITESPACE@[5; 6) + IDENT@[6; 21) "parse_use_trees" + TOKEN_TREE@[21; 41) + L_PAREN@[21; 22) + DOLLAR@[22; 23) + TOKEN_TREE@[23; 32) + L_PAREN@[23; 24) + DOLLAR@[24; 25) + IDENT@[25; 26) "s" + COLON@[26; 27) + IDENT@[27; 31) "expr" + R_PAREN@[31; 32) + COMMA@[32; 33) + STAR@[33; 34) + WHITESPACE@[34; 35) + DOLLAR@[35; 36) + TOKEN_TREE@[36; 39) + L_PAREN@[36; 37) + COMMA@[37; 38) + R_PAREN@[38; 39) + STAR@[39; 40) + R_PAREN@[40; 41) + err: `expected SEMI` + WHITESPACE@[41; 42) + err: `expected an item` + ERROR@[42; 93) + L_CURLY@[42; 43) + WHITESPACE@[43; 48) + IDENT@[48; 51) "vec" + EXCL@[51; 52) + L_BRACK@[52; 53) + WHITESPACE@[53; 62) + DOLLAR@[62; 63) + L_PAREN@[63; 64) + IDENT@[64; 78) "parse_use_tree" + L_PAREN@[78; 79) + DOLLAR@[79; 80) + IDENT@[80; 81) "s" + R_PAREN@[81; 82) + COMMA@[82; 83) + R_PAREN@[83; 84) + STAR@[84; 85) + WHITESPACE@[85; 90) + R_BRACK@[90; 91) + WHITESPACE@[91; 92) + R_CURLY@[92; 93) + WHITESPACE@[93; 95) + FN_DEF@[95; 348) + ATTR@[95; 102) + POUND@[95; 96) + TOKEN_TREE@[96; 102) + L_BRACK@[96; 97) + IDENT@[97; 101) "test" + R_BRACK@[101; 102) + WHITESPACE@[102; 103) + FN_KW@[103; 105) + WHITESPACE@[105; 106) + NAME@[106; 125) + IDENT@[106; 125) "test_use_tree_merge" + PARAM_LIST@[125; 127) + L_PAREN@[125; 126) + R_PAREN@[126; 127) + WHITESPACE@[127; 128) + BLOCK@[128; 348) + L_CURLY@[128; 129) + WHITESPACE@[129; 134) + EXPR_STMT@[134; 139) + PATH_EXPR@[134; 139) + PATH@[134; 139) + PATH_SEGMENT@[134; 139) + NAME_REF@[134; 139) + IDENT@[134; 139) "macro" + err: `expected SEMI` + WHITESPACE@[139; 140) + EXPR_STMT@[140; 203) + CALL_EXPR@[140; 203) + PATH_EXPR@[140; 150) + PATH@[140; 150) + PATH_SEGMENT@[140; 150) + NAME_REF@[140; 150) + IDENT@[140; 150) "test_merge" + ARG_LIST@[150; 203) + L_PAREN@[150; 151) + ARRAY_EXPR@[151; 202) + L_BRACK@[151; 152) + err: `expected expression` + ERROR@[152; 153) + DOLLAR@[152; 153) + err: `expected COMMA` + TUPLE_EXPR@[153; 166) + L_PAREN@[153; 154) + err: `expected expression` + ERROR@[154; 155) + DOLLAR@[154; 155) + err: `expected COMMA` + PATH_EXPR@[155; 160) + PATH@[155; 160) + PATH_SEGMENT@[155; 160) + NAME_REF@[155; 160) + IDENT@[155; 160) "input" + err: `expected COMMA` + err: `expected expression` + ERROR@[160; 161) + COLON@[160; 161) + err: `expected COMMA` + PATH_EXPR@[161; 165) + PATH@[161; 165) + PATH_SEGMENT@[161; 165) + NAME_REF@[161; 165) + IDENT@[161; 165) "expr" + R_PAREN@[165; 166) + COMMA@[166; 167) + PREFIX_EXPR@[167; 170) + STAR@[167; 168) + WHITESPACE@[168; 169) + err: `expected expression` + ERROR@[169; 170) + DOLLAR@[169; 170) + err: `expected COMMA` + BIN_EXPR@[170; 175) + PAREN_EXPR@[170; 173) + L_PAREN@[170; 171) + err: `expected expression` + ERROR@[171; 172) + COMMA@[171; 172) + R_PAREN@[172; 173) + STAR@[173; 174) + err: `expected expression` + ERROR@[174; 175) + R_BRACK@[174; 175) + COMMA@[175; 176) + WHITESPACE@[176; 177) + ARRAY_EXPR@[177; 202) + L_BRACK@[177; 178) + err: `expected expression` + ERROR@[178; 179) + DOLLAR@[178; 179) + err: `expected COMMA` + TUPLE_EXPR@[179; 193) + L_PAREN@[179; 180) + err: `expected expression` + ERROR@[180; 181) + DOLLAR@[180; 181) + err: `expected COMMA` + PATH_EXPR@[181; 187) + PATH@[181; 187) + PATH_SEGMENT@[181; 187) + NAME_REF@[181; 187) + IDENT@[181; 187) "output" + err: `expected COMMA` + err: `expected expression` + ERROR@[187; 188) + COLON@[187; 188) + err: `expected COMMA` + PATH_EXPR@[188; 192) + PATH@[188; 192) + PATH_SEGMENT@[188; 192) + NAME_REF@[188; 192) + IDENT@[188; 192) "expr" + R_PAREN@[192; 193) + COMMA@[193; 194) + PREFIX_EXPR@[194; 197) + STAR@[194; 195) + WHITESPACE@[195; 196) + err: `expected expression` + ERROR@[196; 197) + DOLLAR@[196; 197) + err: `expected COMMA` + BIN_EXPR@[197; 202) + PAREN_EXPR@[197; 200) + L_PAREN@[197; 198) + err: `expected expression` + ERROR@[198; 199) + COMMA@[198; 199) + R_PAREN@[199; 200) + STAR@[200; 201) + err: `expected expression` + ERROR@[201; 202) + R_BRACK@[201; 202) + err: `expected COMMA` + err: `expected expression` + err: `expected R_BRACK` + err: `expected COMMA` + err: `expected expression` + err: `expected R_BRACK` + R_PAREN@[202; 203) + err: `expected SEMI` + WHITESPACE@[203; 204) + BLOCK_EXPR@[204; 346) + BLOCK@[204; 346) + L_CURLY@[204; 205) + WHITESPACE@[205; 214) + EXPR_STMT@[214; 340) + MACRO_CALL@[214; 339) + PATH@[214; 223) + PATH_SEGMENT@[214; 223) + NAME_REF@[214; 223) + IDENT@[214; 223) "assert_eq" + EXCL@[223; 224) + TOKEN_TREE@[224; 339) + L_PAREN@[224; 225) + WHITESPACE@[225; 238) + IDENT@[238; 253) "merge_use_trees" + TOKEN_TREE@[253; 284) + L_PAREN@[253; 254) + IDENT@[254; 269) "parse_use_trees" + EXCL@[269; 270) + TOKEN_TREE@[270; 283) + L_PAREN@[270; 271) + DOLLAR@[271; 272) + TOKEN_TREE@[272; 281) + L_PAREN@[272; 273) + DOLLAR@[273; 274) + IDENT@[274; 279) "input" + COMMA@[279; 280) + R_PAREN@[280; 281) + STAR@[281; 282) + R_PAREN@[282; 283) + R_PAREN@[283; 284) + COMMA@[284; 285) + WHITESPACE@[285; 298) + IDENT@[298; 313) "parse_use_trees" + EXCL@[313; 314) + TOKEN_TREE@[314; 328) + L_PAREN@[314; 315) + DOLLAR@[315; 316) + TOKEN_TREE@[316; 326) + L_PAREN@[316; 317) + DOLLAR@[317; 318) + IDENT@[318; 324) "output" + COMMA@[324; 325) + R_PAREN@[325; 326) + STAR@[326; 327) + R_PAREN@[327; 328) + COMMA@[328; 329) + WHITESPACE@[329; 338) + R_PAREN@[338; 339) + SEMI@[339; 340) + WHITESPACE@[340; 345) + R_CURLY@[345; 346) + WHITESPACE@[346; 347) + R_CURLY@[347; 348) + WHITESPACE@[348; 350) -- cgit v1.2.3