From b097090690f5edbe03f4aa9d042ba26c123699e4 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sun, 11 Feb 2018 00:46:17 +0300 Subject: G: more types --- .../parser/err/0000_struct_field_missing_comma.txt | 20 ++++++++++---- tests/data/parser/err/0003_C++_semicolon.txt | 16 ++++++++--- .../data/parser/err/0006_named_field_recovery.txt | 24 ++++++++++++---- .../parser/inline/0014_type_item_type_params.txt | 7 +++-- tests/data/parser/inline/0015_type_item.txt | 8 ++++-- .../parser/inline/0016_type_item_where_clause.txt | 7 +++-- tests/data/parser/inline/0017_paren_type.rs | 1 + tests/data/parser/inline/0017_paren_type.txt | 19 +++++++++++++ tests/data/parser/inline/0018_unit_type.rs | 1 + tests/data/parser/inline/0018_unit_type.txt | 14 ++++++++++ .../parser/inline/0019_singleton_tuple_type.rs | 1 + .../parser/inline/0019_singleton_tuple_type.txt | 20 ++++++++++++++ tests/data/parser/ok/0002_struct_item_field.txt | 10 +++++-- tests/data/parser/ok/0016_struct_flavors.txt | 32 ++++++++++++++++------ tests/data/parser/ok/0018_struct_type_params.txt | 16 ++++++++--- tests/data/parser/ok/0019_enums.txt | 22 +++++++++++---- tests/data/parser/ok/0023_static_items.txt | 20 ++++++++++---- tests/data/parser/ok/0024_const_item.txt | 20 ++++++++++---- 18 files changed, 202 insertions(+), 56 deletions(-) create mode 100644 tests/data/parser/inline/0017_paren_type.rs create mode 100644 tests/data/parser/inline/0017_paren_type.txt create mode 100644 tests/data/parser/inline/0018_unit_type.rs create mode 100644 tests/data/parser/inline/0018_unit_type.txt create mode 100644 tests/data/parser/inline/0019_singleton_tuple_type.rs create mode 100644 tests/data/parser/inline/0019_singleton_tuple_type.txt (limited to 'tests/data') diff --git a/tests/data/parser/err/0000_struct_field_missing_comma.txt b/tests/data/parser/err/0000_struct_field_missing_comma.txt index f1c772b8d..5196fd718 100644 --- a/tests/data/parser/err/0000_struct_field_missing_comma.txt +++ b/tests/data/parser/err/0000_struct_field_missing_comma.txt @@ -11,15 +11,23 @@ FILE@[0; 34) WHITESPACE@[10; 15) IDENT@[15; 16) "a" COLON@[16; 17) - WHITESPACE@[17; 18) - IDENT@[18; 21) "u32" - WHITESPACE@[21; 26) + PATH_TYPE@[17; 26) + PATH@[17; 26) + PATH_SEGMENT@[17; 26) + NAME_REF@[17; 26) + WHITESPACE@[17; 18) + IDENT@[18; 21) "u32" + WHITESPACE@[21; 26) err: `expected COMMA` NAMED_FIELD@[26; 33) NAME@[26; 27) IDENT@[26; 27) "b" COLON@[27; 28) - WHITESPACE@[28; 29) - IDENT@[29; 32) "u32" - WHITESPACE@[32; 33) + PATH_TYPE@[28; 33) + PATH@[28; 33) + PATH_SEGMENT@[28; 33) + NAME_REF@[28; 33) + WHITESPACE@[28; 29) + IDENT@[29; 32) "u32" + WHITESPACE@[32; 33) R_CURLY@[33; 34) diff --git a/tests/data/parser/err/0003_C++_semicolon.txt b/tests/data/parser/err/0003_C++_semicolon.txt index c835a1474..affe8fd09 100644 --- a/tests/data/parser/err/0003_C++_semicolon.txt +++ b/tests/data/parser/err/0003_C++_semicolon.txt @@ -11,16 +11,24 @@ FILE@[0; 40) WHITESPACE@[10; 15) IDENT@[15; 16) "a" COLON@[16; 17) - WHITESPACE@[17; 18) - IDENT@[18; 21) "i32" + PATH_TYPE@[17; 21) + PATH@[17; 21) + PATH_SEGMENT@[17; 21) + NAME_REF@[17; 21) + WHITESPACE@[17; 18) + IDENT@[18; 21) "i32" COMMA@[21; 22) NAMED_FIELD@[22; 36) NAME@[22; 28) WHITESPACE@[22; 27) IDENT@[27; 28) "b" COLON@[28; 29) - WHITESPACE@[29; 30) - IDENT@[30; 36) "String" + PATH_TYPE@[29; 36) + PATH@[29; 36) + PATH_SEGMENT@[29; 36) + NAME_REF@[29; 36) + WHITESPACE@[29; 30) + IDENT@[30; 36) "String" COMMA@[36; 37) WHITESPACE@[37; 38) R_CURLY@[38; 39) diff --git a/tests/data/parser/err/0006_named_field_recovery.txt b/tests/data/parser/err/0006_named_field_recovery.txt index b772671e9..2dec74866 100644 --- a/tests/data/parser/err/0006_named_field_recovery.txt +++ b/tests/data/parser/err/0006_named_field_recovery.txt @@ -11,8 +11,12 @@ FILE@[0; 74) WHITESPACE@[10; 15) IDENT@[15; 16) "f" COLON@[16; 17) - WHITESPACE@[17; 18) - IDENT@[18; 21) "u32" + PATH_TYPE@[17; 21) + PATH@[17; 21) + PATH_SEGMENT@[17; 21) + NAME_REF@[17; 21) + WHITESPACE@[17; 18) + IDENT@[18; 21) "u32" COMMA@[21; 22) VISIBILITY@[22; 31) WHITESPACE@[22; 27) @@ -42,16 +46,24 @@ FILE@[0; 74) NAME@[52; 53) IDENT@[52; 53) "x" COLON@[53; 54) - WHITESPACE@[54; 55) - IDENT@[55; 58) "u32" + PATH_TYPE@[54; 58) + PATH@[54; 58) + PATH_SEGMENT@[54; 58) + NAME_REF@[54; 58) + WHITESPACE@[54; 55) + IDENT@[55; 58) "u32" COMMA@[58; 59) NAMED_FIELD@[59; 70) NAME@[59; 65) WHITESPACE@[59; 64) IDENT@[64; 65) "z" COLON@[65; 66) - WHITESPACE@[66; 67) - IDENT@[67; 70) "f64" + PATH_TYPE@[66; 70) + PATH@[66; 70) + PATH_SEGMENT@[66; 70) + NAME_REF@[66; 70) + WHITESPACE@[66; 67) + IDENT@[67; 70) "f64" COMMA@[70; 71) WHITESPACE@[71; 72) R_CURLY@[72; 73) diff --git a/tests/data/parser/inline/0014_type_item_type_params.txt b/tests/data/parser/inline/0014_type_item_type_params.txt index ca32faa42..98a71414e 100644 --- a/tests/data/parser/inline/0014_type_item_type_params.txt +++ b/tests/data/parser/inline/0014_type_item_type_params.txt @@ -11,8 +11,9 @@ FILE@[0; 21) R_ANGLE@[13; 14) WHITESPACE@[14; 15) EQ@[15; 16) - WHITESPACE@[16; 17) - L_PAREN@[17; 18) - R_PAREN@[18; 19) + TUPLE_TYPE@[16; 19) + WHITESPACE@[16; 17) + L_PAREN@[17; 18) + R_PAREN@[18; 19) SEMI@[19; 20) WHITESPACE@[20; 21) diff --git a/tests/data/parser/inline/0015_type_item.txt b/tests/data/parser/inline/0015_type_item.txt index 3818fe25d..602298546 100644 --- a/tests/data/parser/inline/0015_type_item.txt +++ b/tests/data/parser/inline/0015_type_item.txt @@ -6,7 +6,11 @@ FILE@[0; 16) IDENT@[5; 8) "Foo" WHITESPACE@[8; 9) EQ@[9; 10) - WHITESPACE@[10; 11) - IDENT@[11; 14) "Bar" + PATH_TYPE@[10; 14) + PATH@[10; 14) + PATH_SEGMENT@[10; 14) + NAME_REF@[10; 14) + WHITESPACE@[10; 11) + IDENT@[11; 14) "Bar" SEMI@[14; 15) WHITESPACE@[15; 16) diff --git a/tests/data/parser/inline/0016_type_item_where_clause.txt b/tests/data/parser/inline/0016_type_item_where_clause.txt index 12bbc752a..ff20c6255 100644 --- a/tests/data/parser/inline/0016_type_item_where_clause.txt +++ b/tests/data/parser/inline/0016_type_item_where_clause.txt @@ -14,8 +14,9 @@ FILE@[0; 31) IDENT@[20; 24) "Copy" WHITESPACE@[24; 25) EQ@[25; 26) - WHITESPACE@[26; 27) - L_PAREN@[27; 28) - R_PAREN@[28; 29) + TUPLE_TYPE@[26; 29) + WHITESPACE@[26; 27) + L_PAREN@[27; 28) + R_PAREN@[28; 29) SEMI@[29; 30) WHITESPACE@[30; 31) diff --git a/tests/data/parser/inline/0017_paren_type.rs b/tests/data/parser/inline/0017_paren_type.rs new file mode 100644 index 000000000..6e1b25101 --- /dev/null +++ b/tests/data/parser/inline/0017_paren_type.rs @@ -0,0 +1 @@ +type T = (i32); diff --git a/tests/data/parser/inline/0017_paren_type.txt b/tests/data/parser/inline/0017_paren_type.txt new file mode 100644 index 000000000..6ef9c9190 --- /dev/null +++ b/tests/data/parser/inline/0017_paren_type.txt @@ -0,0 +1,19 @@ +FILE@[0; 16) + TYPE_ITEM@[0; 16) + TYPE_KW@[0; 4) + NAME@[4; 7) + WHITESPACE@[4; 5) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) + EQ@[7; 8) + PAREN_TYPE@[8; 14) + WHITESPACE@[8; 9) + L_PAREN@[9; 10) + PATH_TYPE@[10; 13) + PATH@[10; 13) + PATH_SEGMENT@[10; 13) + NAME_REF@[10; 13) + IDENT@[10; 13) "i32" + R_PAREN@[13; 14) + SEMI@[14; 15) + WHITESPACE@[15; 16) diff --git a/tests/data/parser/inline/0018_unit_type.rs b/tests/data/parser/inline/0018_unit_type.rs new file mode 100644 index 000000000..c039cf7d3 --- /dev/null +++ b/tests/data/parser/inline/0018_unit_type.rs @@ -0,0 +1 @@ +type T = (); diff --git a/tests/data/parser/inline/0018_unit_type.txt b/tests/data/parser/inline/0018_unit_type.txt new file mode 100644 index 000000000..707b6e53e --- /dev/null +++ b/tests/data/parser/inline/0018_unit_type.txt @@ -0,0 +1,14 @@ +FILE@[0; 13) + TYPE_ITEM@[0; 13) + TYPE_KW@[0; 4) + NAME@[4; 7) + WHITESPACE@[4; 5) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) + EQ@[7; 8) + TUPLE_TYPE@[8; 11) + WHITESPACE@[8; 9) + L_PAREN@[9; 10) + R_PAREN@[10; 11) + SEMI@[11; 12) + WHITESPACE@[12; 13) diff --git a/tests/data/parser/inline/0019_singleton_tuple_type.rs b/tests/data/parser/inline/0019_singleton_tuple_type.rs new file mode 100644 index 000000000..cb66bad24 --- /dev/null +++ b/tests/data/parser/inline/0019_singleton_tuple_type.rs @@ -0,0 +1 @@ +type T = (i32,); diff --git a/tests/data/parser/inline/0019_singleton_tuple_type.txt b/tests/data/parser/inline/0019_singleton_tuple_type.txt new file mode 100644 index 000000000..cca96e7ea --- /dev/null +++ b/tests/data/parser/inline/0019_singleton_tuple_type.txt @@ -0,0 +1,20 @@ +FILE@[0; 17) + TYPE_ITEM@[0; 17) + TYPE_KW@[0; 4) + NAME@[4; 7) + WHITESPACE@[4; 5) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) + EQ@[7; 8) + TUPLE_TYPE@[8; 15) + WHITESPACE@[8; 9) + L_PAREN@[9; 10) + PATH_TYPE@[10; 13) + PATH@[10; 13) + PATH_SEGMENT@[10; 13) + NAME_REF@[10; 13) + IDENT@[10; 13) "i32" + COMMA@[13; 14) + R_PAREN@[14; 15) + SEMI@[15; 16) + WHITESPACE@[16; 17) diff --git a/tests/data/parser/ok/0002_struct_item_field.txt b/tests/data/parser/ok/0002_struct_item_field.txt index 31d3508db..7a395e14f 100644 --- a/tests/data/parser/ok/0002_struct_item_field.txt +++ b/tests/data/parser/ok/0002_struct_item_field.txt @@ -11,7 +11,11 @@ FILE@[0; 25) WHITESPACE@[10; 15) IDENT@[15; 18) "foo" COLON@[18; 19) - WHITESPACE@[19; 20) - IDENT@[20; 23) "u32" - WHITESPACE@[23; 24) + PATH_TYPE@[19; 24) + PATH@[19; 24) + PATH_SEGMENT@[19; 24) + NAME_REF@[19; 24) + WHITESPACE@[19; 20) + IDENT@[20; 23) "u32" + WHITESPACE@[23; 24) R_CURLY@[24; 25) diff --git a/tests/data/parser/ok/0016_struct_flavors.txt b/tests/data/parser/ok/0016_struct_flavors.txt index 15462b9b9..b5101c87d 100644 --- a/tests/data/parser/ok/0016_struct_flavors.txt +++ b/tests/data/parser/ok/0016_struct_flavors.txt @@ -36,8 +36,12 @@ FILE@[0; 97) WHITESPACE@[45; 50) IDENT@[50; 51) "a" COLON@[51; 52) - WHITESPACE@[52; 53) - IDENT@[53; 56) "u32" + PATH_TYPE@[52; 56) + PATH@[52; 56) + PATH_SEGMENT@[52; 56) + NAME_REF@[52; 56) + WHITESPACE@[52; 53) + IDENT@[53; 56) "u32" COMMA@[56; 57) NAMED_FIELD@[57; 73) VISIBILITY@[57; 66) @@ -47,9 +51,13 @@ FILE@[0; 97) NAME@[66; 67) IDENT@[66; 67) "b" COLON@[67; 68) - WHITESPACE@[68; 69) - IDENT@[69; 72) "u32" - WHITESPACE@[72; 73) + PATH_TYPE@[68; 73) + PATH@[68; 73) + PATH_SEGMENT@[68; 73) + NAME_REF@[68; 73) + WHITESPACE@[68; 69) + IDENT@[69; 72) "u32" + WHITESPACE@[72; 73) R_CURLY@[73; 74) WHITESPACE@[74; 76) STRUCT_ITEM@[76; 97) @@ -62,11 +70,19 @@ FILE@[0; 97) VISIBILITY@[85; 89) PUB_KW@[85; 88) WHITESPACE@[88; 89) - IDENT@[89; 90) "x" + PATH_TYPE@[89; 90) + PATH@[89; 90) + PATH_SEGMENT@[89; 90) + NAME_REF@[89; 90) + IDENT@[89; 90) "x" COMMA@[90; 91) POS_FIELD@[91; 93) - WHITESPACE@[91; 92) - IDENT@[92; 93) "y" + PATH_TYPE@[91; 93) + PATH@[91; 93) + PATH_SEGMENT@[91; 93) + NAME_REF@[91; 93) + WHITESPACE@[91; 92) + IDENT@[92; 93) "y" COMMA@[93; 94) R_PAREN@[94; 95) SEMI@[95; 96) diff --git a/tests/data/parser/ok/0018_struct_type_params.txt b/tests/data/parser/ok/0018_struct_type_params.txt index fe14effce..8e1feab38 100644 --- a/tests/data/parser/ok/0018_struct_type_params.txt +++ b/tests/data/parser/ok/0018_struct_type_params.txt @@ -23,7 +23,11 @@ FILE@[0; 290) R_ANGLE@[25; 26) L_PAREN@[26; 27) POS_FIELD@[27; 30) - IDENT@[27; 30) "u32" + PATH_TYPE@[27; 30) + PATH@[27; 30) + PATH_SEGMENT@[27; 30) + NAME_REF@[27; 30) + IDENT@[27; 30) "u32" R_PAREN@[30; 31) SEMI@[31; 32) WHITESPACE@[32; 33) @@ -44,9 +48,13 @@ FILE@[0; 290) WHITESPACE@[47; 48) IDENT@[48; 49) "u" COLON@[49; 50) - WHITESPACE@[50; 51) - IDENT@[51; 54) "u32" - WHITESPACE@[54; 55) + PATH_TYPE@[50; 55) + PATH@[50; 55) + PATH_SEGMENT@[50; 55) + NAME_REF@[50; 55) + WHITESPACE@[50; 51) + IDENT@[51; 54) "u32" + WHITESPACE@[54; 55) R_CURLY@[55; 56) WHITESPACE@[56; 58) STRUCT_ITEM@[58; 71) diff --git a/tests/data/parser/ok/0019_enums.txt b/tests/data/parser/ok/0019_enums.txt index bad12bee3..09253dcea 100644 --- a/tests/data/parser/ok/0019_enums.txt +++ b/tests/data/parser/ok/0019_enums.txt @@ -81,8 +81,12 @@ FILE@[0; 182) WHITESPACE@[104; 113) IDENT@[113; 114) "a" COLON@[114; 115) - WHITESPACE@[115; 116) - IDENT@[116; 119) "u32" + PATH_TYPE@[115; 119) + PATH@[115; 119) + PATH_SEGMENT@[115; 119) + NAME_REF@[115; 119) + WHITESPACE@[115; 116) + IDENT@[116; 119) "u32" COMMA@[119; 120) NAMED_FIELD@[120; 139) VISIBILITY@[120; 133) @@ -92,8 +96,12 @@ FILE@[0; 182) NAME@[133; 134) IDENT@[133; 134) "b" COLON@[134; 135) - WHITESPACE@[135; 136) - IDENT@[136; 139) "f64" + PATH_TYPE@[135; 139) + PATH@[135; 139) + PATH_SEGMENT@[135; 139) + NAME_REF@[135; 139) + WHITESPACE@[135; 136) + IDENT@[136; 139) "f64" COMMA@[139; 140) WHITESPACE@[140; 145) R_CURLY@[145; 146) @@ -110,7 +118,11 @@ FILE@[0; 182) IDENT@[162; 163) "D" L_PAREN@[163; 164) POS_FIELD@[164; 167) - IDENT@[164; 167) "u32" + PATH_TYPE@[164; 167) + PATH@[164; 167) + PATH_SEGMENT@[164; 167) + NAME_REF@[164; 167) + IDENT@[164; 167) "u32" COMMA@[167; 168) R_PAREN@[168; 169) COMMA@[169; 170) diff --git a/tests/data/parser/ok/0023_static_items.txt b/tests/data/parser/ok/0023_static_items.txt index 8872520c5..c9ecfb920 100644 --- a/tests/data/parser/ok/0023_static_items.txt +++ b/tests/data/parser/ok/0023_static_items.txt @@ -5,9 +5,13 @@ FILE@[0; 47) WHITESPACE@[6; 7) IDENT@[7; 10) "FOO" COLON@[10; 11) - WHITESPACE@[11; 12) - IDENT@[12; 15) "u32" - WHITESPACE@[15; 16) + PATH_TYPE@[11; 16) + PATH@[11; 16) + PATH_SEGMENT@[11; 16) + NAME_REF@[11; 16) + WHITESPACE@[11; 12) + IDENT@[12; 15) "u32" + WHITESPACE@[15; 16) EQ@[16; 17) LITERAL@[17; 19) WHITESPACE@[17; 18) @@ -22,9 +26,13 @@ FILE@[0; 47) WHITESPACE@[31; 32) IDENT@[32; 35) "BAR" COLON@[35; 36) - WHITESPACE@[36; 37) - IDENT@[37; 40) "i32" - WHITESPACE@[40; 41) + PATH_TYPE@[36; 41) + PATH@[36; 41) + PATH_SEGMENT@[36; 41) + NAME_REF@[36; 41) + WHITESPACE@[36; 37) + IDENT@[37; 40) "i32" + WHITESPACE@[40; 41) EQ@[41; 42) LITERAL@[42; 45) WHITESPACE@[42; 43) diff --git a/tests/data/parser/ok/0024_const_item.txt b/tests/data/parser/ok/0024_const_item.txt index 0f31d19d3..e37150ee4 100644 --- a/tests/data/parser/ok/0024_const_item.txt +++ b/tests/data/parser/ok/0024_const_item.txt @@ -5,9 +5,13 @@ FILE@[0; 46) WHITESPACE@[5; 6) IDENT@[6; 9) "FOO" COLON@[9; 10) - WHITESPACE@[10; 11) - IDENT@[11; 14) "u32" - WHITESPACE@[14; 15) + PATH_TYPE@[10; 15) + PATH@[10; 15) + PATH_SEGMENT@[10; 15) + NAME_REF@[10; 15) + WHITESPACE@[10; 11) + IDENT@[11; 14) "u32" + WHITESPACE@[14; 15) EQ@[15; 16) LITERAL@[16; 19) WHITESPACE@[16; 17) @@ -22,9 +26,13 @@ FILE@[0; 46) WHITESPACE@[30; 31) IDENT@[31; 34) "BAR" COLON@[34; 35) - WHITESPACE@[35; 36) - IDENT@[36; 39) "u32" - WHITESPACE@[39; 40) + PATH_TYPE@[35; 40) + PATH@[35; 40) + PATH_SEGMENT@[35; 40) + NAME_REF@[35; 40) + WHITESPACE@[35; 36) + IDENT@[36; 39) "u32" + WHITESPACE@[39; 40) EQ@[40; 41) LITERAL@[41; 44) WHITESPACE@[41; 42) -- cgit v1.2.3