mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-26 13:03:31 +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",
|
"IMPL_ITEM",
|
||||||
"TYPE_ITEM",
|
"TYPE_ITEM",
|
||||||
|
|
||||||
|
"PAREN_TYPE",
|
||||||
|
"TUPLE_TYPE",
|
||||||
|
"NEVER_TYPE",
|
||||||
|
"PATH_TYPE",
|
||||||
|
|
||||||
"EXTERN_BLOCK",
|
"EXTERN_BLOCK",
|
||||||
"ENUM_VARIANT",
|
"ENUM_VARIANT",
|
||||||
"NAMED_FIELD",
|
"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
|
p.eat(MUT_KW); // TODO: validator to forbid const mut
|
||||||
name(p);
|
name(p);
|
||||||
p.expect(COLON);
|
p.expect(COLON);
|
||||||
types::type_ref(p);
|
types::ty(p);
|
||||||
p.expect(EQ);
|
p.expect(EQ);
|
||||||
expressions::expr(p);
|
expressions::expr(p);
|
||||||
p.expect(SEMI);
|
p.expect(SEMI);
|
||||||
|
|
|
@ -247,7 +247,7 @@ fn type_item(p: &mut Parser) {
|
||||||
type_params::where_clause(p);
|
type_params::where_clause(p);
|
||||||
|
|
||||||
p.expect(EQ);
|
p.expect(EQ);
|
||||||
types::type_ref(p);
|
types::ty(p);
|
||||||
p.expect(SEMI);
|
p.expect(SEMI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -89,7 +89,7 @@ fn named_fields(p: &mut Parser) {
|
||||||
if p.at(IDENT) {
|
if p.at(IDENT) {
|
||||||
name(p);
|
name(p);
|
||||||
p.expect(COLON);
|
p.expect(COLON);
|
||||||
types::type_ref(p);
|
types::ty(p);
|
||||||
field.complete(p, NAMED_FIELD);
|
field.complete(p, NAMED_FIELD);
|
||||||
} else {
|
} else {
|
||||||
field.abandon(p);
|
field.abandon(p);
|
||||||
|
@ -105,7 +105,7 @@ fn pos_fields(p: &mut Parser) {
|
||||||
while !p.at(R_PAREN) && !p.at(EOF) {
|
while !p.at(R_PAREN) && !p.at(EOF) {
|
||||||
let pos_field = p.start();
|
let pos_field = p.start();
|
||||||
visibility(p);
|
visibility(p);
|
||||||
types::type_ref(p);
|
types::ty(p);
|
||||||
pos_field.complete(p, POS_FIELD);
|
pos_field.complete(p, POS_FIELD);
|
||||||
|
|
||||||
if !p.at(R_PAREN) {
|
if !p.at(R_PAREN) {
|
||||||
|
|
|
@ -62,7 +62,7 @@ pub(super) fn list(p: &mut Parser) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if p.at(EQ) {
|
if p.at(EQ) {
|
||||||
types::type_ref(p)
|
types::ty(p)
|
||||||
}
|
}
|
||||||
m.complete(p, TYPE_PARAM);
|
m.complete(p, TYPE_PARAM);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,51 @@
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
pub(super) fn type_ref(p: &mut Parser) {
|
pub(super) fn ty(p: &mut Parser) {
|
||||||
match p.current() {
|
match p.current() {
|
||||||
IDENT => p.bump(),
|
L_PAREN => paren_or_tuple_ty(p),
|
||||||
L_PAREN => {
|
IDENT => path_type(p),
|
||||||
p.bump();
|
|
||||||
p.expect(R_PAREN);
|
|
||||||
}
|
|
||||||
_ => {
|
_ => {
|
||||||
p.error("expected type");
|
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,
|
TRAIT_ITEM,
|
||||||
IMPL_ITEM,
|
IMPL_ITEM,
|
||||||
TYPE_ITEM,
|
TYPE_ITEM,
|
||||||
|
PAREN_TYPE,
|
||||||
|
TUPLE_TYPE,
|
||||||
|
NEVER_TYPE,
|
||||||
|
PATH_TYPE,
|
||||||
EXTERN_BLOCK,
|
EXTERN_BLOCK,
|
||||||
ENUM_VARIANT,
|
ENUM_VARIANT,
|
||||||
NAMED_FIELD,
|
NAMED_FIELD,
|
||||||
|
@ -224,6 +228,10 @@ impl SyntaxKind {
|
||||||
TRAIT_ITEM => &SyntaxInfo { name: "TRAIT_ITEM" },
|
TRAIT_ITEM => &SyntaxInfo { name: "TRAIT_ITEM" },
|
||||||
IMPL_ITEM => &SyntaxInfo { name: "IMPL_ITEM" },
|
IMPL_ITEM => &SyntaxInfo { name: "IMPL_ITEM" },
|
||||||
TYPE_ITEM => &SyntaxInfo { name: "TYPE_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" },
|
EXTERN_BLOCK => &SyntaxInfo { name: "EXTERN_BLOCK" },
|
||||||
ENUM_VARIANT => &SyntaxInfo { name: "ENUM_VARIANT" },
|
ENUM_VARIANT => &SyntaxInfo { name: "ENUM_VARIANT" },
|
||||||
NAMED_FIELD => &SyntaxInfo { name: "NAMED_FIELD" },
|
NAMED_FIELD => &SyntaxInfo { name: "NAMED_FIELD" },
|
||||||
|
|
|
@ -11,15 +11,23 @@ FILE@[0; 34)
|
||||||
WHITESPACE@[10; 15)
|
WHITESPACE@[10; 15)
|
||||||
IDENT@[15; 16) "a"
|
IDENT@[15; 16) "a"
|
||||||
COLON@[16; 17)
|
COLON@[16; 17)
|
||||||
WHITESPACE@[17; 18)
|
PATH_TYPE@[17; 26)
|
||||||
IDENT@[18; 21) "u32"
|
PATH@[17; 26)
|
||||||
WHITESPACE@[21; 26)
|
PATH_SEGMENT@[17; 26)
|
||||||
|
NAME_REF@[17; 26)
|
||||||
|
WHITESPACE@[17; 18)
|
||||||
|
IDENT@[18; 21) "u32"
|
||||||
|
WHITESPACE@[21; 26)
|
||||||
err: `expected COMMA`
|
err: `expected COMMA`
|
||||||
NAMED_FIELD@[26; 33)
|
NAMED_FIELD@[26; 33)
|
||||||
NAME@[26; 27)
|
NAME@[26; 27)
|
||||||
IDENT@[26; 27) "b"
|
IDENT@[26; 27) "b"
|
||||||
COLON@[27; 28)
|
COLON@[27; 28)
|
||||||
WHITESPACE@[28; 29)
|
PATH_TYPE@[28; 33)
|
||||||
IDENT@[29; 32) "u32"
|
PATH@[28; 33)
|
||||||
WHITESPACE@[32; 33)
|
PATH_SEGMENT@[28; 33)
|
||||||
|
NAME_REF@[28; 33)
|
||||||
|
WHITESPACE@[28; 29)
|
||||||
|
IDENT@[29; 32) "u32"
|
||||||
|
WHITESPACE@[32; 33)
|
||||||
R_CURLY@[33; 34)
|
R_CURLY@[33; 34)
|
||||||
|
|
|
@ -11,16 +11,24 @@ FILE@[0; 40)
|
||||||
WHITESPACE@[10; 15)
|
WHITESPACE@[10; 15)
|
||||||
IDENT@[15; 16) "a"
|
IDENT@[15; 16) "a"
|
||||||
COLON@[16; 17)
|
COLON@[16; 17)
|
||||||
WHITESPACE@[17; 18)
|
PATH_TYPE@[17; 21)
|
||||||
IDENT@[18; 21) "i32"
|
PATH@[17; 21)
|
||||||
|
PATH_SEGMENT@[17; 21)
|
||||||
|
NAME_REF@[17; 21)
|
||||||
|
WHITESPACE@[17; 18)
|
||||||
|
IDENT@[18; 21) "i32"
|
||||||
COMMA@[21; 22)
|
COMMA@[21; 22)
|
||||||
NAMED_FIELD@[22; 36)
|
NAMED_FIELD@[22; 36)
|
||||||
NAME@[22; 28)
|
NAME@[22; 28)
|
||||||
WHITESPACE@[22; 27)
|
WHITESPACE@[22; 27)
|
||||||
IDENT@[27; 28) "b"
|
IDENT@[27; 28) "b"
|
||||||
COLON@[28; 29)
|
COLON@[28; 29)
|
||||||
WHITESPACE@[29; 30)
|
PATH_TYPE@[29; 36)
|
||||||
IDENT@[30; 36) "String"
|
PATH@[29; 36)
|
||||||
|
PATH_SEGMENT@[29; 36)
|
||||||
|
NAME_REF@[29; 36)
|
||||||
|
WHITESPACE@[29; 30)
|
||||||
|
IDENT@[30; 36) "String"
|
||||||
COMMA@[36; 37)
|
COMMA@[36; 37)
|
||||||
WHITESPACE@[37; 38)
|
WHITESPACE@[37; 38)
|
||||||
R_CURLY@[38; 39)
|
R_CURLY@[38; 39)
|
||||||
|
|
|
@ -11,8 +11,12 @@ FILE@[0; 74)
|
||||||
WHITESPACE@[10; 15)
|
WHITESPACE@[10; 15)
|
||||||
IDENT@[15; 16) "f"
|
IDENT@[15; 16) "f"
|
||||||
COLON@[16; 17)
|
COLON@[16; 17)
|
||||||
WHITESPACE@[17; 18)
|
PATH_TYPE@[17; 21)
|
||||||
IDENT@[18; 21) "u32"
|
PATH@[17; 21)
|
||||||
|
PATH_SEGMENT@[17; 21)
|
||||||
|
NAME_REF@[17; 21)
|
||||||
|
WHITESPACE@[17; 18)
|
||||||
|
IDENT@[18; 21) "u32"
|
||||||
COMMA@[21; 22)
|
COMMA@[21; 22)
|
||||||
VISIBILITY@[22; 31)
|
VISIBILITY@[22; 31)
|
||||||
WHITESPACE@[22; 27)
|
WHITESPACE@[22; 27)
|
||||||
|
@ -42,16 +46,24 @@ FILE@[0; 74)
|
||||||
NAME@[52; 53)
|
NAME@[52; 53)
|
||||||
IDENT@[52; 53) "x"
|
IDENT@[52; 53) "x"
|
||||||
COLON@[53; 54)
|
COLON@[53; 54)
|
||||||
WHITESPACE@[54; 55)
|
PATH_TYPE@[54; 58)
|
||||||
IDENT@[55; 58) "u32"
|
PATH@[54; 58)
|
||||||
|
PATH_SEGMENT@[54; 58)
|
||||||
|
NAME_REF@[54; 58)
|
||||||
|
WHITESPACE@[54; 55)
|
||||||
|
IDENT@[55; 58) "u32"
|
||||||
COMMA@[58; 59)
|
COMMA@[58; 59)
|
||||||
NAMED_FIELD@[59; 70)
|
NAMED_FIELD@[59; 70)
|
||||||
NAME@[59; 65)
|
NAME@[59; 65)
|
||||||
WHITESPACE@[59; 64)
|
WHITESPACE@[59; 64)
|
||||||
IDENT@[64; 65) "z"
|
IDENT@[64; 65) "z"
|
||||||
COLON@[65; 66)
|
COLON@[65; 66)
|
||||||
WHITESPACE@[66; 67)
|
PATH_TYPE@[66; 70)
|
||||||
IDENT@[67; 70) "f64"
|
PATH@[66; 70)
|
||||||
|
PATH_SEGMENT@[66; 70)
|
||||||
|
NAME_REF@[66; 70)
|
||||||
|
WHITESPACE@[66; 67)
|
||||||
|
IDENT@[67; 70) "f64"
|
||||||
COMMA@[70; 71)
|
COMMA@[70; 71)
|
||||||
WHITESPACE@[71; 72)
|
WHITESPACE@[71; 72)
|
||||||
R_CURLY@[72; 73)
|
R_CURLY@[72; 73)
|
||||||
|
|
|
@ -11,8 +11,9 @@ FILE@[0; 21)
|
||||||
R_ANGLE@[13; 14)
|
R_ANGLE@[13; 14)
|
||||||
WHITESPACE@[14; 15)
|
WHITESPACE@[14; 15)
|
||||||
EQ@[15; 16)
|
EQ@[15; 16)
|
||||||
WHITESPACE@[16; 17)
|
TUPLE_TYPE@[16; 19)
|
||||||
L_PAREN@[17; 18)
|
WHITESPACE@[16; 17)
|
||||||
R_PAREN@[18; 19)
|
L_PAREN@[17; 18)
|
||||||
|
R_PAREN@[18; 19)
|
||||||
SEMI@[19; 20)
|
SEMI@[19; 20)
|
||||||
WHITESPACE@[20; 21)
|
WHITESPACE@[20; 21)
|
||||||
|
|
|
@ -6,7 +6,11 @@ FILE@[0; 16)
|
||||||
IDENT@[5; 8) "Foo"
|
IDENT@[5; 8) "Foo"
|
||||||
WHITESPACE@[8; 9)
|
WHITESPACE@[8; 9)
|
||||||
EQ@[9; 10)
|
EQ@[9; 10)
|
||||||
WHITESPACE@[10; 11)
|
PATH_TYPE@[10; 14)
|
||||||
IDENT@[11; 14) "Bar"
|
PATH@[10; 14)
|
||||||
|
PATH_SEGMENT@[10; 14)
|
||||||
|
NAME_REF@[10; 14)
|
||||||
|
WHITESPACE@[10; 11)
|
||||||
|
IDENT@[11; 14) "Bar"
|
||||||
SEMI@[14; 15)
|
SEMI@[14; 15)
|
||||||
WHITESPACE@[15; 16)
|
WHITESPACE@[15; 16)
|
||||||
|
|
|
@ -14,8 +14,9 @@ FILE@[0; 31)
|
||||||
IDENT@[20; 24) "Copy"
|
IDENT@[20; 24) "Copy"
|
||||||
WHITESPACE@[24; 25)
|
WHITESPACE@[24; 25)
|
||||||
EQ@[25; 26)
|
EQ@[25; 26)
|
||||||
WHITESPACE@[26; 27)
|
TUPLE_TYPE@[26; 29)
|
||||||
L_PAREN@[27; 28)
|
WHITESPACE@[26; 27)
|
||||||
R_PAREN@[28; 29)
|
L_PAREN@[27; 28)
|
||||||
|
R_PAREN@[28; 29)
|
||||||
SEMI@[29; 30)
|
SEMI@[29; 30)
|
||||||
WHITESPACE@[30; 31)
|
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)
|
WHITESPACE@[10; 15)
|
||||||
IDENT@[15; 18) "foo"
|
IDENT@[15; 18) "foo"
|
||||||
COLON@[18; 19)
|
COLON@[18; 19)
|
||||||
WHITESPACE@[19; 20)
|
PATH_TYPE@[19; 24)
|
||||||
IDENT@[20; 23) "u32"
|
PATH@[19; 24)
|
||||||
WHITESPACE@[23; 24)
|
PATH_SEGMENT@[19; 24)
|
||||||
|
NAME_REF@[19; 24)
|
||||||
|
WHITESPACE@[19; 20)
|
||||||
|
IDENT@[20; 23) "u32"
|
||||||
|
WHITESPACE@[23; 24)
|
||||||
R_CURLY@[24; 25)
|
R_CURLY@[24; 25)
|
||||||
|
|
|
@ -36,8 +36,12 @@ FILE@[0; 97)
|
||||||
WHITESPACE@[45; 50)
|
WHITESPACE@[45; 50)
|
||||||
IDENT@[50; 51) "a"
|
IDENT@[50; 51) "a"
|
||||||
COLON@[51; 52)
|
COLON@[51; 52)
|
||||||
WHITESPACE@[52; 53)
|
PATH_TYPE@[52; 56)
|
||||||
IDENT@[53; 56) "u32"
|
PATH@[52; 56)
|
||||||
|
PATH_SEGMENT@[52; 56)
|
||||||
|
NAME_REF@[52; 56)
|
||||||
|
WHITESPACE@[52; 53)
|
||||||
|
IDENT@[53; 56) "u32"
|
||||||
COMMA@[56; 57)
|
COMMA@[56; 57)
|
||||||
NAMED_FIELD@[57; 73)
|
NAMED_FIELD@[57; 73)
|
||||||
VISIBILITY@[57; 66)
|
VISIBILITY@[57; 66)
|
||||||
|
@ -47,9 +51,13 @@ FILE@[0; 97)
|
||||||
NAME@[66; 67)
|
NAME@[66; 67)
|
||||||
IDENT@[66; 67) "b"
|
IDENT@[66; 67) "b"
|
||||||
COLON@[67; 68)
|
COLON@[67; 68)
|
||||||
WHITESPACE@[68; 69)
|
PATH_TYPE@[68; 73)
|
||||||
IDENT@[69; 72) "u32"
|
PATH@[68; 73)
|
||||||
WHITESPACE@[72; 73)
|
PATH_SEGMENT@[68; 73)
|
||||||
|
NAME_REF@[68; 73)
|
||||||
|
WHITESPACE@[68; 69)
|
||||||
|
IDENT@[69; 72) "u32"
|
||||||
|
WHITESPACE@[72; 73)
|
||||||
R_CURLY@[73; 74)
|
R_CURLY@[73; 74)
|
||||||
WHITESPACE@[74; 76)
|
WHITESPACE@[74; 76)
|
||||||
STRUCT_ITEM@[76; 97)
|
STRUCT_ITEM@[76; 97)
|
||||||
|
@ -62,11 +70,19 @@ FILE@[0; 97)
|
||||||
VISIBILITY@[85; 89)
|
VISIBILITY@[85; 89)
|
||||||
PUB_KW@[85; 88)
|
PUB_KW@[85; 88)
|
||||||
WHITESPACE@[88; 89)
|
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)
|
COMMA@[90; 91)
|
||||||
POS_FIELD@[91; 93)
|
POS_FIELD@[91; 93)
|
||||||
WHITESPACE@[91; 92)
|
PATH_TYPE@[91; 93)
|
||||||
IDENT@[92; 93) "y"
|
PATH@[91; 93)
|
||||||
|
PATH_SEGMENT@[91; 93)
|
||||||
|
NAME_REF@[91; 93)
|
||||||
|
WHITESPACE@[91; 92)
|
||||||
|
IDENT@[92; 93) "y"
|
||||||
COMMA@[93; 94)
|
COMMA@[93; 94)
|
||||||
R_PAREN@[94; 95)
|
R_PAREN@[94; 95)
|
||||||
SEMI@[95; 96)
|
SEMI@[95; 96)
|
||||||
|
|
|
@ -23,7 +23,11 @@ FILE@[0; 290)
|
||||||
R_ANGLE@[25; 26)
|
R_ANGLE@[25; 26)
|
||||||
L_PAREN@[26; 27)
|
L_PAREN@[26; 27)
|
||||||
POS_FIELD@[27; 30)
|
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)
|
R_PAREN@[30; 31)
|
||||||
SEMI@[31; 32)
|
SEMI@[31; 32)
|
||||||
WHITESPACE@[32; 33)
|
WHITESPACE@[32; 33)
|
||||||
|
@ -44,9 +48,13 @@ FILE@[0; 290)
|
||||||
WHITESPACE@[47; 48)
|
WHITESPACE@[47; 48)
|
||||||
IDENT@[48; 49) "u"
|
IDENT@[48; 49) "u"
|
||||||
COLON@[49; 50)
|
COLON@[49; 50)
|
||||||
WHITESPACE@[50; 51)
|
PATH_TYPE@[50; 55)
|
||||||
IDENT@[51; 54) "u32"
|
PATH@[50; 55)
|
||||||
WHITESPACE@[54; 55)
|
PATH_SEGMENT@[50; 55)
|
||||||
|
NAME_REF@[50; 55)
|
||||||
|
WHITESPACE@[50; 51)
|
||||||
|
IDENT@[51; 54) "u32"
|
||||||
|
WHITESPACE@[54; 55)
|
||||||
R_CURLY@[55; 56)
|
R_CURLY@[55; 56)
|
||||||
WHITESPACE@[56; 58)
|
WHITESPACE@[56; 58)
|
||||||
STRUCT_ITEM@[58; 71)
|
STRUCT_ITEM@[58; 71)
|
||||||
|
|
|
@ -81,8 +81,12 @@ FILE@[0; 182)
|
||||||
WHITESPACE@[104; 113)
|
WHITESPACE@[104; 113)
|
||||||
IDENT@[113; 114) "a"
|
IDENT@[113; 114) "a"
|
||||||
COLON@[114; 115)
|
COLON@[114; 115)
|
||||||
WHITESPACE@[115; 116)
|
PATH_TYPE@[115; 119)
|
||||||
IDENT@[116; 119) "u32"
|
PATH@[115; 119)
|
||||||
|
PATH_SEGMENT@[115; 119)
|
||||||
|
NAME_REF@[115; 119)
|
||||||
|
WHITESPACE@[115; 116)
|
||||||
|
IDENT@[116; 119) "u32"
|
||||||
COMMA@[119; 120)
|
COMMA@[119; 120)
|
||||||
NAMED_FIELD@[120; 139)
|
NAMED_FIELD@[120; 139)
|
||||||
VISIBILITY@[120; 133)
|
VISIBILITY@[120; 133)
|
||||||
|
@ -92,8 +96,12 @@ FILE@[0; 182)
|
||||||
NAME@[133; 134)
|
NAME@[133; 134)
|
||||||
IDENT@[133; 134) "b"
|
IDENT@[133; 134) "b"
|
||||||
COLON@[134; 135)
|
COLON@[134; 135)
|
||||||
WHITESPACE@[135; 136)
|
PATH_TYPE@[135; 139)
|
||||||
IDENT@[136; 139) "f64"
|
PATH@[135; 139)
|
||||||
|
PATH_SEGMENT@[135; 139)
|
||||||
|
NAME_REF@[135; 139)
|
||||||
|
WHITESPACE@[135; 136)
|
||||||
|
IDENT@[136; 139) "f64"
|
||||||
COMMA@[139; 140)
|
COMMA@[139; 140)
|
||||||
WHITESPACE@[140; 145)
|
WHITESPACE@[140; 145)
|
||||||
R_CURLY@[145; 146)
|
R_CURLY@[145; 146)
|
||||||
|
@ -110,7 +118,11 @@ FILE@[0; 182)
|
||||||
IDENT@[162; 163) "D"
|
IDENT@[162; 163) "D"
|
||||||
L_PAREN@[163; 164)
|
L_PAREN@[163; 164)
|
||||||
POS_FIELD@[164; 167)
|
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)
|
COMMA@[167; 168)
|
||||||
R_PAREN@[168; 169)
|
R_PAREN@[168; 169)
|
||||||
COMMA@[169; 170)
|
COMMA@[169; 170)
|
||||||
|
|
|
@ -5,9 +5,13 @@ FILE@[0; 47)
|
||||||
WHITESPACE@[6; 7)
|
WHITESPACE@[6; 7)
|
||||||
IDENT@[7; 10) "FOO"
|
IDENT@[7; 10) "FOO"
|
||||||
COLON@[10; 11)
|
COLON@[10; 11)
|
||||||
WHITESPACE@[11; 12)
|
PATH_TYPE@[11; 16)
|
||||||
IDENT@[12; 15) "u32"
|
PATH@[11; 16)
|
||||||
WHITESPACE@[15; 16)
|
PATH_SEGMENT@[11; 16)
|
||||||
|
NAME_REF@[11; 16)
|
||||||
|
WHITESPACE@[11; 12)
|
||||||
|
IDENT@[12; 15) "u32"
|
||||||
|
WHITESPACE@[15; 16)
|
||||||
EQ@[16; 17)
|
EQ@[16; 17)
|
||||||
LITERAL@[17; 19)
|
LITERAL@[17; 19)
|
||||||
WHITESPACE@[17; 18)
|
WHITESPACE@[17; 18)
|
||||||
|
@ -22,9 +26,13 @@ FILE@[0; 47)
|
||||||
WHITESPACE@[31; 32)
|
WHITESPACE@[31; 32)
|
||||||
IDENT@[32; 35) "BAR"
|
IDENT@[32; 35) "BAR"
|
||||||
COLON@[35; 36)
|
COLON@[35; 36)
|
||||||
WHITESPACE@[36; 37)
|
PATH_TYPE@[36; 41)
|
||||||
IDENT@[37; 40) "i32"
|
PATH@[36; 41)
|
||||||
WHITESPACE@[40; 41)
|
PATH_SEGMENT@[36; 41)
|
||||||
|
NAME_REF@[36; 41)
|
||||||
|
WHITESPACE@[36; 37)
|
||||||
|
IDENT@[37; 40) "i32"
|
||||||
|
WHITESPACE@[40; 41)
|
||||||
EQ@[41; 42)
|
EQ@[41; 42)
|
||||||
LITERAL@[42; 45)
|
LITERAL@[42; 45)
|
||||||
WHITESPACE@[42; 43)
|
WHITESPACE@[42; 43)
|
||||||
|
|
|
@ -5,9 +5,13 @@ FILE@[0; 46)
|
||||||
WHITESPACE@[5; 6)
|
WHITESPACE@[5; 6)
|
||||||
IDENT@[6; 9) "FOO"
|
IDENT@[6; 9) "FOO"
|
||||||
COLON@[9; 10)
|
COLON@[9; 10)
|
||||||
WHITESPACE@[10; 11)
|
PATH_TYPE@[10; 15)
|
||||||
IDENT@[11; 14) "u32"
|
PATH@[10; 15)
|
||||||
WHITESPACE@[14; 15)
|
PATH_SEGMENT@[10; 15)
|
||||||
|
NAME_REF@[10; 15)
|
||||||
|
WHITESPACE@[10; 11)
|
||||||
|
IDENT@[11; 14) "u32"
|
||||||
|
WHITESPACE@[14; 15)
|
||||||
EQ@[15; 16)
|
EQ@[15; 16)
|
||||||
LITERAL@[16; 19)
|
LITERAL@[16; 19)
|
||||||
WHITESPACE@[16; 17)
|
WHITESPACE@[16; 17)
|
||||||
|
@ -22,9 +26,13 @@ FILE@[0; 46)
|
||||||
WHITESPACE@[30; 31)
|
WHITESPACE@[30; 31)
|
||||||
IDENT@[31; 34) "BAR"
|
IDENT@[31; 34) "BAR"
|
||||||
COLON@[34; 35)
|
COLON@[34; 35)
|
||||||
WHITESPACE@[35; 36)
|
PATH_TYPE@[35; 40)
|
||||||
IDENT@[36; 39) "u32"
|
PATH@[35; 40)
|
||||||
WHITESPACE@[39; 40)
|
PATH_SEGMENT@[35; 40)
|
||||||
|
NAME_REF@[35; 40)
|
||||||
|
WHITESPACE@[35; 36)
|
||||||
|
IDENT@[36; 39) "u32"
|
||||||
|
WHITESPACE@[39; 40)
|
||||||
EQ@[40; 41)
|
EQ@[40; 41)
|
||||||
LITERAL@[41; 44)
|
LITERAL@[41; 44)
|
||||||
WHITESPACE@[41; 42)
|
WHITESPACE@[41; 42)
|
||||||
|
|
Loading…
Reference in a new issue