G: use names in fields

This commit is contained in:
Aleksey Kladov 2018-02-10 14:13:30 +03:00
parent 8a735b6672
commit c13e6db774
8 changed files with 38 additions and 24 deletions

View File

@ -86,7 +86,8 @@ fn named_fields(p: &mut Parser) {
fn named_field(p: &mut Parser) {
let field = p.start();
visibility(p);
if p.expect(IDENT) {
if p.at(IDENT) {
name(p);
p.expect(COLON);
types::type_ref(p);
field.complete(p, NAMED_FIELD);

View File

@ -7,6 +7,7 @@ FILE@[0; 34)
WHITESPACE@[8; 9)
L_CURLY@[9; 10)
NAMED_FIELD@[10; 26)
NAME@[10; 16)
WHITESPACE@[10; 15)
IDENT@[15; 16) "a"
COLON@[16; 17)
@ -15,6 +16,7 @@ FILE@[0; 34)
WHITESPACE@[21; 26)
err: `expected COMMA`
NAMED_FIELD@[26; 33)
NAME@[26; 27)
IDENT@[26; 27) "b"
COLON@[27; 28)
WHITESPACE@[28; 29)

View File

@ -7,6 +7,7 @@ FILE@[0; 40)
WHITESPACE@[8; 9)
L_CURLY@[9; 10)
NAMED_FIELD@[10; 21)
NAME@[10; 16)
WHITESPACE@[10; 15)
IDENT@[15; 16) "a"
COLON@[16; 17)
@ -14,6 +15,7 @@ FILE@[0; 40)
IDENT@[18; 21) "i32"
COMMA@[21; 22)
NAMED_FIELD@[22; 36)
NAME@[22; 28)
WHITESPACE@[22; 27)
IDENT@[27; 28) "b"
COLON@[28; 29)

View File

@ -7,6 +7,7 @@ FILE@[0; 74)
WHITESPACE@[8; 9)
L_CURLY@[9; 10)
NAMED_FIELD@[10; 21)
NAME@[10; 16)
WHITESPACE@[10; 15)
IDENT@[15; 16) "f"
COLON@[16; 17)
@ -17,11 +18,11 @@ FILE@[0; 74)
WHITESPACE@[22; 27)
PUB_KW@[27; 30)
WHITESPACE@[30; 31)
err: `expected IDENT`
ERROR@[31; 38)
err: `expected field declaration`
INT_NUMBER@[31; 33)
WHITESPACE@[33; 38)
err: `expected COMMA`
ERROR@[38; 40)
err: `expected field declaration`
PLUS@[38; 39)
@ -38,12 +39,14 @@ FILE@[0; 74)
VISIBILITY@[48; 52)
PUB_KW@[48; 51)
WHITESPACE@[51; 52)
NAME@[52; 53)
IDENT@[52; 53) "x"
COLON@[53; 54)
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)

View File

@ -7,6 +7,7 @@ FILE@[0; 25)
WHITESPACE@[8; 9)
L_CURLY@[9; 10)
NAMED_FIELD@[10; 24)
NAME@[10; 18)
WHITESPACE@[10; 15)
IDENT@[15; 18) "foo"
COLON@[18; 19)

View File

@ -32,6 +32,7 @@ FILE@[0; 97)
WHITESPACE@[43; 44)
L_CURLY@[44; 45)
NAMED_FIELD@[45; 56)
NAME@[45; 51)
WHITESPACE@[45; 50)
IDENT@[50; 51) "a"
COLON@[51; 52)
@ -43,6 +44,7 @@ FILE@[0; 97)
WHITESPACE@[57; 62)
PUB_KW@[62; 65)
WHITESPACE@[65; 66)
NAME@[66; 67)
IDENT@[66; 67) "b"
COLON@[67; 68)
WHITESPACE@[68; 69)

View File

@ -40,6 +40,7 @@ FILE@[0; 290)
WHITESPACE@[45; 46)
L_CURLY@[46; 47)
NAMED_FIELD@[47; 55)
NAME@[47; 49)
WHITESPACE@[47; 48)
IDENT@[48; 49) "u"
COLON@[49; 50)

View File

@ -77,6 +77,7 @@ FILE@[0; 182)
WHITESPACE@[102; 103)
L_CURLY@[103; 104)
NAMED_FIELD@[104; 119)
NAME@[104; 114)
WHITESPACE@[104; 113)
IDENT@[113; 114) "a"
COLON@[114; 115)
@ -88,6 +89,7 @@ FILE@[0; 182)
WHITESPACE@[120; 129)
PUB_KW@[129; 132)
WHITESPACE@[132; 133)
NAME@[133; 134)
IDENT@[133; 134) "b"
COLON@[134; 135)
WHITESPACE@[135; 136)