mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-11-14 00:47:18 +00:00
G: more types
This commit is contained in:
parent
b814d93151
commit
b097090690
25 changed files with 263 additions and 67 deletions
|
@ -101,6 +101,11 @@ Grammar(
|
|||
"IMPL_ITEM",
|
||||
"TYPE_ITEM",
|
||||
|
||||
"PAREN_TYPE",
|
||||
"TUPLE_TYPE",
|
||||
"NEVER_TYPE",
|
||||
"PATH_TYPE",
|
||||
|
||||
"EXTERN_BLOCK",
|
||||
"ENUM_VARIANT",
|
||||
"NAMED_FIELD",
|
||||
|
|
|
@ -14,7 +14,7 @@ fn const_or_static(p: &mut Parser, kw: SyntaxKind) {
|
|||
p.eat(MUT_KW); // TODO: validator to forbid const mut
|
||||
name(p);
|
||||
p.expect(COLON);
|
||||
types::type_ref(p);
|
||||
types::ty(p);
|
||||
p.expect(EQ);
|
||||
expressions::expr(p);
|
||||
p.expect(SEMI);
|
||||
|
|
|
@ -247,7 +247,7 @@ fn type_item(p: &mut Parser) {
|
|||
type_params::where_clause(p);
|
||||
|
||||
p.expect(EQ);
|
||||
types::type_ref(p);
|
||||
types::ty(p);
|
||||
p.expect(SEMI);
|
||||
}
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ fn named_fields(p: &mut Parser) {
|
|||
if p.at(IDENT) {
|
||||
name(p);
|
||||
p.expect(COLON);
|
||||
types::type_ref(p);
|
||||
types::ty(p);
|
||||
field.complete(p, NAMED_FIELD);
|
||||
} else {
|
||||
field.abandon(p);
|
||||
|
@ -105,7 +105,7 @@ fn pos_fields(p: &mut Parser) {
|
|||
while !p.at(R_PAREN) && !p.at(EOF) {
|
||||
let pos_field = p.start();
|
||||
visibility(p);
|
||||
types::type_ref(p);
|
||||
types::ty(p);
|
||||
pos_field.complete(p, POS_FIELD);
|
||||
|
||||
if !p.at(R_PAREN) {
|
||||
|
|
|
@ -62,7 +62,7 @@ pub(super) fn list(p: &mut Parser) {
|
|||
}
|
||||
}
|
||||
if p.at(EQ) {
|
||||
types::type_ref(p)
|
||||
types::ty(p)
|
||||
}
|
||||
m.complete(p, TYPE_PARAM);
|
||||
}
|
||||
|
|
|
@ -1,14 +1,51 @@
|
|||
use super::*;
|
||||
|
||||
pub(super) fn type_ref(p: &mut Parser) {
|
||||
pub(super) fn ty(p: &mut Parser) {
|
||||
match p.current() {
|
||||
IDENT => p.bump(),
|
||||
L_PAREN => {
|
||||
p.bump();
|
||||
p.expect(R_PAREN);
|
||||
}
|
||||
L_PAREN => paren_or_tuple_ty(p),
|
||||
IDENT => path_type(p),
|
||||
_ => {
|
||||
p.error("expected type");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn paren_or_tuple_ty(p: &mut Parser) {
|
||||
assert!(p.at(L_PAREN));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
let mut n_types: u32 = 0;
|
||||
let mut trailing_comma: bool = false;
|
||||
while !p.at(EOF) && !p.at(R_PAREN) {
|
||||
n_types += 1;
|
||||
ty(p);
|
||||
if p.eat(COMMA) {
|
||||
trailing_comma = true;
|
||||
} else {
|
||||
trailing_comma = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
p.expect(R_PAREN);
|
||||
|
||||
let kind = if n_types == 1 && !trailing_comma {
|
||||
// test paren_type
|
||||
// type T = (i32);
|
||||
PAREN_TYPE
|
||||
} else {
|
||||
// test unit_type
|
||||
// type T = ();
|
||||
|
||||
// test singleton_tuple_type
|
||||
// type T = (i32,);
|
||||
TUPLE_TYPE
|
||||
};
|
||||
m.complete(p, kind);
|
||||
}
|
||||
|
||||
fn path_type(p: &mut Parser) {
|
||||
assert!(p.at(IDENT));
|
||||
let m = p.start();
|
||||
paths::type_path(p);
|
||||
m.complete(p, PATH_TYPE);
|
||||
}
|
||||
|
|
|
@ -99,6 +99,10 @@ pub enum SyntaxKind {
|
|||
TRAIT_ITEM,
|
||||
IMPL_ITEM,
|
||||
TYPE_ITEM,
|
||||
PAREN_TYPE,
|
||||
TUPLE_TYPE,
|
||||
NEVER_TYPE,
|
||||
PATH_TYPE,
|
||||
EXTERN_BLOCK,
|
||||
ENUM_VARIANT,
|
||||
NAMED_FIELD,
|
||||
|
@ -224,6 +228,10 @@ impl SyntaxKind {
|
|||
TRAIT_ITEM => &SyntaxInfo { name: "TRAIT_ITEM" },
|
||||
IMPL_ITEM => &SyntaxInfo { name: "IMPL_ITEM" },
|
||||
TYPE_ITEM => &SyntaxInfo { name: "TYPE_ITEM" },
|
||||
PAREN_TYPE => &SyntaxInfo { name: "PAREN_TYPE" },
|
||||
TUPLE_TYPE => &SyntaxInfo { name: "TUPLE_TYPE" },
|
||||
NEVER_TYPE => &SyntaxInfo { name: "NEVER_TYPE" },
|
||||
PATH_TYPE => &SyntaxInfo { name: "PATH_TYPE" },
|
||||
EXTERN_BLOCK => &SyntaxInfo { name: "EXTERN_BLOCK" },
|
||||
ENUM_VARIANT => &SyntaxInfo { name: "ENUM_VARIANT" },
|
||||
NAMED_FIELD => &SyntaxInfo { name: "NAMED_FIELD" },
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
1
tests/data/parser/inline/0017_paren_type.rs
Normal file
1
tests/data/parser/inline/0017_paren_type.rs
Normal file
|
@ -0,0 +1 @@
|
|||
type T = (i32);
|
19
tests/data/parser/inline/0017_paren_type.txt
Normal file
19
tests/data/parser/inline/0017_paren_type.txt
Normal file
|
@ -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)
|
1
tests/data/parser/inline/0018_unit_type.rs
Normal file
1
tests/data/parser/inline/0018_unit_type.rs
Normal file
|
@ -0,0 +1 @@
|
|||
type T = ();
|
14
tests/data/parser/inline/0018_unit_type.txt
Normal file
14
tests/data/parser/inline/0018_unit_type.txt
Normal file
|
@ -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)
|
1
tests/data/parser/inline/0019_singleton_tuple_type.rs
Normal file
1
tests/data/parser/inline/0019_singleton_tuple_type.rs
Normal file
|
@ -0,0 +1 @@
|
|||
type T = (i32,);
|
20
tests/data/parser/inline/0019_singleton_tuple_type.txt
Normal file
20
tests/data/parser/inline/0019_singleton_tuple_type.txt
Normal file
|
@ -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)
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue