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/err/0022_bad_exprs.rs | 3 + .../tests/data/parser/err/0022_bad_exprs.txt | 189 +++++++++++++++++++++ 2 files changed, 192 insertions(+) create mode 100644 crates/libsyntax2/tests/data/parser/err/0022_bad_exprs.rs create mode 100644 crates/libsyntax2/tests/data/parser/err/0022_bad_exprs.txt (limited to 'crates/libsyntax2/tests/data/parser/err') diff --git a/crates/libsyntax2/tests/data/parser/err/0022_bad_exprs.rs b/crates/libsyntax2/tests/data/parser/err/0022_bad_exprs.rs new file mode 100644 index 000000000..cd2d493a1 --- /dev/null +++ b/crates/libsyntax2/tests/data/parser/err/0022_bad_exprs.rs @@ -0,0 +1,3 @@ +fn a() { [1, 2, @, struct, let] } +fn b() { foo(1, 2, @, impl, let) } +fn c() { foo.bar(1, 2, @, ], trait, let) } diff --git a/crates/libsyntax2/tests/data/parser/err/0022_bad_exprs.txt b/crates/libsyntax2/tests/data/parser/err/0022_bad_exprs.txt new file mode 100644 index 000000000..287e56ac4 --- /dev/null +++ b/crates/libsyntax2/tests/data/parser/err/0022_bad_exprs.txt @@ -0,0 +1,189 @@ +ROOT@[0; 112) + FN_DEF@[0; 33) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 4) + IDENT@[3; 4) "a" + PARAM_LIST@[4; 6) + L_PAREN@[4; 5) + R_PAREN@[5; 6) + WHITESPACE@[6; 7) + BLOCK@[7; 33) + L_CURLY@[7; 8) + WHITESPACE@[8; 9) + EXPR_STMT@[9; 15) + ARRAY_EXPR@[9; 15) + L_BRACK@[9; 10) + LITERAL@[10; 11) + INT_NUMBER@[10; 11) "1" + COMMA@[11; 12) + WHITESPACE@[12; 13) + LITERAL@[13; 14) + INT_NUMBER@[13; 14) "2" + COMMA@[14; 15) + err: `expected expression` + err: `expected R_BRACK` + err: `expected SEMI` + WHITESPACE@[15; 16) + err: `expected expression` + EXPR_STMT@[16; 17) + ERROR@[16; 17) + AT@[16; 17) + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[17; 18) + ERROR@[17; 18) + COMMA@[17; 18) + err: `expected SEMI` + WHITESPACE@[18; 19) + STRUCT_DEF@[19; 26) + STRUCT_KW@[19; 25) + err: `expected a name` + ERROR@[25; 26) + COMMA@[25; 26) + err: `expected `;`, `{`, or `(`` + WHITESPACE@[26; 27) + LET_STMT@[27; 31) + LET_KW@[27; 30) + err: `expected pattern` + ERROR@[30; 31) + R_BRACK@[30; 31) + err: `expected SEMI` + WHITESPACE@[31; 32) + R_CURLY@[32; 33) + WHITESPACE@[33; 34) + FN_DEF@[34; 68) + FN_KW@[34; 36) + WHITESPACE@[36; 37) + NAME@[37; 38) + IDENT@[37; 38) "b" + PARAM_LIST@[38; 40) + L_PAREN@[38; 39) + R_PAREN@[39; 40) + WHITESPACE@[40; 41) + BLOCK@[41; 68) + L_CURLY@[41; 42) + WHITESPACE@[42; 43) + EXPR_STMT@[43; 52) + CALL_EXPR@[43; 52) + PATH_EXPR@[43; 46) + PATH@[43; 46) + PATH_SEGMENT@[43; 46) + NAME_REF@[43; 46) + IDENT@[43; 46) "foo" + ARG_LIST@[46; 52) + L_PAREN@[46; 47) + LITERAL@[47; 48) + INT_NUMBER@[47; 48) "1" + COMMA@[48; 49) + WHITESPACE@[49; 50) + LITERAL@[50; 51) + INT_NUMBER@[50; 51) "2" + COMMA@[51; 52) + err: `expected expression` + err: `expected SEMI` + WHITESPACE@[52; 53) + err: `expected expression` + EXPR_STMT@[53; 54) + ERROR@[53; 54) + AT@[53; 54) + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[54; 55) + ERROR@[54; 55) + COMMA@[54; 55) + err: `expected SEMI` + WHITESPACE@[55; 56) + IMPL_ITEM@[56; 60) + IMPL_KW@[56; 60) + err: `expected type` + err: `expected `{`` + err: `expected expression` + EXPR_STMT@[60; 61) + ERROR@[60; 61) + COMMA@[60; 61) + err: `expected SEMI` + WHITESPACE@[61; 62) + LET_STMT@[62; 65) + LET_KW@[62; 65) + err: `expected pattern` + err: `expected SEMI` + err: `expected expression` + ERROR@[65; 66) + R_PAREN@[65; 66) + WHITESPACE@[66; 67) + R_CURLY@[67; 68) + WHITESPACE@[68; 69) + FN_DEF@[69; 111) + FN_KW@[69; 71) + WHITESPACE@[71; 72) + NAME@[72; 73) + IDENT@[72; 73) "c" + PARAM_LIST@[73; 75) + L_PAREN@[73; 74) + R_PAREN@[74; 75) + WHITESPACE@[75; 76) + BLOCK@[76; 111) + L_CURLY@[76; 77) + WHITESPACE@[77; 78) + EXPR_STMT@[78; 91) + METHOD_CALL_EXPR@[78; 91) + PATH_EXPR@[78; 81) + PATH@[78; 81) + PATH_SEGMENT@[78; 81) + NAME_REF@[78; 81) + IDENT@[78; 81) "foo" + DOT@[81; 82) + NAME_REF@[82; 85) + IDENT@[82; 85) "bar" + ARG_LIST@[85; 91) + L_PAREN@[85; 86) + LITERAL@[86; 87) + INT_NUMBER@[86; 87) "1" + COMMA@[87; 88) + WHITESPACE@[88; 89) + LITERAL@[89; 90) + INT_NUMBER@[89; 90) "2" + COMMA@[90; 91) + err: `expected expression` + err: `expected SEMI` + WHITESPACE@[91; 92) + err: `expected expression` + EXPR_STMT@[92; 93) + ERROR@[92; 93) + AT@[92; 93) + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[93; 94) + ERROR@[93; 94) + COMMA@[93; 94) + err: `expected SEMI` + WHITESPACE@[94; 95) + err: `expected expression` + EXPR_STMT@[95; 96) + ERROR@[95; 96) + R_BRACK@[95; 96) + err: `expected SEMI` + err: `expected expression` + EXPR_STMT@[96; 97) + ERROR@[96; 97) + COMMA@[96; 97) + err: `expected SEMI` + WHITESPACE@[97; 98) + TRAIT_DEF@[98; 104) + TRAIT_KW@[98; 103) + err: `expected a name` + ERROR@[103; 104) + COMMA@[103; 104) + err: `expected `{`` + WHITESPACE@[104; 105) + LET_STMT@[105; 108) + LET_KW@[105; 108) + err: `expected pattern` + err: `expected SEMI` + err: `expected expression` + ERROR@[108; 109) + R_PAREN@[108; 109) + WHITESPACE@[109; 110) + R_CURLY@[110; 111) + WHITESPACE@[111; 112) -- cgit v1.2.3