mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-08-31 15:47:31 +00:00
Make records grammar more orthogonal
We used name [: expr] grammar before, now it is [name :] expr which makes things simpler
This commit is contained in:
parent
e7a68c8f55
commit
7a39bc3ba2
13 changed files with 142 additions and 68 deletions
|
@ -0,0 +1,49 @@
|
|||
SOURCE_FILE@[0; 45)
|
||||
FN_DEF@[0; 44)
|
||||
FN_KW@[0; 2) "fn"
|
||||
WHITESPACE@[2; 3) " "
|
||||
NAME@[3; 7)
|
||||
IDENT@[3; 7) "main"
|
||||
PARAM_LIST@[7; 9)
|
||||
L_PAREN@[7; 8) "("
|
||||
R_PAREN@[8; 9) ")"
|
||||
WHITESPACE@[9; 10) " "
|
||||
BLOCK_EXPR@[10; 44)
|
||||
BLOCK@[10; 44)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
RECORD_LIT@[16; 42)
|
||||
PATH@[16; 17)
|
||||
PATH_SEGMENT@[16; 17)
|
||||
NAME_REF@[16; 17)
|
||||
IDENT@[16; 17) "S"
|
||||
WHITESPACE@[17; 18) " "
|
||||
RECORD_FIELD_LIST@[18; 42)
|
||||
L_CURLY@[18; 19) "{"
|
||||
WHITESPACE@[19; 20) " "
|
||||
RECORD_FIELD@[20; 40)
|
||||
NAME_REF@[20; 25)
|
||||
IDENT@[20; 25) "field"
|
||||
WHITESPACE@[25; 26) " "
|
||||
RANGE_EXPR@[26; 40)
|
||||
DOT2@[26; 28) ".."
|
||||
CALL_EXPR@[28; 40)
|
||||
PATH_EXPR@[28; 38)
|
||||
PATH@[28; 38)
|
||||
PATH@[28; 29)
|
||||
PATH_SEGMENT@[28; 29)
|
||||
NAME_REF@[28; 29)
|
||||
IDENT@[28; 29) "S"
|
||||
COLON2@[29; 31) "::"
|
||||
PATH_SEGMENT@[31; 38)
|
||||
NAME_REF@[31; 38)
|
||||
IDENT@[31; 38) "default"
|
||||
ARG_LIST@[38; 40)
|
||||
L_PAREN@[38; 39) "("
|
||||
R_PAREN@[39; 40) ")"
|
||||
WHITESPACE@[40; 41) " "
|
||||
R_CURLY@[41; 42) "}"
|
||||
WHITESPACE@[42; 43) "\n"
|
||||
R_CURLY@[43; 44) "}"
|
||||
WHITESPACE@[44; 45) "\n"
|
||||
error [25; 25): expected COLON
|
|
@ -0,0 +1,3 @@
|
|||
fn main() {
|
||||
S { field ..S::default() }
|
||||
}
|
|
@ -35,8 +35,11 @@ SOURCE_FILE@[0; 112)
|
|||
L_CURLY@[27; 28) "{"
|
||||
WHITESPACE@[28; 29) " "
|
||||
RECORD_FIELD@[29; 30)
|
||||
NAME_REF@[29; 30)
|
||||
IDENT@[29; 30) "x"
|
||||
PATH_EXPR@[29; 30)
|
||||
PATH@[29; 30)
|
||||
PATH_SEGMENT@[29; 30)
|
||||
NAME_REF@[29; 30)
|
||||
IDENT@[29; 30) "x"
|
||||
COMMA@[30; 31) ","
|
||||
WHITESPACE@[31; 32) " "
|
||||
RECORD_FIELD@[32; 37)
|
||||
|
@ -62,8 +65,11 @@ SOURCE_FILE@[0; 112)
|
|||
L_CURLY@[48; 49) "{"
|
||||
WHITESPACE@[49; 50) " "
|
||||
RECORD_FIELD@[50; 51)
|
||||
NAME_REF@[50; 51)
|
||||
IDENT@[50; 51) "x"
|
||||
PATH_EXPR@[50; 51)
|
||||
PATH@[50; 51)
|
||||
PATH_SEGMENT@[50; 51)
|
||||
NAME_REF@[50; 51)
|
||||
IDENT@[50; 51) "x"
|
||||
COMMA@[51; 52) ","
|
||||
WHITESPACE@[52; 53) " "
|
||||
RECORD_FIELD@[53; 58)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue