From b7c141e0b5c66c51db7171b1de30d4c60d1048c0 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sun, 28 Jan 2018 22:59:18 +0300 Subject: Parse enums --- tests/data/parser/ok/0019_enums.rs | 25 ++++++++ tests/data/parser/ok/0019_enums.txt | 118 ++++++++++++++++++++++++++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 tests/data/parser/ok/0019_enums.rs create mode 100644 tests/data/parser/ok/0019_enums.txt (limited to 'tests/data') diff --git a/tests/data/parser/ok/0019_enums.rs b/tests/data/parser/ok/0019_enums.rs new file mode 100644 index 000000000..7a1afa0e6 --- /dev/null +++ b/tests/data/parser/ok/0019_enums.rs @@ -0,0 +1,25 @@ +enum E1 { +} + +enum E2 { +} + +enum E3 { + X +} + +enum E4 { + X, +} + +enum E5 { + A, + B = 92, + C { + a: u32, + pub b: f64, + }, + F {}, + D(u32,), + E(), +} diff --git a/tests/data/parser/ok/0019_enums.txt b/tests/data/parser/ok/0019_enums.txt new file mode 100644 index 000000000..a864f72c7 --- /dev/null +++ b/tests/data/parser/ok/0019_enums.txt @@ -0,0 +1,118 @@ +FILE@[0; 182) + ENUM_ITEM@[0; 13) + ENUM_KW@[0; 4) + WHITESPACE@[4; 5) + IDENT@[5; 7) + WHITESPACE@[7; 8) + L_CURLY@[8; 9) + WHITESPACE@[9; 10) + R_CURLY@[10; 11) + WHITESPACE@[11; 13) + ENUM_ITEM@[13; 29) + ENUM_KW@[13; 17) + WHITESPACE@[17; 18) + IDENT@[18; 20) + TYPE_PARAM_LIST@[20; 24) + L_ANGLE@[20; 21) + TYPE_PARAM@[21; 22) + IDENT@[21; 22) + R_ANGLE@[22; 23) + WHITESPACE@[23; 24) + L_CURLY@[24; 25) + WHITESPACE@[25; 26) + R_CURLY@[26; 27) + WHITESPACE@[27; 29) + ENUM_ITEM@[29; 48) + ENUM_KW@[29; 33) + WHITESPACE@[33; 34) + IDENT@[34; 36) + WHITESPACE@[36; 37) + L_CURLY@[37; 38) + ENUM_VARIANT@[38; 45) + WHITESPACE@[38; 43) + IDENT@[43; 44) + WHITESPACE@[44; 45) + R_CURLY@[45; 46) + WHITESPACE@[46; 48) + ENUM_ITEM@[48; 68) + ENUM_KW@[48; 52) + WHITESPACE@[52; 53) + IDENT@[53; 55) + WHITESPACE@[55; 56) + L_CURLY@[56; 57) + ENUM_VARIANT@[57; 63) + WHITESPACE@[57; 62) + IDENT@[62; 63) + COMMA@[63; 64) + WHITESPACE@[64; 65) + R_CURLY@[65; 66) + WHITESPACE@[66; 68) + ENUM_ITEM@[68; 182) + ENUM_KW@[68; 72) + WHITESPACE@[72; 73) + IDENT@[73; 75) + WHITESPACE@[75; 76) + L_CURLY@[76; 77) + ENUM_VARIANT@[77; 83) + WHITESPACE@[77; 82) + IDENT@[82; 83) + COMMA@[83; 84) + ENUM_VARIANT@[84; 95) + WHITESPACE@[84; 89) + IDENT@[89; 90) + WHITESPACE@[90; 91) + EQ@[91; 92) + LITERAL@[92; 95) + WHITESPACE@[92; 93) + INT_NUMBER@[93; 95) + COMMA@[95; 96) + ENUM_VARIANT@[96; 146) + WHITESPACE@[96; 101) + IDENT@[101; 102) + WHITESPACE@[102; 103) + L_CURLY@[103; 104) + NAMED_FIELD@[104; 119) + WHITESPACE@[104; 113) + IDENT@[113; 114) + COLON@[114; 115) + WHITESPACE@[115; 116) + IDENT@[116; 119) + COMMA@[119; 120) + NAMED_FIELD@[120; 139) + VISIBILITY@[120; 133) + WHITESPACE@[120; 129) + PUB_KW@[129; 132) + WHITESPACE@[132; 133) + IDENT@[133; 134) + COLON@[134; 135) + WHITESPACE@[135; 136) + IDENT@[136; 139) + COMMA@[139; 140) + WHITESPACE@[140; 145) + R_CURLY@[145; 146) + COMMA@[146; 147) + ENUM_VARIANT@[147; 156) + WHITESPACE@[147; 152) + IDENT@[152; 153) + WHITESPACE@[153; 154) + L_CURLY@[154; 155) + R_CURLY@[155; 156) + COMMA@[156; 157) + ENUM_VARIANT@[157; 169) + WHITESPACE@[157; 162) + IDENT@[162; 163) + L_PAREN@[163; 164) + POS_FIELD@[164; 167) + IDENT@[164; 167) + COMMA@[167; 168) + R_PAREN@[168; 169) + COMMA@[169; 170) + ENUM_VARIANT@[170; 178) + WHITESPACE@[170; 175) + IDENT@[175; 176) + L_PAREN@[176; 177) + R_PAREN@[177; 178) + COMMA@[178; 179) + WHITESPACE@[179; 180) + R_CURLY@[180; 181) + WHITESPACE@[181; 182) -- cgit v1.2.3