mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-25 12:33:33 +00:00
commit
94caa9d3a2
33 changed files with 377 additions and 171 deletions
|
@ -74,6 +74,8 @@ Grammar(
|
|||
nodes: [
|
||||
"FILE",
|
||||
"STRUCT_ITEM",
|
||||
"ENUM_ITEM",
|
||||
"ENUM_VARIANT",
|
||||
"NAMED_FIELD",
|
||||
"POS_FIELD",
|
||||
"FN_ITEM",
|
||||
|
|
|
@ -12,3 +12,9 @@ pub(super) fn literal(p: &mut Parser) -> bool {
|
|||
_ => false,
|
||||
}
|
||||
}
|
||||
|
||||
pub(super) fn expr(p: &mut Parser) {
|
||||
if !literal(p) {
|
||||
p.error().message("expected expression").emit();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,8 +9,9 @@ pub(super) fn mod_contents(p: &mut Parser, stop_on_r_curly: bool) {
|
|||
}
|
||||
}
|
||||
|
||||
pub(super) const ITEM_FIRST: TokenSet =
|
||||
token_set![EXTERN_KW, MOD_KW, USE_KW, STRUCT_KW, FN_KW, PUB_KW, POUND,];
|
||||
pub(super) const ITEM_FIRST: TokenSet = token_set![
|
||||
EXTERN_KW, MOD_KW, USE_KW, STRUCT_KW, ENUM_KW, FN_KW, PUB_KW, POUND
|
||||
];
|
||||
|
||||
fn item(p: &mut Parser) {
|
||||
let item = p.start();
|
||||
|
@ -34,6 +35,10 @@ fn item(p: &mut Parser) {
|
|||
structs::struct_item(p);
|
||||
STRUCT_ITEM
|
||||
}
|
||||
ENUM_KW => {
|
||||
structs::enum_item(p);
|
||||
ENUM_ITEM
|
||||
}
|
||||
FN_KW => {
|
||||
fn_item(p);
|
||||
FN_ITEM
|
||||
|
|
|
@ -40,6 +40,40 @@ pub(super) fn struct_item(p: &mut Parser) {
|
|||
}
|
||||
}
|
||||
|
||||
pub(super) fn enum_item(p: &mut Parser) {
|
||||
assert!(p.at(ENUM_KW));
|
||||
p.bump();
|
||||
p.expect(IDENT);
|
||||
type_param_list(p);
|
||||
where_clause(p);
|
||||
if p.expect(L_CURLY) {
|
||||
while !p.at(EOF) && !p.at(R_CURLY) {
|
||||
let var = p.start();
|
||||
attributes::outer_attributes(p);
|
||||
if p.at(IDENT) {
|
||||
p.bump();
|
||||
match p.current() {
|
||||
L_CURLY => named_fields(p),
|
||||
L_PAREN => pos_fields(p),
|
||||
EQ => {
|
||||
p.bump();
|
||||
expressions::expr(p);
|
||||
}
|
||||
_ => (),
|
||||
}
|
||||
var.complete(p, ENUM_VARIANT);
|
||||
} else {
|
||||
var.abandon(p);
|
||||
p.err_and_bump("expected enum variant");
|
||||
}
|
||||
if !p.at(R_CURLY) {
|
||||
p.expect(COMMA);
|
||||
}
|
||||
}
|
||||
p.expect(R_CURLY);
|
||||
}
|
||||
}
|
||||
|
||||
fn named_fields(p: &mut Parser) {
|
||||
assert!(p.at(L_CURLY));
|
||||
p.bump();
|
||||
|
|
|
@ -76,6 +76,8 @@ pub enum SyntaxKind {
|
|||
SHEBANG,
|
||||
FILE,
|
||||
STRUCT_ITEM,
|
||||
ENUM_ITEM,
|
||||
ENUM_VARIANT,
|
||||
NAMED_FIELD,
|
||||
POS_FIELD,
|
||||
FN_ITEM,
|
||||
|
@ -176,6 +178,8 @@ impl SyntaxKind {
|
|||
SHEBANG => &SyntaxInfo { name: "SHEBANG" },
|
||||
FILE => &SyntaxInfo { name: "FILE" },
|
||||
STRUCT_ITEM => &SyntaxInfo { name: "STRUCT_ITEM" },
|
||||
ENUM_ITEM => &SyntaxInfo { name: "ENUM_ITEM" },
|
||||
ENUM_VARIANT => &SyntaxInfo { name: "ENUM_VARIANT" },
|
||||
NAMED_FIELD => &SyntaxInfo { name: "NAMED_FIELD" },
|
||||
POS_FIELD => &SyntaxInfo { name: "POS_FIELD" },
|
||||
FN_ITEM => &SyntaxInfo { name: "FN_ITEM" },
|
||||
|
|
|
@ -106,7 +106,19 @@ impl<'f> Node<'f> {
|
|||
|
||||
impl<'f> fmt::Debug for Node<'f> {
|
||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||
write!(fmt, "{:?}@{:?}", self.kind(), self.range())
|
||||
write!(fmt, "{:?}@{:?}", self.kind(), self.range())?;
|
||||
if has_short_text(self.kind()) {
|
||||
write!(fmt, " \"{}\"", self.text())?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
fn has_short_text(kind: SyntaxKind) -> bool {
|
||||
use syntax_kinds::*;
|
||||
match kind {
|
||||
IDENT | LIFETIME => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,21 +2,21 @@ FILE@[0; 34)
|
|||
STRUCT_ITEM@[0; 34)
|
||||
STRUCT_KW@[0; 6)
|
||||
WHITESPACE@[6; 7)
|
||||
IDENT@[7; 8)
|
||||
IDENT@[7; 8) "S"
|
||||
WHITESPACE@[8; 9)
|
||||
L_CURLY@[9; 10)
|
||||
NAMED_FIELD@[10; 26)
|
||||
WHITESPACE@[10; 15)
|
||||
IDENT@[15; 16)
|
||||
IDENT@[15; 16) "a"
|
||||
COLON@[16; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
IDENT@[18; 21)
|
||||
IDENT@[18; 21) "u32"
|
||||
WHITESPACE@[21; 26)
|
||||
err: `expected COMMA`
|
||||
NAMED_FIELD@[26; 33)
|
||||
IDENT@[26; 27)
|
||||
IDENT@[26; 27) "b"
|
||||
COLON@[27; 28)
|
||||
WHITESPACE@[28; 29)
|
||||
IDENT@[29; 32)
|
||||
IDENT@[29; 32) "u32"
|
||||
WHITESPACE@[32; 33)
|
||||
R_CURLY@[33; 34)
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
FILE@[0; 21)
|
||||
ERROR@[0; 3)
|
||||
err: `expected item`
|
||||
IDENT@[0; 2)
|
||||
IDENT@[0; 2) "if"
|
||||
WHITESPACE@[2; 3)
|
||||
ERROR@[3; 10)
|
||||
err: `expected item`
|
||||
IDENT@[3; 8)
|
||||
IDENT@[3; 8) "match"
|
||||
WHITESPACE@[8; 10)
|
||||
STRUCT_ITEM@[10; 21)
|
||||
STRUCT_KW@[10; 16)
|
||||
WHITESPACE@[16; 17)
|
||||
IDENT@[17; 18)
|
||||
IDENT@[17; 18) "S"
|
||||
WHITESPACE@[18; 19)
|
||||
L_CURLY@[19; 20)
|
||||
R_CURLY@[20; 21)
|
||||
|
|
|
@ -2,22 +2,22 @@ FILE@[0; 40)
|
|||
STRUCT_ITEM@[0; 39)
|
||||
STRUCT_KW@[0; 6)
|
||||
WHITESPACE@[6; 7)
|
||||
IDENT@[7; 8)
|
||||
IDENT@[7; 8) "S"
|
||||
WHITESPACE@[8; 9)
|
||||
L_CURLY@[9; 10)
|
||||
NAMED_FIELD@[10; 21)
|
||||
WHITESPACE@[10; 15)
|
||||
IDENT@[15; 16)
|
||||
IDENT@[15; 16) "a"
|
||||
COLON@[16; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
IDENT@[18; 21)
|
||||
IDENT@[18; 21) "i32"
|
||||
COMMA@[21; 22)
|
||||
NAMED_FIELD@[22; 36)
|
||||
WHITESPACE@[22; 27)
|
||||
IDENT@[27; 28)
|
||||
IDENT@[27; 28) "b"
|
||||
COLON@[28; 29)
|
||||
WHITESPACE@[29; 30)
|
||||
IDENT@[30; 36)
|
||||
IDENT@[30; 36) "String"
|
||||
COMMA@[36; 37)
|
||||
WHITESPACE@[37; 38)
|
||||
R_CURLY@[38; 39)
|
||||
|
|
|
@ -6,7 +6,7 @@ FILE@[0; 12)
|
|||
PATH@[3; 7)
|
||||
PATH_SEGMENT@[3; 7)
|
||||
WHITESPACE@[3; 4)
|
||||
IDENT@[4; 7)
|
||||
IDENT@[4; 7) "foo"
|
||||
COLONCOLON@[7; 9)
|
||||
PATH_SEGMENT@[9; 9)
|
||||
err: `expected identifier`
|
||||
|
|
|
@ -4,10 +4,10 @@ FILE@[0; 54)
|
|||
POUND@[0; 1)
|
||||
L_BRACK@[1; 2)
|
||||
META_ITEM@[2; 17)
|
||||
IDENT@[2; 5)
|
||||
IDENT@[2; 5) "foo"
|
||||
L_PAREN@[5; 6)
|
||||
META_ITEM@[6; 9)
|
||||
IDENT@[6; 9)
|
||||
IDENT@[6; 9) "foo"
|
||||
COMMA@[9; 10)
|
||||
ERROR@[10; 12)
|
||||
err: `expected attribute`
|
||||
|
@ -24,7 +24,7 @@ FILE@[0; 54)
|
|||
WHITESPACE@[18; 19)
|
||||
FN_KW@[19; 21)
|
||||
WHITESPACE@[21; 22)
|
||||
IDENT@[22; 25)
|
||||
IDENT@[22; 25) "foo"
|
||||
L_PAREN@[25; 26)
|
||||
R_PAREN@[26; 27)
|
||||
WHITESPACE@[27; 28)
|
||||
|
@ -37,14 +37,14 @@ FILE@[0; 54)
|
|||
POUND@[34; 35)
|
||||
L_BRACK@[35; 36)
|
||||
META_ITEM@[36; 41)
|
||||
IDENT@[36; 39)
|
||||
IDENT@[36; 39) "foo"
|
||||
L_PAREN@[39; 40)
|
||||
err: `expected attribute`
|
||||
WHITESPACE@[40; 41)
|
||||
err: `expected R_BRACK`
|
||||
FN_KW@[41; 43)
|
||||
WHITESPACE@[43; 44)
|
||||
IDENT@[44; 47)
|
||||
IDENT@[44; 47) "foo"
|
||||
L_PAREN@[47; 48)
|
||||
R_PAREN@[48; 49)
|
||||
WHITESPACE@[49; 50)
|
||||
|
|
|
@ -2,15 +2,15 @@ FILE@[0; 74)
|
|||
STRUCT_ITEM@[0; 74)
|
||||
STRUCT_KW@[0; 6)
|
||||
WHITESPACE@[6; 7)
|
||||
IDENT@[7; 8)
|
||||
IDENT@[7; 8) "S"
|
||||
WHITESPACE@[8; 9)
|
||||
L_CURLY@[9; 10)
|
||||
NAMED_FIELD@[10; 21)
|
||||
WHITESPACE@[10; 15)
|
||||
IDENT@[15; 16)
|
||||
IDENT@[15; 16) "f"
|
||||
COLON@[16; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
IDENT@[18; 21)
|
||||
IDENT@[18; 21) "u32"
|
||||
COMMA@[21; 22)
|
||||
VISIBILITY@[22; 31)
|
||||
WHITESPACE@[22; 27)
|
||||
|
@ -37,17 +37,17 @@ FILE@[0; 74)
|
|||
VISIBILITY@[48; 52)
|
||||
PUB_KW@[48; 51)
|
||||
WHITESPACE@[51; 52)
|
||||
IDENT@[52; 53)
|
||||
IDENT@[52; 53) "x"
|
||||
COLON@[53; 54)
|
||||
WHITESPACE@[54; 55)
|
||||
IDENT@[55; 58)
|
||||
IDENT@[55; 58) "u32"
|
||||
COMMA@[58; 59)
|
||||
NAMED_FIELD@[59; 70)
|
||||
WHITESPACE@[59; 64)
|
||||
IDENT@[64; 65)
|
||||
IDENT@[64; 65) "z"
|
||||
COLON@[65; 66)
|
||||
WHITESPACE@[66; 67)
|
||||
IDENT@[67; 70)
|
||||
IDENT@[67; 70) "f64"
|
||||
COMMA@[70; 71)
|
||||
WHITESPACE@[71; 72)
|
||||
R_CURLY@[72; 73)
|
||||
|
|
|
@ -6,7 +6,7 @@ FILE@[0; 31)
|
|||
STRUCT_ITEM@[3; 14)
|
||||
STRUCT_KW@[3; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
IDENT@[10; 11)
|
||||
IDENT@[10; 11) "S"
|
||||
SEMI@[11; 12)
|
||||
WHITESPACE@[12; 14)
|
||||
ERROR@[14; 17)
|
||||
|
@ -16,7 +16,7 @@ FILE@[0; 31)
|
|||
FN_ITEM@[17; 29)
|
||||
FN_KW@[17; 19)
|
||||
WHITESPACE@[19; 20)
|
||||
IDENT@[20; 23)
|
||||
IDENT@[20; 23) "foo"
|
||||
L_PAREN@[23; 24)
|
||||
R_PAREN@[24; 25)
|
||||
L_CURLY@[25; 26)
|
||||
|
|
|
@ -2,7 +2,7 @@ FILE@[0; 95)
|
|||
FN_ITEM@[0; 14)
|
||||
FN_KW@[0; 2)
|
||||
WHITESPACE@[2; 3)
|
||||
IDENT@[3; 6)
|
||||
IDENT@[3; 6) "foo"
|
||||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
|
@ -12,7 +12,7 @@ FILE@[0; 95)
|
|||
WHITESPACE@[12; 14)
|
||||
ERROR@[14; 17)
|
||||
err: `expected item`
|
||||
IDENT@[14; 17)
|
||||
IDENT@[14; 17) "bar"
|
||||
ERROR@[17; 18)
|
||||
err: `expected item`
|
||||
L_PAREN@[17; 18)
|
||||
|
@ -24,7 +24,7 @@ FILE@[0; 95)
|
|||
err: `expected item`
|
||||
L_CURLY@[20; 21)
|
||||
WHITESPACE@[21; 26)
|
||||
IDENT@[26; 28)
|
||||
IDENT@[26; 28) "if"
|
||||
WHITESPACE@[28; 29)
|
||||
TRUE_KW@[29; 33)
|
||||
WHITESPACE@[33; 34)
|
||||
|
@ -34,7 +34,7 @@ FILE@[0; 95)
|
|||
WHITESPACE@[45; 50)
|
||||
R_CURLY@[50; 51)
|
||||
WHITESPACE@[51; 52)
|
||||
IDENT@[52; 56)
|
||||
IDENT@[52; 56) "else"
|
||||
WHITESPACE@[56; 57)
|
||||
L_CURLY@[57; 58)
|
||||
WHITESPACE@[58; 67)
|
||||
|
@ -51,7 +51,7 @@ FILE@[0; 95)
|
|||
FN_ITEM@[82; 95)
|
||||
FN_KW@[82; 84)
|
||||
WHITESPACE@[84; 85)
|
||||
IDENT@[85; 88)
|
||||
IDENT@[85; 88) "baz"
|
||||
L_PAREN@[88; 89)
|
||||
R_PAREN@[89; 90)
|
||||
WHITESPACE@[90; 91)
|
||||
|
|
|
@ -2,7 +2,7 @@ FILE@[0; 43)
|
|||
STRUCT_ITEM@[0; 12)
|
||||
STRUCT_KW@[0; 6)
|
||||
WHITESPACE@[6; 7)
|
||||
IDENT@[7; 8)
|
||||
IDENT@[7; 8) "S"
|
||||
TYPE_PARAM_LIST@[8; 12)
|
||||
L_ANGLE@[8; 9)
|
||||
ERROR@[9; 12)
|
||||
|
@ -27,16 +27,16 @@ FILE@[0; 43)
|
|||
err: `expected item`
|
||||
L_CURLY@[17; 18)
|
||||
WHITESPACE@[18; 23)
|
||||
IDENT@[23; 24)
|
||||
IDENT@[23; 24) "f"
|
||||
COLON@[24; 25)
|
||||
WHITESPACE@[25; 26)
|
||||
IDENT@[26; 29)
|
||||
IDENT@[26; 29) "u32"
|
||||
WHITESPACE@[29; 30)
|
||||
R_CURLY@[30; 31)
|
||||
WHITESPACE@[31; 33)
|
||||
STRUCT_ITEM@[33; 43)
|
||||
STRUCT_KW@[33; 39)
|
||||
WHITESPACE@[39; 40)
|
||||
IDENT@[40; 41)
|
||||
IDENT@[40; 41) "T"
|
||||
SEMI@[41; 42)
|
||||
WHITESPACE@[42; 43)
|
||||
|
|
|
@ -2,7 +2,7 @@ FILE@[0; 13)
|
|||
STRUCT_ITEM@[0; 13)
|
||||
STRUCT_KW@[0; 6)
|
||||
WHITESPACE@[6; 7)
|
||||
IDENT@[7; 8)
|
||||
IDENT@[7; 8) "S"
|
||||
WHITESPACE@[8; 9)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 12)
|
||||
|
|
|
@ -2,14 +2,14 @@ FILE@[0; 25)
|
|||
STRUCT_ITEM@[0; 25)
|
||||
STRUCT_KW@[0; 6)
|
||||
WHITESPACE@[6; 7)
|
||||
IDENT@[7; 8)
|
||||
IDENT@[7; 8) "S"
|
||||
WHITESPACE@[8; 9)
|
||||
L_CURLY@[9; 10)
|
||||
NAMED_FIELD@[10; 24)
|
||||
WHITESPACE@[10; 15)
|
||||
IDENT@[15; 18)
|
||||
IDENT@[15; 18) "foo"
|
||||
COLON@[18; 19)
|
||||
WHITESPACE@[19; 20)
|
||||
IDENT@[20; 23)
|
||||
IDENT@[20; 23) "u32"
|
||||
WHITESPACE@[23; 24)
|
||||
R_CURLY@[24; 25)
|
||||
|
|
|
@ -2,7 +2,7 @@ FILE@[0; 13)
|
|||
FN_ITEM@[0; 13)
|
||||
FN_KW@[0; 2)
|
||||
WHITESPACE@[2; 3)
|
||||
IDENT@[3; 6)
|
||||
IDENT@[3; 6) "foo"
|
||||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
|
|
|
@ -4,7 +4,7 @@ FILE@[0; 236)
|
|||
EXCL@[1; 2)
|
||||
L_BRACK@[2; 3)
|
||||
META_ITEM@[3; 7)
|
||||
IDENT@[3; 7)
|
||||
IDENT@[3; 7) "attr"
|
||||
R_BRACK@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
ATTR@[9; 24)
|
||||
|
@ -12,7 +12,7 @@ FILE@[0; 236)
|
|||
EXCL@[10; 11)
|
||||
L_BRACK@[11; 12)
|
||||
META_ITEM@[12; 22)
|
||||
IDENT@[12; 16)
|
||||
IDENT@[12; 16) "attr"
|
||||
L_PAREN@[16; 17)
|
||||
LITERAL@[17; 21)
|
||||
TRUE_KW@[17; 21)
|
||||
|
@ -24,10 +24,10 @@ FILE@[0; 236)
|
|||
EXCL@[25; 26)
|
||||
L_BRACK@[26; 27)
|
||||
META_ITEM@[27; 38)
|
||||
IDENT@[27; 31)
|
||||
IDENT@[27; 31) "attr"
|
||||
L_PAREN@[31; 32)
|
||||
META_ITEM@[32; 37)
|
||||
IDENT@[32; 37)
|
||||
IDENT@[32; 37) "ident"
|
||||
R_PAREN@[37; 38)
|
||||
R_BRACK@[38; 39)
|
||||
WHITESPACE@[39; 40)
|
||||
|
@ -36,10 +36,10 @@ FILE@[0; 236)
|
|||
EXCL@[41; 42)
|
||||
L_BRACK@[42; 43)
|
||||
META_ITEM@[43; 115)
|
||||
IDENT@[43; 47)
|
||||
IDENT@[43; 47) "attr"
|
||||
L_PAREN@[47; 48)
|
||||
META_ITEM@[48; 53)
|
||||
IDENT@[48; 53)
|
||||
IDENT@[48; 53) "ident"
|
||||
COMMA@[53; 54)
|
||||
LITERAL@[54; 58)
|
||||
WHITESPACE@[54; 55)
|
||||
|
@ -55,7 +55,7 @@ FILE@[0; 236)
|
|||
COMMA@[72; 73)
|
||||
META_ITEM@[73; 85)
|
||||
WHITESPACE@[73; 74)
|
||||
IDENT@[74; 79)
|
||||
IDENT@[74; 79) "ident"
|
||||
WHITESPACE@[79; 80)
|
||||
EQ@[80; 81)
|
||||
LITERAL@[81; 85)
|
||||
|
@ -64,7 +64,7 @@ FILE@[0; 236)
|
|||
COMMA@[85; 86)
|
||||
META_ITEM@[86; 102)
|
||||
WHITESPACE@[86; 87)
|
||||
IDENT@[87; 92)
|
||||
IDENT@[87; 92) "ident"
|
||||
WHITESPACE@[92; 93)
|
||||
EQ@[93; 94)
|
||||
LITERAL@[94; 102)
|
||||
|
@ -73,7 +73,7 @@ FILE@[0; 236)
|
|||
COMMA@[102; 103)
|
||||
META_ITEM@[103; 114)
|
||||
WHITESPACE@[103; 104)
|
||||
IDENT@[104; 109)
|
||||
IDENT@[104; 109) "ident"
|
||||
L_PAREN@[109; 110)
|
||||
LITERAL@[110; 113)
|
||||
INT_NUMBER@[110; 113)
|
||||
|
@ -86,7 +86,7 @@ FILE@[0; 236)
|
|||
EXCL@[118; 119)
|
||||
L_BRACK@[119; 120)
|
||||
META_ITEM@[120; 129)
|
||||
IDENT@[120; 124)
|
||||
IDENT@[120; 124) "attr"
|
||||
L_PAREN@[124; 125)
|
||||
LITERAL@[125; 128)
|
||||
INT_NUMBER@[125; 128)
|
||||
|
@ -98,10 +98,10 @@ FILE@[0; 236)
|
|||
EXCL@[132; 133)
|
||||
L_BRACK@[133; 134)
|
||||
META_ITEM@[134; 154)
|
||||
IDENT@[134; 138)
|
||||
IDENT@[134; 138) "attr"
|
||||
L_PAREN@[138; 139)
|
||||
META_ITEM@[139; 153)
|
||||
IDENT@[139; 146)
|
||||
IDENT@[139; 146) "enabled"
|
||||
WHITESPACE@[146; 147)
|
||||
EQ@[147; 148)
|
||||
LITERAL@[148; 153)
|
||||
|
@ -115,7 +115,7 @@ FILE@[0; 236)
|
|||
EXCL@[157; 158)
|
||||
L_BRACK@[158; 159)
|
||||
META_ITEM@[159; 172)
|
||||
IDENT@[159; 166)
|
||||
IDENT@[159; 166) "enabled"
|
||||
L_PAREN@[166; 167)
|
||||
LITERAL@[167; 171)
|
||||
TRUE_KW@[167; 171)
|
||||
|
@ -127,7 +127,7 @@ FILE@[0; 236)
|
|||
EXCL@[175; 176)
|
||||
L_BRACK@[176; 177)
|
||||
META_ITEM@[177; 190)
|
||||
IDENT@[177; 181)
|
||||
IDENT@[177; 181) "attr"
|
||||
L_PAREN@[181; 182)
|
||||
LITERAL@[182; 189)
|
||||
STRING@[182; 189)
|
||||
|
@ -139,14 +139,14 @@ FILE@[0; 236)
|
|||
EXCL@[193; 194)
|
||||
L_BRACK@[194; 195)
|
||||
META_ITEM@[195; 213)
|
||||
IDENT@[195; 199)
|
||||
IDENT@[195; 199) "repr"
|
||||
L_PAREN@[199; 200)
|
||||
META_ITEM@[200; 201)
|
||||
IDENT@[200; 201)
|
||||
IDENT@[200; 201) "C"
|
||||
COMMA@[201; 202)
|
||||
META_ITEM@[202; 212)
|
||||
WHITESPACE@[202; 203)
|
||||
IDENT@[203; 208)
|
||||
IDENT@[203; 208) "align"
|
||||
WHITESPACE@[208; 209)
|
||||
EQ@[209; 210)
|
||||
LITERAL@[210; 212)
|
||||
|
@ -160,14 +160,14 @@ FILE@[0; 236)
|
|||
EXCL@[216; 217)
|
||||
L_BRACK@[217; 218)
|
||||
META_ITEM@[218; 235)
|
||||
IDENT@[218; 222)
|
||||
IDENT@[218; 222) "repr"
|
||||
L_PAREN@[222; 223)
|
||||
META_ITEM@[223; 224)
|
||||
IDENT@[223; 224)
|
||||
IDENT@[223; 224) "C"
|
||||
COMMA@[224; 225)
|
||||
META_ITEM@[225; 234)
|
||||
WHITESPACE@[225; 226)
|
||||
IDENT@[226; 231)
|
||||
IDENT@[226; 231) "align"
|
||||
L_PAREN@[231; 232)
|
||||
LITERAL@[232; 233)
|
||||
INT_NUMBER@[232; 233)
|
||||
|
|
|
@ -4,7 +4,7 @@ FILE@[0; 43)
|
|||
WHITESPACE@[6; 7)
|
||||
CRATE_KW@[7; 12)
|
||||
WHITESPACE@[12; 13)
|
||||
IDENT@[13; 16)
|
||||
IDENT@[13; 16) "foo"
|
||||
SEMI@[16; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
EXTERN_CRATE_ITEM@[18; 43)
|
||||
|
@ -12,11 +12,11 @@ FILE@[0; 43)
|
|||
WHITESPACE@[24; 25)
|
||||
CRATE_KW@[25; 30)
|
||||
WHITESPACE@[30; 31)
|
||||
IDENT@[31; 34)
|
||||
IDENT@[31; 34) "foo"
|
||||
ALIAS@[34; 41)
|
||||
WHITESPACE@[34; 35)
|
||||
AS_KW@[35; 37)
|
||||
WHITESPACE@[37; 38)
|
||||
IDENT@[38; 41)
|
||||
IDENT@[38; 41) "bar"
|
||||
SEMI@[41; 42)
|
||||
WHITESPACE@[42; 43)
|
||||
|
|
|
@ -2,13 +2,13 @@ FILE@[0; 118)
|
|||
MOD_ITEM@[0; 8)
|
||||
MOD_KW@[0; 3)
|
||||
WHITESPACE@[3; 4)
|
||||
IDENT@[4; 5)
|
||||
IDENT@[4; 5) "a"
|
||||
SEMI@[5; 6)
|
||||
WHITESPACE@[6; 8)
|
||||
MOD_ITEM@[8; 19)
|
||||
MOD_KW@[8; 11)
|
||||
WHITESPACE@[11; 12)
|
||||
IDENT@[12; 13)
|
||||
IDENT@[12; 13) "b"
|
||||
WHITESPACE@[13; 14)
|
||||
L_CURLY@[14; 15)
|
||||
WHITESPACE@[15; 16)
|
||||
|
@ -17,14 +17,14 @@ FILE@[0; 118)
|
|||
MOD_ITEM@[19; 67)
|
||||
MOD_KW@[19; 22)
|
||||
WHITESPACE@[22; 23)
|
||||
IDENT@[23; 24)
|
||||
IDENT@[23; 24) "c"
|
||||
WHITESPACE@[24; 25)
|
||||
L_CURLY@[25; 26)
|
||||
FN_ITEM@[26; 52)
|
||||
WHITESPACE@[26; 31)
|
||||
FN_KW@[31; 33)
|
||||
WHITESPACE@[33; 34)
|
||||
IDENT@[34; 37)
|
||||
IDENT@[34; 37) "foo"
|
||||
L_PAREN@[37; 38)
|
||||
R_PAREN@[38; 39)
|
||||
WHITESPACE@[39; 40)
|
||||
|
@ -35,7 +35,7 @@ FILE@[0; 118)
|
|||
STRUCT_ITEM@[52; 64)
|
||||
STRUCT_KW@[52; 58)
|
||||
WHITESPACE@[58; 59)
|
||||
IDENT@[59; 60)
|
||||
IDENT@[59; 60) "S"
|
||||
WHITESPACE@[60; 61)
|
||||
L_CURLY@[61; 62)
|
||||
R_CURLY@[62; 63)
|
||||
|
@ -45,7 +45,7 @@ FILE@[0; 118)
|
|||
MOD_ITEM@[67; 118)
|
||||
MOD_KW@[67; 70)
|
||||
WHITESPACE@[70; 71)
|
||||
IDENT@[71; 72)
|
||||
IDENT@[71; 72) "d"
|
||||
WHITESPACE@[72; 73)
|
||||
L_CURLY@[73; 74)
|
||||
ATTR@[74; 92)
|
||||
|
@ -54,19 +54,19 @@ FILE@[0; 118)
|
|||
EXCL@[80; 81)
|
||||
L_BRACK@[81; 82)
|
||||
META_ITEM@[82; 86)
|
||||
IDENT@[82; 86)
|
||||
IDENT@[82; 86) "attr"
|
||||
R_BRACK@[86; 87)
|
||||
WHITESPACE@[87; 92)
|
||||
MOD_ITEM@[92; 103)
|
||||
MOD_KW@[92; 95)
|
||||
WHITESPACE@[95; 96)
|
||||
IDENT@[96; 97)
|
||||
IDENT@[96; 97) "e"
|
||||
SEMI@[97; 98)
|
||||
WHITESPACE@[98; 103)
|
||||
MOD_ITEM@[103; 117)
|
||||
MOD_KW@[103; 106)
|
||||
WHITESPACE@[106; 107)
|
||||
IDENT@[107; 108)
|
||||
IDENT@[107; 108) "f"
|
||||
WHITESPACE@[108; 109)
|
||||
L_CURLY@[109; 110)
|
||||
WHITESPACE@[110; 115)
|
||||
|
|
|
@ -5,7 +5,7 @@ FILE@[0; 19)
|
|||
PATH@[3; 7)
|
||||
PATH_SEGMENT@[3; 7)
|
||||
WHITESPACE@[3; 4)
|
||||
IDENT@[4; 7)
|
||||
IDENT@[4; 7) "foo"
|
||||
SEMI@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
USE_ITEM@[9; 19)
|
||||
|
@ -15,5 +15,5 @@ FILE@[0; 19)
|
|||
PATH_SEGMENT@[12; 18)
|
||||
WHITESPACE@[12; 13)
|
||||
COLONCOLON@[13; 15)
|
||||
IDENT@[15; 18)
|
||||
IDENT@[15; 18) "bar"
|
||||
SEMI@[18; 19)
|
||||
|
|
|
@ -8,13 +8,13 @@ FILE@[0; 40)
|
|||
PATH_SEGMENT@[3; 9)
|
||||
WHITESPACE@[3; 4)
|
||||
COLONCOLON@[4; 6)
|
||||
IDENT@[6; 9)
|
||||
IDENT@[6; 9) "foo"
|
||||
COLONCOLON@[9; 11)
|
||||
PATH_SEGMENT@[11; 14)
|
||||
IDENT@[11; 14)
|
||||
IDENT@[11; 14) "bar"
|
||||
COLONCOLON@[14; 16)
|
||||
PATH_SEGMENT@[16; 19)
|
||||
IDENT@[16; 19)
|
||||
IDENT@[16; 19) "baz"
|
||||
SEMI@[19; 20)
|
||||
WHITESPACE@[20; 21)
|
||||
USE_ITEM@[21; 40)
|
||||
|
@ -25,12 +25,12 @@ FILE@[0; 40)
|
|||
PATH@[24; 28)
|
||||
PATH_SEGMENT@[24; 28)
|
||||
WHITESPACE@[24; 25)
|
||||
IDENT@[25; 28)
|
||||
IDENT@[25; 28) "foo"
|
||||
COLONCOLON@[28; 30)
|
||||
PATH_SEGMENT@[30; 33)
|
||||
IDENT@[30; 33)
|
||||
IDENT@[30; 33) "bar"
|
||||
COLONCOLON@[33; 35)
|
||||
PATH_SEGMENT@[35; 38)
|
||||
IDENT@[35; 38)
|
||||
IDENT@[35; 38) "baz"
|
||||
SEMI@[38; 39)
|
||||
WHITESPACE@[39; 40)
|
||||
|
|
|
@ -4,10 +4,10 @@ FILE@[0; 35)
|
|||
POUND@[0; 1)
|
||||
L_BRACK@[1; 2)
|
||||
META_ITEM@[2; 11)
|
||||
IDENT@[2; 5)
|
||||
IDENT@[2; 5) "cfg"
|
||||
L_PAREN@[5; 6)
|
||||
META_ITEM@[6; 10)
|
||||
IDENT@[6; 10)
|
||||
IDENT@[6; 10) "test"
|
||||
R_PAREN@[10; 11)
|
||||
R_BRACK@[11; 12)
|
||||
WHITESPACE@[12; 13)
|
||||
|
@ -15,12 +15,12 @@ FILE@[0; 35)
|
|||
POUND@[13; 14)
|
||||
L_BRACK@[14; 15)
|
||||
META_ITEM@[15; 21)
|
||||
IDENT@[15; 21)
|
||||
IDENT@[15; 21) "ignore"
|
||||
R_BRACK@[21; 22)
|
||||
WHITESPACE@[22; 23)
|
||||
FN_KW@[23; 25)
|
||||
WHITESPACE@[25; 26)
|
||||
IDENT@[26; 29)
|
||||
IDENT@[26; 29) "foo"
|
||||
L_PAREN@[29; 30)
|
||||
R_PAREN@[30; 31)
|
||||
WHITESPACE@[31; 32)
|
||||
|
|
|
@ -2,7 +2,7 @@ FILE@[0; 98)
|
|||
FN_ITEM@[0; 10)
|
||||
FN_KW@[0; 2)
|
||||
WHITESPACE@[2; 3)
|
||||
IDENT@[3; 4)
|
||||
IDENT@[3; 4) "a"
|
||||
L_PAREN@[4; 5)
|
||||
R_PAREN@[5; 6)
|
||||
WHITESPACE@[6; 7)
|
||||
|
@ -15,7 +15,7 @@ FILE@[0; 98)
|
|||
WHITESPACE@[13; 14)
|
||||
FN_KW@[14; 16)
|
||||
WHITESPACE@[16; 17)
|
||||
IDENT@[17; 18)
|
||||
IDENT@[17; 18) "b"
|
||||
L_PAREN@[18; 19)
|
||||
R_PAREN@[19; 20)
|
||||
WHITESPACE@[20; 21)
|
||||
|
@ -31,7 +31,7 @@ FILE@[0; 98)
|
|||
WHITESPACE@[34; 35)
|
||||
FN_KW@[35; 37)
|
||||
WHITESPACE@[37; 38)
|
||||
IDENT@[38; 39)
|
||||
IDENT@[38; 39) "c"
|
||||
L_PAREN@[39; 40)
|
||||
R_PAREN@[40; 41)
|
||||
WHITESPACE@[41; 42)
|
||||
|
@ -47,7 +47,7 @@ FILE@[0; 98)
|
|||
WHITESPACE@[55; 56)
|
||||
FN_KW@[56; 58)
|
||||
WHITESPACE@[58; 59)
|
||||
IDENT@[59; 60)
|
||||
IDENT@[59; 60) "d"
|
||||
L_PAREN@[60; 61)
|
||||
R_PAREN@[61; 62)
|
||||
WHITESPACE@[62; 63)
|
||||
|
@ -64,18 +64,18 @@ FILE@[0; 98)
|
|||
PATH@[72; 76)
|
||||
PATH_SEGMENT@[72; 76)
|
||||
WHITESPACE@[72; 73)
|
||||
IDENT@[73; 76)
|
||||
IDENT@[73; 76) "foo"
|
||||
COLONCOLON@[76; 78)
|
||||
PATH_SEGMENT@[78; 81)
|
||||
IDENT@[78; 81)
|
||||
IDENT@[78; 81) "bar"
|
||||
COLONCOLON@[81; 83)
|
||||
PATH_SEGMENT@[83; 86)
|
||||
IDENT@[83; 86)
|
||||
IDENT@[83; 86) "baz"
|
||||
R_PAREN@[86; 87)
|
||||
WHITESPACE@[87; 88)
|
||||
FN_KW@[88; 90)
|
||||
WHITESPACE@[90; 91)
|
||||
IDENT@[91; 92)
|
||||
IDENT@[91; 92) "e"
|
||||
L_PAREN@[92; 93)
|
||||
R_PAREN@[93; 94)
|
||||
WHITESPACE@[94; 95)
|
||||
|
|
|
@ -9,7 +9,7 @@ FILE@[0; 65)
|
|||
SELF_KW@[4; 8)
|
||||
COLONCOLON@[8; 10)
|
||||
PATH_SEGMENT@[10; 13)
|
||||
IDENT@[10; 13)
|
||||
IDENT@[10; 13) "foo"
|
||||
SEMI@[13; 14)
|
||||
WHITESPACE@[14; 15)
|
||||
USE_ITEM@[15; 38)
|
||||
|
@ -26,7 +26,7 @@ FILE@[0; 65)
|
|||
SUPER_KW@[26; 31)
|
||||
COLONCOLON@[31; 33)
|
||||
PATH_SEGMENT@[33; 36)
|
||||
IDENT@[33; 36)
|
||||
IDENT@[33; 36) "bar"
|
||||
SEMI@[36; 37)
|
||||
WHITESPACE@[37; 38)
|
||||
USE_ITEM@[38; 65)
|
||||
|
@ -42,12 +42,12 @@ FILE@[0; 65)
|
|||
SELF_KW@[44; 48)
|
||||
COLONCOLON@[48; 50)
|
||||
PATH_SEGMENT@[50; 51)
|
||||
IDENT@[50; 51)
|
||||
IDENT@[50; 51) "a"
|
||||
COLONCOLON@[51; 53)
|
||||
PATH_SEGMENT@[53; 58)
|
||||
SUPER_KW@[53; 58)
|
||||
COLONCOLON@[58; 60)
|
||||
PATH_SEGMENT@[60; 63)
|
||||
IDENT@[60; 63)
|
||||
IDENT@[60; 63) "bar"
|
||||
SEMI@[63; 64)
|
||||
WHITESPACE@[64; 65)
|
||||
|
|
|
@ -37,7 +37,7 @@ FILE@[0; 81)
|
|||
PATH@[37; 41)
|
||||
PATH_SEGMENT@[37; 41)
|
||||
WHITESPACE@[37; 38)
|
||||
IDENT@[38; 41)
|
||||
IDENT@[38; 41) "foo"
|
||||
COLONCOLON@[41; 43)
|
||||
STAR@[43; 44)
|
||||
SEMI@[44; 45)
|
||||
|
@ -48,7 +48,7 @@ FILE@[0; 81)
|
|||
PATH@[49; 53)
|
||||
PATH_SEGMENT@[49; 53)
|
||||
WHITESPACE@[49; 50)
|
||||
IDENT@[50; 53)
|
||||
IDENT@[50; 53) "foo"
|
||||
COLONCOLON@[53; 55)
|
||||
L_CURLY@[55; 56)
|
||||
R_CURLY@[56; 57)
|
||||
|
@ -61,25 +61,25 @@ FILE@[0; 81)
|
|||
PATH_SEGMENT@[62; 68)
|
||||
WHITESPACE@[62; 63)
|
||||
COLONCOLON@[63; 65)
|
||||
IDENT@[65; 68)
|
||||
IDENT@[65; 68) "foo"
|
||||
COLONCOLON@[68; 70)
|
||||
L_CURLY@[70; 71)
|
||||
USE_TREE@[71; 72)
|
||||
PATH@[71; 72)
|
||||
PATH_SEGMENT@[71; 72)
|
||||
IDENT@[71; 72)
|
||||
IDENT@[71; 72) "a"
|
||||
COMMA@[72; 73)
|
||||
USE_TREE@[73; 75)
|
||||
PATH@[73; 75)
|
||||
PATH_SEGMENT@[73; 75)
|
||||
WHITESPACE@[73; 74)
|
||||
IDENT@[74; 75)
|
||||
IDENT@[74; 75) "b"
|
||||
COMMA@[75; 76)
|
||||
USE_TREE@[76; 78)
|
||||
PATH@[76; 78)
|
||||
PATH_SEGMENT@[76; 78)
|
||||
WHITESPACE@[76; 77)
|
||||
IDENT@[77; 78)
|
||||
IDENT@[77; 78) "c"
|
||||
R_CURLY@[78; 79)
|
||||
SEMI@[79; 80)
|
||||
WHITESPACE@[80; 81)
|
||||
|
|
|
@ -5,12 +5,12 @@ FILE@[0; 55)
|
|||
PATH@[3; 8)
|
||||
PATH_SEGMENT@[3; 8)
|
||||
WHITESPACE@[3; 4)
|
||||
IDENT@[4; 7)
|
||||
IDENT@[4; 7) "foo"
|
||||
WHITESPACE@[7; 8)
|
||||
ALIAS@[8; 14)
|
||||
AS_KW@[8; 10)
|
||||
WHITESPACE@[10; 11)
|
||||
IDENT@[11; 14)
|
||||
IDENT@[11; 14) "bar"
|
||||
SEMI@[14; 15)
|
||||
WHITESPACE@[15; 16)
|
||||
USE_ITEM@[16; 55)
|
||||
|
@ -19,18 +19,18 @@ FILE@[0; 55)
|
|||
PATH@[19; 23)
|
||||
PATH_SEGMENT@[19; 23)
|
||||
WHITESPACE@[19; 20)
|
||||
IDENT@[20; 23)
|
||||
IDENT@[20; 23) "foo"
|
||||
COLONCOLON@[23; 25)
|
||||
L_CURLY@[25; 26)
|
||||
USE_TREE@[26; 32)
|
||||
PATH@[26; 28)
|
||||
PATH_SEGMENT@[26; 28)
|
||||
IDENT@[26; 27)
|
||||
IDENT@[26; 27) "a"
|
||||
WHITESPACE@[27; 28)
|
||||
ALIAS@[28; 32)
|
||||
AS_KW@[28; 30)
|
||||
WHITESPACE@[30; 31)
|
||||
IDENT@[31; 32)
|
||||
IDENT@[31; 32) "b"
|
||||
COMMA@[32; 33)
|
||||
USE_TREE@[33; 35)
|
||||
WHITESPACE@[33; 34)
|
||||
|
@ -46,12 +46,12 @@ FILE@[0; 55)
|
|||
PATH_SEGMENT@[41; 48)
|
||||
WHITESPACE@[41; 42)
|
||||
COLONCOLON@[42; 44)
|
||||
IDENT@[44; 47)
|
||||
IDENT@[44; 47) "foo"
|
||||
WHITESPACE@[47; 48)
|
||||
ALIAS@[48; 52)
|
||||
AS_KW@[48; 50)
|
||||
WHITESPACE@[50; 51)
|
||||
IDENT@[51; 52)
|
||||
IDENT@[51; 52) "x"
|
||||
R_CURLY@[52; 53)
|
||||
SEMI@[53; 54)
|
||||
WHITESPACE@[54; 55)
|
||||
|
|
|
@ -2,13 +2,13 @@ FILE@[0; 97)
|
|||
STRUCT_ITEM@[0; 10)
|
||||
STRUCT_KW@[0; 6)
|
||||
WHITESPACE@[6; 7)
|
||||
IDENT@[7; 8)
|
||||
IDENT@[7; 8) "A"
|
||||
SEMI@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
STRUCT_ITEM@[10; 22)
|
||||
STRUCT_KW@[10; 16)
|
||||
WHITESPACE@[16; 17)
|
||||
IDENT@[17; 18)
|
||||
IDENT@[17; 18) "B"
|
||||
WHITESPACE@[18; 19)
|
||||
L_CURLY@[19; 20)
|
||||
R_CURLY@[20; 21)
|
||||
|
@ -16,7 +16,7 @@ FILE@[0; 97)
|
|||
STRUCT_ITEM@[22; 35)
|
||||
STRUCT_KW@[22; 28)
|
||||
WHITESPACE@[28; 29)
|
||||
IDENT@[29; 30)
|
||||
IDENT@[29; 30) "C"
|
||||
L_PAREN@[30; 31)
|
||||
R_PAREN@[31; 32)
|
||||
SEMI@[32; 33)
|
||||
|
@ -24,42 +24,42 @@ FILE@[0; 97)
|
|||
STRUCT_ITEM@[35; 76)
|
||||
STRUCT_KW@[35; 41)
|
||||
WHITESPACE@[41; 42)
|
||||
IDENT@[42; 43)
|
||||
IDENT@[42; 43) "D"
|
||||
WHITESPACE@[43; 44)
|
||||
L_CURLY@[44; 45)
|
||||
NAMED_FIELD@[45; 56)
|
||||
WHITESPACE@[45; 50)
|
||||
IDENT@[50; 51)
|
||||
IDENT@[50; 51) "a"
|
||||
COLON@[51; 52)
|
||||
WHITESPACE@[52; 53)
|
||||
IDENT@[53; 56)
|
||||
IDENT@[53; 56) "u32"
|
||||
COMMA@[56; 57)
|
||||
NAMED_FIELD@[57; 73)
|
||||
VISIBILITY@[57; 66)
|
||||
WHITESPACE@[57; 62)
|
||||
PUB_KW@[62; 65)
|
||||
WHITESPACE@[65; 66)
|
||||
IDENT@[66; 67)
|
||||
IDENT@[66; 67) "b"
|
||||
COLON@[67; 68)
|
||||
WHITESPACE@[68; 69)
|
||||
IDENT@[69; 72)
|
||||
IDENT@[69; 72) "u32"
|
||||
WHITESPACE@[72; 73)
|
||||
R_CURLY@[73; 74)
|
||||
WHITESPACE@[74; 76)
|
||||
STRUCT_ITEM@[76; 97)
|
||||
STRUCT_KW@[76; 82)
|
||||
WHITESPACE@[82; 83)
|
||||
IDENT@[83; 84)
|
||||
IDENT@[83; 84) "E"
|
||||
L_PAREN@[84; 85)
|
||||
POS_FIELD@[85; 90)
|
||||
VISIBILITY@[85; 89)
|
||||
PUB_KW@[85; 88)
|
||||
WHITESPACE@[88; 89)
|
||||
IDENT@[89; 90)
|
||||
IDENT@[89; 90) "x"
|
||||
COMMA@[90; 91)
|
||||
POS_FIELD@[91; 93)
|
||||
WHITESPACE@[91; 92)
|
||||
IDENT@[92; 93)
|
||||
IDENT@[92; 93) "y"
|
||||
COMMA@[93; 94)
|
||||
R_PAREN@[94; 95)
|
||||
SEMI@[95; 96)
|
||||
|
|
|
@ -4,17 +4,17 @@ FILE@[0; 23)
|
|||
POUND@[0; 1)
|
||||
L_BRACK@[1; 2)
|
||||
META_ITEM@[2; 9)
|
||||
IDENT@[2; 5)
|
||||
IDENT@[2; 5) "foo"
|
||||
L_PAREN@[5; 6)
|
||||
META_ITEM@[6; 7)
|
||||
IDENT@[6; 7)
|
||||
IDENT@[6; 7) "a"
|
||||
COMMA@[7; 8)
|
||||
R_PAREN@[8; 9)
|
||||
R_BRACK@[9; 10)
|
||||
WHITESPACE@[10; 11)
|
||||
FN_KW@[11; 13)
|
||||
WHITESPACE@[13; 14)
|
||||
IDENT@[14; 17)
|
||||
IDENT@[14; 17) "foo"
|
||||
L_PAREN@[17; 18)
|
||||
R_PAREN@[18; 19)
|
||||
WHITESPACE@[19; 20)
|
||||
|
|
|
@ -2,53 +2,53 @@ FILE@[0; 290)
|
|||
STRUCT_ITEM@[0; 14)
|
||||
STRUCT_KW@[0; 6)
|
||||
WHITESPACE@[6; 7)
|
||||
IDENT@[7; 9)
|
||||
IDENT@[7; 9) "S1"
|
||||
TYPE_PARAM_LIST@[9; 12)
|
||||
L_ANGLE@[9; 10)
|
||||
TYPE_PARAM@[10; 11)
|
||||
IDENT@[10; 11)
|
||||
IDENT@[10; 11) "T"
|
||||
R_ANGLE@[11; 12)
|
||||
SEMI@[12; 13)
|
||||
WHITESPACE@[13; 14)
|
||||
STRUCT_ITEM@[14; 33)
|
||||
STRUCT_KW@[14; 20)
|
||||
WHITESPACE@[20; 21)
|
||||
IDENT@[21; 23)
|
||||
IDENT@[21; 23) "S2"
|
||||
TYPE_PARAM_LIST@[23; 26)
|
||||
L_ANGLE@[23; 24)
|
||||
TYPE_PARAM@[24; 25)
|
||||
IDENT@[24; 25)
|
||||
IDENT@[24; 25) "T"
|
||||
R_ANGLE@[25; 26)
|
||||
L_PAREN@[26; 27)
|
||||
POS_FIELD@[27; 30)
|
||||
IDENT@[27; 30)
|
||||
IDENT@[27; 30) "u32"
|
||||
R_PAREN@[30; 31)
|
||||
SEMI@[31; 32)
|
||||
WHITESPACE@[32; 33)
|
||||
STRUCT_ITEM@[33; 58)
|
||||
STRUCT_KW@[33; 39)
|
||||
WHITESPACE@[39; 40)
|
||||
IDENT@[40; 42)
|
||||
IDENT@[40; 42) "S3"
|
||||
TYPE_PARAM_LIST@[42; 46)
|
||||
L_ANGLE@[42; 43)
|
||||
TYPE_PARAM@[43; 44)
|
||||
IDENT@[43; 44)
|
||||
IDENT@[43; 44) "T"
|
||||
R_ANGLE@[44; 45)
|
||||
WHITESPACE@[45; 46)
|
||||
L_CURLY@[46; 47)
|
||||
NAMED_FIELD@[47; 55)
|
||||
WHITESPACE@[47; 48)
|
||||
IDENT@[48; 49)
|
||||
IDENT@[48; 49) "u"
|
||||
COLON@[49; 50)
|
||||
WHITESPACE@[50; 51)
|
||||
IDENT@[51; 54)
|
||||
IDENT@[51; 54) "u32"
|
||||
WHITESPACE@[54; 55)
|
||||
R_CURLY@[55; 56)
|
||||
WHITESPACE@[56; 58)
|
||||
STRUCT_ITEM@[58; 71)
|
||||
STRUCT_KW@[58; 64)
|
||||
WHITESPACE@[64; 65)
|
||||
IDENT@[65; 67)
|
||||
IDENT@[65; 67) "S4"
|
||||
TYPE_PARAM_LIST@[67; 69)
|
||||
L_ANGLE@[67; 68)
|
||||
R_ANGLE@[68; 69)
|
||||
|
@ -57,22 +57,22 @@ FILE@[0; 290)
|
|||
STRUCT_ITEM@[71; 86)
|
||||
STRUCT_KW@[71; 77)
|
||||
WHITESPACE@[77; 78)
|
||||
IDENT@[78; 80)
|
||||
IDENT@[78; 80) "S5"
|
||||
TYPE_PARAM_LIST@[80; 84)
|
||||
L_ANGLE@[80; 81)
|
||||
LIFETIME_PARAM@[81; 83)
|
||||
LIFETIME@[81; 83)
|
||||
LIFETIME@[81; 83) "'a"
|
||||
R_ANGLE@[83; 84)
|
||||
SEMI@[84; 85)
|
||||
WHITESPACE@[85; 86)
|
||||
STRUCT_ITEM@[86; 102)
|
||||
STRUCT_KW@[86; 92)
|
||||
WHITESPACE@[92; 93)
|
||||
IDENT@[93; 95)
|
||||
IDENT@[93; 95) "S6"
|
||||
TYPE_PARAM_LIST@[95; 100)
|
||||
L_ANGLE@[95; 96)
|
||||
LIFETIME_PARAM@[96; 99)
|
||||
LIFETIME@[96; 98)
|
||||
LIFETIME@[96; 98) "'a"
|
||||
COLON@[98; 99)
|
||||
R_ANGLE@[99; 100)
|
||||
SEMI@[100; 101)
|
||||
|
@ -80,28 +80,28 @@ FILE@[0; 290)
|
|||
STRUCT_ITEM@[102; 121)
|
||||
STRUCT_KW@[102; 108)
|
||||
WHITESPACE@[108; 109)
|
||||
IDENT@[109; 111)
|
||||
IDENT@[109; 111) "S7"
|
||||
TYPE_PARAM_LIST@[111; 119)
|
||||
L_ANGLE@[111; 112)
|
||||
LIFETIME_PARAM@[112; 118)
|
||||
LIFETIME@[112; 114)
|
||||
LIFETIME@[112; 114) "'a"
|
||||
COLON@[114; 115)
|
||||
WHITESPACE@[115; 116)
|
||||
LIFETIME@[116; 118)
|
||||
LIFETIME@[116; 118) "'b"
|
||||
R_ANGLE@[118; 119)
|
||||
SEMI@[119; 120)
|
||||
WHITESPACE@[120; 121)
|
||||
STRUCT_ITEM@[121; 143)
|
||||
STRUCT_KW@[121; 127)
|
||||
WHITESPACE@[127; 128)
|
||||
IDENT@[128; 130)
|
||||
IDENT@[128; 130) "S8"
|
||||
TYPE_PARAM_LIST@[130; 141)
|
||||
L_ANGLE@[130; 131)
|
||||
LIFETIME_PARAM@[131; 140)
|
||||
LIFETIME@[131; 133)
|
||||
LIFETIME@[131; 133) "'a"
|
||||
COLON@[133; 134)
|
||||
WHITESPACE@[134; 135)
|
||||
LIFETIME@[135; 137)
|
||||
LIFETIME@[135; 137) "'b"
|
||||
WHITESPACE@[137; 138)
|
||||
PLUS@[138; 139)
|
||||
WHITESPACE@[139; 140)
|
||||
|
@ -111,29 +111,29 @@ FILE@[0; 290)
|
|||
STRUCT_ITEM@[143; 167)
|
||||
STRUCT_KW@[143; 149)
|
||||
WHITESPACE@[149; 150)
|
||||
IDENT@[150; 152)
|
||||
IDENT@[150; 152) "S9"
|
||||
TYPE_PARAM_LIST@[152; 165)
|
||||
L_ANGLE@[152; 153)
|
||||
LIFETIME_PARAM@[153; 164)
|
||||
LIFETIME@[153; 155)
|
||||
LIFETIME@[153; 155) "'a"
|
||||
COLON@[155; 156)
|
||||
WHITESPACE@[156; 157)
|
||||
LIFETIME@[157; 159)
|
||||
LIFETIME@[157; 159) "'b"
|
||||
WHITESPACE@[159; 160)
|
||||
PLUS@[160; 161)
|
||||
WHITESPACE@[161; 162)
|
||||
LIFETIME@[162; 164)
|
||||
LIFETIME@[162; 164) "'c"
|
||||
R_ANGLE@[164; 165)
|
||||
SEMI@[165; 166)
|
||||
WHITESPACE@[166; 167)
|
||||
STRUCT_ITEM@[167; 184)
|
||||
STRUCT_KW@[167; 173)
|
||||
WHITESPACE@[173; 174)
|
||||
IDENT@[174; 177)
|
||||
IDENT@[174; 177) "S10"
|
||||
TYPE_PARAM_LIST@[177; 182)
|
||||
L_ANGLE@[177; 178)
|
||||
LIFETIME_PARAM@[178; 180)
|
||||
LIFETIME@[178; 180)
|
||||
LIFETIME@[178; 180) "'a"
|
||||
COMMA@[180; 181)
|
||||
R_ANGLE@[181; 182)
|
||||
SEMI@[182; 183)
|
||||
|
@ -141,37 +141,37 @@ FILE@[0; 290)
|
|||
STRUCT_ITEM@[184; 204)
|
||||
STRUCT_KW@[184; 190)
|
||||
WHITESPACE@[190; 191)
|
||||
IDENT@[191; 194)
|
||||
IDENT@[191; 194) "S11"
|
||||
TYPE_PARAM_LIST@[194; 202)
|
||||
L_ANGLE@[194; 195)
|
||||
LIFETIME_PARAM@[195; 197)
|
||||
LIFETIME@[195; 197)
|
||||
LIFETIME@[195; 197) "'a"
|
||||
COMMA@[197; 198)
|
||||
LIFETIME_PARAM@[198; 201)
|
||||
WHITESPACE@[198; 199)
|
||||
LIFETIME@[199; 201)
|
||||
LIFETIME@[199; 201) "'b"
|
||||
R_ANGLE@[201; 202)
|
||||
SEMI@[202; 203)
|
||||
WHITESPACE@[203; 204)
|
||||
STRUCT_ITEM@[204; 235)
|
||||
STRUCT_KW@[204; 210)
|
||||
WHITESPACE@[210; 211)
|
||||
IDENT@[211; 214)
|
||||
IDENT@[211; 214) "S12"
|
||||
TYPE_PARAM_LIST@[214; 232)
|
||||
L_ANGLE@[214; 215)
|
||||
LIFETIME_PARAM@[215; 222)
|
||||
LIFETIME@[215; 217)
|
||||
LIFETIME@[215; 217) "'a"
|
||||
COLON@[217; 218)
|
||||
WHITESPACE@[218; 219)
|
||||
LIFETIME@[219; 221)
|
||||
LIFETIME@[219; 221) "'b"
|
||||
PLUS@[221; 222)
|
||||
COMMA@[222; 223)
|
||||
LIFETIME_PARAM@[223; 230)
|
||||
WHITESPACE@[223; 224)
|
||||
LIFETIME@[224; 226)
|
||||
LIFETIME@[224; 226) "'b"
|
||||
COLON@[226; 227)
|
||||
WHITESPACE@[227; 228)
|
||||
LIFETIME@[228; 230)
|
||||
LIFETIME@[228; 230) "'c"
|
||||
COMMA@[230; 231)
|
||||
R_ANGLE@[231; 232)
|
||||
SEMI@[232; 233)
|
||||
|
@ -179,45 +179,45 @@ FILE@[0; 290)
|
|||
STRUCT_ITEM@[235; 250)
|
||||
STRUCT_KW@[235; 241)
|
||||
WHITESPACE@[241; 242)
|
||||
IDENT@[242; 245)
|
||||
IDENT@[242; 245) "S13"
|
||||
TYPE_PARAM_LIST@[245; 248)
|
||||
L_ANGLE@[245; 246)
|
||||
TYPE_PARAM@[246; 247)
|
||||
IDENT@[246; 247)
|
||||
IDENT@[246; 247) "T"
|
||||
R_ANGLE@[247; 248)
|
||||
SEMI@[248; 249)
|
||||
WHITESPACE@[249; 250)
|
||||
STRUCT_ITEM@[250; 268)
|
||||
STRUCT_KW@[250; 256)
|
||||
WHITESPACE@[256; 257)
|
||||
IDENT@[257; 260)
|
||||
IDENT@[257; 260) "S14"
|
||||
TYPE_PARAM_LIST@[260; 266)
|
||||
L_ANGLE@[260; 261)
|
||||
TYPE_PARAM@[261; 262)
|
||||
IDENT@[261; 262)
|
||||
IDENT@[261; 262) "T"
|
||||
COMMA@[262; 263)
|
||||
TYPE_PARAM@[263; 265)
|
||||
WHITESPACE@[263; 264)
|
||||
IDENT@[264; 265)
|
||||
IDENT@[264; 265) "U"
|
||||
R_ANGLE@[265; 266)
|
||||
SEMI@[266; 267)
|
||||
WHITESPACE@[267; 268)
|
||||
STRUCT_ITEM@[268; 290)
|
||||
STRUCT_KW@[268; 274)
|
||||
WHITESPACE@[274; 275)
|
||||
IDENT@[275; 278)
|
||||
IDENT@[275; 278) "S15"
|
||||
TYPE_PARAM_LIST@[278; 288)
|
||||
L_ANGLE@[278; 279)
|
||||
LIFETIME_PARAM@[279; 281)
|
||||
LIFETIME@[279; 281)
|
||||
LIFETIME@[279; 281) "'a"
|
||||
COMMA@[281; 282)
|
||||
TYPE_PARAM@[282; 284)
|
||||
WHITESPACE@[282; 283)
|
||||
IDENT@[283; 284)
|
||||
IDENT@[283; 284) "T"
|
||||
COMMA@[284; 285)
|
||||
TYPE_PARAM@[285; 287)
|
||||
WHITESPACE@[285; 286)
|
||||
IDENT@[286; 287)
|
||||
IDENT@[286; 287) "U"
|
||||
R_ANGLE@[287; 288)
|
||||
SEMI@[288; 289)
|
||||
WHITESPACE@[289; 290)
|
||||
|
|
25
tests/data/parser/ok/0019_enums.rs
Normal file
25
tests/data/parser/ok/0019_enums.rs
Normal file
|
@ -0,0 +1,25 @@
|
|||
enum E1 {
|
||||
}
|
||||
|
||||
enum E2<T> {
|
||||
}
|
||||
|
||||
enum E3 {
|
||||
X
|
||||
}
|
||||
|
||||
enum E4 {
|
||||
X,
|
||||
}
|
||||
|
||||
enum E5 {
|
||||
A,
|
||||
B = 92,
|
||||
C {
|
||||
a: u32,
|
||||
pub b: f64,
|
||||
},
|
||||
F {},
|
||||
D(u32,),
|
||||
E(),
|
||||
}
|
118
tests/data/parser/ok/0019_enums.txt
Normal file
118
tests/data/parser/ok/0019_enums.txt
Normal file
|
@ -0,0 +1,118 @@
|
|||
FILE@[0; 182)
|
||||
ENUM_ITEM@[0; 13)
|
||||
ENUM_KW@[0; 4)
|
||||
WHITESPACE@[4; 5)
|
||||
IDENT@[5; 7) "E1"
|
||||
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) "E2"
|
||||
TYPE_PARAM_LIST@[20; 24)
|
||||
L_ANGLE@[20; 21)
|
||||
TYPE_PARAM@[21; 22)
|
||||
IDENT@[21; 22) "T"
|
||||
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) "E3"
|
||||
WHITESPACE@[36; 37)
|
||||
L_CURLY@[37; 38)
|
||||
ENUM_VARIANT@[38; 45)
|
||||
WHITESPACE@[38; 43)
|
||||
IDENT@[43; 44) "X"
|
||||
WHITESPACE@[44; 45)
|
||||
R_CURLY@[45; 46)
|
||||
WHITESPACE@[46; 48)
|
||||
ENUM_ITEM@[48; 68)
|
||||
ENUM_KW@[48; 52)
|
||||
WHITESPACE@[52; 53)
|
||||
IDENT@[53; 55) "E4"
|
||||
WHITESPACE@[55; 56)
|
||||
L_CURLY@[56; 57)
|
||||
ENUM_VARIANT@[57; 63)
|
||||
WHITESPACE@[57; 62)
|
||||
IDENT@[62; 63) "X"
|
||||
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) "E5"
|
||||
WHITESPACE@[75; 76)
|
||||
L_CURLY@[76; 77)
|
||||
ENUM_VARIANT@[77; 83)
|
||||
WHITESPACE@[77; 82)
|
||||
IDENT@[82; 83) "A"
|
||||
COMMA@[83; 84)
|
||||
ENUM_VARIANT@[84; 95)
|
||||
WHITESPACE@[84; 89)
|
||||
IDENT@[89; 90) "B"
|
||||
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) "C"
|
||||
WHITESPACE@[102; 103)
|
||||
L_CURLY@[103; 104)
|
||||
NAMED_FIELD@[104; 119)
|
||||
WHITESPACE@[104; 113)
|
||||
IDENT@[113; 114) "a"
|
||||
COLON@[114; 115)
|
||||
WHITESPACE@[115; 116)
|
||||
IDENT@[116; 119) "u32"
|
||||
COMMA@[119; 120)
|
||||
NAMED_FIELD@[120; 139)
|
||||
VISIBILITY@[120; 133)
|
||||
WHITESPACE@[120; 129)
|
||||
PUB_KW@[129; 132)
|
||||
WHITESPACE@[132; 133)
|
||||
IDENT@[133; 134) "b"
|
||||
COLON@[134; 135)
|
||||
WHITESPACE@[135; 136)
|
||||
IDENT@[136; 139) "f64"
|
||||
COMMA@[139; 140)
|
||||
WHITESPACE@[140; 145)
|
||||
R_CURLY@[145; 146)
|
||||
COMMA@[146; 147)
|
||||
ENUM_VARIANT@[147; 156)
|
||||
WHITESPACE@[147; 152)
|
||||
IDENT@[152; 153) "F"
|
||||
WHITESPACE@[153; 154)
|
||||
L_CURLY@[154; 155)
|
||||
R_CURLY@[155; 156)
|
||||
COMMA@[156; 157)
|
||||
ENUM_VARIANT@[157; 169)
|
||||
WHITESPACE@[157; 162)
|
||||
IDENT@[162; 163) "D"
|
||||
L_PAREN@[163; 164)
|
||||
POS_FIELD@[164; 167)
|
||||
IDENT@[164; 167) "u32"
|
||||
COMMA@[167; 168)
|
||||
R_PAREN@[168; 169)
|
||||
COMMA@[169; 170)
|
||||
ENUM_VARIANT@[170; 178)
|
||||
WHITESPACE@[170; 175)
|
||||
IDENT@[175; 176) "E"
|
||||
L_PAREN@[176; 177)
|
||||
R_PAREN@[177; 178)
|
||||
COMMA@[178; 179)
|
||||
WHITESPACE@[179; 180)
|
||||
R_CURLY@[180; 181)
|
||||
WHITESPACE@[181; 182)
|
Loading…
Reference in a new issue