mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-26 04:53:34 +00:00
nodes for blocks
This commit is contained in:
parent
4d29300396
commit
7edab6ae6b
122 changed files with 1743 additions and 1535 deletions
|
@ -93,7 +93,7 @@ fn structure_node(node: SyntaxNodeRef) -> Option<StructureNode> {
|
|||
visitor()
|
||||
.visit(decl::<ast::FnDef>)
|
||||
.visit(decl::<ast::StructDef>)
|
||||
.visit(decl::<ast::NamedField>)
|
||||
.visit(decl::<ast::NamedFieldDef>)
|
||||
.visit(decl::<ast::EnumDef>)
|
||||
.visit(decl::<ast::TraitDef>)
|
||||
.visit(decl::<ast::Module>)
|
||||
|
|
|
@ -104,7 +104,7 @@ impl fmt::Debug for E {}
|
|||
let symbols = file_structure(&file);
|
||||
assert_eq_dbg(
|
||||
r#"[StructureNode { parent: None, label: "Foo", navigation_range: [8; 11), node_range: [1; 26), kind: STRUCT_DEF },
|
||||
StructureNode { parent: Some(0), label: "x", navigation_range: [18; 19), node_range: [18; 24), kind: NAMED_FIELD },
|
||||
StructureNode { parent: Some(0), label: "x", navigation_range: [18; 19), node_range: [18; 24), kind: NAMED_FIELD_DEF },
|
||||
StructureNode { parent: None, label: "m", navigation_range: [32; 33), node_range: [28; 53), kind: MODULE },
|
||||
StructureNode { parent: Some(2), label: "bar", navigation_range: [43; 46), node_range: [40; 51), kind: FN_DEF },
|
||||
StructureNode { parent: None, label: "E", navigation_range: [60; 61), node_range: [55; 75), kind: ENUM_DEF },
|
||||
|
|
|
@ -283,25 +283,25 @@ impl<'a> AstNode<'a> for NameRef<'a> {
|
|||
|
||||
impl<'a> NameRef<'a> {}
|
||||
|
||||
// NamedField
|
||||
// NamedFieldDef
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
pub struct NamedField<'a> {
|
||||
pub struct NamedFieldDef<'a> {
|
||||
syntax: SyntaxNodeRef<'a>,
|
||||
}
|
||||
|
||||
impl<'a> AstNode<'a> for NamedField<'a> {
|
||||
impl<'a> AstNode<'a> for NamedFieldDef<'a> {
|
||||
fn cast(syntax: SyntaxNodeRef<'a>) -> Option<Self> {
|
||||
match syntax.kind() {
|
||||
NAMED_FIELD => Some(NamedField { syntax }),
|
||||
NAMED_FIELD_DEF => Some(NamedFieldDef { syntax }),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
fn syntax(self) -> SyntaxNodeRef<'a> { self.syntax }
|
||||
}
|
||||
|
||||
impl<'a> ast::NameOwner<'a> for NamedField<'a> {}
|
||||
impl<'a> ast::AttrsOwner<'a> for NamedField<'a> {}
|
||||
impl<'a> NamedField<'a> {}
|
||||
impl<'a> ast::NameOwner<'a> for NamedFieldDef<'a> {}
|
||||
impl<'a> ast::AttrsOwner<'a> for NamedFieldDef<'a> {}
|
||||
impl<'a> NamedFieldDef<'a> {}
|
||||
|
||||
// NeverType
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
|
@ -498,7 +498,7 @@ impl<'a> ast::NameOwner<'a> for StructDef<'a> {}
|
|||
impl<'a> ast::TypeParamsOwner<'a> for StructDef<'a> {}
|
||||
impl<'a> ast::AttrsOwner<'a> for StructDef<'a> {}
|
||||
impl<'a> StructDef<'a> {
|
||||
pub fn fields(self) -> impl Iterator<Item = NamedField<'a>> + 'a {
|
||||
pub fn fields(self) -> impl Iterator<Item = NamedFieldDef<'a>> + 'a {
|
||||
super::children(self)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -149,6 +149,7 @@ Grammar(
|
|||
"PLACEHOLDER_PAT",
|
||||
"PATH_PAT",
|
||||
"STRUCT_PAT",
|
||||
"FIELD_PAT_LIST",
|
||||
"TUPLE_STRUCT_PAT",
|
||||
"TUPLE_PAT",
|
||||
"SLICE_PAT",
|
||||
|
@ -170,10 +171,12 @@ Grammar(
|
|||
"BLOCK_EXPR",
|
||||
"RETURN_EXPR",
|
||||
"MATCH_EXPR",
|
||||
"MATCH_ARM_LIST",
|
||||
"MATCH_ARM",
|
||||
"MATCH_GUARD",
|
||||
"STRUCT_LIT",
|
||||
"STRUCT_LIT_FIELD",
|
||||
"NAMED_FIELD_LIST",
|
||||
"NAMED_FIELD",
|
||||
|
||||
// postfix
|
||||
"CALL_EXPR",
|
||||
|
@ -190,14 +193,20 @@ Grammar(
|
|||
"RANGE_EXPR", // just weird
|
||||
"BIN_EXPR",
|
||||
|
||||
|
||||
"EXTERN_BLOCK_EXPR",
|
||||
"BLOCK",
|
||||
"EXTERN_BLOCK",
|
||||
"EXTERN_ITEM_LIST",
|
||||
"ENUM_VARIANT",
|
||||
"NAMED_FIELD",
|
||||
"NAMED_FIELD_DEF_LIST",
|
||||
"NAMED_FIELD_DEF",
|
||||
"POS_FIELD_LIST",
|
||||
"POS_FIELD",
|
||||
"ENUM_VARIANT_LIST",
|
||||
"ITEM_LIST",
|
||||
"ATTR",
|
||||
"META_ITEM", // not an item actually
|
||||
"USE_TREE",
|
||||
"USE_TREE_LIST",
|
||||
"PATH",
|
||||
"PATH_SEGMENT",
|
||||
"LITERAL",
|
||||
|
@ -244,10 +253,10 @@ Grammar(
|
|||
"AttrsOwner",
|
||||
],
|
||||
collections: [
|
||||
["fields", "NamedField"]
|
||||
["fields", "NamedFieldDef"]
|
||||
]
|
||||
),
|
||||
"NamedField": ( traits: ["NameOwner", "AttrsOwner"] ),
|
||||
"NamedFieldDef": ( traits: ["NameOwner", "AttrsOwner"] ),
|
||||
"EnumDef": ( traits: [
|
||||
"NameOwner",
|
||||
"TypeParamsOwner",
|
||||
|
|
|
@ -148,7 +148,11 @@ fn lambda_expr(p: &mut Parser) -> CompletedMarker {
|
|||
p.eat(MOVE_KW);
|
||||
params::param_list_opt_types(p);
|
||||
if opt_fn_ret_type(p) {
|
||||
block(p);
|
||||
if p.at(L_CURLY) {
|
||||
block(p);
|
||||
} else {
|
||||
p.error("expected a block");
|
||||
}
|
||||
} else {
|
||||
expr(p);
|
||||
}
|
||||
|
@ -254,6 +258,17 @@ fn match_expr(p: &mut Parser) -> CompletedMarker {
|
|||
let m = p.start();
|
||||
p.bump();
|
||||
expr_no_struct(p);
|
||||
if p.at(L_CURLY) {
|
||||
match_arm_list(p);
|
||||
} else {
|
||||
p.error("expected `{`")
|
||||
}
|
||||
m.complete(p, MATCH_EXPR)
|
||||
}
|
||||
|
||||
fn match_arm_list(p: &mut Parser) {
|
||||
assert!(p.at(L_CURLY));
|
||||
let m = p.start();
|
||||
p.eat(L_CURLY);
|
||||
while !p.at(EOF) && !p.at(R_CURLY) {
|
||||
// test match_arms_commas
|
||||
|
@ -271,7 +286,7 @@ fn match_expr(p: &mut Parser) -> CompletedMarker {
|
|||
}
|
||||
}
|
||||
p.expect(R_CURLY);
|
||||
m.complete(p, MATCH_EXPR)
|
||||
m.complete(p, MATCH_ARM_LIST);
|
||||
}
|
||||
|
||||
// test match_arm
|
||||
|
@ -307,62 +322,10 @@ pub(super) fn block_expr(p: &mut Parser) -> CompletedMarker {
|
|||
assert!(p.at(L_CURLY) || p.at(UNSAFE_KW) && p.nth(1) == L_CURLY);
|
||||
let m = p.start();
|
||||
p.eat(UNSAFE_KW);
|
||||
p.bump();
|
||||
while !p.at(EOF) && !p.at(R_CURLY) {
|
||||
match p.current() {
|
||||
LET_KW => let_stmt(p),
|
||||
_ => {
|
||||
// test block_items
|
||||
// fn a() { fn b() {} }
|
||||
let m = p.start();
|
||||
match items::maybe_item(p, items::ItemFlavor::Mod) {
|
||||
items::MaybeItem::Item(kind) => {
|
||||
m.complete(p, kind);
|
||||
}
|
||||
items::MaybeItem::Modifiers => {
|
||||
m.abandon(p);
|
||||
p.error("expected an item");
|
||||
}
|
||||
// test pub_expr
|
||||
// fn foo() { pub 92; } //FIXME
|
||||
items::MaybeItem::None => {
|
||||
let is_blocklike = expressions::expr_stmt(p) == BlockLike::Block;
|
||||
if p.eat(SEMI) || (is_blocklike && !p.at(R_CURLY)) {
|
||||
m.complete(p, EXPR_STMT);
|
||||
} else {
|
||||
m.abandon(p);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
p.expect(R_CURLY);
|
||||
block(p);
|
||||
m.complete(p, BLOCK_EXPR)
|
||||
}
|
||||
|
||||
// test let_stmt;
|
||||
// fn foo() {
|
||||
// let a;
|
||||
// let b: i32;
|
||||
// let c = 92;
|
||||
// let d: i32 = 92;
|
||||
// }
|
||||
fn let_stmt(p: &mut Parser) {
|
||||
assert!(p.at(LET_KW));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
patterns::pattern(p);
|
||||
if p.at(COLON) {
|
||||
types::ascription(p);
|
||||
}
|
||||
if p.eat(EQ) {
|
||||
expressions::expr(p);
|
||||
}
|
||||
p.expect(SEMI);
|
||||
m.complete(p, LET_STMT);
|
||||
}
|
||||
|
||||
// test return_expr
|
||||
// fn foo() {
|
||||
// return;
|
||||
|
|
|
@ -26,11 +26,62 @@ fn expr_no_struct(p: &mut Parser) {
|
|||
// fn c() { 1; 2; }
|
||||
// fn d() { 1; 2 }
|
||||
pub(super) fn block(p: &mut Parser) {
|
||||
if !p.at(L_CURLY) {
|
||||
p.error("expected block");
|
||||
return;
|
||||
assert!(p.at(L_CURLY));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
while !p.at(EOF) && !p.at(R_CURLY) {
|
||||
match p.current() {
|
||||
LET_KW => let_stmt(p),
|
||||
_ => {
|
||||
// test block_items
|
||||
// fn a() { fn b() {} }
|
||||
let m = p.start();
|
||||
match items::maybe_item(p, items::ItemFlavor::Mod) {
|
||||
items::MaybeItem::Item(kind) => {
|
||||
m.complete(p, kind);
|
||||
}
|
||||
items::MaybeItem::Modifiers => {
|
||||
m.abandon(p);
|
||||
p.error("expected an item");
|
||||
}
|
||||
// test pub_expr
|
||||
// fn foo() { pub 92; } //FIXME
|
||||
items::MaybeItem::None => {
|
||||
let is_blocklike = expressions::expr_stmt(p) == BlockLike::Block;
|
||||
if p.eat(SEMI) || (is_blocklike && !p.at(R_CURLY)) {
|
||||
m.complete(p, EXPR_STMT);
|
||||
} else {
|
||||
m.abandon(p);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
p.expect(R_CURLY);
|
||||
m.complete(p, BLOCK);
|
||||
|
||||
// test let_stmt;
|
||||
// fn foo() {
|
||||
// let a;
|
||||
// let b: i32;
|
||||
// let c = 92;
|
||||
// let d: i32 = 92;
|
||||
// }
|
||||
fn let_stmt(p: &mut Parser) {
|
||||
assert!(p.at(LET_KW));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
patterns::pattern(p);
|
||||
if p.at(COLON) {
|
||||
types::ascription(p);
|
||||
}
|
||||
if p.eat(EQ) {
|
||||
expressions::expr(p);
|
||||
}
|
||||
p.expect(SEMI);
|
||||
m.complete(p, LET_STMT);
|
||||
}
|
||||
atom::block_expr(p);
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy)]
|
||||
|
@ -339,7 +390,7 @@ fn path_expr(p: &mut Parser, r: Restrictions) -> CompletedMarker {
|
|||
paths::expr_path(p);
|
||||
match p.current() {
|
||||
L_CURLY if !r.forbid_structs => {
|
||||
struct_lit(p);
|
||||
named_field_list(p);
|
||||
m.complete(p, STRUCT_LIT)
|
||||
}
|
||||
EXCL => {
|
||||
|
@ -356,8 +407,9 @@ fn path_expr(p: &mut Parser, r: Restrictions) -> CompletedMarker {
|
|||
// S { x, y: 32, };
|
||||
// S { x, y: 32, ..Default::default() };
|
||||
// }
|
||||
fn struct_lit(p: &mut Parser) {
|
||||
fn named_field_list(p: &mut Parser) {
|
||||
assert!(p.at(L_CURLY));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
while !p.at(EOF) && !p.at(R_CURLY) {
|
||||
match p.current() {
|
||||
|
@ -367,7 +419,7 @@ fn struct_lit(p: &mut Parser) {
|
|||
if p.eat(COLON) {
|
||||
expr(p);
|
||||
}
|
||||
m.complete(p, STRUCT_LIT_FIELD);
|
||||
m.complete(p, NAMED_FIELD);
|
||||
}
|
||||
DOTDOT => {
|
||||
p.bump();
|
||||
|
@ -380,4 +432,5 @@ fn struct_lit(p: &mut Parser) {
|
|||
}
|
||||
}
|
||||
p.expect(R_CURLY);
|
||||
m.complete(p, NAMED_FIELD_LIST);
|
||||
}
|
||||
|
|
|
@ -194,8 +194,8 @@ fn items_without_modifiers(p: &mut Parser) -> Option<SyntaxKind> {
|
|||
// extern {}
|
||||
EXTERN_KW if la == L_CURLY || ((la == STRING || la == RAW_STRING) && p.nth(2) == L_CURLY) => {
|
||||
abi(p);
|
||||
extern_block(p);
|
||||
EXTERN_BLOCK_EXPR
|
||||
extern_item_list(p);
|
||||
EXTERN_BLOCK
|
||||
}
|
||||
_ => return None,
|
||||
};
|
||||
|
@ -212,10 +212,12 @@ fn extern_crate_item(p: &mut Parser) {
|
|||
p.expect(SEMI);
|
||||
}
|
||||
|
||||
fn extern_block(p: &mut Parser) {
|
||||
fn extern_item_list(p: &mut Parser) {
|
||||
assert!(p.at(L_CURLY));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
p.expect(R_CURLY);
|
||||
m.complete(p, EXTERN_ITEM_LIST);
|
||||
}
|
||||
|
||||
fn function(p: &mut Parser, flavor: ItemFlavor) {
|
||||
|
@ -284,14 +286,22 @@ fn mod_item(p: &mut Parser) {
|
|||
p.bump();
|
||||
|
||||
name(p);
|
||||
if !p.eat(SEMI) {
|
||||
if p.expect(L_CURLY) {
|
||||
mod_contents(p, true);
|
||||
p.expect(R_CURLY);
|
||||
}
|
||||
if p.at(L_CURLY) {
|
||||
mod_item_list(p);
|
||||
} else if !p.eat(SEMI) {
|
||||
p.error("expected `;` or `{`");
|
||||
}
|
||||
}
|
||||
|
||||
fn mod_item_list(p: &mut Parser) {
|
||||
assert!(p.at(L_CURLY));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
mod_contents(p, true);
|
||||
p.expect(R_CURLY);
|
||||
m.complete(p, ITEM_LIST);
|
||||
}
|
||||
|
||||
fn macro_call(p: &mut Parser) -> BlockLike {
|
||||
assert!(paths::is_path_start(p));
|
||||
paths::use_path(p);
|
||||
|
|
|
@ -14,7 +14,7 @@ pub(super) fn struct_def(p: &mut Parser) {
|
|||
p.bump();
|
||||
return;
|
||||
}
|
||||
L_CURLY => named_fields(p),
|
||||
L_CURLY => named_field_def_list(p),
|
||||
_ => {
|
||||
//TODO: special case `(` error message
|
||||
p.error("expected `;` or `{`");
|
||||
|
@ -26,9 +26,9 @@ pub(super) fn struct_def(p: &mut Parser) {
|
|||
p.bump();
|
||||
return;
|
||||
}
|
||||
L_CURLY => named_fields(p),
|
||||
L_CURLY => named_field_def_list(p),
|
||||
L_PAREN => {
|
||||
pos_fields(p);
|
||||
pos_field_list(p);
|
||||
p.expect(SEMI);
|
||||
}
|
||||
_ => {
|
||||
|
@ -44,46 +44,58 @@ pub(super) fn enum_def(p: &mut Parser) {
|
|||
name(p);
|
||||
type_params::opt_type_param_list(p);
|
||||
type_params::opt_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) {
|
||||
name(p);
|
||||
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);
|
||||
if p.at(L_CURLY) {
|
||||
enum_variant_list(p);
|
||||
} else {
|
||||
p.error("expected `{`")
|
||||
}
|
||||
}
|
||||
|
||||
fn named_fields(p: &mut Parser) {
|
||||
fn enum_variant_list(p: &mut Parser) {
|
||||
assert!(p.at(L_CURLY));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
while !p.at(R_CURLY) && !p.at(EOF) {
|
||||
named_field(p);
|
||||
while !p.at(EOF) && !p.at(R_CURLY) {
|
||||
let var = p.start();
|
||||
attributes::outer_attributes(p);
|
||||
if p.at(IDENT) {
|
||||
name(p);
|
||||
match p.current() {
|
||||
L_CURLY => named_field_def_list(p),
|
||||
L_PAREN => pos_field_list(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);
|
||||
m.complete(p, ENUM_VARIANT_LIST);
|
||||
}
|
||||
|
||||
fn named_field(p: &mut Parser) {
|
||||
fn named_field_def_list(p: &mut Parser) {
|
||||
assert!(p.at(L_CURLY));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
while !p.at(R_CURLY) && !p.at(EOF) {
|
||||
named_field_def(p);
|
||||
if !p.at(R_CURLY) {
|
||||
p.expect(COMMA);
|
||||
}
|
||||
}
|
||||
p.expect(R_CURLY);
|
||||
m.complete(p, NAMED_FIELD_DEF_LIST);
|
||||
|
||||
fn named_field_def(p: &mut Parser) {
|
||||
let m = p.start();
|
||||
// test field_attrs
|
||||
// struct S {
|
||||
|
@ -96,7 +108,7 @@ fn named_fields(p: &mut Parser) {
|
|||
name(p);
|
||||
p.expect(COLON);
|
||||
types::type_(p);
|
||||
m.complete(p, NAMED_FIELD);
|
||||
m.complete(p, NAMED_FIELD_DEF);
|
||||
} else {
|
||||
m.abandon(p);
|
||||
p.err_and_bump("expected field declaration");
|
||||
|
@ -104,7 +116,9 @@ fn named_fields(p: &mut Parser) {
|
|||
}
|
||||
}
|
||||
|
||||
fn pos_fields(p: &mut Parser) {
|
||||
fn pos_field_list(p: &mut Parser) {
|
||||
assert!(p.at(L_PAREN));
|
||||
let m = p.start();
|
||||
if !p.expect(L_PAREN) {
|
||||
return;
|
||||
}
|
||||
|
@ -119,4 +133,5 @@ fn pos_fields(p: &mut Parser) {
|
|||
}
|
||||
}
|
||||
p.expect(R_PAREN);
|
||||
m.complete(p, POS_FIELD_LIST);
|
||||
}
|
||||
|
|
|
@ -11,18 +11,29 @@ pub(super) fn trait_def(p: &mut Parser) {
|
|||
type_params::bounds(p);
|
||||
}
|
||||
type_params::opt_where_clause(p);
|
||||
p.expect(L_CURLY);
|
||||
// test trait_item_items
|
||||
// impl F {
|
||||
// type A: Clone;
|
||||
// const B: i32;
|
||||
// fn foo() {}
|
||||
// fn bar(&self);
|
||||
// }
|
||||
if p.at(L_CURLY) {
|
||||
trait_item_list(p);
|
||||
} else {
|
||||
p.error("expected `{`");
|
||||
}
|
||||
}
|
||||
|
||||
// test trait_item_list
|
||||
// impl F {
|
||||
// type A: Clone;
|
||||
// const B: i32;
|
||||
// fn foo() {}
|
||||
// fn bar(&self);
|
||||
// }
|
||||
fn trait_item_list(p: &mut Parser) {
|
||||
assert!(p.at(L_CURLY));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
while !p.at(EOF) && !p.at(R_CURLY) {
|
||||
item_or_macro(p, true, ItemFlavor::Trait);
|
||||
}
|
||||
p.expect(R_CURLY);
|
||||
m.complete(p, ITEM_LIST);
|
||||
}
|
||||
|
||||
// test impl_item
|
||||
|
@ -45,19 +56,30 @@ pub(super) fn impl_item(p: &mut Parser) {
|
|||
types::type_(p);
|
||||
}
|
||||
type_params::opt_where_clause(p);
|
||||
p.expect(L_CURLY);
|
||||
if p.at(L_CURLY) {
|
||||
impl_item_list(p);
|
||||
} else {
|
||||
p.error("expected `{`");
|
||||
}
|
||||
}
|
||||
|
||||
// test impl_item_list
|
||||
// impl F {
|
||||
// type A = i32;
|
||||
// const B: i32 = 92;
|
||||
// fn foo() {}
|
||||
// fn bar(&self) {}
|
||||
// }
|
||||
fn impl_item_list(p: &mut Parser) {
|
||||
assert!(p.at(L_CURLY));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
|
||||
// test impl_item_items
|
||||
// impl F {
|
||||
// type A = i32;
|
||||
// const B: i32 = 92;
|
||||
// fn foo() {}
|
||||
// fn bar(&self) {}
|
||||
// }
|
||||
while !p.at(EOF) && !p.at(R_CURLY) {
|
||||
item_or_macro(p, true, ItemFlavor::Mod);
|
||||
}
|
||||
p.expect(R_CURLY);
|
||||
m.complete(p, ITEM_LIST);
|
||||
}
|
||||
|
||||
fn choose_type_params_over_qpath(p: &Parser) -> bool {
|
||||
|
|
|
@ -20,7 +20,7 @@ fn use_tree(p: &mut Parser) {
|
|||
if p.at(COLONCOLON) {
|
||||
p.bump();
|
||||
}
|
||||
nested_trees(p);
|
||||
use_tree_list(p);
|
||||
}
|
||||
_ if paths::is_path_start(p) => {
|
||||
paths::use_path(p);
|
||||
|
@ -34,7 +34,7 @@ fn use_tree(p: &mut Parser) {
|
|||
STAR => {
|
||||
p.bump();
|
||||
}
|
||||
L_CURLY => nested_trees(p),
|
||||
L_CURLY => use_tree_list(p),
|
||||
_ => {
|
||||
// is this unreachable?
|
||||
p.error("expected `{` or `*`");
|
||||
|
@ -53,8 +53,9 @@ fn use_tree(p: &mut Parser) {
|
|||
m.complete(p, USE_TREE);
|
||||
}
|
||||
|
||||
fn nested_trees(p: &mut Parser) {
|
||||
fn use_tree_list(p: &mut Parser) {
|
||||
assert!(p.at(L_CURLY));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
while !p.at(EOF) && !p.at(R_CURLY) {
|
||||
use_tree(p);
|
||||
|
@ -63,4 +64,5 @@ fn nested_trees(p: &mut Parser) {
|
|||
}
|
||||
}
|
||||
p.expect(R_CURLY);
|
||||
m.complete(p, USE_TREE_LIST);
|
||||
}
|
||||
|
|
|
@ -144,18 +144,21 @@ fn name_ref(p: &mut Parser) {
|
|||
}
|
||||
|
||||
fn error_block(p: &mut Parser, message: &str) {
|
||||
assert!(p.at(L_CURLY));
|
||||
let err = p.start();
|
||||
p.error(message);
|
||||
p.bump();
|
||||
let mut level: u32 = 1;
|
||||
while level > 0 && !p.at(EOF) {
|
||||
match p.current() {
|
||||
L_CURLY => level += 1,
|
||||
R_CURLY => level -= 1,
|
||||
_ => (),
|
||||
go(p, Some(message));
|
||||
fn go(p: &mut Parser, message: Option<&str>) {
|
||||
assert!(p.at(L_CURLY));
|
||||
let m = p.start();
|
||||
if let Some(message) = message {
|
||||
p.error(message);
|
||||
}
|
||||
p.bump();
|
||||
while !p.at(EOF) && !p.at(R_CURLY) {
|
||||
match p.current() {
|
||||
L_CURLY => go(p, None),
|
||||
_ => p.bump(),
|
||||
}
|
||||
}
|
||||
p.eat(R_CURLY);
|
||||
m.complete(p, ERROR);
|
||||
}
|
||||
err.complete(p, ERROR);
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@ fn path_pat(p: &mut Parser) -> CompletedMarker {
|
|||
TUPLE_STRUCT_PAT
|
||||
}
|
||||
L_CURLY => {
|
||||
struct_pat_fields(p);
|
||||
field_pat_list(p);
|
||||
STRUCT_PAT
|
||||
}
|
||||
_ => PATH_PAT
|
||||
|
@ -99,15 +99,16 @@ fn tuple_pat_fields(p: &mut Parser) {
|
|||
p.expect(R_PAREN);
|
||||
}
|
||||
|
||||
// test struct_pat_fields
|
||||
// test field_pat_list
|
||||
// fn foo() {
|
||||
// let S {} = ();
|
||||
// let S { f, ref mut g } = ();
|
||||
// let S { h: _, ..} = ();
|
||||
// let S { h: _, } = ();
|
||||
// }
|
||||
fn struct_pat_fields(p: &mut Parser) {
|
||||
fn field_pat_list(p: &mut Parser) {
|
||||
assert!(p.at(L_CURLY));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
while !p.at(EOF) && !p.at(R_CURLY) {
|
||||
match p.current() {
|
||||
|
@ -126,6 +127,7 @@ fn struct_pat_fields(p: &mut Parser) {
|
|||
}
|
||||
}
|
||||
p.expect(R_CURLY);
|
||||
m.complete(p, FIELD_PAT_LIST);
|
||||
}
|
||||
|
||||
// test placeholder_pat
|
||||
|
|
|
@ -53,5 +53,31 @@ pub use {
|
|||
|
||||
pub fn parse(text: &str) -> SyntaxNode {
|
||||
let tokens = tokenize(&text);
|
||||
parser_impl::parse::<yellow::GreenBuilder>(text, &tokens)
|
||||
let res = parser_impl::parse::<yellow::GreenBuilder>(text, &tokens);
|
||||
validate_block_structure(res.borrowed());
|
||||
res
|
||||
}
|
||||
|
||||
fn validate_block_structure(root: SyntaxNodeRef) {
|
||||
let mut stack = Vec::new();
|
||||
for node in algo::walk::preorder(root) {
|
||||
match node.kind() {
|
||||
SyntaxKind::L_CURLY => {
|
||||
stack.push(node)
|
||||
}
|
||||
SyntaxKind::R_CURLY => {
|
||||
if let Some(pair) = stack.pop() {
|
||||
assert_eq!(node.parent(), pair.parent());
|
||||
assert!(
|
||||
node.next_sibling().is_none() && pair.prev_sibling().is_none(),
|
||||
"floating curlys at {:?}\nfile:\n{}\nerror:\n{}\n",
|
||||
node,
|
||||
root.text(),
|
||||
node.text(),
|
||||
);
|
||||
}
|
||||
}
|
||||
_ => (),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -147,6 +147,7 @@ pub enum SyntaxKind {
|
|||
PLACEHOLDER_PAT,
|
||||
PATH_PAT,
|
||||
STRUCT_PAT,
|
||||
FIELD_PAT_LIST,
|
||||
TUPLE_STRUCT_PAT,
|
||||
TUPLE_PAT,
|
||||
SLICE_PAT,
|
||||
|
@ -166,10 +167,12 @@ pub enum SyntaxKind {
|
|||
BLOCK_EXPR,
|
||||
RETURN_EXPR,
|
||||
MATCH_EXPR,
|
||||
MATCH_ARM_LIST,
|
||||
MATCH_ARM,
|
||||
MATCH_GUARD,
|
||||
STRUCT_LIT,
|
||||
STRUCT_LIT_FIELD,
|
||||
NAMED_FIELD_LIST,
|
||||
NAMED_FIELD,
|
||||
CALL_EXPR,
|
||||
INDEX_EXPR,
|
||||
METHOD_CALL_EXPR,
|
||||
|
@ -180,13 +183,20 @@ pub enum SyntaxKind {
|
|||
PREFIX_EXPR,
|
||||
RANGE_EXPR,
|
||||
BIN_EXPR,
|
||||
EXTERN_BLOCK_EXPR,
|
||||
BLOCK,
|
||||
EXTERN_BLOCK,
|
||||
EXTERN_ITEM_LIST,
|
||||
ENUM_VARIANT,
|
||||
NAMED_FIELD,
|
||||
NAMED_FIELD_DEF_LIST,
|
||||
NAMED_FIELD_DEF,
|
||||
POS_FIELD_LIST,
|
||||
POS_FIELD,
|
||||
ENUM_VARIANT_LIST,
|
||||
ITEM_LIST,
|
||||
ATTR,
|
||||
META_ITEM,
|
||||
USE_TREE,
|
||||
USE_TREE_LIST,
|
||||
PATH,
|
||||
PATH_SEGMENT,
|
||||
LITERAL,
|
||||
|
@ -397,6 +407,7 @@ impl SyntaxKind {
|
|||
PLACEHOLDER_PAT => &SyntaxInfo { name: "PLACEHOLDER_PAT" },
|
||||
PATH_PAT => &SyntaxInfo { name: "PATH_PAT" },
|
||||
STRUCT_PAT => &SyntaxInfo { name: "STRUCT_PAT" },
|
||||
FIELD_PAT_LIST => &SyntaxInfo { name: "FIELD_PAT_LIST" },
|
||||
TUPLE_STRUCT_PAT => &SyntaxInfo { name: "TUPLE_STRUCT_PAT" },
|
||||
TUPLE_PAT => &SyntaxInfo { name: "TUPLE_PAT" },
|
||||
SLICE_PAT => &SyntaxInfo { name: "SLICE_PAT" },
|
||||
|
@ -416,10 +427,12 @@ impl SyntaxKind {
|
|||
BLOCK_EXPR => &SyntaxInfo { name: "BLOCK_EXPR" },
|
||||
RETURN_EXPR => &SyntaxInfo { name: "RETURN_EXPR" },
|
||||
MATCH_EXPR => &SyntaxInfo { name: "MATCH_EXPR" },
|
||||
MATCH_ARM_LIST => &SyntaxInfo { name: "MATCH_ARM_LIST" },
|
||||
MATCH_ARM => &SyntaxInfo { name: "MATCH_ARM" },
|
||||
MATCH_GUARD => &SyntaxInfo { name: "MATCH_GUARD" },
|
||||
STRUCT_LIT => &SyntaxInfo { name: "STRUCT_LIT" },
|
||||
STRUCT_LIT_FIELD => &SyntaxInfo { name: "STRUCT_LIT_FIELD" },
|
||||
NAMED_FIELD_LIST => &SyntaxInfo { name: "NAMED_FIELD_LIST" },
|
||||
NAMED_FIELD => &SyntaxInfo { name: "NAMED_FIELD" },
|
||||
CALL_EXPR => &SyntaxInfo { name: "CALL_EXPR" },
|
||||
INDEX_EXPR => &SyntaxInfo { name: "INDEX_EXPR" },
|
||||
METHOD_CALL_EXPR => &SyntaxInfo { name: "METHOD_CALL_EXPR" },
|
||||
|
@ -430,13 +443,20 @@ impl SyntaxKind {
|
|||
PREFIX_EXPR => &SyntaxInfo { name: "PREFIX_EXPR" },
|
||||
RANGE_EXPR => &SyntaxInfo { name: "RANGE_EXPR" },
|
||||
BIN_EXPR => &SyntaxInfo { name: "BIN_EXPR" },
|
||||
EXTERN_BLOCK_EXPR => &SyntaxInfo { name: "EXTERN_BLOCK_EXPR" },
|
||||
BLOCK => &SyntaxInfo { name: "BLOCK" },
|
||||
EXTERN_BLOCK => &SyntaxInfo { name: "EXTERN_BLOCK" },
|
||||
EXTERN_ITEM_LIST => &SyntaxInfo { name: "EXTERN_ITEM_LIST" },
|
||||
ENUM_VARIANT => &SyntaxInfo { name: "ENUM_VARIANT" },
|
||||
NAMED_FIELD => &SyntaxInfo { name: "NAMED_FIELD" },
|
||||
NAMED_FIELD_DEF_LIST => &SyntaxInfo { name: "NAMED_FIELD_DEF_LIST" },
|
||||
NAMED_FIELD_DEF => &SyntaxInfo { name: "NAMED_FIELD_DEF" },
|
||||
POS_FIELD_LIST => &SyntaxInfo { name: "POS_FIELD_LIST" },
|
||||
POS_FIELD => &SyntaxInfo { name: "POS_FIELD" },
|
||||
ENUM_VARIANT_LIST => &SyntaxInfo { name: "ENUM_VARIANT_LIST" },
|
||||
ITEM_LIST => &SyntaxInfo { name: "ITEM_LIST" },
|
||||
ATTR => &SyntaxInfo { name: "ATTR" },
|
||||
META_ITEM => &SyntaxInfo { name: "META_ITEM" },
|
||||
USE_TREE => &SyntaxInfo { name: "USE_TREE" },
|
||||
USE_TREE_LIST => &SyntaxInfo { name: "USE_TREE_LIST" },
|
||||
PATH => &SyntaxInfo { name: "PATH" },
|
||||
PATH_SEGMENT => &SyntaxInfo { name: "PATH_SEGMENT" },
|
||||
LITERAL => &SyntaxInfo { name: "LITERAL" },
|
||||
|
|
|
@ -5,29 +5,30 @@ FILE@[0; 34)
|
|||
NAME@[7; 8)
|
||||
IDENT@[7; 8) "S"
|
||||
WHITESPACE@[8; 9)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
NAMED_FIELD@[15; 21)
|
||||
NAME@[15; 16)
|
||||
IDENT@[15; 16) "a"
|
||||
COLON@[16; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
PATH_TYPE@[18; 21)
|
||||
PATH@[18; 21)
|
||||
PATH_SEGMENT@[18; 21)
|
||||
NAME_REF@[18; 21)
|
||||
IDENT@[18; 21) "u32"
|
||||
err: `expected COMMA`
|
||||
WHITESPACE@[21; 26)
|
||||
NAMED_FIELD@[26; 32)
|
||||
NAME@[26; 27)
|
||||
IDENT@[26; 27) "b"
|
||||
COLON@[27; 28)
|
||||
WHITESPACE@[28; 29)
|
||||
PATH_TYPE@[29; 32)
|
||||
PATH@[29; 32)
|
||||
PATH_SEGMENT@[29; 32)
|
||||
NAME_REF@[29; 32)
|
||||
IDENT@[29; 32) "u32"
|
||||
WHITESPACE@[32; 33)
|
||||
R_CURLY@[33; 34)
|
||||
NAMED_FIELD_DEF_LIST@[9; 34)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
NAMED_FIELD_DEF@[15; 21)
|
||||
NAME@[15; 16)
|
||||
IDENT@[15; 16) "a"
|
||||
COLON@[16; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
PATH_TYPE@[18; 21)
|
||||
PATH@[18; 21)
|
||||
PATH_SEGMENT@[18; 21)
|
||||
NAME_REF@[18; 21)
|
||||
IDENT@[18; 21) "u32"
|
||||
err: `expected COMMA`
|
||||
WHITESPACE@[21; 26)
|
||||
NAMED_FIELD_DEF@[26; 32)
|
||||
NAME@[26; 27)
|
||||
IDENT@[26; 27) "b"
|
||||
COLON@[27; 28)
|
||||
WHITESPACE@[28; 29)
|
||||
PATH_TYPE@[29; 32)
|
||||
PATH@[29; 32)
|
||||
PATH_SEGMENT@[29; 32)
|
||||
NAME_REF@[29; 32)
|
||||
IDENT@[29; 32) "u32"
|
||||
WHITESPACE@[32; 33)
|
||||
R_CURLY@[33; 34)
|
||||
|
|
|
@ -13,5 +13,6 @@ FILE@[0; 21)
|
|||
NAME@[17; 18)
|
||||
IDENT@[17; 18) "S"
|
||||
WHITESPACE@[18; 19)
|
||||
L_CURLY@[19; 20)
|
||||
R_CURLY@[20; 21)
|
||||
NAMED_FIELD_DEF_LIST@[19; 21)
|
||||
L_CURLY@[19; 20)
|
||||
R_CURLY@[20; 21)
|
||||
|
|
|
@ -5,34 +5,35 @@ FILE@[0; 40)
|
|||
NAME@[7; 8)
|
||||
IDENT@[7; 8) "S"
|
||||
WHITESPACE@[8; 9)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
NAMED_FIELD@[15; 21)
|
||||
NAME@[15; 16)
|
||||
IDENT@[15; 16) "a"
|
||||
COLON@[16; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
PATH_TYPE@[18; 21)
|
||||
PATH@[18; 21)
|
||||
PATH_SEGMENT@[18; 21)
|
||||
NAME_REF@[18; 21)
|
||||
IDENT@[18; 21) "i32"
|
||||
COMMA@[21; 22)
|
||||
WHITESPACE@[22; 27)
|
||||
NAMED_FIELD@[27; 36)
|
||||
NAME@[27; 28)
|
||||
IDENT@[27; 28) "b"
|
||||
COLON@[28; 29)
|
||||
WHITESPACE@[29; 30)
|
||||
PATH_TYPE@[30; 36)
|
||||
PATH@[30; 36)
|
||||
PATH_SEGMENT@[30; 36)
|
||||
NAME_REF@[30; 36)
|
||||
IDENT@[30; 36) "String"
|
||||
COMMA@[36; 37)
|
||||
WHITESPACE@[37; 38)
|
||||
R_CURLY@[38; 39)
|
||||
err: `expected item, found `;`
|
||||
NAMED_FIELD_DEF_LIST@[9; 39)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
NAMED_FIELD_DEF@[15; 21)
|
||||
NAME@[15; 16)
|
||||
IDENT@[15; 16) "a"
|
||||
COLON@[16; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
PATH_TYPE@[18; 21)
|
||||
PATH@[18; 21)
|
||||
PATH_SEGMENT@[18; 21)
|
||||
NAME_REF@[18; 21)
|
||||
IDENT@[18; 21) "i32"
|
||||
COMMA@[21; 22)
|
||||
WHITESPACE@[22; 27)
|
||||
NAMED_FIELD_DEF@[27; 36)
|
||||
NAME@[27; 28)
|
||||
IDENT@[27; 28) "b"
|
||||
COLON@[28; 29)
|
||||
WHITESPACE@[29; 30)
|
||||
PATH_TYPE@[30; 36)
|
||||
PATH@[30; 36)
|
||||
PATH_SEGMENT@[30; 36)
|
||||
NAME_REF@[30; 36)
|
||||
IDENT@[30; 36) "String"
|
||||
COMMA@[36; 37)
|
||||
WHITESPACE@[37; 38)
|
||||
R_CURLY@[38; 39)
|
||||
err: `expected item, found `;`
|
||||
consider removing this semicolon`
|
||||
ERROR@[39; 40)
|
||||
SEMI@[39; 40)
|
||||
|
|
|
@ -25,7 +25,7 @@ FILE@[0; 54)
|
|||
L_PAREN@[25; 26)
|
||||
R_PAREN@[26; 27)
|
||||
WHITESPACE@[27; 28)
|
||||
BLOCK_EXPR@[28; 31)
|
||||
BLOCK@[28; 31)
|
||||
L_CURLY@[28; 29)
|
||||
WHITESPACE@[29; 30)
|
||||
R_CURLY@[30; 31)
|
||||
|
|
|
@ -5,69 +5,70 @@ FILE@[0; 74)
|
|||
NAME@[7; 8)
|
||||
IDENT@[7; 8) "S"
|
||||
WHITESPACE@[8; 9)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
NAMED_FIELD@[15; 21)
|
||||
NAME@[15; 16)
|
||||
IDENT@[15; 16) "f"
|
||||
COLON@[16; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
PATH_TYPE@[18; 21)
|
||||
PATH@[18; 21)
|
||||
PATH_SEGMENT@[18; 21)
|
||||
NAME_REF@[18; 21)
|
||||
IDENT@[18; 21) "u32"
|
||||
COMMA@[21; 22)
|
||||
WHITESPACE@[22; 27)
|
||||
VISIBILITY@[27; 30)
|
||||
PUB_KW@[27; 30)
|
||||
WHITESPACE@[30; 31)
|
||||
err: `expected field declaration`
|
||||
ERROR@[31; 33)
|
||||
INT_NUMBER@[31; 33) "92"
|
||||
err: `expected COMMA`
|
||||
WHITESPACE@[33; 38)
|
||||
err: `expected field declaration`
|
||||
ERROR@[38; 39)
|
||||
PLUS@[38; 39)
|
||||
err: `expected COMMA`
|
||||
WHITESPACE@[39; 40)
|
||||
err: `expected field declaration`
|
||||
ERROR@[40; 41)
|
||||
MINUS@[40; 41)
|
||||
err: `expected COMMA`
|
||||
WHITESPACE@[41; 42)
|
||||
err: `expected field declaration`
|
||||
ERROR@[42; 43)
|
||||
STAR@[42; 43)
|
||||
err: `expected COMMA`
|
||||
WHITESPACE@[43; 48)
|
||||
NAMED_FIELD@[48; 58)
|
||||
VISIBILITY@[48; 51)
|
||||
PUB_KW@[48; 51)
|
||||
WHITESPACE@[51; 52)
|
||||
NAME@[52; 53)
|
||||
IDENT@[52; 53) "x"
|
||||
COLON@[53; 54)
|
||||
WHITESPACE@[54; 55)
|
||||
PATH_TYPE@[55; 58)
|
||||
PATH@[55; 58)
|
||||
PATH_SEGMENT@[55; 58)
|
||||
NAME_REF@[55; 58)
|
||||
IDENT@[55; 58) "u32"
|
||||
COMMA@[58; 59)
|
||||
WHITESPACE@[59; 64)
|
||||
NAMED_FIELD@[64; 70)
|
||||
NAME@[64; 65)
|
||||
IDENT@[64; 65) "z"
|
||||
COLON@[65; 66)
|
||||
WHITESPACE@[66; 67)
|
||||
PATH_TYPE@[67; 70)
|
||||
PATH@[67; 70)
|
||||
PATH_SEGMENT@[67; 70)
|
||||
NAME_REF@[67; 70)
|
||||
IDENT@[67; 70) "f64"
|
||||
COMMA@[70; 71)
|
||||
WHITESPACE@[71; 72)
|
||||
R_CURLY@[72; 73)
|
||||
NAMED_FIELD_DEF_LIST@[9; 73)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
NAMED_FIELD_DEF@[15; 21)
|
||||
NAME@[15; 16)
|
||||
IDENT@[15; 16) "f"
|
||||
COLON@[16; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
PATH_TYPE@[18; 21)
|
||||
PATH@[18; 21)
|
||||
PATH_SEGMENT@[18; 21)
|
||||
NAME_REF@[18; 21)
|
||||
IDENT@[18; 21) "u32"
|
||||
COMMA@[21; 22)
|
||||
WHITESPACE@[22; 27)
|
||||
VISIBILITY@[27; 30)
|
||||
PUB_KW@[27; 30)
|
||||
WHITESPACE@[30; 31)
|
||||
err: `expected field declaration`
|
||||
ERROR@[31; 33)
|
||||
INT_NUMBER@[31; 33) "92"
|
||||
err: `expected COMMA`
|
||||
WHITESPACE@[33; 38)
|
||||
err: `expected field declaration`
|
||||
ERROR@[38; 39)
|
||||
PLUS@[38; 39)
|
||||
err: `expected COMMA`
|
||||
WHITESPACE@[39; 40)
|
||||
err: `expected field declaration`
|
||||
ERROR@[40; 41)
|
||||
MINUS@[40; 41)
|
||||
err: `expected COMMA`
|
||||
WHITESPACE@[41; 42)
|
||||
err: `expected field declaration`
|
||||
ERROR@[42; 43)
|
||||
STAR@[42; 43)
|
||||
err: `expected COMMA`
|
||||
WHITESPACE@[43; 48)
|
||||
NAMED_FIELD_DEF@[48; 58)
|
||||
VISIBILITY@[48; 51)
|
||||
PUB_KW@[48; 51)
|
||||
WHITESPACE@[51; 52)
|
||||
NAME@[52; 53)
|
||||
IDENT@[52; 53) "x"
|
||||
COLON@[53; 54)
|
||||
WHITESPACE@[54; 55)
|
||||
PATH_TYPE@[55; 58)
|
||||
PATH@[55; 58)
|
||||
PATH_SEGMENT@[55; 58)
|
||||
NAME_REF@[55; 58)
|
||||
IDENT@[55; 58) "u32"
|
||||
COMMA@[58; 59)
|
||||
WHITESPACE@[59; 64)
|
||||
NAMED_FIELD_DEF@[64; 70)
|
||||
NAME@[64; 65)
|
||||
IDENT@[64; 65) "z"
|
||||
COLON@[65; 66)
|
||||
WHITESPACE@[66; 67)
|
||||
PATH_TYPE@[67; 70)
|
||||
PATH@[67; 70)
|
||||
PATH_SEGMENT@[67; 70)
|
||||
NAME_REF@[67; 70)
|
||||
IDENT@[67; 70) "f64"
|
||||
COMMA@[70; 71)
|
||||
WHITESPACE@[71; 72)
|
||||
R_CURLY@[72; 73)
|
||||
WHITESPACE@[73; 74)
|
||||
|
|
|
@ -22,7 +22,7 @@ FILE@[0; 31)
|
|||
PARAM_LIST@[23; 25)
|
||||
L_PAREN@[23; 24)
|
||||
R_PAREN@[24; 25)
|
||||
BLOCK_EXPR@[25; 27)
|
||||
BLOCK@[25; 27)
|
||||
L_CURLY@[25; 26)
|
||||
R_CURLY@[26; 27)
|
||||
WHITESPACE@[27; 29)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 95)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 12)
|
||||
BLOCK@[9; 12)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 11)
|
||||
R_CURLY@[11; 12)
|
||||
|
@ -32,23 +32,25 @@ FILE@[0; 95)
|
|||
WHITESPACE@[28; 29)
|
||||
TRUE_KW@[29; 33)
|
||||
WHITESPACE@[33; 34)
|
||||
L_CURLY@[34; 35)
|
||||
WHITESPACE@[35; 44)
|
||||
INT_NUMBER@[44; 45) "1"
|
||||
WHITESPACE@[45; 50)
|
||||
R_CURLY@[50; 51)
|
||||
ERROR@[34; 51)
|
||||
L_CURLY@[34; 35)
|
||||
WHITESPACE@[35; 44)
|
||||
INT_NUMBER@[44; 45) "1"
|
||||
WHITESPACE@[45; 50)
|
||||
R_CURLY@[50; 51)
|
||||
WHITESPACE@[51; 52)
|
||||
ELSE_KW@[52; 56)
|
||||
WHITESPACE@[56; 57)
|
||||
L_CURLY@[57; 58)
|
||||
WHITESPACE@[58; 67)
|
||||
INT_NUMBER@[67; 68) "2"
|
||||
WHITESPACE@[68; 69)
|
||||
PLUS@[69; 70)
|
||||
WHITESPACE@[70; 71)
|
||||
INT_NUMBER@[71; 72) "3"
|
||||
WHITESPACE@[72; 77)
|
||||
R_CURLY@[77; 78)
|
||||
ERROR@[57; 78)
|
||||
L_CURLY@[57; 58)
|
||||
WHITESPACE@[58; 67)
|
||||
INT_NUMBER@[67; 68) "2"
|
||||
WHITESPACE@[68; 69)
|
||||
PLUS@[69; 70)
|
||||
WHITESPACE@[70; 71)
|
||||
INT_NUMBER@[71; 72) "3"
|
||||
WHITESPACE@[72; 77)
|
||||
R_CURLY@[77; 78)
|
||||
WHITESPACE@[78; 79)
|
||||
R_CURLY@[79; 80)
|
||||
WHITESPACE@[80; 82)
|
||||
|
@ -61,7 +63,7 @@ FILE@[0; 95)
|
|||
L_PAREN@[88; 89)
|
||||
R_PAREN@[89; 90)
|
||||
WHITESPACE@[90; 91)
|
||||
BLOCK_EXPR@[91; 94)
|
||||
BLOCK@[91; 94)
|
||||
L_CURLY@[91; 92)
|
||||
WHITESPACE@[92; 93)
|
||||
R_CURLY@[93; 94)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 42)
|
|||
L_PAREN@[7; 8)
|
||||
R_PAREN@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
BLOCK_EXPR@[10; 41)
|
||||
BLOCK@[10; 41)
|
||||
L_CURLY@[10; 11)
|
||||
WHITESPACE@[11; 16)
|
||||
LAMBDA_EXPR@[16; 24)
|
||||
|
@ -21,19 +21,20 @@ FILE@[0; 42)
|
|||
TUPLE_TYPE@[22; 24)
|
||||
L_PAREN@[22; 23)
|
||||
R_PAREN@[23; 24)
|
||||
err: `expected block`
|
||||
err: `expected a block`
|
||||
WHITESPACE@[24; 25)
|
||||
EXPR_STMT@[25; 39)
|
||||
BLOCK_EXPR@[25; 38)
|
||||
UNSAFE_KW@[25; 31)
|
||||
WHITESPACE@[31; 32)
|
||||
L_CURLY@[32; 33)
|
||||
WHITESPACE@[33; 34)
|
||||
TUPLE_EXPR@[34; 36)
|
||||
L_PAREN@[34; 35)
|
||||
R_PAREN@[35; 36)
|
||||
WHITESPACE@[36; 37)
|
||||
R_CURLY@[37; 38)
|
||||
BLOCK@[32; 38)
|
||||
L_CURLY@[32; 33)
|
||||
WHITESPACE@[33; 34)
|
||||
TUPLE_EXPR@[34; 36)
|
||||
L_PAREN@[34; 35)
|
||||
R_PAREN@[35; 36)
|
||||
WHITESPACE@[36; 37)
|
||||
R_CURLY@[37; 38)
|
||||
SEMI@[38; 39)
|
||||
WHITESPACE@[39; 40)
|
||||
R_CURLY@[40; 41)
|
||||
|
|
|
@ -7,76 +7,77 @@ FILE@[0; 86)
|
|||
WHITESPACE@[10; 11)
|
||||
NAME@[11; 16)
|
||||
IDENT@[11; 16) "Cache"
|
||||
L_PAREN@[16; 17)
|
||||
WHITESPACE@[17; 22)
|
||||
POS_FIELD@[22; 68)
|
||||
PATH_TYPE@[22; 68)
|
||||
PATH@[22; 68)
|
||||
PATH_SEGMENT@[22; 68)
|
||||
NAME_REF@[22; 29)
|
||||
IDENT@[22; 29) "RefCell"
|
||||
TYPE_ARG_LIST@[29; 68)
|
||||
L_ANGLE@[29; 30)
|
||||
TYPE_ARG@[30; 68)
|
||||
PATH_TYPE@[30; 68)
|
||||
PATH@[30; 68)
|
||||
PATH_SEGMENT@[30; 68)
|
||||
NAME_REF@[30; 37)
|
||||
IDENT@[30; 37) "HashMap"
|
||||
TYPE_ARG_LIST@[37; 68)
|
||||
L_ANGLE@[37; 38)
|
||||
WHITESPACE@[38; 47)
|
||||
TYPE_ARG@[47; 53)
|
||||
PATH_TYPE@[47; 53)
|
||||
PATH@[47; 53)
|
||||
PATH_SEGMENT@[47; 53)
|
||||
NAME_REF@[47; 53)
|
||||
IDENT@[47; 53) "TypeId"
|
||||
COMMA@[53; 54)
|
||||
WHITESPACE@[54; 63)
|
||||
TYPE_ARG@[63; 68)
|
||||
PATH_TYPE@[63; 68)
|
||||
PATH@[63; 68)
|
||||
PATH_SEGMENT@[63; 68)
|
||||
NAME_REF@[63; 66)
|
||||
IDENT@[63; 66) "Box"
|
||||
TYPE_ARG_LIST@[66; 68)
|
||||
L_ANGLE@[66; 67)
|
||||
err: `expected type`
|
||||
TYPE_ARG@[67; 68)
|
||||
ERROR@[67; 68)
|
||||
AT@[67; 68)
|
||||
err: `expected COMMA`
|
||||
err: `expected R_ANGLE`
|
||||
err: `expected COMMA`
|
||||
err: `expected R_ANGLE`
|
||||
err: `expected COMMA`
|
||||
err: `expected R_ANGLE`
|
||||
err: `expected COMMA`
|
||||
WHITESPACE@[68; 69)
|
||||
POS_FIELD@[69; 72)
|
||||
PATH_TYPE@[69; 72)
|
||||
PATH@[69; 72)
|
||||
PATH_SEGMENT@[69; 72)
|
||||
NAME_REF@[69; 72)
|
||||
IDENT@[69; 72) "Any"
|
||||
err: `expected COMMA`
|
||||
err: `expected type`
|
||||
POS_FIELD@[72; 73)
|
||||
ERROR@[72; 73)
|
||||
R_ANGLE@[72; 73)
|
||||
COMMA@[73; 74)
|
||||
WHITESPACE@[74; 79)
|
||||
err: `expected type`
|
||||
POS_FIELD@[79; 80)
|
||||
ERROR@[79; 80)
|
||||
R_ANGLE@[79; 80)
|
||||
err: `expected COMMA`
|
||||
err: `expected type`
|
||||
POS_FIELD@[80; 81)
|
||||
ERROR@[80; 81)
|
||||
R_ANGLE@[80; 81)
|
||||
WHITESPACE@[81; 82)
|
||||
R_PAREN@[82; 83)
|
||||
POS_FIELD_LIST@[16; 83)
|
||||
L_PAREN@[16; 17)
|
||||
WHITESPACE@[17; 22)
|
||||
POS_FIELD@[22; 68)
|
||||
PATH_TYPE@[22; 68)
|
||||
PATH@[22; 68)
|
||||
PATH_SEGMENT@[22; 68)
|
||||
NAME_REF@[22; 29)
|
||||
IDENT@[22; 29) "RefCell"
|
||||
TYPE_ARG_LIST@[29; 68)
|
||||
L_ANGLE@[29; 30)
|
||||
TYPE_ARG@[30; 68)
|
||||
PATH_TYPE@[30; 68)
|
||||
PATH@[30; 68)
|
||||
PATH_SEGMENT@[30; 68)
|
||||
NAME_REF@[30; 37)
|
||||
IDENT@[30; 37) "HashMap"
|
||||
TYPE_ARG_LIST@[37; 68)
|
||||
L_ANGLE@[37; 38)
|
||||
WHITESPACE@[38; 47)
|
||||
TYPE_ARG@[47; 53)
|
||||
PATH_TYPE@[47; 53)
|
||||
PATH@[47; 53)
|
||||
PATH_SEGMENT@[47; 53)
|
||||
NAME_REF@[47; 53)
|
||||
IDENT@[47; 53) "TypeId"
|
||||
COMMA@[53; 54)
|
||||
WHITESPACE@[54; 63)
|
||||
TYPE_ARG@[63; 68)
|
||||
PATH_TYPE@[63; 68)
|
||||
PATH@[63; 68)
|
||||
PATH_SEGMENT@[63; 68)
|
||||
NAME_REF@[63; 66)
|
||||
IDENT@[63; 66) "Box"
|
||||
TYPE_ARG_LIST@[66; 68)
|
||||
L_ANGLE@[66; 67)
|
||||
err: `expected type`
|
||||
TYPE_ARG@[67; 68)
|
||||
ERROR@[67; 68)
|
||||
AT@[67; 68)
|
||||
err: `expected COMMA`
|
||||
err: `expected R_ANGLE`
|
||||
err: `expected COMMA`
|
||||
err: `expected R_ANGLE`
|
||||
err: `expected COMMA`
|
||||
err: `expected R_ANGLE`
|
||||
err: `expected COMMA`
|
||||
WHITESPACE@[68; 69)
|
||||
POS_FIELD@[69; 72)
|
||||
PATH_TYPE@[69; 72)
|
||||
PATH@[69; 72)
|
||||
PATH_SEGMENT@[69; 72)
|
||||
NAME_REF@[69; 72)
|
||||
IDENT@[69; 72) "Any"
|
||||
err: `expected COMMA`
|
||||
err: `expected type`
|
||||
POS_FIELD@[72; 73)
|
||||
ERROR@[72; 73)
|
||||
R_ANGLE@[72; 73)
|
||||
COMMA@[73; 74)
|
||||
WHITESPACE@[74; 79)
|
||||
err: `expected type`
|
||||
POS_FIELD@[79; 80)
|
||||
ERROR@[79; 80)
|
||||
R_ANGLE@[79; 80)
|
||||
err: `expected COMMA`
|
||||
err: `expected type`
|
||||
POS_FIELD@[80; 81)
|
||||
ERROR@[80; 81)
|
||||
R_ANGLE@[80; 81)
|
||||
WHITESPACE@[81; 82)
|
||||
R_PAREN@[82; 83)
|
||||
SEMI@[83; 84)
|
||||
WHITESPACE@[84; 86)
|
||||
|
|
|
@ -25,7 +25,7 @@ FILE@[0; 23)
|
|||
IDENT@[18; 19) "T"
|
||||
err: `expected colon`
|
||||
WHITESPACE@[19; 20)
|
||||
BLOCK_EXPR@[20; 22)
|
||||
BLOCK@[20; 22)
|
||||
L_CURLY@[20; 21)
|
||||
R_CURLY@[21; 22)
|
||||
WHITESPACE@[22; 23)
|
||||
|
|
|
@ -12,7 +12,7 @@ FILE@[0; 25)
|
|||
L_PAREN@[19; 20)
|
||||
R_PAREN@[20; 21)
|
||||
WHITESPACE@[21; 22)
|
||||
BLOCK_EXPR@[22; 24)
|
||||
BLOCK@[22; 24)
|
||||
L_CURLY@[22; 23)
|
||||
R_CURLY@[23; 24)
|
||||
WHITESPACE@[24; 25)
|
||||
|
|
|
@ -10,7 +10,7 @@ FILE@[0; 18)
|
|||
L_PAREN@[12; 13)
|
||||
R_PAREN@[13; 14)
|
||||
WHITESPACE@[14; 15)
|
||||
BLOCK_EXPR@[15; 17)
|
||||
BLOCK@[15; 17)
|
||||
L_CURLY@[15; 16)
|
||||
R_CURLY@[16; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
FILE@[0; 10)
|
||||
EXTERN_BLOCK_EXPR@[0; 9)
|
||||
EXTERN_BLOCK@[0; 9)
|
||||
ABI@[0; 6)
|
||||
EXTERN_KW@[0; 6)
|
||||
WHITESPACE@[6; 7)
|
||||
L_CURLY@[7; 8)
|
||||
R_CURLY@[8; 9)
|
||||
EXTERN_ITEM_LIST@[7; 9)
|
||||
L_CURLY@[7; 8)
|
||||
R_CURLY@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
|
|
|
@ -11,7 +11,7 @@ FILE@[0; 19)
|
|||
L_PAREN@[13; 14)
|
||||
R_PAREN@[14; 15)
|
||||
WHITESPACE@[15; 16)
|
||||
BLOCK_EXPR@[16; 18)
|
||||
BLOCK@[16; 18)
|
||||
L_CURLY@[16; 17)
|
||||
R_CURLY@[17; 18)
|
||||
WHITESPACE@[18; 19)
|
||||
|
|
|
@ -7,6 +7,7 @@ FILE@[0; 18)
|
|||
NAME@[13; 14)
|
||||
IDENT@[13; 14) "T"
|
||||
WHITESPACE@[14; 15)
|
||||
L_CURLY@[15; 16)
|
||||
R_CURLY@[16; 17)
|
||||
ITEM_LIST@[15; 17)
|
||||
L_CURLY@[15; 16)
|
||||
R_CURLY@[16; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
|
|
|
@ -10,6 +10,7 @@ FILE@[0; 19)
|
|||
NAME_REF@[12; 15)
|
||||
IDENT@[12; 15) "Foo"
|
||||
WHITESPACE@[15; 16)
|
||||
L_CURLY@[16; 17)
|
||||
R_CURLY@[17; 18)
|
||||
ITEM_LIST@[16; 18)
|
||||
L_CURLY@[16; 17)
|
||||
R_CURLY@[17; 18)
|
||||
WHITESPACE@[18; 19)
|
||||
|
|
|
@ -9,6 +9,7 @@ FILE@[0; 23)
|
|||
NAME@[18; 19)
|
||||
IDENT@[18; 19) "T"
|
||||
WHITESPACE@[19; 20)
|
||||
L_CURLY@[20; 21)
|
||||
R_CURLY@[21; 22)
|
||||
ITEM_LIST@[20; 22)
|
||||
L_CURLY@[20; 21)
|
||||
R_CURLY@[21; 22)
|
||||
WHITESPACE@[22; 23)
|
||||
|
|
|
@ -12,6 +12,7 @@ FILE@[0; 27)
|
|||
NAME_REF@[20; 23)
|
||||
IDENT@[20; 23) "Foo"
|
||||
WHITESPACE@[23; 24)
|
||||
L_CURLY@[24; 25)
|
||||
R_CURLY@[25; 26)
|
||||
ITEM_LIST@[24; 26)
|
||||
L_CURLY@[24; 25)
|
||||
R_CURLY@[25; 26)
|
||||
WHITESPACE@[26; 27)
|
||||
|
|
|
@ -10,7 +10,7 @@ FILE@[0; 19)
|
|||
L_PAREN@[13; 14)
|
||||
R_PAREN@[14; 15)
|
||||
WHITESPACE@[15; 16)
|
||||
BLOCK_EXPR@[16; 18)
|
||||
BLOCK@[16; 18)
|
||||
L_CURLY@[16; 17)
|
||||
R_CURLY@[17; 18)
|
||||
WHITESPACE@[18; 19)
|
||||
|
|
|
@ -15,7 +15,7 @@ FILE@[0; 30)
|
|||
L_PAREN@[24; 25)
|
||||
R_PAREN@[25; 26)
|
||||
WHITESPACE@[26; 27)
|
||||
BLOCK_EXPR@[27; 29)
|
||||
BLOCK@[27; 29)
|
||||
L_CURLY@[27; 28)
|
||||
R_CURLY@[28; 29)
|
||||
WHITESPACE@[29; 30)
|
||||
|
|
|
@ -7,7 +7,7 @@ FILE@[0; 33)
|
|||
PARAM_LIST@[6; 8)
|
||||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
BLOCK_EXPR@[8; 10)
|
||||
BLOCK@[8; 10)
|
||||
L_CURLY@[8; 9)
|
||||
R_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 11)
|
||||
|
@ -29,7 +29,7 @@ FILE@[0; 33)
|
|||
PARAM_LIST@[28; 30)
|
||||
L_PAREN@[28; 29)
|
||||
R_PAREN@[29; 30)
|
||||
BLOCK_EXPR@[30; 32)
|
||||
BLOCK@[30; 32)
|
||||
L_CURLY@[30; 31)
|
||||
R_CURLY@[31; 32)
|
||||
WHITESPACE@[32; 33)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 146)
|
|||
L_PAREN@[7; 8)
|
||||
R_PAREN@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
BLOCK_EXPR@[10; 145)
|
||||
BLOCK@[10; 145)
|
||||
L_CURLY@[10; 11)
|
||||
WHITESPACE@[11; 16)
|
||||
LET_STMT@[16; 27)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 52)
|
|||
L_PAREN@[7; 8)
|
||||
R_PAREN@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
BLOCK_EXPR@[10; 51)
|
||||
BLOCK@[10; 51)
|
||||
L_CURLY@[10; 11)
|
||||
WHITESPACE@[11; 16)
|
||||
LET_STMT@[16; 28)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 26)
|
|||
L_PAREN@[7; 8)
|
||||
R_PAREN@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
BLOCK_EXPR@[10; 25)
|
||||
BLOCK@[10; 25)
|
||||
L_CURLY@[10; 11)
|
||||
WHITESPACE@[11; 12)
|
||||
LET_STMT@[12; 23)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 30)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 11)
|
||||
BLOCK@[9; 11)
|
||||
L_CURLY@[9; 10)
|
||||
R_CURLY@[10; 11)
|
||||
WHITESPACE@[11; 12)
|
||||
|
@ -27,7 +27,7 @@ FILE@[0; 30)
|
|||
L_PAREN@[24; 25)
|
||||
R_PAREN@[25; 26)
|
||||
WHITESPACE@[26; 27)
|
||||
BLOCK_EXPR@[27; 29)
|
||||
BLOCK@[27; 29)
|
||||
L_CURLY@[27; 28)
|
||||
R_CURLY@[28; 29)
|
||||
WHITESPACE@[29; 30)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 91)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 90)
|
||||
BLOCK@[9; 90)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
LET_STMT@[15; 25)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 189)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 188)
|
||||
BLOCK@[9; 188)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
LET_STMT@[15; 28)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 57)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 56)
|
||||
BLOCK@[9; 56)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
LET_STMT@[15; 27)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 52)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 51)
|
||||
BLOCK@[9; 51)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
LET_STMT@[15; 26)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 65)
|
|||
L_PAREN@[4; 5)
|
||||
R_PAREN@[5; 6)
|
||||
WHITESPACE@[6; 7)
|
||||
BLOCK_EXPR@[7; 9)
|
||||
BLOCK@[7; 9)
|
||||
L_CURLY@[7; 8)
|
||||
R_CURLY@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
|
@ -21,7 +21,7 @@ FILE@[0; 65)
|
|||
L_PAREN@[14; 15)
|
||||
R_PAREN@[15; 16)
|
||||
WHITESPACE@[16; 17)
|
||||
BLOCK_EXPR@[17; 31)
|
||||
BLOCK@[17; 31)
|
||||
L_CURLY@[17; 18)
|
||||
WHITESPACE@[18; 19)
|
||||
LET_STMT@[19; 29)
|
||||
|
@ -47,7 +47,7 @@ FILE@[0; 65)
|
|||
L_PAREN@[36; 37)
|
||||
R_PAREN@[37; 38)
|
||||
WHITESPACE@[38; 39)
|
||||
BLOCK_EXPR@[39; 48)
|
||||
BLOCK@[39; 48)
|
||||
L_CURLY@[39; 40)
|
||||
WHITESPACE@[40; 41)
|
||||
EXPR_STMT@[41; 43)
|
||||
|
@ -71,7 +71,7 @@ FILE@[0; 65)
|
|||
L_PAREN@[53; 54)
|
||||
R_PAREN@[54; 55)
|
||||
WHITESPACE@[55; 56)
|
||||
BLOCK_EXPR@[56; 64)
|
||||
BLOCK@[56; 64)
|
||||
L_CURLY@[56; 57)
|
||||
WHITESPACE@[57; 58)
|
||||
EXPR_STMT@[58; 60)
|
||||
|
|
|
@ -10,6 +10,7 @@ FILE@[0; 20)
|
|||
NAME_REF@[13; 16)
|
||||
IDENT@[13; 16) "Foo"
|
||||
WHITESPACE@[16; 17)
|
||||
L_CURLY@[17; 18)
|
||||
R_CURLY@[18; 19)
|
||||
ITEM_LIST@[17; 19)
|
||||
L_CURLY@[17; 18)
|
||||
R_CURLY@[18; 19)
|
||||
WHITESPACE@[19; 20)
|
||||
|
|
|
@ -8,6 +8,7 @@ FILE@[0; 12)
|
|||
NAME_REF@[5; 8)
|
||||
IDENT@[5; 8) "Foo"
|
||||
WHITESPACE@[8; 9)
|
||||
L_CURLY@[9; 10)
|
||||
R_CURLY@[10; 11)
|
||||
ITEM_LIST@[9; 11)
|
||||
L_CURLY@[9; 10)
|
||||
R_CURLY@[10; 11)
|
||||
WHITESPACE@[11; 12)
|
||||
|
|
|
@ -17,6 +17,7 @@ FILE@[0; 20)
|
|||
NAME_REF@[15; 16)
|
||||
IDENT@[15; 16) "X"
|
||||
WHITESPACE@[16; 17)
|
||||
L_CURLY@[17; 18)
|
||||
R_CURLY@[18; 19)
|
||||
ITEM_LIST@[17; 19)
|
||||
L_CURLY@[17; 18)
|
||||
R_CURLY@[18; 19)
|
||||
WHITESPACE@[19; 20)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 77)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 76)
|
||||
BLOCK@[9; 76)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
LET_STMT@[15; 21)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 49)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 48)
|
||||
BLOCK@[9; 48)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 23)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 37)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 36)
|
||||
BLOCK@[9; 36)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 21)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 21)
|
|||
L_PAREN@[4; 5)
|
||||
R_PAREN@[5; 6)
|
||||
WHITESPACE@[6; 7)
|
||||
BLOCK_EXPR@[7; 20)
|
||||
BLOCK@[7; 20)
|
||||
L_CURLY@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
FN_DEF@[9; 18)
|
||||
|
@ -20,7 +20,7 @@ FILE@[0; 21)
|
|||
L_PAREN@[13; 14)
|
||||
R_PAREN@[14; 15)
|
||||
WHITESPACE@[15; 16)
|
||||
BLOCK_EXPR@[16; 18)
|
||||
BLOCK@[16; 18)
|
||||
L_CURLY@[16; 17)
|
||||
R_CURLY@[17; 18)
|
||||
WHITESPACE@[18; 19)
|
||||
|
|
|
@ -8,70 +8,71 @@ FILE@[0; 89)
|
|||
NAME_REF@[5; 6)
|
||||
IDENT@[5; 6) "F"
|
||||
WHITESPACE@[6; 7)
|
||||
L_CURLY@[7; 8)
|
||||
WHITESPACE@[8; 13)
|
||||
TYPE_DEF@[13; 26)
|
||||
TYPE_KW@[13; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
NAME@[18; 19)
|
||||
IDENT@[18; 19) "A"
|
||||
WHITESPACE@[19; 20)
|
||||
EQ@[20; 21)
|
||||
WHITESPACE@[21; 22)
|
||||
PATH_TYPE@[22; 25)
|
||||
PATH@[22; 25)
|
||||
PATH_SEGMENT@[22; 25)
|
||||
NAME_REF@[22; 25)
|
||||
IDENT@[22; 25) "i32"
|
||||
SEMI@[25; 26)
|
||||
WHITESPACE@[26; 31)
|
||||
CONST_DEF@[31; 49)
|
||||
CONST_KW@[31; 36)
|
||||
WHITESPACE@[36; 37)
|
||||
NAME@[37; 38)
|
||||
IDENT@[37; 38) "B"
|
||||
COLON@[38; 39)
|
||||
WHITESPACE@[39; 40)
|
||||
PATH_TYPE@[40; 43)
|
||||
PATH@[40; 43)
|
||||
PATH_SEGMENT@[40; 43)
|
||||
NAME_REF@[40; 43)
|
||||
IDENT@[40; 43) "i32"
|
||||
WHITESPACE@[43; 44)
|
||||
EQ@[44; 45)
|
||||
WHITESPACE@[45; 46)
|
||||
LITERAL@[46; 48)
|
||||
INT_NUMBER@[46; 48) "92"
|
||||
SEMI@[48; 49)
|
||||
WHITESPACE@[49; 54)
|
||||
FN_DEF@[54; 65)
|
||||
FN_KW@[54; 56)
|
||||
WHITESPACE@[56; 57)
|
||||
NAME@[57; 60)
|
||||
IDENT@[57; 60) "foo"
|
||||
PARAM_LIST@[60; 62)
|
||||
L_PAREN@[60; 61)
|
||||
R_PAREN@[61; 62)
|
||||
WHITESPACE@[62; 63)
|
||||
BLOCK_EXPR@[63; 65)
|
||||
L_CURLY@[63; 64)
|
||||
R_CURLY@[64; 65)
|
||||
WHITESPACE@[65; 70)
|
||||
FN_DEF@[70; 86)
|
||||
FN_KW@[70; 72)
|
||||
WHITESPACE@[72; 73)
|
||||
NAME@[73; 76)
|
||||
IDENT@[73; 76) "bar"
|
||||
PARAM_LIST@[76; 83)
|
||||
L_PAREN@[76; 77)
|
||||
SELF_PARAM@[77; 82)
|
||||
AMP@[77; 78)
|
||||
SELF_KW@[78; 82)
|
||||
R_PAREN@[82; 83)
|
||||
WHITESPACE@[83; 84)
|
||||
BLOCK_EXPR@[84; 86)
|
||||
L_CURLY@[84; 85)
|
||||
R_CURLY@[85; 86)
|
||||
WHITESPACE@[86; 87)
|
||||
R_CURLY@[87; 88)
|
||||
ITEM_LIST@[7; 88)
|
||||
L_CURLY@[7; 8)
|
||||
WHITESPACE@[8; 13)
|
||||
TYPE_DEF@[13; 26)
|
||||
TYPE_KW@[13; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
NAME@[18; 19)
|
||||
IDENT@[18; 19) "A"
|
||||
WHITESPACE@[19; 20)
|
||||
EQ@[20; 21)
|
||||
WHITESPACE@[21; 22)
|
||||
PATH_TYPE@[22; 25)
|
||||
PATH@[22; 25)
|
||||
PATH_SEGMENT@[22; 25)
|
||||
NAME_REF@[22; 25)
|
||||
IDENT@[22; 25) "i32"
|
||||
SEMI@[25; 26)
|
||||
WHITESPACE@[26; 31)
|
||||
CONST_DEF@[31; 49)
|
||||
CONST_KW@[31; 36)
|
||||
WHITESPACE@[36; 37)
|
||||
NAME@[37; 38)
|
||||
IDENT@[37; 38) "B"
|
||||
COLON@[38; 39)
|
||||
WHITESPACE@[39; 40)
|
||||
PATH_TYPE@[40; 43)
|
||||
PATH@[40; 43)
|
||||
PATH_SEGMENT@[40; 43)
|
||||
NAME_REF@[40; 43)
|
||||
IDENT@[40; 43) "i32"
|
||||
WHITESPACE@[43; 44)
|
||||
EQ@[44; 45)
|
||||
WHITESPACE@[45; 46)
|
||||
LITERAL@[46; 48)
|
||||
INT_NUMBER@[46; 48) "92"
|
||||
SEMI@[48; 49)
|
||||
WHITESPACE@[49; 54)
|
||||
FN_DEF@[54; 65)
|
||||
FN_KW@[54; 56)
|
||||
WHITESPACE@[56; 57)
|
||||
NAME@[57; 60)
|
||||
IDENT@[57; 60) "foo"
|
||||
PARAM_LIST@[60; 62)
|
||||
L_PAREN@[60; 61)
|
||||
R_PAREN@[61; 62)
|
||||
WHITESPACE@[62; 63)
|
||||
BLOCK@[63; 65)
|
||||
L_CURLY@[63; 64)
|
||||
R_CURLY@[64; 65)
|
||||
WHITESPACE@[65; 70)
|
||||
FN_DEF@[70; 86)
|
||||
FN_KW@[70; 72)
|
||||
WHITESPACE@[72; 73)
|
||||
NAME@[73; 76)
|
||||
IDENT@[73; 76) "bar"
|
||||
PARAM_LIST@[76; 83)
|
||||
L_PAREN@[76; 77)
|
||||
SELF_PARAM@[77; 82)
|
||||
AMP@[77; 78)
|
||||
SELF_KW@[78; 82)
|
||||
R_PAREN@[82; 83)
|
||||
WHITESPACE@[83; 84)
|
||||
BLOCK@[84; 86)
|
||||
L_CURLY@[84; 85)
|
||||
R_CURLY@[85; 86)
|
||||
WHITESPACE@[86; 87)
|
||||
R_CURLY@[87; 88)
|
||||
WHITESPACE@[88; 89)
|
||||
|
|
|
@ -8,108 +8,109 @@ FILE@[0; 128)
|
|||
NAME_REF@[5; 6)
|
||||
IDENT@[5; 6) "S"
|
||||
WHITESPACE@[6; 7)
|
||||
L_CURLY@[7; 8)
|
||||
WHITESPACE@[8; 13)
|
||||
FN_DEF@[13; 26)
|
||||
FN_KW@[13; 15)
|
||||
WHITESPACE@[15; 16)
|
||||
NAME@[16; 17)
|
||||
IDENT@[16; 17) "a"
|
||||
PARAM_LIST@[17; 23)
|
||||
L_PAREN@[17; 18)
|
||||
SELF_PARAM@[18; 22)
|
||||
SELF_KW@[18; 22)
|
||||
R_PAREN@[22; 23)
|
||||
WHITESPACE@[23; 24)
|
||||
BLOCK_EXPR@[24; 26)
|
||||
L_CURLY@[24; 25)
|
||||
R_CURLY@[25; 26)
|
||||
WHITESPACE@[26; 31)
|
||||
FN_DEF@[31; 46)
|
||||
FN_KW@[31; 33)
|
||||
WHITESPACE@[33; 34)
|
||||
NAME@[34; 35)
|
||||
IDENT@[34; 35) "b"
|
||||
PARAM_LIST@[35; 43)
|
||||
L_PAREN@[35; 36)
|
||||
SELF_PARAM@[36; 41)
|
||||
AMP@[36; 37)
|
||||
SELF_KW@[37; 41)
|
||||
COMMA@[41; 42)
|
||||
R_PAREN@[42; 43)
|
||||
WHITESPACE@[43; 44)
|
||||
BLOCK_EXPR@[44; 46)
|
||||
L_CURLY@[44; 45)
|
||||
R_CURLY@[45; 46)
|
||||
WHITESPACE@[46; 51)
|
||||
FN_DEF@[51; 69)
|
||||
FN_KW@[51; 53)
|
||||
WHITESPACE@[53; 54)
|
||||
NAME@[54; 55)
|
||||
IDENT@[54; 55) "c"
|
||||
PARAM_LIST@[55; 66)
|
||||
L_PAREN@[55; 56)
|
||||
SELF_PARAM@[56; 64)
|
||||
AMP@[56; 57)
|
||||
LIFETIME@[57; 59) "'a"
|
||||
WHITESPACE@[59; 60)
|
||||
SELF_KW@[60; 64)
|
||||
COMMA@[64; 65)
|
||||
R_PAREN@[65; 66)
|
||||
WHITESPACE@[66; 67)
|
||||
BLOCK_EXPR@[67; 69)
|
||||
L_CURLY@[67; 68)
|
||||
R_CURLY@[68; 69)
|
||||
WHITESPACE@[69; 74)
|
||||
FN_DEF@[74; 103)
|
||||
FN_KW@[74; 76)
|
||||
WHITESPACE@[76; 77)
|
||||
NAME@[77; 78)
|
||||
IDENT@[77; 78) "d"
|
||||
PARAM_LIST@[78; 100)
|
||||
L_PAREN@[78; 79)
|
||||
SELF_PARAM@[79; 91)
|
||||
AMP@[79; 80)
|
||||
LIFETIME@[80; 82) "'a"
|
||||
WHITESPACE@[82; 83)
|
||||
MUT_KW@[83; 86)
|
||||
WHITESPACE@[86; 87)
|
||||
SELF_KW@[87; 91)
|
||||
COMMA@[91; 92)
|
||||
WHITESPACE@[92; 93)
|
||||
PARAM@[93; 99)
|
||||
BIND_PAT@[93; 94)
|
||||
NAME@[93; 94)
|
||||
IDENT@[93; 94) "x"
|
||||
COLON@[94; 95)
|
||||
WHITESPACE@[95; 96)
|
||||
PATH_TYPE@[96; 99)
|
||||
PATH@[96; 99)
|
||||
PATH_SEGMENT@[96; 99)
|
||||
NAME_REF@[96; 99)
|
||||
IDENT@[96; 99) "i32"
|
||||
R_PAREN@[99; 100)
|
||||
WHITESPACE@[100; 101)
|
||||
BLOCK_EXPR@[101; 103)
|
||||
L_CURLY@[101; 102)
|
||||
R_CURLY@[102; 103)
|
||||
WHITESPACE@[103; 108)
|
||||
FN_DEF@[108; 125)
|
||||
FN_KW@[108; 110)
|
||||
WHITESPACE@[110; 111)
|
||||
NAME@[111; 112)
|
||||
IDENT@[111; 112) "e"
|
||||
PARAM_LIST@[112; 122)
|
||||
L_PAREN@[112; 113)
|
||||
SELF_PARAM@[113; 121)
|
||||
MUT_KW@[113; 116)
|
||||
WHITESPACE@[116; 117)
|
||||
SELF_KW@[117; 121)
|
||||
R_PAREN@[121; 122)
|
||||
WHITESPACE@[122; 123)
|
||||
BLOCK_EXPR@[123; 125)
|
||||
L_CURLY@[123; 124)
|
||||
R_CURLY@[124; 125)
|
||||
WHITESPACE@[125; 126)
|
||||
R_CURLY@[126; 127)
|
||||
ITEM_LIST@[7; 127)
|
||||
L_CURLY@[7; 8)
|
||||
WHITESPACE@[8; 13)
|
||||
FN_DEF@[13; 26)
|
||||
FN_KW@[13; 15)
|
||||
WHITESPACE@[15; 16)
|
||||
NAME@[16; 17)
|
||||
IDENT@[16; 17) "a"
|
||||
PARAM_LIST@[17; 23)
|
||||
L_PAREN@[17; 18)
|
||||
SELF_PARAM@[18; 22)
|
||||
SELF_KW@[18; 22)
|
||||
R_PAREN@[22; 23)
|
||||
WHITESPACE@[23; 24)
|
||||
BLOCK@[24; 26)
|
||||
L_CURLY@[24; 25)
|
||||
R_CURLY@[25; 26)
|
||||
WHITESPACE@[26; 31)
|
||||
FN_DEF@[31; 46)
|
||||
FN_KW@[31; 33)
|
||||
WHITESPACE@[33; 34)
|
||||
NAME@[34; 35)
|
||||
IDENT@[34; 35) "b"
|
||||
PARAM_LIST@[35; 43)
|
||||
L_PAREN@[35; 36)
|
||||
SELF_PARAM@[36; 41)
|
||||
AMP@[36; 37)
|
||||
SELF_KW@[37; 41)
|
||||
COMMA@[41; 42)
|
||||
R_PAREN@[42; 43)
|
||||
WHITESPACE@[43; 44)
|
||||
BLOCK@[44; 46)
|
||||
L_CURLY@[44; 45)
|
||||
R_CURLY@[45; 46)
|
||||
WHITESPACE@[46; 51)
|
||||
FN_DEF@[51; 69)
|
||||
FN_KW@[51; 53)
|
||||
WHITESPACE@[53; 54)
|
||||
NAME@[54; 55)
|
||||
IDENT@[54; 55) "c"
|
||||
PARAM_LIST@[55; 66)
|
||||
L_PAREN@[55; 56)
|
||||
SELF_PARAM@[56; 64)
|
||||
AMP@[56; 57)
|
||||
LIFETIME@[57; 59) "'a"
|
||||
WHITESPACE@[59; 60)
|
||||
SELF_KW@[60; 64)
|
||||
COMMA@[64; 65)
|
||||
R_PAREN@[65; 66)
|
||||
WHITESPACE@[66; 67)
|
||||
BLOCK@[67; 69)
|
||||
L_CURLY@[67; 68)
|
||||
R_CURLY@[68; 69)
|
||||
WHITESPACE@[69; 74)
|
||||
FN_DEF@[74; 103)
|
||||
FN_KW@[74; 76)
|
||||
WHITESPACE@[76; 77)
|
||||
NAME@[77; 78)
|
||||
IDENT@[77; 78) "d"
|
||||
PARAM_LIST@[78; 100)
|
||||
L_PAREN@[78; 79)
|
||||
SELF_PARAM@[79; 91)
|
||||
AMP@[79; 80)
|
||||
LIFETIME@[80; 82) "'a"
|
||||
WHITESPACE@[82; 83)
|
||||
MUT_KW@[83; 86)
|
||||
WHITESPACE@[86; 87)
|
||||
SELF_KW@[87; 91)
|
||||
COMMA@[91; 92)
|
||||
WHITESPACE@[92; 93)
|
||||
PARAM@[93; 99)
|
||||
BIND_PAT@[93; 94)
|
||||
NAME@[93; 94)
|
||||
IDENT@[93; 94) "x"
|
||||
COLON@[94; 95)
|
||||
WHITESPACE@[95; 96)
|
||||
PATH_TYPE@[96; 99)
|
||||
PATH@[96; 99)
|
||||
PATH_SEGMENT@[96; 99)
|
||||
NAME_REF@[96; 99)
|
||||
IDENT@[96; 99) "i32"
|
||||
R_PAREN@[99; 100)
|
||||
WHITESPACE@[100; 101)
|
||||
BLOCK@[101; 103)
|
||||
L_CURLY@[101; 102)
|
||||
R_CURLY@[102; 103)
|
||||
WHITESPACE@[103; 108)
|
||||
FN_DEF@[108; 125)
|
||||
FN_KW@[108; 110)
|
||||
WHITESPACE@[110; 111)
|
||||
NAME@[111; 112)
|
||||
IDENT@[111; 112) "e"
|
||||
PARAM_LIST@[112; 122)
|
||||
L_PAREN@[112; 113)
|
||||
SELF_PARAM@[113; 121)
|
||||
MUT_KW@[113; 116)
|
||||
WHITESPACE@[116; 117)
|
||||
SELF_KW@[117; 121)
|
||||
R_PAREN@[121; 122)
|
||||
WHITESPACE@[122; 123)
|
||||
BLOCK@[123; 125)
|
||||
L_CURLY@[123; 124)
|
||||
R_CURLY@[124; 125)
|
||||
WHITESPACE@[125; 126)
|
||||
R_CURLY@[126; 127)
|
||||
WHITESPACE@[127; 128)
|
||||
|
|
|
@ -40,6 +40,7 @@ FILE@[0; 42)
|
|||
NAME_REF@[34; 38)
|
||||
IDENT@[34; 38) "Copy"
|
||||
WHITESPACE@[38; 39)
|
||||
L_CURLY@[39; 40)
|
||||
R_CURLY@[40; 41)
|
||||
ITEM_LIST@[39; 41)
|
||||
L_CURLY@[39; 40)
|
||||
R_CURLY@[40; 41)
|
||||
WHITESPACE@[41; 42)
|
||||
|
|
|
@ -7,6 +7,7 @@ FILE@[0; 16)
|
|||
NAME@[11; 12)
|
||||
IDENT@[11; 12) "T"
|
||||
WHITESPACE@[12; 13)
|
||||
L_CURLY@[13; 14)
|
||||
R_CURLY@[14; 15)
|
||||
ITEM_LIST@[13; 15)
|
||||
L_CURLY@[13; 14)
|
||||
R_CURLY@[14; 15)
|
||||
WHITESPACE@[15; 16)
|
||||
|
|
|
@ -30,7 +30,7 @@ FILE@[0; 29)
|
|||
NAME_REF@[21; 25)
|
||||
IDENT@[21; 25) "Copy"
|
||||
WHITESPACE@[25; 26)
|
||||
BLOCK_EXPR@[26; 28)
|
||||
BLOCK@[26; 28)
|
||||
L_CURLY@[26; 27)
|
||||
R_CURLY@[27; 28)
|
||||
WHITESPACE@[28; 29)
|
||||
|
|
|
@ -26,7 +26,7 @@ FILE@[0; 28)
|
|||
PARAM_LIST@[23; 25)
|
||||
L_PAREN@[23; 24)
|
||||
R_PAREN@[24; 25)
|
||||
BLOCK_EXPR@[25; 27)
|
||||
BLOCK@[25; 27)
|
||||
L_CURLY@[25; 26)
|
||||
R_CURLY@[26; 27)
|
||||
WHITESPACE@[27; 28)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 86)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 85)
|
||||
BLOCK@[9; 85)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 20)
|
||||
|
@ -18,8 +18,9 @@ FILE@[0; 86)
|
|||
NAME_REF@[15; 16)
|
||||
IDENT@[15; 16) "S"
|
||||
WHITESPACE@[16; 17)
|
||||
L_CURLY@[17; 18)
|
||||
R_CURLY@[18; 19)
|
||||
NAMED_FIELD_LIST@[17; 19)
|
||||
L_CURLY@[17; 18)
|
||||
R_CURLY@[18; 19)
|
||||
SEMI@[19; 20)
|
||||
WHITESPACE@[20; 25)
|
||||
EXPR_STMT@[25; 41)
|
||||
|
@ -29,23 +30,24 @@ FILE@[0; 86)
|
|||
NAME_REF@[25; 26)
|
||||
IDENT@[25; 26) "S"
|
||||
WHITESPACE@[26; 27)
|
||||
L_CURLY@[27; 28)
|
||||
WHITESPACE@[28; 29)
|
||||
STRUCT_LIT_FIELD@[29; 30)
|
||||
NAME_REF@[29; 30)
|
||||
IDENT@[29; 30) "x"
|
||||
COMMA@[30; 31)
|
||||
WHITESPACE@[31; 32)
|
||||
STRUCT_LIT_FIELD@[32; 37)
|
||||
NAME_REF@[32; 33)
|
||||
IDENT@[32; 33) "y"
|
||||
COLON@[33; 34)
|
||||
WHITESPACE@[34; 35)
|
||||
LITERAL@[35; 37)
|
||||
INT_NUMBER@[35; 37) "32"
|
||||
COMMA@[37; 38)
|
||||
WHITESPACE@[38; 39)
|
||||
R_CURLY@[39; 40)
|
||||
NAMED_FIELD_LIST@[27; 40)
|
||||
L_CURLY@[27; 28)
|
||||
WHITESPACE@[28; 29)
|
||||
NAMED_FIELD@[29; 30)
|
||||
NAME_REF@[29; 30)
|
||||
IDENT@[29; 30) "x"
|
||||
COMMA@[30; 31)
|
||||
WHITESPACE@[31; 32)
|
||||
NAMED_FIELD@[32; 37)
|
||||
NAME_REF@[32; 33)
|
||||
IDENT@[32; 33) "y"
|
||||
COLON@[33; 34)
|
||||
WHITESPACE@[34; 35)
|
||||
LITERAL@[35; 37)
|
||||
INT_NUMBER@[35; 37) "32"
|
||||
COMMA@[37; 38)
|
||||
WHITESPACE@[38; 39)
|
||||
R_CURLY@[39; 40)
|
||||
SEMI@[40; 41)
|
||||
WHITESPACE@[41; 46)
|
||||
EXPR_STMT@[46; 83)
|
||||
|
@ -55,39 +57,40 @@ FILE@[0; 86)
|
|||
NAME_REF@[46; 47)
|
||||
IDENT@[46; 47) "S"
|
||||
WHITESPACE@[47; 48)
|
||||
L_CURLY@[48; 49)
|
||||
WHITESPACE@[49; 50)
|
||||
STRUCT_LIT_FIELD@[50; 51)
|
||||
NAME_REF@[50; 51)
|
||||
IDENT@[50; 51) "x"
|
||||
COMMA@[51; 52)
|
||||
WHITESPACE@[52; 53)
|
||||
STRUCT_LIT_FIELD@[53; 58)
|
||||
NAME_REF@[53; 54)
|
||||
IDENT@[53; 54) "y"
|
||||
COLON@[54; 55)
|
||||
WHITESPACE@[55; 56)
|
||||
LITERAL@[56; 58)
|
||||
INT_NUMBER@[56; 58) "32"
|
||||
COMMA@[58; 59)
|
||||
WHITESPACE@[59; 60)
|
||||
DOTDOT@[60; 62)
|
||||
CALL_EXPR@[62; 80)
|
||||
PATH_EXPR@[62; 78)
|
||||
PATH@[62; 78)
|
||||
PATH@[62; 69)
|
||||
PATH_SEGMENT@[62; 69)
|
||||
NAME_REF@[62; 69)
|
||||
IDENT@[62; 69) "Default"
|
||||
COLONCOLON@[69; 71)
|
||||
PATH_SEGMENT@[71; 78)
|
||||
NAME_REF@[71; 78)
|
||||
IDENT@[71; 78) "default"
|
||||
ARG_LIST@[78; 80)
|
||||
L_PAREN@[78; 79)
|
||||
R_PAREN@[79; 80)
|
||||
WHITESPACE@[80; 81)
|
||||
R_CURLY@[81; 82)
|
||||
NAMED_FIELD_LIST@[48; 82)
|
||||
L_CURLY@[48; 49)
|
||||
WHITESPACE@[49; 50)
|
||||
NAMED_FIELD@[50; 51)
|
||||
NAME_REF@[50; 51)
|
||||
IDENT@[50; 51) "x"
|
||||
COMMA@[51; 52)
|
||||
WHITESPACE@[52; 53)
|
||||
NAMED_FIELD@[53; 58)
|
||||
NAME_REF@[53; 54)
|
||||
IDENT@[53; 54) "y"
|
||||
COLON@[54; 55)
|
||||
WHITESPACE@[55; 56)
|
||||
LITERAL@[56; 58)
|
||||
INT_NUMBER@[56; 58) "32"
|
||||
COMMA@[58; 59)
|
||||
WHITESPACE@[59; 60)
|
||||
DOTDOT@[60; 62)
|
||||
CALL_EXPR@[62; 80)
|
||||
PATH_EXPR@[62; 78)
|
||||
PATH@[62; 78)
|
||||
PATH@[62; 69)
|
||||
PATH_SEGMENT@[62; 69)
|
||||
NAME_REF@[62; 69)
|
||||
IDENT@[62; 69) "Default"
|
||||
COLONCOLON@[69; 71)
|
||||
PATH_SEGMENT@[71; 78)
|
||||
NAME_REF@[71; 78)
|
||||
IDENT@[71; 78) "default"
|
||||
ARG_LIST@[78; 80)
|
||||
L_PAREN@[78; 79)
|
||||
R_PAREN@[79; 80)
|
||||
WHITESPACE@[80; 81)
|
||||
R_CURLY@[81; 82)
|
||||
SEMI@[82; 83)
|
||||
WHITESPACE@[83; 84)
|
||||
R_CURLY@[84; 85)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 67)
|
|||
L_PAREN@[4; 5)
|
||||
R_PAREN@[5; 6)
|
||||
WHITESPACE@[6; 7)
|
||||
BLOCK_EXPR@[7; 9)
|
||||
BLOCK@[7; 9)
|
||||
L_CURLY@[7; 8)
|
||||
R_CURLY@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
|
@ -32,7 +32,7 @@ FILE@[0; 67)
|
|||
IDENT@[18; 21) "i32"
|
||||
R_PAREN@[21; 22)
|
||||
WHITESPACE@[22; 23)
|
||||
BLOCK_EXPR@[23; 25)
|
||||
BLOCK@[23; 25)
|
||||
L_CURLY@[23; 24)
|
||||
R_CURLY@[24; 25)
|
||||
WHITESPACE@[25; 26)
|
||||
|
@ -58,7 +58,7 @@ FILE@[0; 67)
|
|||
WHITESPACE@[38; 39)
|
||||
R_PAREN@[39; 40)
|
||||
WHITESPACE@[40; 41)
|
||||
BLOCK_EXPR@[41; 43)
|
||||
BLOCK@[41; 43)
|
||||
L_CURLY@[41; 42)
|
||||
R_CURLY@[42; 43)
|
||||
WHITESPACE@[43; 44)
|
||||
|
@ -93,7 +93,7 @@ FILE@[0; 67)
|
|||
R_PAREN@[61; 62)
|
||||
R_PAREN@[62; 63)
|
||||
WHITESPACE@[63; 64)
|
||||
BLOCK_EXPR@[64; 66)
|
||||
BLOCK@[64; 66)
|
||||
L_CURLY@[64; 65)
|
||||
R_CURLY@[65; 66)
|
||||
WHITESPACE@[66; 67)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 107)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 106)
|
||||
BLOCK@[9; 106)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 26)
|
||||
|
@ -18,7 +18,7 @@ FILE@[0; 107)
|
|||
LITERAL@[18; 22)
|
||||
TRUE_KW@[18; 22)
|
||||
WHITESPACE@[22; 23)
|
||||
BLOCK_EXPR@[23; 25)
|
||||
BLOCK@[23; 25)
|
||||
L_CURLY@[23; 24)
|
||||
R_CURLY@[24; 25)
|
||||
SEMI@[25; 26)
|
||||
|
@ -30,13 +30,13 @@ FILE@[0; 107)
|
|||
LITERAL@[34; 38)
|
||||
TRUE_KW@[34; 38)
|
||||
WHITESPACE@[38; 39)
|
||||
BLOCK_EXPR@[39; 41)
|
||||
BLOCK@[39; 41)
|
||||
L_CURLY@[39; 40)
|
||||
R_CURLY@[40; 41)
|
||||
WHITESPACE@[41; 42)
|
||||
ELSE_KW@[42; 46)
|
||||
WHITESPACE@[46; 47)
|
||||
BLOCK_EXPR@[47; 49)
|
||||
BLOCK@[47; 49)
|
||||
L_CURLY@[47; 48)
|
||||
R_CURLY@[48; 49)
|
||||
SEMI@[49; 50)
|
||||
|
@ -48,7 +48,7 @@ FILE@[0; 107)
|
|||
LITERAL@[58; 62)
|
||||
TRUE_KW@[58; 62)
|
||||
WHITESPACE@[62; 63)
|
||||
BLOCK_EXPR@[63; 65)
|
||||
BLOCK@[63; 65)
|
||||
L_CURLY@[63; 64)
|
||||
R_CURLY@[64; 65)
|
||||
WHITESPACE@[65; 66)
|
||||
|
@ -60,13 +60,13 @@ FILE@[0; 107)
|
|||
LITERAL@[74; 79)
|
||||
FALSE_KW@[74; 79)
|
||||
WHITESPACE@[79; 80)
|
||||
BLOCK_EXPR@[80; 82)
|
||||
BLOCK@[80; 82)
|
||||
L_CURLY@[80; 81)
|
||||
R_CURLY@[81; 82)
|
||||
WHITESPACE@[82; 83)
|
||||
ELSE_KW@[83; 87)
|
||||
WHITESPACE@[87; 88)
|
||||
BLOCK_EXPR@[88; 90)
|
||||
BLOCK@[88; 90)
|
||||
L_CURLY@[88; 89)
|
||||
R_CURLY@[89; 90)
|
||||
SEMI@[90; 91)
|
||||
|
@ -81,7 +81,7 @@ FILE@[0; 107)
|
|||
NAME_REF@[99; 100)
|
||||
IDENT@[99; 100) "S"
|
||||
WHITESPACE@[100; 101)
|
||||
BLOCK_EXPR@[101; 103)
|
||||
BLOCK@[101; 103)
|
||||
L_CURLY@[101; 102)
|
||||
R_CURLY@[102; 103)
|
||||
SEMI@[103; 104)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 79)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 78)
|
||||
BLOCK@[9; 78)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 21)
|
||||
|
@ -36,7 +36,7 @@ FILE@[0; 79)
|
|||
NAME_REF@[32; 35)
|
||||
IDENT@[32; 35) "i32"
|
||||
WHITESPACE@[35; 36)
|
||||
BLOCK_EXPR@[36; 42)
|
||||
BLOCK@[36; 42)
|
||||
L_CURLY@[36; 37)
|
||||
WHITESPACE@[37; 38)
|
||||
LITERAL@[38; 40)
|
||||
|
|
|
@ -8,21 +8,23 @@ FILE@[0; 36)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 35)
|
||||
BLOCK@[9; 35)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 18)
|
||||
BLOCK_EXPR@[15; 17)
|
||||
L_CURLY@[15; 16)
|
||||
R_CURLY@[16; 17)
|
||||
BLOCK@[15; 17)
|
||||
L_CURLY@[15; 16)
|
||||
R_CURLY@[16; 17)
|
||||
SEMI@[17; 18)
|
||||
WHITESPACE@[18; 23)
|
||||
EXPR_STMT@[23; 33)
|
||||
BLOCK_EXPR@[23; 32)
|
||||
UNSAFE_KW@[23; 29)
|
||||
WHITESPACE@[29; 30)
|
||||
L_CURLY@[30; 31)
|
||||
R_CURLY@[31; 32)
|
||||
BLOCK@[30; 32)
|
||||
L_CURLY@[30; 31)
|
||||
R_CURLY@[31; 32)
|
||||
SEMI@[32; 33)
|
||||
WHITESPACE@[33; 34)
|
||||
R_CURLY@[34; 35)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 29)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 20)
|
||||
BLOCK@[9; 20)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 11)
|
||||
EXPR_STMT@[11; 18)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 40)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 39)
|
||||
BLOCK@[9; 39)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 22)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 78)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 77)
|
||||
BLOCK@[9; 77)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 75)
|
||||
|
@ -19,46 +19,47 @@ FILE@[0; 78)
|
|||
L_PAREN@[21; 22)
|
||||
R_PAREN@[22; 23)
|
||||
WHITESPACE@[23; 24)
|
||||
L_CURLY@[24; 25)
|
||||
WHITESPACE@[25; 34)
|
||||
MATCH_ARM@[34; 41)
|
||||
PLACEHOLDER_PAT@[34; 35)
|
||||
UNDERSCORE@[34; 35)
|
||||
WHITESPACE@[35; 36)
|
||||
FAT_ARROW@[36; 38)
|
||||
WHITESPACE@[38; 39)
|
||||
TUPLE_EXPR@[39; 41)
|
||||
L_PAREN@[39; 40)
|
||||
R_PAREN@[40; 41)
|
||||
COMMA@[41; 42)
|
||||
WHITESPACE@[42; 51)
|
||||
MATCH_ARM@[51; 67)
|
||||
BIND_PAT@[51; 52)
|
||||
NAME@[51; 52)
|
||||
IDENT@[51; 52) "X"
|
||||
WHITESPACE@[52; 53)
|
||||
PIPE@[53; 54)
|
||||
WHITESPACE@[54; 55)
|
||||
BIND_PAT@[55; 56)
|
||||
NAME@[55; 56)
|
||||
IDENT@[55; 56) "Y"
|
||||
WHITESPACE@[56; 57)
|
||||
IF_KW@[57; 59)
|
||||
WHITESPACE@[59; 60)
|
||||
PATH_EXPR@[60; 61)
|
||||
PATH@[60; 61)
|
||||
PATH_SEGMENT@[60; 61)
|
||||
NAME_REF@[60; 61)
|
||||
IDENT@[60; 61) "Z"
|
||||
WHITESPACE@[61; 62)
|
||||
FAT_ARROW@[62; 64)
|
||||
WHITESPACE@[64; 65)
|
||||
TUPLE_EXPR@[65; 67)
|
||||
L_PAREN@[65; 66)
|
||||
R_PAREN@[66; 67)
|
||||
COMMA@[67; 68)
|
||||
WHITESPACE@[68; 73)
|
||||
R_CURLY@[73; 74)
|
||||
MATCH_ARM_LIST@[24; 74)
|
||||
L_CURLY@[24; 25)
|
||||
WHITESPACE@[25; 34)
|
||||
MATCH_ARM@[34; 41)
|
||||
PLACEHOLDER_PAT@[34; 35)
|
||||
UNDERSCORE@[34; 35)
|
||||
WHITESPACE@[35; 36)
|
||||
FAT_ARROW@[36; 38)
|
||||
WHITESPACE@[38; 39)
|
||||
TUPLE_EXPR@[39; 41)
|
||||
L_PAREN@[39; 40)
|
||||
R_PAREN@[40; 41)
|
||||
COMMA@[41; 42)
|
||||
WHITESPACE@[42; 51)
|
||||
MATCH_ARM@[51; 67)
|
||||
BIND_PAT@[51; 52)
|
||||
NAME@[51; 52)
|
||||
IDENT@[51; 52) "X"
|
||||
WHITESPACE@[52; 53)
|
||||
PIPE@[53; 54)
|
||||
WHITESPACE@[54; 55)
|
||||
BIND_PAT@[55; 56)
|
||||
NAME@[55; 56)
|
||||
IDENT@[55; 56) "Y"
|
||||
WHITESPACE@[56; 57)
|
||||
IF_KW@[57; 59)
|
||||
WHITESPACE@[59; 60)
|
||||
PATH_EXPR@[60; 61)
|
||||
PATH@[60; 61)
|
||||
PATH_SEGMENT@[60; 61)
|
||||
NAME_REF@[60; 61)
|
||||
IDENT@[60; 61) "Z"
|
||||
WHITESPACE@[61; 62)
|
||||
FAT_ARROW@[62; 64)
|
||||
WHITESPACE@[64; 65)
|
||||
TUPLE_EXPR@[65; 67)
|
||||
L_PAREN@[65; 66)
|
||||
R_PAREN@[66; 67)
|
||||
COMMA@[67; 68)
|
||||
WHITESPACE@[68; 73)
|
||||
R_CURLY@[73; 74)
|
||||
SEMI@[74; 75)
|
||||
WHITESPACE@[75; 76)
|
||||
R_CURLY@[76; 77)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 47)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 46)
|
||||
BLOCK@[9; 46)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 28)
|
||||
|
@ -19,9 +19,10 @@ FILE@[0; 47)
|
|||
L_PAREN@[21; 22)
|
||||
R_PAREN@[22; 23)
|
||||
WHITESPACE@[23; 24)
|
||||
L_CURLY@[24; 25)
|
||||
WHITESPACE@[25; 26)
|
||||
R_CURLY@[26; 27)
|
||||
MATCH_ARM_LIST@[24; 27)
|
||||
L_CURLY@[24; 25)
|
||||
WHITESPACE@[25; 26)
|
||||
R_CURLY@[26; 27)
|
||||
SEMI@[27; 28)
|
||||
WHITESPACE@[28; 33)
|
||||
EXPR_STMT@[33; 44)
|
||||
|
@ -34,8 +35,9 @@ FILE@[0; 47)
|
|||
NAME_REF@[39; 40)
|
||||
IDENT@[39; 40) "S"
|
||||
WHITESPACE@[40; 41)
|
||||
L_CURLY@[41; 42)
|
||||
R_CURLY@[42; 43)
|
||||
MATCH_ARM_LIST@[41; 43)
|
||||
L_CURLY@[41; 42)
|
||||
R_CURLY@[42; 43)
|
||||
SEMI@[43; 44)
|
||||
WHITESPACE@[44; 45)
|
||||
R_CURLY@[45; 46)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 97)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 96)
|
||||
BLOCK@[9; 96)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
LET_STMT@[15; 28)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 103)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 102)
|
||||
BLOCK@[9; 102)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
LET_STMT@[15; 33)
|
||||
|
@ -58,11 +58,12 @@ FILE@[0; 103)
|
|||
NAME_REF@[62; 65)
|
||||
IDENT@[62; 65) "Bar"
|
||||
WHITESPACE@[65; 66)
|
||||
L_CURLY@[66; 67)
|
||||
WHITESPACE@[67; 68)
|
||||
DOTDOT@[68; 70)
|
||||
WHITESPACE@[70; 71)
|
||||
R_CURLY@[71; 72)
|
||||
FIELD_PAT_LIST@[66; 72)
|
||||
L_CURLY@[66; 67)
|
||||
WHITESPACE@[67; 68)
|
||||
DOTDOT@[68; 70)
|
||||
WHITESPACE@[70; 71)
|
||||
R_CURLY@[71; 72)
|
||||
WHITESPACE@[72; 73)
|
||||
EQ@[73; 74)
|
||||
WHITESPACE@[74; 75)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 119)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 118)
|
||||
BLOCK@[9; 118)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
LET_STMT@[15; 29)
|
||||
|
@ -20,8 +20,9 @@ FILE@[0; 119)
|
|||
NAME_REF@[19; 20)
|
||||
IDENT@[19; 20) "S"
|
||||
WHITESPACE@[20; 21)
|
||||
L_CURLY@[21; 22)
|
||||
R_CURLY@[22; 23)
|
||||
FIELD_PAT_LIST@[21; 23)
|
||||
L_CURLY@[21; 22)
|
||||
R_CURLY@[22; 23)
|
||||
WHITESPACE@[23; 24)
|
||||
EQ@[24; 25)
|
||||
WHITESPACE@[25; 26)
|
||||
|
@ -39,22 +40,23 @@ FILE@[0; 119)
|
|||
NAME_REF@[38; 39)
|
||||
IDENT@[38; 39) "S"
|
||||
WHITESPACE@[39; 40)
|
||||
L_CURLY@[40; 41)
|
||||
WHITESPACE@[41; 42)
|
||||
BIND_PAT@[42; 43)
|
||||
NAME@[42; 43)
|
||||
IDENT@[42; 43) "f"
|
||||
COMMA@[43; 44)
|
||||
WHITESPACE@[44; 45)
|
||||
BIND_PAT@[45; 54)
|
||||
REF_KW@[45; 48)
|
||||
WHITESPACE@[48; 49)
|
||||
MUT_KW@[49; 52)
|
||||
WHITESPACE@[52; 53)
|
||||
NAME@[53; 54)
|
||||
IDENT@[53; 54) "g"
|
||||
WHITESPACE@[54; 55)
|
||||
R_CURLY@[55; 56)
|
||||
FIELD_PAT_LIST@[40; 56)
|
||||
L_CURLY@[40; 41)
|
||||
WHITESPACE@[41; 42)
|
||||
BIND_PAT@[42; 43)
|
||||
NAME@[42; 43)
|
||||
IDENT@[42; 43) "f"
|
||||
COMMA@[43; 44)
|
||||
WHITESPACE@[44; 45)
|
||||
BIND_PAT@[45; 54)
|
||||
REF_KW@[45; 48)
|
||||
WHITESPACE@[48; 49)
|
||||
MUT_KW@[49; 52)
|
||||
WHITESPACE@[52; 53)
|
||||
NAME@[53; 54)
|
||||
IDENT@[53; 54) "g"
|
||||
WHITESPACE@[54; 55)
|
||||
R_CURLY@[55; 56)
|
||||
WHITESPACE@[56; 57)
|
||||
EQ@[57; 58)
|
||||
WHITESPACE@[58; 59)
|
||||
|
@ -72,17 +74,18 @@ FILE@[0; 119)
|
|||
NAME_REF@[71; 72)
|
||||
IDENT@[71; 72) "S"
|
||||
WHITESPACE@[72; 73)
|
||||
L_CURLY@[73; 74)
|
||||
WHITESPACE@[74; 75)
|
||||
IDENT@[75; 76) "h"
|
||||
COLON@[76; 77)
|
||||
WHITESPACE@[77; 78)
|
||||
PLACEHOLDER_PAT@[78; 79)
|
||||
UNDERSCORE@[78; 79)
|
||||
COMMA@[79; 80)
|
||||
WHITESPACE@[80; 81)
|
||||
DOTDOT@[81; 83)
|
||||
R_CURLY@[83; 84)
|
||||
FIELD_PAT_LIST@[73; 84)
|
||||
L_CURLY@[73; 74)
|
||||
WHITESPACE@[74; 75)
|
||||
IDENT@[75; 76) "h"
|
||||
COLON@[76; 77)
|
||||
WHITESPACE@[77; 78)
|
||||
PLACEHOLDER_PAT@[78; 79)
|
||||
UNDERSCORE@[78; 79)
|
||||
COMMA@[79; 80)
|
||||
WHITESPACE@[80; 81)
|
||||
DOTDOT@[81; 83)
|
||||
R_CURLY@[83; 84)
|
||||
WHITESPACE@[84; 85)
|
||||
EQ@[85; 86)
|
||||
WHITESPACE@[86; 87)
|
||||
|
@ -100,16 +103,17 @@ FILE@[0; 119)
|
|||
NAME_REF@[99; 100)
|
||||
IDENT@[99; 100) "S"
|
||||
WHITESPACE@[100; 101)
|
||||
L_CURLY@[101; 102)
|
||||
WHITESPACE@[102; 103)
|
||||
IDENT@[103; 104) "h"
|
||||
COLON@[104; 105)
|
||||
WHITESPACE@[105; 106)
|
||||
PLACEHOLDER_PAT@[106; 107)
|
||||
UNDERSCORE@[106; 107)
|
||||
COMMA@[107; 108)
|
||||
WHITESPACE@[108; 109)
|
||||
R_CURLY@[109; 110)
|
||||
FIELD_PAT_LIST@[101; 110)
|
||||
L_CURLY@[101; 102)
|
||||
WHITESPACE@[102; 103)
|
||||
IDENT@[103; 104) "h"
|
||||
COLON@[104; 105)
|
||||
WHITESPACE@[105; 106)
|
||||
PLACEHOLDER_PAT@[106; 107)
|
||||
UNDERSCORE@[106; 107)
|
||||
COMMA@[107; 108)
|
||||
WHITESPACE@[108; 109)
|
||||
R_CURLY@[109; 110)
|
||||
WHITESPACE@[110; 111)
|
||||
EQ@[111; 112)
|
||||
WHITESPACE@[112; 113)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 44)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 43)
|
||||
BLOCK@[9; 43)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 20)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 21)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 20)
|
||||
BLOCK@[9; 20)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 18)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 38)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 37)
|
||||
BLOCK@[9; 37)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 11)
|
||||
IF_EXPR@[11; 35)
|
||||
|
@ -34,7 +34,7 @@ FILE@[0; 38)
|
|||
NAME_REF@[28; 32)
|
||||
IDENT@[28; 32) "None"
|
||||
WHITESPACE@[32; 33)
|
||||
BLOCK_EXPR@[33; 35)
|
||||
BLOCK@[33; 35)
|
||||
L_CURLY@[33; 34)
|
||||
R_CURLY@[34; 35)
|
||||
WHITESPACE@[35; 36)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 70)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 69)
|
||||
BLOCK@[9; 69)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 29)
|
||||
|
@ -18,7 +18,7 @@ FILE@[0; 70)
|
|||
LITERAL@[21; 25)
|
||||
TRUE_KW@[21; 25)
|
||||
WHITESPACE@[25; 26)
|
||||
BLOCK_EXPR@[26; 28)
|
||||
BLOCK@[26; 28)
|
||||
L_CURLY@[26; 27)
|
||||
R_CURLY@[27; 28)
|
||||
SEMI@[28; 29)
|
||||
|
@ -55,7 +55,7 @@ FILE@[0; 70)
|
|||
L_PAREN@[61; 62)
|
||||
R_PAREN@[62; 63)
|
||||
WHITESPACE@[63; 64)
|
||||
BLOCK_EXPR@[64; 66)
|
||||
BLOCK@[64; 66)
|
||||
L_CURLY@[64; 65)
|
||||
R_CURLY@[65; 66)
|
||||
SEMI@[66; 67)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 70)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 11)
|
||||
BLOCK@[9; 11)
|
||||
L_CURLY@[9; 10)
|
||||
R_CURLY@[10; 11)
|
||||
WHITESPACE@[11; 12)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 28)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 27)
|
||||
BLOCK@[9; 27)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 25)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 40)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 39)
|
||||
BLOCK@[9; 39)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 18)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 26)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 25)
|
||||
BLOCK@[9; 25)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 23)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 39)
|
|||
L_PAREN@[7; 8)
|
||||
R_PAREN@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
BLOCK_EXPR@[10; 38)
|
||||
BLOCK@[10; 38)
|
||||
L_CURLY@[10; 11)
|
||||
WHITESPACE@[11; 16)
|
||||
LET_STMT@[16; 36)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 26)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 25)
|
||||
BLOCK@[9; 25)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 11)
|
||||
LET_STMT@[11; 23)
|
||||
|
|
|
@ -8,14 +8,14 @@ FILE@[0; 26)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 25)
|
||||
BLOCK@[9; 25)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 23)
|
||||
LOOP_EXPR@[15; 22)
|
||||
LOOP_KW@[15; 19)
|
||||
WHITESPACE@[19; 20)
|
||||
BLOCK_EXPR@[20; 22)
|
||||
BLOCK@[20; 22)
|
||||
L_CURLY@[20; 21)
|
||||
R_CURLY@[21; 22)
|
||||
SEMI@[22; 23)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 33)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 32)
|
||||
BLOCK@[9; 32)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 30)
|
||||
|
@ -25,7 +25,7 @@ FILE@[0; 33)
|
|||
L_BRACK@[24; 25)
|
||||
R_BRACK@[25; 26)
|
||||
WHITESPACE@[26; 27)
|
||||
BLOCK_EXPR@[27; 29)
|
||||
BLOCK@[27; 29)
|
||||
L_CURLY@[27; 28)
|
||||
R_CURLY@[28; 29)
|
||||
SEMI@[29; 30)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 83)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 82)
|
||||
BLOCK@[9; 82)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
MATCH_EXPR@[15; 80)
|
||||
|
@ -18,40 +18,42 @@ FILE@[0; 83)
|
|||
L_PAREN@[21; 22)
|
||||
R_PAREN@[22; 23)
|
||||
WHITESPACE@[23; 24)
|
||||
L_CURLY@[24; 25)
|
||||
WHITESPACE@[25; 34)
|
||||
MATCH_ARM@[34; 41)
|
||||
PLACEHOLDER_PAT@[34; 35)
|
||||
UNDERSCORE@[34; 35)
|
||||
WHITESPACE@[35; 36)
|
||||
FAT_ARROW@[36; 38)
|
||||
WHITESPACE@[38; 39)
|
||||
TUPLE_EXPR@[39; 41)
|
||||
L_PAREN@[39; 40)
|
||||
R_PAREN@[40; 41)
|
||||
COMMA@[41; 42)
|
||||
WHITESPACE@[42; 51)
|
||||
MATCH_ARM@[51; 58)
|
||||
PLACEHOLDER_PAT@[51; 52)
|
||||
UNDERSCORE@[51; 52)
|
||||
WHITESPACE@[52; 53)
|
||||
FAT_ARROW@[53; 55)
|
||||
WHITESPACE@[55; 56)
|
||||
BLOCK_EXPR@[56; 58)
|
||||
L_CURLY@[56; 57)
|
||||
R_CURLY@[57; 58)
|
||||
WHITESPACE@[58; 67)
|
||||
MATCH_ARM@[67; 74)
|
||||
PLACEHOLDER_PAT@[67; 68)
|
||||
UNDERSCORE@[67; 68)
|
||||
WHITESPACE@[68; 69)
|
||||
FAT_ARROW@[69; 71)
|
||||
WHITESPACE@[71; 72)
|
||||
TUPLE_EXPR@[72; 74)
|
||||
L_PAREN@[72; 73)
|
||||
R_PAREN@[73; 74)
|
||||
WHITESPACE@[74; 79)
|
||||
R_CURLY@[79; 80)
|
||||
MATCH_ARM_LIST@[24; 80)
|
||||
L_CURLY@[24; 25)
|
||||
WHITESPACE@[25; 34)
|
||||
MATCH_ARM@[34; 41)
|
||||
PLACEHOLDER_PAT@[34; 35)
|
||||
UNDERSCORE@[34; 35)
|
||||
WHITESPACE@[35; 36)
|
||||
FAT_ARROW@[36; 38)
|
||||
WHITESPACE@[38; 39)
|
||||
TUPLE_EXPR@[39; 41)
|
||||
L_PAREN@[39; 40)
|
||||
R_PAREN@[40; 41)
|
||||
COMMA@[41; 42)
|
||||
WHITESPACE@[42; 51)
|
||||
MATCH_ARM@[51; 58)
|
||||
PLACEHOLDER_PAT@[51; 52)
|
||||
UNDERSCORE@[51; 52)
|
||||
WHITESPACE@[52; 53)
|
||||
FAT_ARROW@[53; 55)
|
||||
WHITESPACE@[55; 56)
|
||||
BLOCK_EXPR@[56; 58)
|
||||
BLOCK@[56; 58)
|
||||
L_CURLY@[56; 57)
|
||||
R_CURLY@[57; 58)
|
||||
WHITESPACE@[58; 67)
|
||||
MATCH_ARM@[67; 74)
|
||||
PLACEHOLDER_PAT@[67; 68)
|
||||
UNDERSCORE@[67; 68)
|
||||
WHITESPACE@[68; 69)
|
||||
FAT_ARROW@[69; 71)
|
||||
WHITESPACE@[71; 72)
|
||||
TUPLE_EXPR@[72; 74)
|
||||
L_PAREN@[72; 73)
|
||||
R_PAREN@[73; 74)
|
||||
WHITESPACE@[74; 79)
|
||||
R_CURLY@[79; 80)
|
||||
WHITESPACE@[80; 81)
|
||||
R_CURLY@[81; 82)
|
||||
WHITESPACE@[82; 83)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 55)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 54)
|
||||
BLOCK@[9; 54)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 18)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 107)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 106)
|
||||
BLOCK@[9; 106)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
EXPR_STMT@[15; 25)
|
||||
|
@ -18,7 +18,7 @@ FILE@[0; 107)
|
|||
LITERAL@[18; 22)
|
||||
TRUE_KW@[18; 22)
|
||||
WHITESPACE@[22; 23)
|
||||
BLOCK_EXPR@[23; 25)
|
||||
BLOCK@[23; 25)
|
||||
L_CURLY@[23; 24)
|
||||
R_CURLY@[24; 25)
|
||||
WHITESPACE@[25; 30)
|
||||
|
@ -26,7 +26,7 @@ FILE@[0; 107)
|
|||
LOOP_EXPR@[30; 37)
|
||||
LOOP_KW@[30; 34)
|
||||
WHITESPACE@[34; 35)
|
||||
BLOCK_EXPR@[35; 37)
|
||||
BLOCK@[35; 37)
|
||||
L_CURLY@[35; 36)
|
||||
R_CURLY@[36; 37)
|
||||
WHITESPACE@[37; 42)
|
||||
|
@ -38,8 +38,9 @@ FILE@[0; 107)
|
|||
L_PAREN@[48; 49)
|
||||
R_PAREN@[49; 50)
|
||||
WHITESPACE@[50; 51)
|
||||
L_CURLY@[51; 52)
|
||||
R_CURLY@[52; 53)
|
||||
MATCH_ARM_LIST@[51; 53)
|
||||
L_CURLY@[51; 52)
|
||||
R_CURLY@[52; 53)
|
||||
WHITESPACE@[53; 58)
|
||||
EXPR_STMT@[58; 71)
|
||||
WHILE_EXPR@[58; 71)
|
||||
|
@ -48,7 +49,7 @@ FILE@[0; 107)
|
|||
LITERAL@[64; 68)
|
||||
TRUE_KW@[64; 68)
|
||||
WHITESPACE@[68; 69)
|
||||
BLOCK_EXPR@[69; 71)
|
||||
BLOCK@[69; 71)
|
||||
L_CURLY@[69; 70)
|
||||
R_CURLY@[70; 71)
|
||||
WHITESPACE@[71; 76)
|
||||
|
@ -65,18 +66,20 @@ FILE@[0; 107)
|
|||
L_PAREN@[85; 86)
|
||||
R_PAREN@[86; 87)
|
||||
WHITESPACE@[87; 88)
|
||||
BLOCK_EXPR@[88; 90)
|
||||
BLOCK@[88; 90)
|
||||
L_CURLY@[88; 89)
|
||||
R_CURLY@[89; 90)
|
||||
WHITESPACE@[90; 95)
|
||||
EXPR_STMT@[95; 97)
|
||||
BLOCK_EXPR@[95; 97)
|
||||
L_CURLY@[95; 96)
|
||||
R_CURLY@[96; 97)
|
||||
BLOCK@[95; 97)
|
||||
L_CURLY@[95; 96)
|
||||
R_CURLY@[96; 97)
|
||||
WHITESPACE@[97; 102)
|
||||
BLOCK_EXPR@[102; 104)
|
||||
L_CURLY@[102; 103)
|
||||
R_CURLY@[103; 104)
|
||||
BLOCK@[102; 104)
|
||||
L_CURLY@[102; 103)
|
||||
R_CURLY@[103; 104)
|
||||
WHITESPACE@[104; 105)
|
||||
R_CURLY@[105; 106)
|
||||
WHITESPACE@[106; 107)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 84)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 83)
|
||||
BLOCK@[9; 83)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
MATCH_EXPR@[15; 81)
|
||||
|
@ -18,41 +18,45 @@ FILE@[0; 84)
|
|||
L_PAREN@[21; 22)
|
||||
R_PAREN@[22; 23)
|
||||
WHITESPACE@[23; 24)
|
||||
L_CURLY@[24; 25)
|
||||
WHITESPACE@[25; 34)
|
||||
MATCH_ARM@[34; 41)
|
||||
PLACEHOLDER_PAT@[34; 35)
|
||||
UNDERSCORE@[34; 35)
|
||||
WHITESPACE@[35; 36)
|
||||
FAT_ARROW@[36; 38)
|
||||
WHITESPACE@[38; 39)
|
||||
BLOCK_EXPR@[39; 41)
|
||||
L_CURLY@[39; 40)
|
||||
R_CURLY@[40; 41)
|
||||
WHITESPACE@[41; 50)
|
||||
MATCH_ARM@[50; 58)
|
||||
TUPLE_PAT@[50; 52)
|
||||
L_PAREN@[50; 51)
|
||||
R_PAREN@[51; 52)
|
||||
WHITESPACE@[52; 53)
|
||||
FAT_ARROW@[53; 55)
|
||||
WHITESPACE@[55; 56)
|
||||
BLOCK_EXPR@[56; 58)
|
||||
L_CURLY@[56; 57)
|
||||
R_CURLY@[57; 58)
|
||||
WHITESPACE@[58; 67)
|
||||
MATCH_ARM@[67; 75)
|
||||
SLICE_PAT@[67; 69)
|
||||
L_BRACK@[67; 68)
|
||||
R_BRACK@[68; 69)
|
||||
WHITESPACE@[69; 70)
|
||||
FAT_ARROW@[70; 72)
|
||||
WHITESPACE@[72; 73)
|
||||
BLOCK_EXPR@[73; 75)
|
||||
L_CURLY@[73; 74)
|
||||
R_CURLY@[74; 75)
|
||||
WHITESPACE@[75; 80)
|
||||
R_CURLY@[80; 81)
|
||||
MATCH_ARM_LIST@[24; 81)
|
||||
L_CURLY@[24; 25)
|
||||
WHITESPACE@[25; 34)
|
||||
MATCH_ARM@[34; 41)
|
||||
PLACEHOLDER_PAT@[34; 35)
|
||||
UNDERSCORE@[34; 35)
|
||||
WHITESPACE@[35; 36)
|
||||
FAT_ARROW@[36; 38)
|
||||
WHITESPACE@[38; 39)
|
||||
BLOCK_EXPR@[39; 41)
|
||||
BLOCK@[39; 41)
|
||||
L_CURLY@[39; 40)
|
||||
R_CURLY@[40; 41)
|
||||
WHITESPACE@[41; 50)
|
||||
MATCH_ARM@[50; 58)
|
||||
TUPLE_PAT@[50; 52)
|
||||
L_PAREN@[50; 51)
|
||||
R_PAREN@[51; 52)
|
||||
WHITESPACE@[52; 53)
|
||||
FAT_ARROW@[53; 55)
|
||||
WHITESPACE@[55; 56)
|
||||
BLOCK_EXPR@[56; 58)
|
||||
BLOCK@[56; 58)
|
||||
L_CURLY@[56; 57)
|
||||
R_CURLY@[57; 58)
|
||||
WHITESPACE@[58; 67)
|
||||
MATCH_ARM@[67; 75)
|
||||
SLICE_PAT@[67; 69)
|
||||
L_BRACK@[67; 68)
|
||||
R_BRACK@[68; 69)
|
||||
WHITESPACE@[69; 70)
|
||||
FAT_ARROW@[70; 72)
|
||||
WHITESPACE@[72; 73)
|
||||
BLOCK_EXPR@[73; 75)
|
||||
BLOCK@[73; 75)
|
||||
L_CURLY@[73; 74)
|
||||
R_CURLY@[74; 75)
|
||||
WHITESPACE@[75; 80)
|
||||
R_CURLY@[80; 81)
|
||||
WHITESPACE@[81; 82)
|
||||
R_CURLY@[82; 83)
|
||||
WHITESPACE@[83; 84)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 46)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 45)
|
||||
BLOCK@[9; 45)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
LET_STMT@[15; 31)
|
||||
|
@ -21,10 +21,11 @@ FILE@[0; 46)
|
|||
WHITESPACE@[22; 23)
|
||||
BIN_EXPR@[23; 30)
|
||||
BLOCK_EXPR@[23; 26)
|
||||
L_CURLY@[23; 24)
|
||||
LITERAL@[24; 25)
|
||||
INT_NUMBER@[24; 25) "1"
|
||||
R_CURLY@[25; 26)
|
||||
BLOCK@[23; 26)
|
||||
L_CURLY@[23; 24)
|
||||
LITERAL@[24; 25)
|
||||
INT_NUMBER@[24; 25) "1"
|
||||
R_CURLY@[25; 26)
|
||||
WHITESPACE@[26; 27)
|
||||
AMP@[27; 28)
|
||||
WHITESPACE@[28; 29)
|
||||
|
@ -34,10 +35,11 @@ FILE@[0; 46)
|
|||
WHITESPACE@[31; 36)
|
||||
EXPR_STMT@[36; 39)
|
||||
BLOCK_EXPR@[36; 39)
|
||||
L_CURLY@[36; 37)
|
||||
LITERAL@[37; 38)
|
||||
INT_NUMBER@[37; 38) "1"
|
||||
R_CURLY@[38; 39)
|
||||
BLOCK@[36; 39)
|
||||
L_CURLY@[36; 37)
|
||||
LITERAL@[37; 38)
|
||||
INT_NUMBER@[37; 38) "1"
|
||||
R_CURLY@[38; 39)
|
||||
WHITESPACE@[39; 40)
|
||||
EXPR_STMT@[40; 43)
|
||||
REF_EXPR@[40; 42)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 39)
|
|||
L_PAREN@[7; 8)
|
||||
R_PAREN@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
BLOCK_EXPR@[10; 38)
|
||||
BLOCK@[10; 38)
|
||||
L_CURLY@[10; 11)
|
||||
WHITESPACE@[11; 16)
|
||||
LET_STMT@[16; 36)
|
||||
|
|
|
@ -8,60 +8,61 @@ FILE@[0; 83)
|
|||
NAME_REF@[5; 6)
|
||||
IDENT@[5; 6) "F"
|
||||
WHITESPACE@[6; 7)
|
||||
L_CURLY@[7; 8)
|
||||
WHITESPACE@[8; 13)
|
||||
TYPE_DEF@[13; 27)
|
||||
TYPE_KW@[13; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
NAME@[18; 19)
|
||||
IDENT@[18; 19) "A"
|
||||
COLON@[19; 20)
|
||||
WHITESPACE@[20; 21)
|
||||
PATH@[21; 26)
|
||||
PATH_SEGMENT@[21; 26)
|
||||
NAME_REF@[21; 26)
|
||||
IDENT@[21; 26) "Clone"
|
||||
SEMI@[26; 27)
|
||||
WHITESPACE@[27; 32)
|
||||
CONST_DEF@[32; 45)
|
||||
CONST_KW@[32; 37)
|
||||
WHITESPACE@[37; 38)
|
||||
NAME@[38; 39)
|
||||
IDENT@[38; 39) "B"
|
||||
COLON@[39; 40)
|
||||
WHITESPACE@[40; 41)
|
||||
PATH_TYPE@[41; 44)
|
||||
PATH@[41; 44)
|
||||
PATH_SEGMENT@[41; 44)
|
||||
NAME_REF@[41; 44)
|
||||
IDENT@[41; 44) "i32"
|
||||
SEMI@[44; 45)
|
||||
WHITESPACE@[45; 50)
|
||||
FN_DEF@[50; 61)
|
||||
FN_KW@[50; 52)
|
||||
WHITESPACE@[52; 53)
|
||||
NAME@[53; 56)
|
||||
IDENT@[53; 56) "foo"
|
||||
PARAM_LIST@[56; 58)
|
||||
L_PAREN@[56; 57)
|
||||
R_PAREN@[57; 58)
|
||||
WHITESPACE@[58; 59)
|
||||
BLOCK_EXPR@[59; 61)
|
||||
L_CURLY@[59; 60)
|
||||
R_CURLY@[60; 61)
|
||||
WHITESPACE@[61; 66)
|
||||
FN_DEF@[66; 80)
|
||||
FN_KW@[66; 68)
|
||||
WHITESPACE@[68; 69)
|
||||
NAME@[69; 72)
|
||||
IDENT@[69; 72) "bar"
|
||||
PARAM_LIST@[72; 79)
|
||||
L_PAREN@[72; 73)
|
||||
SELF_PARAM@[73; 78)
|
||||
AMP@[73; 74)
|
||||
SELF_KW@[74; 78)
|
||||
R_PAREN@[78; 79)
|
||||
SEMI@[79; 80)
|
||||
WHITESPACE@[80; 81)
|
||||
R_CURLY@[81; 82)
|
||||
ITEM_LIST@[7; 82)
|
||||
L_CURLY@[7; 8)
|
||||
WHITESPACE@[8; 13)
|
||||
TYPE_DEF@[13; 27)
|
||||
TYPE_KW@[13; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
NAME@[18; 19)
|
||||
IDENT@[18; 19) "A"
|
||||
COLON@[19; 20)
|
||||
WHITESPACE@[20; 21)
|
||||
PATH@[21; 26)
|
||||
PATH_SEGMENT@[21; 26)
|
||||
NAME_REF@[21; 26)
|
||||
IDENT@[21; 26) "Clone"
|
||||
SEMI@[26; 27)
|
||||
WHITESPACE@[27; 32)
|
||||
CONST_DEF@[32; 45)
|
||||
CONST_KW@[32; 37)
|
||||
WHITESPACE@[37; 38)
|
||||
NAME@[38; 39)
|
||||
IDENT@[38; 39) "B"
|
||||
COLON@[39; 40)
|
||||
WHITESPACE@[40; 41)
|
||||
PATH_TYPE@[41; 44)
|
||||
PATH@[41; 44)
|
||||
PATH_SEGMENT@[41; 44)
|
||||
NAME_REF@[41; 44)
|
||||
IDENT@[41; 44) "i32"
|
||||
SEMI@[44; 45)
|
||||
WHITESPACE@[45; 50)
|
||||
FN_DEF@[50; 61)
|
||||
FN_KW@[50; 52)
|
||||
WHITESPACE@[52; 53)
|
||||
NAME@[53; 56)
|
||||
IDENT@[53; 56) "foo"
|
||||
PARAM_LIST@[56; 58)
|
||||
L_PAREN@[56; 57)
|
||||
R_PAREN@[57; 58)
|
||||
WHITESPACE@[58; 59)
|
||||
BLOCK@[59; 61)
|
||||
L_CURLY@[59; 60)
|
||||
R_CURLY@[60; 61)
|
||||
WHITESPACE@[61; 66)
|
||||
FN_DEF@[66; 80)
|
||||
FN_KW@[66; 68)
|
||||
WHITESPACE@[68; 69)
|
||||
NAME@[69; 72)
|
||||
IDENT@[69; 72) "bar"
|
||||
PARAM_LIST@[72; 79)
|
||||
L_PAREN@[72; 73)
|
||||
SELF_PARAM@[73; 78)
|
||||
AMP@[73; 74)
|
||||
SELF_KW@[74; 78)
|
||||
R_PAREN@[78; 79)
|
||||
SEMI@[79; 80)
|
||||
WHITESPACE@[80; 81)
|
||||
R_CURLY@[81; 82)
|
||||
WHITESPACE@[82; 83)
|
||||
|
|
|
@ -5,17 +5,18 @@ FILE@[0; 22)
|
|||
NAME@[6; 7)
|
||||
IDENT@[6; 7) "T"
|
||||
WHITESPACE@[7; 8)
|
||||
L_CURLY@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
FN_DEF@[10; 19)
|
||||
FN_KW@[10; 12)
|
||||
WHITESPACE@[12; 13)
|
||||
NAME@[13; 16)
|
||||
IDENT@[13; 16) "foo"
|
||||
PARAM_LIST@[16; 18)
|
||||
L_PAREN@[16; 17)
|
||||
R_PAREN@[17; 18)
|
||||
SEMI@[18; 19)
|
||||
WHITESPACE@[19; 20)
|
||||
R_CURLY@[20; 21)
|
||||
ITEM_LIST@[8; 21)
|
||||
L_CURLY@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
FN_DEF@[10; 19)
|
||||
FN_KW@[10; 12)
|
||||
WHITESPACE@[12; 13)
|
||||
NAME@[13; 16)
|
||||
IDENT@[13; 16) "foo"
|
||||
PARAM_LIST@[16; 18)
|
||||
L_PAREN@[16; 17)
|
||||
R_PAREN@[17; 18)
|
||||
SEMI@[18; 19)
|
||||
WHITESPACE@[19; 20)
|
||||
R_CURLY@[20; 21)
|
||||
WHITESPACE@[21; 22)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 95)
|
|||
L_PAREN@[7; 8)
|
||||
R_PAREN@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
BLOCK_EXPR@[10; 94)
|
||||
BLOCK@[10; 94)
|
||||
L_CURLY@[10; 11)
|
||||
WHITESPACE@[11; 16)
|
||||
MATCH_EXPR@[16; 92)
|
||||
|
@ -18,42 +18,43 @@ FILE@[0; 95)
|
|||
L_PAREN@[22; 23)
|
||||
R_PAREN@[23; 24)
|
||||
WHITESPACE@[24; 25)
|
||||
L_CURLY@[25; 26)
|
||||
WHITESPACE@[26; 35)
|
||||
MATCH_ARM@[35; 43)
|
||||
LITERAL@[35; 37)
|
||||
INT_NUMBER@[35; 37) "92"
|
||||
WHITESPACE@[37; 38)
|
||||
FAT_ARROW@[38; 40)
|
||||
WHITESPACE@[40; 41)
|
||||
TUPLE_EXPR@[41; 43)
|
||||
L_PAREN@[41; 42)
|
||||
R_PAREN@[42; 43)
|
||||
COMMA@[43; 44)
|
||||
WHITESPACE@[44; 53)
|
||||
MATCH_ARM@[53; 62)
|
||||
LITERAL@[53; 56)
|
||||
CHAR@[53; 56)
|
||||
WHITESPACE@[56; 57)
|
||||
FAT_ARROW@[57; 59)
|
||||
WHITESPACE@[59; 60)
|
||||
TUPLE_EXPR@[60; 62)
|
||||
L_PAREN@[60; 61)
|
||||
R_PAREN@[61; 62)
|
||||
COMMA@[62; 63)
|
||||
WHITESPACE@[63; 72)
|
||||
MATCH_ARM@[72; 85)
|
||||
LITERAL@[72; 79)
|
||||
STRING@[72; 79)
|
||||
WHITESPACE@[79; 80)
|
||||
FAT_ARROW@[80; 82)
|
||||
WHITESPACE@[82; 83)
|
||||
TUPLE_EXPR@[83; 85)
|
||||
L_PAREN@[83; 84)
|
||||
R_PAREN@[84; 85)
|
||||
COMMA@[85; 86)
|
||||
WHITESPACE@[86; 91)
|
||||
R_CURLY@[91; 92)
|
||||
MATCH_ARM_LIST@[25; 92)
|
||||
L_CURLY@[25; 26)
|
||||
WHITESPACE@[26; 35)
|
||||
MATCH_ARM@[35; 43)
|
||||
LITERAL@[35; 37)
|
||||
INT_NUMBER@[35; 37) "92"
|
||||
WHITESPACE@[37; 38)
|
||||
FAT_ARROW@[38; 40)
|
||||
WHITESPACE@[40; 41)
|
||||
TUPLE_EXPR@[41; 43)
|
||||
L_PAREN@[41; 42)
|
||||
R_PAREN@[42; 43)
|
||||
COMMA@[43; 44)
|
||||
WHITESPACE@[44; 53)
|
||||
MATCH_ARM@[53; 62)
|
||||
LITERAL@[53; 56)
|
||||
CHAR@[53; 56)
|
||||
WHITESPACE@[56; 57)
|
||||
FAT_ARROW@[57; 59)
|
||||
WHITESPACE@[59; 60)
|
||||
TUPLE_EXPR@[60; 62)
|
||||
L_PAREN@[60; 61)
|
||||
R_PAREN@[61; 62)
|
||||
COMMA@[62; 63)
|
||||
WHITESPACE@[63; 72)
|
||||
MATCH_ARM@[72; 85)
|
||||
LITERAL@[72; 79)
|
||||
STRING@[72; 79)
|
||||
WHITESPACE@[79; 80)
|
||||
FAT_ARROW@[80; 82)
|
||||
WHITESPACE@[82; 83)
|
||||
TUPLE_EXPR@[83; 85)
|
||||
L_PAREN@[83; 84)
|
||||
R_PAREN@[84; 85)
|
||||
COMMA@[85; 86)
|
||||
WHITESPACE@[86; 91)
|
||||
R_CURLY@[91; 92)
|
||||
WHITESPACE@[92; 93)
|
||||
R_CURLY@[93; 94)
|
||||
WHITESPACE@[94; 95)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 47)
|
|||
L_PAREN@[7; 8)
|
||||
R_PAREN@[8; 9)
|
||||
WHITESPACE@[9; 10)
|
||||
BLOCK_EXPR@[10; 46)
|
||||
BLOCK@[10; 46)
|
||||
L_CURLY@[10; 11)
|
||||
WHITESPACE@[11; 16)
|
||||
MATCH_EXPR@[16; 44)
|
||||
|
@ -17,25 +17,26 @@ FILE@[0; 47)
|
|||
LITERAL@[22; 24)
|
||||
INT_NUMBER@[22; 24) "92"
|
||||
WHITESPACE@[24; 25)
|
||||
L_CURLY@[25; 26)
|
||||
WHITESPACE@[26; 27)
|
||||
MATCH_ARM@[27; 42)
|
||||
RANGE_PAT@[27; 36)
|
||||
LITERAL@[27; 28)
|
||||
INT_NUMBER@[27; 28) "0"
|
||||
WHITESPACE@[28; 29)
|
||||
DOTDOTDOT@[29; 32)
|
||||
WHITESPACE@[32; 33)
|
||||
LITERAL@[33; 36)
|
||||
INT_NUMBER@[33; 36) "100"
|
||||
WHITESPACE@[36; 37)
|
||||
FAT_ARROW@[37; 39)
|
||||
WHITESPACE@[39; 40)
|
||||
TUPLE_EXPR@[40; 42)
|
||||
L_PAREN@[40; 41)
|
||||
R_PAREN@[41; 42)
|
||||
WHITESPACE@[42; 43)
|
||||
R_CURLY@[43; 44)
|
||||
MATCH_ARM_LIST@[25; 44)
|
||||
L_CURLY@[25; 26)
|
||||
WHITESPACE@[26; 27)
|
||||
MATCH_ARM@[27; 42)
|
||||
RANGE_PAT@[27; 36)
|
||||
LITERAL@[27; 28)
|
||||
INT_NUMBER@[27; 28) "0"
|
||||
WHITESPACE@[28; 29)
|
||||
DOTDOTDOT@[29; 32)
|
||||
WHITESPACE@[32; 33)
|
||||
LITERAL@[33; 36)
|
||||
INT_NUMBER@[33; 36) "100"
|
||||
WHITESPACE@[36; 37)
|
||||
FAT_ARROW@[37; 39)
|
||||
WHITESPACE@[39; 40)
|
||||
TUPLE_EXPR@[40; 42)
|
||||
L_PAREN@[40; 41)
|
||||
R_PAREN@[41; 42)
|
||||
WHITESPACE@[42; 43)
|
||||
R_CURLY@[43; 44)
|
||||
WHITESPACE@[44; 45)
|
||||
R_CURLY@[45; 46)
|
||||
WHITESPACE@[46; 47)
|
||||
|
|
|
@ -29,7 +29,7 @@ FILE@[0; 27)
|
|||
LIFETIME@[20; 22) "'f"
|
||||
R_ANGLE@[22; 23)
|
||||
WHITESPACE@[23; 24)
|
||||
BLOCK_EXPR@[24; 26)
|
||||
BLOCK@[24; 26)
|
||||
L_CURLY@[24; 25)
|
||||
R_CURLY@[25; 26)
|
||||
WHITESPACE@[26; 27)
|
||||
|
|
|
@ -37,7 +37,7 @@ FILE@[0; 35)
|
|||
PARAM_LIST@[30; 32)
|
||||
L_PAREN@[30; 31)
|
||||
R_PAREN@[31; 32)
|
||||
BLOCK_EXPR@[32; 34)
|
||||
BLOCK@[32; 34)
|
||||
L_CURLY@[32; 33)
|
||||
R_CURLY@[33; 34)
|
||||
WHITESPACE@[34; 35)
|
||||
|
|
|
@ -63,7 +63,7 @@ FILE@[0; 87)
|
|||
LIFETIME@[80; 82) "'a"
|
||||
COMMA@[82; 83)
|
||||
WHITESPACE@[83; 84)
|
||||
BLOCK_EXPR@[84; 86)
|
||||
BLOCK@[84; 86)
|
||||
L_CURLY@[84; 85)
|
||||
R_CURLY@[85; 86)
|
||||
WHITESPACE@[86; 87)
|
||||
|
|
|
@ -11,7 +11,7 @@ FILE@[0; 20)
|
|||
L_PAREN@[13; 14)
|
||||
R_PAREN@[14; 15)
|
||||
WHITESPACE@[15; 16)
|
||||
BLOCK_EXPR@[16; 19)
|
||||
BLOCK@[16; 19)
|
||||
L_CURLY@[16; 17)
|
||||
WHITESPACE@[17; 18)
|
||||
R_CURLY@[18; 19)
|
||||
|
|
|
@ -41,7 +41,7 @@ FILE@[0; 71)
|
|||
L_PAREN@[33; 34)
|
||||
R_PAREN@[34; 35)
|
||||
WHITESPACE@[35; 36)
|
||||
BLOCK_EXPR@[36; 70)
|
||||
BLOCK@[36; 70)
|
||||
L_CURLY@[36; 37)
|
||||
WHITESPACE@[37; 38)
|
||||
EXPR_STMT@[38; 68)
|
||||
|
|
|
@ -8,7 +8,7 @@ FILE@[0; 21)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 20)
|
||||
BLOCK@[9; 20)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 11)
|
||||
EXPR_STMT@[11; 18)
|
||||
|
|
|
@ -5,37 +5,38 @@ FILE@[0; 64)
|
|||
NAME@[7; 8)
|
||||
IDENT@[7; 8) "S"
|
||||
WHITESPACE@[8; 9)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
NAMED_FIELD@[15; 60)
|
||||
ATTR@[15; 43)
|
||||
POUND@[15; 16)
|
||||
TOKEN_TREE@[16; 43)
|
||||
L_BRACK@[16; 17)
|
||||
IDENT@[17; 22) "serde"
|
||||
TOKEN_TREE@[22; 42)
|
||||
L_PAREN@[22; 23)
|
||||
IDENT@[23; 27) "with"
|
||||
WHITESPACE@[27; 28)
|
||||
EQ@[28; 29)
|
||||
WHITESPACE@[29; 30)
|
||||
STRING@[30; 41)
|
||||
R_PAREN@[41; 42)
|
||||
R_BRACK@[42; 43)
|
||||
WHITESPACE@[43; 48)
|
||||
VISIBILITY@[48; 51)
|
||||
PUB_KW@[48; 51)
|
||||
WHITESPACE@[51; 52)
|
||||
NAME@[52; 55)
|
||||
IDENT@[52; 55) "uri"
|
||||
COLON@[55; 56)
|
||||
WHITESPACE@[56; 57)
|
||||
PATH_TYPE@[57; 60)
|
||||
PATH@[57; 60)
|
||||
PATH_SEGMENT@[57; 60)
|
||||
NAME_REF@[57; 60)
|
||||
IDENT@[57; 60) "Uri"
|
||||
COMMA@[60; 61)
|
||||
WHITESPACE@[61; 62)
|
||||
R_CURLY@[62; 63)
|
||||
NAMED_FIELD_DEF_LIST@[9; 63)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
NAMED_FIELD_DEF@[15; 60)
|
||||
ATTR@[15; 43)
|
||||
POUND@[15; 16)
|
||||
TOKEN_TREE@[16; 43)
|
||||
L_BRACK@[16; 17)
|
||||
IDENT@[17; 22) "serde"
|
||||
TOKEN_TREE@[22; 42)
|
||||
L_PAREN@[22; 23)
|
||||
IDENT@[23; 27) "with"
|
||||
WHITESPACE@[27; 28)
|
||||
EQ@[28; 29)
|
||||
WHITESPACE@[29; 30)
|
||||
STRING@[30; 41)
|
||||
R_PAREN@[41; 42)
|
||||
R_BRACK@[42; 43)
|
||||
WHITESPACE@[43; 48)
|
||||
VISIBILITY@[48; 51)
|
||||
PUB_KW@[48; 51)
|
||||
WHITESPACE@[51; 52)
|
||||
NAME@[52; 55)
|
||||
IDENT@[52; 55) "uri"
|
||||
COLON@[55; 56)
|
||||
WHITESPACE@[56; 57)
|
||||
PATH_TYPE@[57; 60)
|
||||
PATH@[57; 60)
|
||||
PATH_SEGMENT@[57; 60)
|
||||
NAME_REF@[57; 60)
|
||||
IDENT@[57; 60) "Uri"
|
||||
COMMA@[60; 61)
|
||||
WHITESPACE@[61; 62)
|
||||
R_CURLY@[62; 63)
|
||||
WHITESPACE@[63; 64)
|
||||
|
|
|
@ -8,64 +8,65 @@ FILE@[0; 69)
|
|||
NAME_REF@[5; 6)
|
||||
IDENT@[5; 6) "S"
|
||||
WHITESPACE@[6; 7)
|
||||
L_CURLY@[7; 8)
|
||||
WHITESPACE@[8; 13)
|
||||
FN_DEF@[13; 33)
|
||||
FN_KW@[13; 15)
|
||||
WHITESPACE@[15; 16)
|
||||
NAME@[16; 17)
|
||||
IDENT@[16; 17) "a"
|
||||
PARAM_LIST@[17; 30)
|
||||
L_PAREN@[17; 18)
|
||||
SELF_PARAM@[18; 29)
|
||||
SELF_KW@[18; 22)
|
||||
COLON@[22; 23)
|
||||
WHITESPACE@[23; 24)
|
||||
REFERENCE_TYPE@[24; 29)
|
||||
AMP@[24; 25)
|
||||
PATH_TYPE@[25; 29)
|
||||
PATH@[25; 29)
|
||||
PATH_SEGMENT@[25; 29)
|
||||
NAME_REF@[25; 29)
|
||||
IDENT@[25; 29) "Self"
|
||||
R_PAREN@[29; 30)
|
||||
WHITESPACE@[30; 31)
|
||||
BLOCK_EXPR@[31; 33)
|
||||
L_CURLY@[31; 32)
|
||||
R_CURLY@[32; 33)
|
||||
WHITESPACE@[33; 38)
|
||||
FN_DEF@[38; 66)
|
||||
FN_KW@[38; 40)
|
||||
WHITESPACE@[40; 41)
|
||||
NAME@[41; 42)
|
||||
IDENT@[41; 42) "b"
|
||||
PARAM_LIST@[42; 63)
|
||||
L_PAREN@[42; 43)
|
||||
SELF_PARAM@[43; 62)
|
||||
MUT_KW@[43; 46)
|
||||
WHITESPACE@[46; 47)
|
||||
SELF_KW@[47; 51)
|
||||
COLON@[51; 52)
|
||||
WHITESPACE@[52; 53)
|
||||
PATH_TYPE@[53; 62)
|
||||
PATH@[53; 62)
|
||||
PATH_SEGMENT@[53; 62)
|
||||
NAME_REF@[53; 56)
|
||||
IDENT@[53; 56) "Box"
|
||||
TYPE_ARG_LIST@[56; 62)
|
||||
L_ANGLE@[56; 57)
|
||||
TYPE_ARG@[57; 61)
|
||||
PATH_TYPE@[57; 61)
|
||||
PATH@[57; 61)
|
||||
PATH_SEGMENT@[57; 61)
|
||||
NAME_REF@[57; 61)
|
||||
IDENT@[57; 61) "Self"
|
||||
R_ANGLE@[61; 62)
|
||||
R_PAREN@[62; 63)
|
||||
WHITESPACE@[63; 64)
|
||||
BLOCK_EXPR@[64; 66)
|
||||
L_CURLY@[64; 65)
|
||||
R_CURLY@[65; 66)
|
||||
WHITESPACE@[66; 67)
|
||||
R_CURLY@[67; 68)
|
||||
ITEM_LIST@[7; 68)
|
||||
L_CURLY@[7; 8)
|
||||
WHITESPACE@[8; 13)
|
||||
FN_DEF@[13; 33)
|
||||
FN_KW@[13; 15)
|
||||
WHITESPACE@[15; 16)
|
||||
NAME@[16; 17)
|
||||
IDENT@[16; 17) "a"
|
||||
PARAM_LIST@[17; 30)
|
||||
L_PAREN@[17; 18)
|
||||
SELF_PARAM@[18; 29)
|
||||
SELF_KW@[18; 22)
|
||||
COLON@[22; 23)
|
||||
WHITESPACE@[23; 24)
|
||||
REFERENCE_TYPE@[24; 29)
|
||||
AMP@[24; 25)
|
||||
PATH_TYPE@[25; 29)
|
||||
PATH@[25; 29)
|
||||
PATH_SEGMENT@[25; 29)
|
||||
NAME_REF@[25; 29)
|
||||
IDENT@[25; 29) "Self"
|
||||
R_PAREN@[29; 30)
|
||||
WHITESPACE@[30; 31)
|
||||
BLOCK@[31; 33)
|
||||
L_CURLY@[31; 32)
|
||||
R_CURLY@[32; 33)
|
||||
WHITESPACE@[33; 38)
|
||||
FN_DEF@[38; 66)
|
||||
FN_KW@[38; 40)
|
||||
WHITESPACE@[40; 41)
|
||||
NAME@[41; 42)
|
||||
IDENT@[41; 42) "b"
|
||||
PARAM_LIST@[42; 63)
|
||||
L_PAREN@[42; 43)
|
||||
SELF_PARAM@[43; 62)
|
||||
MUT_KW@[43; 46)
|
||||
WHITESPACE@[46; 47)
|
||||
SELF_KW@[47; 51)
|
||||
COLON@[51; 52)
|
||||
WHITESPACE@[52; 53)
|
||||
PATH_TYPE@[53; 62)
|
||||
PATH@[53; 62)
|
||||
PATH_SEGMENT@[53; 62)
|
||||
NAME_REF@[53; 56)
|
||||
IDENT@[53; 56) "Box"
|
||||
TYPE_ARG_LIST@[56; 62)
|
||||
L_ANGLE@[56; 57)
|
||||
TYPE_ARG@[57; 61)
|
||||
PATH_TYPE@[57; 61)
|
||||
PATH@[57; 61)
|
||||
PATH_SEGMENT@[57; 61)
|
||||
NAME_REF@[57; 61)
|
||||
IDENT@[57; 61) "Self"
|
||||
R_ANGLE@[61; 62)
|
||||
R_PAREN@[62; 63)
|
||||
WHITESPACE@[63; 64)
|
||||
BLOCK@[64; 66)
|
||||
L_CURLY@[64; 65)
|
||||
R_CURLY@[65; 66)
|
||||
WHITESPACE@[66; 67)
|
||||
R_CURLY@[67; 68)
|
||||
WHITESPACE@[68; 69)
|
||||
|
|
|
@ -8,13 +8,13 @@ FILE@[0; 69)
|
|||
L_PAREN@[6; 7)
|
||||
R_PAREN@[7; 8)
|
||||
WHITESPACE@[8; 9)
|
||||
BLOCK_EXPR@[9; 68)
|
||||
BLOCK@[9; 68)
|
||||
L_CURLY@[9; 10)
|
||||
WHITESPACE@[10; 15)
|
||||
LOOP_EXPR@[15; 66)
|
||||
LOOP_KW@[15; 19)
|
||||
WHITESPACE@[19; 20)
|
||||
BLOCK_EXPR@[20; 66)
|
||||
BLOCK@[20; 66)
|
||||
L_CURLY@[20; 21)
|
||||
WHITESPACE@[21; 30)
|
||||
EXPR_STMT@[30; 39)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue