From 7edab6ae6b4c5d0c411e88f10e923b91dca31de3 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 24 Aug 2018 19:27:30 +0300 Subject: nodes for blocks --- .../parser/err/0000_struct_field_missing_comma.txt | 53 ++++---- .../data/parser/err/0001_item_recovery_in_file.txt | 5 +- .../tests/data/parser/err/0003_C++_semicolon.txt | 57 ++++---- .../data/parser/err/0005_attribute_recover.txt | 2 +- .../data/parser/err/0006_named_field_recovery.txt | 131 +++++++++---------- .../data/parser/err/0007_stray_curly_in_file.txt | 2 +- .../data/parser/err/0008_item_block_recovery.txt | 34 ++--- .../data/parser/err/0010_unsafe_lambda_block.txt | 19 +-- .../tests/data/parser/err/0013_invalid_type.txt | 143 +++++++++++---------- .../tests/data/parser/err/0014_where_no_bounds.txt | 2 +- 10 files changed, 228 insertions(+), 220 deletions(-) (limited to 'crates/libsyntax2/tests/data/parser/err') diff --git a/crates/libsyntax2/tests/data/parser/err/0000_struct_field_missing_comma.txt b/crates/libsyntax2/tests/data/parser/err/0000_struct_field_missing_comma.txt index cd9cf54c6..8ab435821 100644 --- a/crates/libsyntax2/tests/data/parser/err/0000_struct_field_missing_comma.txt +++ b/crates/libsyntax2/tests/data/parser/err/0000_struct_field_missing_comma.txt @@ -5,29 +5,30 @@ FILE@[0; 34) NAME@[7; 8) IDENT@[7; 8) "S" WHITESPACE@[8; 9) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) - NAMED_FIELD@[15; 21) - NAME@[15; 16) - IDENT@[15; 16) "a" - COLON@[16; 17) - WHITESPACE@[17; 18) - PATH_TYPE@[18; 21) - PATH@[18; 21) - PATH_SEGMENT@[18; 21) - NAME_REF@[18; 21) - IDENT@[18; 21) "u32" - err: `expected COMMA` - WHITESPACE@[21; 26) - NAMED_FIELD@[26; 32) - NAME@[26; 27) - IDENT@[26; 27) "b" - COLON@[27; 28) - WHITESPACE@[28; 29) - PATH_TYPE@[29; 32) - PATH@[29; 32) - PATH_SEGMENT@[29; 32) - NAME_REF@[29; 32) - IDENT@[29; 32) "u32" - WHITESPACE@[32; 33) - R_CURLY@[33; 34) + NAMED_FIELD_DEF_LIST@[9; 34) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + NAMED_FIELD_DEF@[15; 21) + NAME@[15; 16) + IDENT@[15; 16) "a" + COLON@[16; 17) + WHITESPACE@[17; 18) + PATH_TYPE@[18; 21) + PATH@[18; 21) + PATH_SEGMENT@[18; 21) + NAME_REF@[18; 21) + IDENT@[18; 21) "u32" + err: `expected COMMA` + WHITESPACE@[21; 26) + NAMED_FIELD_DEF@[26; 32) + NAME@[26; 27) + IDENT@[26; 27) "b" + COLON@[27; 28) + WHITESPACE@[28; 29) + PATH_TYPE@[29; 32) + PATH@[29; 32) + PATH_SEGMENT@[29; 32) + NAME_REF@[29; 32) + IDENT@[29; 32) "u32" + WHITESPACE@[32; 33) + R_CURLY@[33; 34) diff --git a/crates/libsyntax2/tests/data/parser/err/0001_item_recovery_in_file.txt b/crates/libsyntax2/tests/data/parser/err/0001_item_recovery_in_file.txt index e974b6e8c..9c0394e25 100644 --- a/crates/libsyntax2/tests/data/parser/err/0001_item_recovery_in_file.txt +++ b/crates/libsyntax2/tests/data/parser/err/0001_item_recovery_in_file.txt @@ -13,5 +13,6 @@ FILE@[0; 21) NAME@[17; 18) IDENT@[17; 18) "S" WHITESPACE@[18; 19) - L_CURLY@[19; 20) - R_CURLY@[20; 21) + NAMED_FIELD_DEF_LIST@[19; 21) + L_CURLY@[19; 20) + R_CURLY@[20; 21) diff --git a/crates/libsyntax2/tests/data/parser/err/0003_C++_semicolon.txt b/crates/libsyntax2/tests/data/parser/err/0003_C++_semicolon.txt index 01d12a646..13558d07e 100644 --- a/crates/libsyntax2/tests/data/parser/err/0003_C++_semicolon.txt +++ b/crates/libsyntax2/tests/data/parser/err/0003_C++_semicolon.txt @@ -5,34 +5,35 @@ FILE@[0; 40) NAME@[7; 8) IDENT@[7; 8) "S" WHITESPACE@[8; 9) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) - NAMED_FIELD@[15; 21) - NAME@[15; 16) - IDENT@[15; 16) "a" - COLON@[16; 17) - WHITESPACE@[17; 18) - PATH_TYPE@[18; 21) - PATH@[18; 21) - PATH_SEGMENT@[18; 21) - NAME_REF@[18; 21) - IDENT@[18; 21) "i32" - COMMA@[21; 22) - WHITESPACE@[22; 27) - NAMED_FIELD@[27; 36) - NAME@[27; 28) - IDENT@[27; 28) "b" - COLON@[28; 29) - WHITESPACE@[29; 30) - PATH_TYPE@[30; 36) - PATH@[30; 36) - PATH_SEGMENT@[30; 36) - NAME_REF@[30; 36) - IDENT@[30; 36) "String" - COMMA@[36; 37) - WHITESPACE@[37; 38) - R_CURLY@[38; 39) - err: `expected item, found `;` + NAMED_FIELD_DEF_LIST@[9; 39) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + NAMED_FIELD_DEF@[15; 21) + NAME@[15; 16) + IDENT@[15; 16) "a" + COLON@[16; 17) + WHITESPACE@[17; 18) + PATH_TYPE@[18; 21) + PATH@[18; 21) + PATH_SEGMENT@[18; 21) + NAME_REF@[18; 21) + IDENT@[18; 21) "i32" + COMMA@[21; 22) + WHITESPACE@[22; 27) + NAMED_FIELD_DEF@[27; 36) + NAME@[27; 28) + IDENT@[27; 28) "b" + COLON@[28; 29) + WHITESPACE@[29; 30) + PATH_TYPE@[30; 36) + PATH@[30; 36) + PATH_SEGMENT@[30; 36) + NAME_REF@[30; 36) + IDENT@[30; 36) "String" + COMMA@[36; 37) + WHITESPACE@[37; 38) + R_CURLY@[38; 39) + err: `expected item, found `;` consider removing this semicolon` ERROR@[39; 40) SEMI@[39; 40) diff --git a/crates/libsyntax2/tests/data/parser/err/0005_attribute_recover.txt b/crates/libsyntax2/tests/data/parser/err/0005_attribute_recover.txt index 12451c892..8843e8372 100644 --- a/crates/libsyntax2/tests/data/parser/err/0005_attribute_recover.txt +++ b/crates/libsyntax2/tests/data/parser/err/0005_attribute_recover.txt @@ -25,7 +25,7 @@ FILE@[0; 54) L_PAREN@[25; 26) R_PAREN@[26; 27) WHITESPACE@[27; 28) - BLOCK_EXPR@[28; 31) + BLOCK@[28; 31) L_CURLY@[28; 29) WHITESPACE@[29; 30) R_CURLY@[30; 31) diff --git a/crates/libsyntax2/tests/data/parser/err/0006_named_field_recovery.txt b/crates/libsyntax2/tests/data/parser/err/0006_named_field_recovery.txt index 0b6fa65df..e6e33cdbd 100644 --- a/crates/libsyntax2/tests/data/parser/err/0006_named_field_recovery.txt +++ b/crates/libsyntax2/tests/data/parser/err/0006_named_field_recovery.txt @@ -5,69 +5,70 @@ FILE@[0; 74) NAME@[7; 8) IDENT@[7; 8) "S" WHITESPACE@[8; 9) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) - NAMED_FIELD@[15; 21) - NAME@[15; 16) - IDENT@[15; 16) "f" - COLON@[16; 17) - WHITESPACE@[17; 18) - PATH_TYPE@[18; 21) - PATH@[18; 21) - PATH_SEGMENT@[18; 21) - NAME_REF@[18; 21) - IDENT@[18; 21) "u32" - COMMA@[21; 22) - WHITESPACE@[22; 27) - VISIBILITY@[27; 30) - PUB_KW@[27; 30) - WHITESPACE@[30; 31) - err: `expected field declaration` - ERROR@[31; 33) - INT_NUMBER@[31; 33) "92" - err: `expected COMMA` - WHITESPACE@[33; 38) - err: `expected field declaration` - ERROR@[38; 39) - PLUS@[38; 39) - err: `expected COMMA` - WHITESPACE@[39; 40) - err: `expected field declaration` - ERROR@[40; 41) - MINUS@[40; 41) - err: `expected COMMA` - WHITESPACE@[41; 42) - err: `expected field declaration` - ERROR@[42; 43) - STAR@[42; 43) - err: `expected COMMA` - WHITESPACE@[43; 48) - NAMED_FIELD@[48; 58) - VISIBILITY@[48; 51) - PUB_KW@[48; 51) - WHITESPACE@[51; 52) - NAME@[52; 53) - IDENT@[52; 53) "x" - COLON@[53; 54) - WHITESPACE@[54; 55) - PATH_TYPE@[55; 58) - PATH@[55; 58) - PATH_SEGMENT@[55; 58) - NAME_REF@[55; 58) - IDENT@[55; 58) "u32" - COMMA@[58; 59) - WHITESPACE@[59; 64) - NAMED_FIELD@[64; 70) - NAME@[64; 65) - IDENT@[64; 65) "z" - COLON@[65; 66) - WHITESPACE@[66; 67) - PATH_TYPE@[67; 70) - PATH@[67; 70) - PATH_SEGMENT@[67; 70) - NAME_REF@[67; 70) - IDENT@[67; 70) "f64" - COMMA@[70; 71) - WHITESPACE@[71; 72) - R_CURLY@[72; 73) + NAMED_FIELD_DEF_LIST@[9; 73) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + NAMED_FIELD_DEF@[15; 21) + NAME@[15; 16) + IDENT@[15; 16) "f" + COLON@[16; 17) + WHITESPACE@[17; 18) + PATH_TYPE@[18; 21) + PATH@[18; 21) + PATH_SEGMENT@[18; 21) + NAME_REF@[18; 21) + IDENT@[18; 21) "u32" + COMMA@[21; 22) + WHITESPACE@[22; 27) + VISIBILITY@[27; 30) + PUB_KW@[27; 30) + WHITESPACE@[30; 31) + err: `expected field declaration` + ERROR@[31; 33) + INT_NUMBER@[31; 33) "92" + err: `expected COMMA` + WHITESPACE@[33; 38) + err: `expected field declaration` + ERROR@[38; 39) + PLUS@[38; 39) + err: `expected COMMA` + WHITESPACE@[39; 40) + err: `expected field declaration` + ERROR@[40; 41) + MINUS@[40; 41) + err: `expected COMMA` + WHITESPACE@[41; 42) + err: `expected field declaration` + ERROR@[42; 43) + STAR@[42; 43) + err: `expected COMMA` + WHITESPACE@[43; 48) + NAMED_FIELD_DEF@[48; 58) + VISIBILITY@[48; 51) + PUB_KW@[48; 51) + WHITESPACE@[51; 52) + NAME@[52; 53) + IDENT@[52; 53) "x" + COLON@[53; 54) + WHITESPACE@[54; 55) + PATH_TYPE@[55; 58) + PATH@[55; 58) + PATH_SEGMENT@[55; 58) + NAME_REF@[55; 58) + IDENT@[55; 58) "u32" + COMMA@[58; 59) + WHITESPACE@[59; 64) + NAMED_FIELD_DEF@[64; 70) + NAME@[64; 65) + IDENT@[64; 65) "z" + COLON@[65; 66) + WHITESPACE@[66; 67) + PATH_TYPE@[67; 70) + PATH@[67; 70) + PATH_SEGMENT@[67; 70) + NAME_REF@[67; 70) + IDENT@[67; 70) "f64" + COMMA@[70; 71) + WHITESPACE@[71; 72) + R_CURLY@[72; 73) WHITESPACE@[73; 74) diff --git a/crates/libsyntax2/tests/data/parser/err/0007_stray_curly_in_file.txt b/crates/libsyntax2/tests/data/parser/err/0007_stray_curly_in_file.txt index cff8353d4..9642ed5bc 100644 --- a/crates/libsyntax2/tests/data/parser/err/0007_stray_curly_in_file.txt +++ b/crates/libsyntax2/tests/data/parser/err/0007_stray_curly_in_file.txt @@ -22,7 +22,7 @@ FILE@[0; 31) PARAM_LIST@[23; 25) L_PAREN@[23; 24) R_PAREN@[24; 25) - BLOCK_EXPR@[25; 27) + BLOCK@[25; 27) L_CURLY@[25; 26) R_CURLY@[26; 27) WHITESPACE@[27; 29) diff --git a/crates/libsyntax2/tests/data/parser/err/0008_item_block_recovery.txt b/crates/libsyntax2/tests/data/parser/err/0008_item_block_recovery.txt index 68f2b8aa5..5a062acab 100644 --- a/crates/libsyntax2/tests/data/parser/err/0008_item_block_recovery.txt +++ b/crates/libsyntax2/tests/data/parser/err/0008_item_block_recovery.txt @@ -8,7 +8,7 @@ FILE@[0; 95) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 12) + BLOCK@[9; 12) L_CURLY@[9; 10) WHITESPACE@[10; 11) R_CURLY@[11; 12) @@ -32,23 +32,25 @@ FILE@[0; 95) WHITESPACE@[28; 29) TRUE_KW@[29; 33) WHITESPACE@[33; 34) - L_CURLY@[34; 35) - WHITESPACE@[35; 44) - INT_NUMBER@[44; 45) "1" - WHITESPACE@[45; 50) - R_CURLY@[50; 51) + ERROR@[34; 51) + L_CURLY@[34; 35) + WHITESPACE@[35; 44) + INT_NUMBER@[44; 45) "1" + WHITESPACE@[45; 50) + R_CURLY@[50; 51) WHITESPACE@[51; 52) ELSE_KW@[52; 56) WHITESPACE@[56; 57) - L_CURLY@[57; 58) - WHITESPACE@[58; 67) - INT_NUMBER@[67; 68) "2" - WHITESPACE@[68; 69) - PLUS@[69; 70) - WHITESPACE@[70; 71) - INT_NUMBER@[71; 72) "3" - WHITESPACE@[72; 77) - R_CURLY@[77; 78) + ERROR@[57; 78) + L_CURLY@[57; 58) + WHITESPACE@[58; 67) + INT_NUMBER@[67; 68) "2" + WHITESPACE@[68; 69) + PLUS@[69; 70) + WHITESPACE@[70; 71) + INT_NUMBER@[71; 72) "3" + WHITESPACE@[72; 77) + R_CURLY@[77; 78) WHITESPACE@[78; 79) R_CURLY@[79; 80) WHITESPACE@[80; 82) @@ -61,7 +63,7 @@ FILE@[0; 95) L_PAREN@[88; 89) R_PAREN@[89; 90) WHITESPACE@[90; 91) - BLOCK_EXPR@[91; 94) + BLOCK@[91; 94) L_CURLY@[91; 92) WHITESPACE@[92; 93) R_CURLY@[93; 94) diff --git a/crates/libsyntax2/tests/data/parser/err/0010_unsafe_lambda_block.txt b/crates/libsyntax2/tests/data/parser/err/0010_unsafe_lambda_block.txt index b18de3a9c..e453c3651 100644 --- a/crates/libsyntax2/tests/data/parser/err/0010_unsafe_lambda_block.txt +++ b/crates/libsyntax2/tests/data/parser/err/0010_unsafe_lambda_block.txt @@ -8,7 +8,7 @@ FILE@[0; 42) L_PAREN@[7; 8) R_PAREN@[8; 9) WHITESPACE@[9; 10) - BLOCK_EXPR@[10; 41) + BLOCK@[10; 41) L_CURLY@[10; 11) WHITESPACE@[11; 16) LAMBDA_EXPR@[16; 24) @@ -21,19 +21,20 @@ FILE@[0; 42) TUPLE_TYPE@[22; 24) L_PAREN@[22; 23) R_PAREN@[23; 24) - err: `expected block` + err: `expected a block` WHITESPACE@[24; 25) EXPR_STMT@[25; 39) BLOCK_EXPR@[25; 38) UNSAFE_KW@[25; 31) WHITESPACE@[31; 32) - L_CURLY@[32; 33) - WHITESPACE@[33; 34) - TUPLE_EXPR@[34; 36) - L_PAREN@[34; 35) - R_PAREN@[35; 36) - WHITESPACE@[36; 37) - R_CURLY@[37; 38) + BLOCK@[32; 38) + L_CURLY@[32; 33) + WHITESPACE@[33; 34) + TUPLE_EXPR@[34; 36) + L_PAREN@[34; 35) + R_PAREN@[35; 36) + WHITESPACE@[36; 37) + R_CURLY@[37; 38) SEMI@[38; 39) WHITESPACE@[39; 40) R_CURLY@[40; 41) diff --git a/crates/libsyntax2/tests/data/parser/err/0013_invalid_type.txt b/crates/libsyntax2/tests/data/parser/err/0013_invalid_type.txt index 3ec4be9fa..7f48502da 100644 --- a/crates/libsyntax2/tests/data/parser/err/0013_invalid_type.txt +++ b/crates/libsyntax2/tests/data/parser/err/0013_invalid_type.txt @@ -7,76 +7,77 @@ FILE@[0; 86) WHITESPACE@[10; 11) NAME@[11; 16) IDENT@[11; 16) "Cache" - L_PAREN@[16; 17) - WHITESPACE@[17; 22) - POS_FIELD@[22; 68) - PATH_TYPE@[22; 68) - PATH@[22; 68) - PATH_SEGMENT@[22; 68) - NAME_REF@[22; 29) - IDENT@[22; 29) "RefCell" - TYPE_ARG_LIST@[29; 68) - L_ANGLE@[29; 30) - TYPE_ARG@[30; 68) - PATH_TYPE@[30; 68) - PATH@[30; 68) - PATH_SEGMENT@[30; 68) - NAME_REF@[30; 37) - IDENT@[30; 37) "HashMap" - TYPE_ARG_LIST@[37; 68) - L_ANGLE@[37; 38) - WHITESPACE@[38; 47) - TYPE_ARG@[47; 53) - PATH_TYPE@[47; 53) - PATH@[47; 53) - PATH_SEGMENT@[47; 53) - NAME_REF@[47; 53) - IDENT@[47; 53) "TypeId" - COMMA@[53; 54) - WHITESPACE@[54; 63) - TYPE_ARG@[63; 68) - PATH_TYPE@[63; 68) - PATH@[63; 68) - PATH_SEGMENT@[63; 68) - NAME_REF@[63; 66) - IDENT@[63; 66) "Box" - TYPE_ARG_LIST@[66; 68) - L_ANGLE@[66; 67) - err: `expected type` - TYPE_ARG@[67; 68) - ERROR@[67; 68) - AT@[67; 68) - err: `expected COMMA` - err: `expected R_ANGLE` - err: `expected COMMA` - err: `expected R_ANGLE` - err: `expected COMMA` - err: `expected R_ANGLE` - err: `expected COMMA` - WHITESPACE@[68; 69) - POS_FIELD@[69; 72) - PATH_TYPE@[69; 72) - PATH@[69; 72) - PATH_SEGMENT@[69; 72) - NAME_REF@[69; 72) - IDENT@[69; 72) "Any" - err: `expected COMMA` - err: `expected type` - POS_FIELD@[72; 73) - ERROR@[72; 73) - R_ANGLE@[72; 73) - COMMA@[73; 74) - WHITESPACE@[74; 79) - err: `expected type` - POS_FIELD@[79; 80) - ERROR@[79; 80) - R_ANGLE@[79; 80) - err: `expected COMMA` - err: `expected type` - POS_FIELD@[80; 81) - ERROR@[80; 81) - R_ANGLE@[80; 81) - WHITESPACE@[81; 82) - R_PAREN@[82; 83) + POS_FIELD_LIST@[16; 83) + L_PAREN@[16; 17) + WHITESPACE@[17; 22) + POS_FIELD@[22; 68) + PATH_TYPE@[22; 68) + PATH@[22; 68) + PATH_SEGMENT@[22; 68) + NAME_REF@[22; 29) + IDENT@[22; 29) "RefCell" + TYPE_ARG_LIST@[29; 68) + L_ANGLE@[29; 30) + TYPE_ARG@[30; 68) + PATH_TYPE@[30; 68) + PATH@[30; 68) + PATH_SEGMENT@[30; 68) + NAME_REF@[30; 37) + IDENT@[30; 37) "HashMap" + TYPE_ARG_LIST@[37; 68) + L_ANGLE@[37; 38) + WHITESPACE@[38; 47) + TYPE_ARG@[47; 53) + PATH_TYPE@[47; 53) + PATH@[47; 53) + PATH_SEGMENT@[47; 53) + NAME_REF@[47; 53) + IDENT@[47; 53) "TypeId" + COMMA@[53; 54) + WHITESPACE@[54; 63) + TYPE_ARG@[63; 68) + PATH_TYPE@[63; 68) + PATH@[63; 68) + PATH_SEGMENT@[63; 68) + NAME_REF@[63; 66) + IDENT@[63; 66) "Box" + TYPE_ARG_LIST@[66; 68) + L_ANGLE@[66; 67) + err: `expected type` + TYPE_ARG@[67; 68) + ERROR@[67; 68) + AT@[67; 68) + err: `expected COMMA` + err: `expected R_ANGLE` + err: `expected COMMA` + err: `expected R_ANGLE` + err: `expected COMMA` + err: `expected R_ANGLE` + err: `expected COMMA` + WHITESPACE@[68; 69) + POS_FIELD@[69; 72) + PATH_TYPE@[69; 72) + PATH@[69; 72) + PATH_SEGMENT@[69; 72) + NAME_REF@[69; 72) + IDENT@[69; 72) "Any" + err: `expected COMMA` + err: `expected type` + POS_FIELD@[72; 73) + ERROR@[72; 73) + R_ANGLE@[72; 73) + COMMA@[73; 74) + WHITESPACE@[74; 79) + err: `expected type` + POS_FIELD@[79; 80) + ERROR@[79; 80) + R_ANGLE@[79; 80) + err: `expected COMMA` + err: `expected type` + POS_FIELD@[80; 81) + ERROR@[80; 81) + R_ANGLE@[80; 81) + WHITESPACE@[81; 82) + R_PAREN@[82; 83) SEMI@[83; 84) WHITESPACE@[84; 86) diff --git a/crates/libsyntax2/tests/data/parser/err/0014_where_no_bounds.txt b/crates/libsyntax2/tests/data/parser/err/0014_where_no_bounds.txt index 37b16a566..cef20327c 100644 --- a/crates/libsyntax2/tests/data/parser/err/0014_where_no_bounds.txt +++ b/crates/libsyntax2/tests/data/parser/err/0014_where_no_bounds.txt @@ -25,7 +25,7 @@ FILE@[0; 23) IDENT@[18; 19) "T" err: `expected colon` WHITESPACE@[19; 20) - BLOCK_EXPR@[20; 22) + BLOCK@[20; 22) L_CURLY@[20; 21) R_CURLY@[21; 22) WHITESPACE@[22; 23) -- cgit v1.2.3