mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-16 10:35:22 +00:00
Merge #1752
1752: Always wrap blocks into block expressions r=flodiebold a=matklad This way, things like function bodies are expressions, and we don't have to single them out Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
This commit is contained in:
commit
7faec1c300
crates
ra_assists/src
ra_fmt/src
ra_hir/src
ra_ide_api/src
ra_mbe/src
ra_parser/src
ra_syntax
src
test_data/parser
err
0005_attribute_recover.txt0007_stray_curly_in_file.txt0008_item_block_recovery.txt0010_unsafe_lambda_block.txt0014_where_no_bounds.txt0016_missing_semi.txt0017_incomplete_binexpr.txt0018_incomplete_fn.txt0019_let_recover.txt0020_fn_recover.txt0021_incomplete_param.txt0022_bad_exprs.txt0023_mismatched_paren.txt0024_many_type_parens.txt0025_nope.txt0027_incomplere_where_for.txt0028_macro_2.0.txt0029_field_completion.txt0031_block_inner_attrs.txt0032_match_arms_inner_attrs.txt0033_match_arms_outer_attrs.txt0034_bad_box_pattern.txt
inline
err
0002_misplaced_label_err.txt0006_unsafe_block_in_mod.txt0007_async_without_semicolon.txt0008_pub_expr.txt0009_attr_on_expr_not_allowed.txt0010_bad_tuple_index_expr.txt0010_wrong_order_fns.txt0014_default_fn_type.txt
ok
0001_trait_item_list.txt0003_where_pred_for.txt0005_function_type_params.txt0006_self_param.txt0008_path_part.txt0009_loop_expr.txt0011_field_expr.txt0015_continue_expr.txt0018_arb_self_types.txt0019_unary_expr.txt0021_impl_item_list.txt0024_slice_pat.txt0026_tuple_pat_fields.txt0027_ref_pat.txt0029_cast_expr.txt0030_cond.txt0031_while_expr.txt0034_break_expr.txt0036_unsafe_extern_fn.txt0037_qual_paths.txt0038_full_range_expr.txt0040_crate_keyword_vis.txt0042_call_expr.txt0044_block_items.txt0045_param_list_opt_patterns.txt0048_path_type_with_bounds.txt0053_path_expr.txt0055_literal_pattern.txt0056_where_clause.txt0057_const_fn.txt0058_range_pat.txt0059_match_arms_commas.txt0061_record_lit.txt0062_mod_contents.txt0064_if_expr.txt0066_match_arm.txt0070_stmt_bin_expr_ambiguity.txt0071_match_expr.txt0072_return_expr.txt0074_stmt_postfix_expr_ambiguity.txt0075_block.txt0076_function_where_clause.txt0077_try_expr.txt0080_postfix_range.txt0081_for_type.txt0082_ref_expr.txt
@ -274,7 +274,7 @@ impl AstBuilder<ast::Block> {
|
||||
|
||||
impl AstBuilder<ast::Expr> {
|
||||
fn from_text(text: &str) -> ast::Expr {
|
||||
ast_node_from_file_text(&format!("fn f() {{ {}; }}", text))
|
||||
ast_node_from_file_text(&format!("const C: () = {};", text))
|
||||
}
|
||||
|
||||
pub fn unit() -> ast::Expr {
|
||||
|
@ -3,7 +3,8 @@ use hir::db::HirDatabase;
|
||||
use ra_syntax::{
|
||||
ast::{self, AstNode},
|
||||
SyntaxKind::{
|
||||
BREAK_EXPR, COMMENT, LAMBDA_EXPR, LOOP_EXPR, MATCH_ARM, PATH_EXPR, RETURN_EXPR, WHITESPACE,
|
||||
BLOCK_EXPR, BREAK_EXPR, COMMENT, LAMBDA_EXPR, LOOP_EXPR, MATCH_ARM, PATH_EXPR, RETURN_EXPR,
|
||||
WHITESPACE,
|
||||
},
|
||||
SyntaxNode, TextUnit,
|
||||
};
|
||||
@ -80,10 +81,12 @@ pub(crate) fn introduce_variable(mut ctx: AssistCtx<impl HirDatabase>) -> Option
|
||||
/// In general that's true for any expression, but in some cases that would produce invalid code.
|
||||
fn valid_target_expr(node: SyntaxNode) -> Option<ast::Expr> {
|
||||
match node.kind() {
|
||||
PATH_EXPR => None,
|
||||
PATH_EXPR | LOOP_EXPR => None,
|
||||
BREAK_EXPR => ast::BreakExpr::cast(node).and_then(|e| e.expr()),
|
||||
RETURN_EXPR => ast::ReturnExpr::cast(node).and_then(|e| e.expr()),
|
||||
LOOP_EXPR => ast::ReturnExpr::cast(node).and_then(|e| e.expr()),
|
||||
BLOCK_EXPR => {
|
||||
ast::BlockExpr::cast(node).filter(|it| it.is_standalone()).map(ast::Expr::from)
|
||||
}
|
||||
_ => ast::Expr::cast(node),
|
||||
}
|
||||
}
|
||||
|
@ -65,9 +65,9 @@ pub(crate) fn move_arm_cond_to_match_guard(mut ctx: AssistCtx<impl HirDatabase>)
|
||||
"move condition to match guard",
|
||||
|edit| {
|
||||
edit.target(if_expr.syntax().text_range());
|
||||
let then_only_expr = then_block.statements().next().is_none();
|
||||
let then_only_expr = then_block.block().and_then(|it| it.statements().next()).is_none();
|
||||
|
||||
match &then_block.expr() {
|
||||
match &then_block.block().and_then(|it| it.expr()) {
|
||||
Some(then_expr) if then_only_expr => {
|
||||
edit.replace(if_expr.syntax().text_range(), then_expr.syntax().text())
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
use format_buf::format;
|
||||
use hir::db::HirDatabase;
|
||||
use ra_fmt::extract_trivial_expression;
|
||||
use ra_syntax::{ast, AstNode};
|
||||
@ -25,16 +26,21 @@ pub(crate) fn replace_if_let_with_match(mut ctx: AssistCtx<impl HirDatabase>) ->
|
||||
ctx.build()
|
||||
}
|
||||
|
||||
fn build_match_expr(expr: ast::Expr, pat1: ast::Pat, arm1: ast::Block, arm2: ast::Block) -> String {
|
||||
fn build_match_expr(
|
||||
expr: ast::Expr,
|
||||
pat1: ast::Pat,
|
||||
arm1: ast::BlockExpr,
|
||||
arm2: ast::BlockExpr,
|
||||
) -> String {
|
||||
let mut buf = String::new();
|
||||
buf.push_str(&format!("match {} {{\n", expr.syntax().text()));
|
||||
buf.push_str(&format!(" {} => {}\n", pat1.syntax().text(), format_arm(&arm1)));
|
||||
buf.push_str(&format!(" _ => {}\n", format_arm(&arm2)));
|
||||
format!(buf, "match {} {{\n", expr.syntax().text());
|
||||
format!(buf, " {} => {}\n", pat1.syntax().text(), format_arm(&arm1));
|
||||
format!(buf, " _ => {}\n", format_arm(&arm2));
|
||||
buf.push_str("}");
|
||||
buf
|
||||
}
|
||||
|
||||
fn format_arm(block: &ast::Block) -> String {
|
||||
fn format_arm(block: &ast::BlockExpr) -> String {
|
||||
match extract_trivial_expression(block) {
|
||||
None => block.syntax().text().to_string(),
|
||||
Some(e) => format!("{},", e.syntax().text()),
|
||||
|
@ -34,7 +34,8 @@ fn prev_tokens(token: SyntaxToken) -> impl Iterator<Item = SyntaxToken> {
|
||||
successors(token.prev_token(), |token| token.prev_token())
|
||||
}
|
||||
|
||||
pub fn extract_trivial_expression(block: &ast::Block) -> Option<ast::Expr> {
|
||||
pub fn extract_trivial_expression(expr: &ast::BlockExpr) -> Option<ast::Expr> {
|
||||
let block = expr.block()?;
|
||||
let expr = block.expr()?;
|
||||
if expr.syntax().text().contains_char('\n') {
|
||||
return None;
|
||||
|
@ -119,10 +119,10 @@ where
|
||||
expr_id: crate::expr::ExprId,
|
||||
) -> Option<Source<ast::Expr>> {
|
||||
let source_map = self.body_source_map(db);
|
||||
let expr_syntax = source_map.expr_syntax(expr_id)?;
|
||||
let expr_syntax = source_map.expr_syntax(expr_id)?.a()?;
|
||||
let source = self.source(db);
|
||||
let node = expr_syntax.to_node(&source.ast.syntax());
|
||||
ast::Expr::cast(node).map(|ast| Source { file_id: source.file_id, ast })
|
||||
let ast = expr_syntax.to_node(&source.ast.syntax());
|
||||
Some(Source { file_id: source.file_id, ast })
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -9,7 +9,7 @@ use ra_syntax::{
|
||||
self, ArgListOwner, ArrayExprKind, LiteralKind, LoopBodyOwner, NameOwner,
|
||||
TypeAscriptionOwner,
|
||||
},
|
||||
AstNode, AstPtr, SyntaxNodePtr,
|
||||
AstNode, AstPtr,
|
||||
};
|
||||
use test_utils::tested_by;
|
||||
|
||||
@ -56,13 +56,14 @@ pub struct Body {
|
||||
/// file, so that we don't recompute types whenever some whitespace is typed.
|
||||
#[derive(Default, Debug, Eq, PartialEq)]
|
||||
pub struct BodySourceMap {
|
||||
expr_map: FxHashMap<SyntaxNodePtr, ExprId>,
|
||||
expr_map_back: ArenaMap<ExprId, SyntaxNodePtr>,
|
||||
expr_map: FxHashMap<ExprPtr, ExprId>,
|
||||
expr_map_back: ArenaMap<ExprId, ExprPtr>,
|
||||
pat_map: FxHashMap<PatPtr, PatId>,
|
||||
pat_map_back: ArenaMap<PatId, PatPtr>,
|
||||
field_map: FxHashMap<(ExprId, usize), AstPtr<ast::RecordField>>,
|
||||
}
|
||||
|
||||
type ExprPtr = Either<AstPtr<ast::Expr>, AstPtr<ast::RecordField>>;
|
||||
type PatPtr = Either<AstPtr<ast::Pat>, AstPtr<ast::SelfParam>>;
|
||||
|
||||
impl Body {
|
||||
@ -128,16 +129,12 @@ impl Index<PatId> for Body {
|
||||
}
|
||||
|
||||
impl BodySourceMap {
|
||||
pub(crate) fn expr_syntax(&self, expr: ExprId) -> Option<SyntaxNodePtr> {
|
||||
pub(crate) fn expr_syntax(&self, expr: ExprId) -> Option<ExprPtr> {
|
||||
self.expr_map_back.get(expr).cloned()
|
||||
}
|
||||
|
||||
pub(crate) fn syntax_expr(&self, ptr: SyntaxNodePtr) -> Option<ExprId> {
|
||||
self.expr_map.get(&ptr).cloned()
|
||||
}
|
||||
|
||||
pub(crate) fn node_expr(&self, node: &ast::Expr) -> Option<ExprId> {
|
||||
self.expr_map.get(&SyntaxNodePtr::new(node.syntax())).cloned()
|
||||
self.expr_map.get(&Either::A(AstPtr::new(node))).cloned()
|
||||
}
|
||||
|
||||
pub(crate) fn pat_syntax(&self, pat: PatId) -> Option<PatPtr> {
|
||||
@ -575,11 +572,12 @@ where
|
||||
current_file_id: file_id,
|
||||
}
|
||||
}
|
||||
fn alloc_expr(&mut self, expr: Expr, syntax_ptr: SyntaxNodePtr) -> ExprId {
|
||||
fn alloc_expr(&mut self, expr: Expr, ptr: AstPtr<ast::Expr>) -> ExprId {
|
||||
let ptr = Either::A(ptr);
|
||||
let id = self.exprs.alloc(expr);
|
||||
if self.current_file_id == self.original_file_id {
|
||||
self.source_map.expr_map.insert(syntax_ptr, id);
|
||||
self.source_map.expr_map_back.insert(id, syntax_ptr);
|
||||
self.source_map.expr_map.insert(ptr, id);
|
||||
self.source_map.expr_map_back.insert(id, ptr);
|
||||
}
|
||||
id
|
||||
}
|
||||
@ -601,7 +599,7 @@ where
|
||||
}
|
||||
|
||||
fn collect_expr(&mut self, expr: ast::Expr) -> ExprId {
|
||||
let syntax_ptr = SyntaxNodePtr::new(expr.syntax());
|
||||
let syntax_ptr = AstPtr::new(&expr);
|
||||
match expr {
|
||||
ast::Expr::IfExpr(e) => {
|
||||
let then_branch = self.collect_block_opt(e.then_branch());
|
||||
@ -640,10 +638,10 @@ where
|
||||
self.alloc_expr(Expr::If { condition, then_branch, else_branch }, syntax_ptr)
|
||||
}
|
||||
ast::Expr::TryBlockExpr(e) => {
|
||||
let body = self.collect_block_opt(e.block());
|
||||
let body = self.collect_block_opt(e.body());
|
||||
self.alloc_expr(Expr::TryBlock { body }, syntax_ptr)
|
||||
}
|
||||
ast::Expr::BlockExpr(e) => self.collect_block_opt(e.block()),
|
||||
ast::Expr::BlockExpr(e) => self.collect_block(e),
|
||||
ast::Expr::LoopExpr(e) => {
|
||||
let body = self.collect_block_opt(e.loop_body());
|
||||
self.alloc_expr(Expr::Loop { body }, syntax_ptr)
|
||||
@ -739,7 +737,7 @@ where
|
||||
ast::Expr::ParenExpr(e) => {
|
||||
let inner = self.collect_expr_opt(e.expr());
|
||||
// make the paren expr point to the inner expression as well
|
||||
self.source_map.expr_map.insert(syntax_ptr, inner);
|
||||
self.source_map.expr_map.insert(Either::A(syntax_ptr), inner);
|
||||
inner
|
||||
}
|
||||
ast::Expr::ReturnExpr(e) => {
|
||||
@ -763,12 +761,9 @@ where
|
||||
} else if let Some(nr) = field.name_ref() {
|
||||
// field shorthand
|
||||
let id = self.exprs.alloc(Expr::Path(Path::from_name_ref(&nr)));
|
||||
self.source_map
|
||||
.expr_map
|
||||
.insert(SyntaxNodePtr::new(nr.syntax()), id);
|
||||
self.source_map
|
||||
.expr_map_back
|
||||
.insert(id, SyntaxNodePtr::new(nr.syntax()));
|
||||
let ptr = Either::B(AstPtr::new(&field));
|
||||
self.source_map.expr_map.insert(ptr, id);
|
||||
self.source_map.expr_map_back.insert(id, ptr);
|
||||
id
|
||||
} else {
|
||||
self.exprs.alloc(Expr::Missing)
|
||||
@ -942,7 +937,12 @@ where
|
||||
}
|
||||
}
|
||||
|
||||
fn collect_block(&mut self, block: ast::Block) -> ExprId {
|
||||
fn collect_block(&mut self, expr: ast::BlockExpr) -> ExprId {
|
||||
let syntax_node_ptr = AstPtr::new(&expr.clone().into());
|
||||
let block = match expr.block() {
|
||||
Some(block) => block,
|
||||
None => return self.alloc_expr(Expr::Missing, syntax_node_ptr),
|
||||
};
|
||||
let statements = block
|
||||
.statements()
|
||||
.map(|s| match s {
|
||||
@ -956,11 +956,11 @@ where
|
||||
})
|
||||
.collect();
|
||||
let tail = block.expr().map(|e| self.collect_expr(e));
|
||||
self.alloc_expr(Expr::Block { statements, tail }, SyntaxNodePtr::new(block.syntax()))
|
||||
self.alloc_expr(Expr::Block { statements, tail }, syntax_node_ptr)
|
||||
}
|
||||
|
||||
fn collect_block_opt(&mut self, block: Option<ast::Block>) -> ExprId {
|
||||
if let Some(block) = block {
|
||||
fn collect_block_opt(&mut self, expr: Option<ast::BlockExpr>) -> ExprId {
|
||||
if let Some(block) = expr {
|
||||
self.collect_block(block)
|
||||
} else {
|
||||
self.exprs.alloc(Expr::Missing)
|
||||
|
@ -172,7 +172,7 @@ fn compute_expr_scopes(expr: ExprId, body: &Body, scopes: &mut ExprScopes, scope
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use ra_db::SourceDatabase;
|
||||
use ra_syntax::{algo::find_node_at_offset, ast, AstNode, SyntaxNodePtr};
|
||||
use ra_syntax::{algo::find_node_at_offset, ast, AstNode};
|
||||
use test_utils::{assert_eq_text, extract_offset};
|
||||
|
||||
use crate::{mock::MockDatabase, source_binder::SourceAnalyzer};
|
||||
@ -194,8 +194,7 @@ mod tests {
|
||||
let analyzer = SourceAnalyzer::new(&db, file_id, marker.syntax(), None);
|
||||
|
||||
let scopes = analyzer.scopes();
|
||||
let expr_id =
|
||||
analyzer.body_source_map().syntax_expr(SyntaxNodePtr::new(marker.syntax())).unwrap();
|
||||
let expr_id = analyzer.body_source_map().node_expr(&marker.into()).unwrap();
|
||||
let scope = scopes.scope_for(expr_id);
|
||||
|
||||
let actual = scopes
|
||||
|
@ -1,7 +1,7 @@
|
||||
use rustc_hash::FxHashSet;
|
||||
use std::sync::Arc;
|
||||
|
||||
use ra_syntax::ast::{AstNode, RecordLit};
|
||||
use ra_syntax::ast::{self, AstNode};
|
||||
use rustc_hash::FxHashSet;
|
||||
|
||||
use super::{Expr, ExprId, RecordLitField};
|
||||
use crate::{
|
||||
@ -13,7 +13,6 @@ use crate::{
|
||||
ty::{ApplicationTy, InferenceResult, Ty, TypeCtor},
|
||||
Function, HasSource, HirDatabase, ModuleDef, Name, Path, PerNs, Resolution,
|
||||
};
|
||||
use ra_syntax::ast;
|
||||
|
||||
pub(crate) struct ExprValidator<'a, 'b: 'a> {
|
||||
func: Function,
|
||||
@ -84,8 +83,12 @@ impl<'a, 'b> ExprValidator<'a, 'b> {
|
||||
let source_file = parse.tree();
|
||||
if let Some(field_list_node) = source_map
|
||||
.expr_syntax(id)
|
||||
.and_then(|ptr| ptr.a())
|
||||
.map(|ptr| ptr.to_node(source_file.syntax()))
|
||||
.and_then(RecordLit::cast)
|
||||
.and_then(|expr| match expr {
|
||||
ast::Expr::RecordLit(it) => Some(it),
|
||||
_ => None,
|
||||
})
|
||||
.and_then(|lit| lit.record_field_list())
|
||||
{
|
||||
let field_list_ptr = AstPtr::new(&field_list_node);
|
||||
@ -135,7 +138,7 @@ impl<'a, 'b> ExprValidator<'a, 'b> {
|
||||
let source_map = self.func.body_source_map(db);
|
||||
let file_id = self.func.source(db).file_id;
|
||||
|
||||
if let Some(expr) = source_map.expr_syntax(id).and_then(|n| n.cast::<ast::Expr>()) {
|
||||
if let Some(expr) = source_map.expr_syntax(id).and_then(|n| n.a()) {
|
||||
self.sink.push(MissingOkInTailExpr { file: file_id, expr });
|
||||
}
|
||||
}
|
||||
|
@ -462,8 +462,8 @@ fn scope_for(
|
||||
node: &SyntaxNode,
|
||||
) -> Option<ScopeId> {
|
||||
node.ancestors()
|
||||
.map(|it| SyntaxNodePtr::new(&it))
|
||||
.filter_map(|ptr| source_map.syntax_expr(ptr))
|
||||
.filter_map(ast::Expr::cast)
|
||||
.filter_map(|it| source_map.node_expr(&it))
|
||||
.find_map(|it| scopes.scope_for(it))
|
||||
}
|
||||
|
||||
@ -475,7 +475,10 @@ fn scope_for_offset(
|
||||
scopes
|
||||
.scope_by_expr()
|
||||
.iter()
|
||||
.filter_map(|(id, scope)| Some((source_map.expr_syntax(*id)?, scope)))
|
||||
.filter_map(|(id, scope)| {
|
||||
let ast_ptr = source_map.expr_syntax(*id)?.a()?;
|
||||
Some((ast_ptr.syntax_node_ptr(), scope))
|
||||
})
|
||||
// find containing scope
|
||||
.min_by_key(|(ptr, _scope)| {
|
||||
(!(ptr.range().start() <= offset && offset <= ptr.range().end()), ptr.range().len())
|
||||
@ -495,7 +498,10 @@ fn adjust(
|
||||
let child_scopes = scopes
|
||||
.scope_by_expr()
|
||||
.iter()
|
||||
.filter_map(|(id, scope)| Some((source_map.expr_syntax(*id)?, scope)))
|
||||
.filter_map(|(id, scope)| {
|
||||
let ast_ptr = source_map.expr_syntax(*id)?.a()?;
|
||||
Some((ast_ptr.syntax_node_ptr(), scope))
|
||||
})
|
||||
.map(|(ptr, scope)| (ptr.range(), scope))
|
||||
.filter(|(range, _)| range.start() <= offset && range.is_subrange(&r) && *range != r);
|
||||
|
||||
|
@ -3582,7 +3582,7 @@ fn infer(content: &str) -> String {
|
||||
|
||||
for (expr, ty) in inference_result.type_of_expr.iter() {
|
||||
let syntax_ptr = match body_source_map.expr_syntax(expr) {
|
||||
Some(sp) => sp,
|
||||
Some(sp) => sp.either(|it| it.syntax_node_ptr(), |it| it.syntax_node_ptr()),
|
||||
None => continue,
|
||||
};
|
||||
types.push((syntax_ptr, ty));
|
||||
|
@ -123,7 +123,7 @@ fn has_comma_after(node: &SyntaxNode) -> bool {
|
||||
fn join_single_expr_block(edit: &mut TextEditBuilder, token: &SyntaxToken) -> Option<()> {
|
||||
let block = ast::Block::cast(token.parent())?;
|
||||
let block_expr = ast::BlockExpr::cast(block.syntax().parent()?)?;
|
||||
let expr = extract_trivial_expression(&block)?;
|
||||
let expr = extract_trivial_expression(&block_expr)?;
|
||||
|
||||
let block_range = block_expr.syntax().text_range();
|
||||
let mut buf = expr.syntax().text().to_string();
|
||||
|
@ -116,9 +116,10 @@ SOURCE_FILE@[0; 11)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 11)
|
||||
L_CURLY@[9; 10) "{"
|
||||
R_CURLY@[10; 11) "}"
|
||||
BLOCK_EXPR@[9; 11)
|
||||
BLOCK@[9; 11)
|
||||
L_CURLY@[9; 10) "{"
|
||||
R_CURLY@[10; 11) "}"
|
||||
"#
|
||||
.trim()
|
||||
);
|
||||
@ -148,26 +149,27 @@ SOURCE_FILE@[0; 60)
|
||||
L_PAREN@[7; 8) "("
|
||||
R_PAREN@[8; 9) ")"
|
||||
WHITESPACE@[9; 10) " "
|
||||
BLOCK@[10; 60)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
EXPR_STMT@[16; 58)
|
||||
MACRO_CALL@[16; 57)
|
||||
PATH@[16; 22)
|
||||
PATH_SEGMENT@[16; 22)
|
||||
NAME_REF@[16; 22)
|
||||
IDENT@[16; 22) "assert"
|
||||
EXCL@[22; 23) "!"
|
||||
TOKEN_TREE@[23; 57)
|
||||
L_PAREN@[23; 24) "("
|
||||
STRING@[24; 52) "\"\n fn foo() {\n ..."
|
||||
COMMA@[52; 53) ","
|
||||
WHITESPACE@[53; 54) " "
|
||||
STRING@[54; 56) "\"\""
|
||||
R_PAREN@[56; 57) ")"
|
||||
SEMI@[57; 58) ";"
|
||||
WHITESPACE@[58; 59) "\n"
|
||||
R_CURLY@[59; 60) "}"
|
||||
BLOCK_EXPR@[10; 60)
|
||||
BLOCK@[10; 60)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
EXPR_STMT@[16; 58)
|
||||
MACRO_CALL@[16; 57)
|
||||
PATH@[16; 22)
|
||||
PATH_SEGMENT@[16; 22)
|
||||
NAME_REF@[16; 22)
|
||||
IDENT@[16; 22) "assert"
|
||||
EXCL@[22; 23) "!"
|
||||
TOKEN_TREE@[23; 57)
|
||||
L_PAREN@[23; 24) "("
|
||||
STRING@[24; 52) "\"\n fn foo() {\n ..."
|
||||
COMMA@[52; 53) ","
|
||||
WHITESPACE@[53; 54) " "
|
||||
STRING@[54; 56) "\"\""
|
||||
R_PAREN@[56; 57) ")"
|
||||
SEMI@[57; 58) ";"
|
||||
WHITESPACE@[58; 59) "\n"
|
||||
R_CURLY@[59; 60) "}"
|
||||
"#
|
||||
.trim()
|
||||
);
|
||||
@ -190,9 +192,10 @@ FN_DEF@[0; 11)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 11)
|
||||
L_CURLY@[9; 10) "{"
|
||||
R_CURLY@[10; 11) "}"
|
||||
BLOCK_EXPR@[9; 11)
|
||||
BLOCK@[9; 11)
|
||||
L_CURLY@[9; 10) "{"
|
||||
R_CURLY@[10; 11) "}"
|
||||
"#
|
||||
.trim()
|
||||
);
|
||||
@ -258,10 +261,11 @@ SOURCE_FILE@[0; 12)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 12)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) "\n"
|
||||
R_CURLY@[11; 12) "}"
|
||||
BLOCK_EXPR@[9; 12)
|
||||
BLOCK@[9; 12)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) "\n"
|
||||
R_CURLY@[11; 12) "}"
|
||||
"#
|
||||
.trim()
|
||||
);
|
||||
@ -292,10 +296,11 @@ SOURCE_FILE@[0; 12)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 12)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) "\n"
|
||||
R_CURLY@[11; 12) "}"
|
||||
BLOCK_EXPR@[9; 12)
|
||||
BLOCK@[9; 12)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) "\n"
|
||||
R_CURLY@[11; 12) "}"
|
||||
"#
|
||||
.trim()
|
||||
);
|
||||
@ -325,10 +330,11 @@ SOURCE_FILE@[0; 25)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 12)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) "\n"
|
||||
R_CURLY@[11; 12) "}"
|
||||
BLOCK_EXPR@[9; 12)
|
||||
BLOCK@[9; 12)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) "\n"
|
||||
R_CURLY@[11; 12) "}"
|
||||
WHITESPACE@[12; 13) "\n"
|
||||
FN_DEF@[13; 25)
|
||||
FN_KW@[13; 15) "fn"
|
||||
@ -339,10 +345,11 @@ SOURCE_FILE@[0; 25)
|
||||
L_PAREN@[19; 20) "("
|
||||
R_PAREN@[20; 21) ")"
|
||||
WHITESPACE@[21; 22) " "
|
||||
BLOCK@[22; 25)
|
||||
L_CURLY@[22; 23) "{"
|
||||
WHITESPACE@[23; 24) "\n"
|
||||
R_CURLY@[24; 25) "}"
|
||||
BLOCK_EXPR@[22; 25)
|
||||
BLOCK@[22; 25)
|
||||
L_CURLY@[22; 23) "{"
|
||||
WHITESPACE@[23; 24) "\n"
|
||||
R_CURLY@[24; 25) "}"
|
||||
"#
|
||||
.trim()
|
||||
);
|
||||
|
@ -678,21 +678,22 @@ fn test_expr_order() {
|
||||
PARAM_LIST@[5; 7)
|
||||
L_PAREN@[5; 6) "("
|
||||
R_PAREN@[6; 7) ")"
|
||||
BLOCK@[7; 15)
|
||||
L_CURLY@[7; 8) "{"
|
||||
EXPR_STMT@[8; 14)
|
||||
BIN_EXPR@[8; 13)
|
||||
BIN_EXPR@[8; 11)
|
||||
LITERAL@[8; 9)
|
||||
INT_NUMBER@[8; 9) "1"
|
||||
PLUS@[9; 10) "+"
|
||||
LITERAL@[10; 11)
|
||||
INT_NUMBER@[10; 11) "1"
|
||||
STAR@[11; 12) "*"
|
||||
LITERAL@[12; 13)
|
||||
INT_NUMBER@[12; 13) "2"
|
||||
SEMI@[13; 14) ";"
|
||||
R_CURLY@[14; 15) "}""#,
|
||||
BLOCK_EXPR@[7; 15)
|
||||
BLOCK@[7; 15)
|
||||
L_CURLY@[7; 8) "{"
|
||||
EXPR_STMT@[8; 14)
|
||||
BIN_EXPR@[8; 13)
|
||||
BIN_EXPR@[8; 11)
|
||||
LITERAL@[8; 9)
|
||||
INT_NUMBER@[8; 9) "1"
|
||||
PLUS@[9; 10) "+"
|
||||
LITERAL@[10; 11)
|
||||
INT_NUMBER@[10; 11) "1"
|
||||
STAR@[11; 12) "*"
|
||||
LITERAL@[12; 13)
|
||||
INT_NUMBER@[12; 13) "2"
|
||||
SEMI@[13; 14) ";"
|
||||
R_CURLY@[14; 15) "}""#,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -144,7 +144,7 @@ pub(crate) fn reparser(
|
||||
parent: Option<SyntaxKind>,
|
||||
) -> Option<fn(&mut Parser)> {
|
||||
let res = match node {
|
||||
BLOCK => expressions::block,
|
||||
BLOCK => expressions::naked_block,
|
||||
RECORD_FIELD_DEF_LIST => items::record_field_def_list,
|
||||
RECORD_FIELD_LIST => items::record_field_list,
|
||||
ENUM_VARIANT_LIST => items::enum_variant_list,
|
||||
|
@ -40,6 +40,11 @@ pub(crate) fn block(p: &mut Parser) {
|
||||
p.error("expected a block");
|
||||
return;
|
||||
}
|
||||
atom::block_expr(p, None);
|
||||
}
|
||||
|
||||
pub(crate) fn naked_block(p: &mut Parser) {
|
||||
assert!(p.at(T!['{']));
|
||||
let m = p.start();
|
||||
p.bump();
|
||||
expr_block_contents(p);
|
||||
|
@ -463,10 +463,10 @@ fn match_guard(p: &mut Parser) -> CompletedMarker {
|
||||
// unsafe {};
|
||||
// 'label: {};
|
||||
// }
|
||||
fn block_expr(p: &mut Parser, m: Option<Marker>) -> CompletedMarker {
|
||||
pub(super) fn block_expr(p: &mut Parser, m: Option<Marker>) -> CompletedMarker {
|
||||
assert!(p.at(T!['{']));
|
||||
let m = m.unwrap_or_else(|| p.start());
|
||||
block(p);
|
||||
naked_block(p);
|
||||
m.complete(p, BLOCK_EXPR)
|
||||
}
|
||||
|
||||
|
@ -9,12 +9,12 @@ use crate::{
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
pub enum ElseBranch {
|
||||
Block(ast::Block),
|
||||
Block(ast::BlockExpr),
|
||||
IfExpr(ast::IfExpr),
|
||||
}
|
||||
|
||||
impl ast::IfExpr {
|
||||
pub fn then_branch(&self) -> Option<ast::Block> {
|
||||
pub fn then_branch(&self) -> Option<ast::BlockExpr> {
|
||||
self.blocks().nth(0)
|
||||
}
|
||||
pub fn else_branch(&self) -> Option<ElseBranch> {
|
||||
@ -28,7 +28,7 @@ impl ast::IfExpr {
|
||||
Some(res)
|
||||
}
|
||||
|
||||
fn blocks(&self) -> AstChildren<ast::Block> {
|
||||
fn blocks(&self) -> AstChildren<ast::BlockExpr> {
|
||||
children(self)
|
||||
}
|
||||
}
|
||||
@ -289,6 +289,26 @@ impl ast::Literal {
|
||||
}
|
||||
}
|
||||
|
||||
impl ast::BlockExpr {
|
||||
/// false if the block is an intrinsic part of the syntax and can't be
|
||||
/// replaced with arbitrary expression.
|
||||
///
|
||||
/// ```not_rust
|
||||
/// fn foo() { not_stand_alone }
|
||||
/// const FOO: () = { stand_alone };
|
||||
/// ```
|
||||
pub fn is_standalone(&self) -> bool {
|
||||
let kind = match self.syntax().parent() {
|
||||
None => return true,
|
||||
Some(it) => it.kind(),
|
||||
};
|
||||
match kind {
|
||||
FN_DEF | MATCH_ARM | IF_EXPR | WHILE_EXPR | LOOP_EXPR | TRY_BLOCK_EXPR => false,
|
||||
_ => true,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_literal_with_attr() {
|
||||
let parse = ast::SourceFile::parse(r#"const _: &str = { #[attr] "Hello" };"#);
|
||||
|
@ -1003,7 +1003,7 @@ impl FnDef {
|
||||
pub fn param_list(&self) -> Option<ParamList> {
|
||||
AstChildren::new(&self.syntax).next()
|
||||
}
|
||||
pub fn body(&self) -> Option<Block> {
|
||||
pub fn body(&self) -> Option<BlockExpr> {
|
||||
AstChildren::new(&self.syntax).next()
|
||||
}
|
||||
pub fn ret_type(&self) -> Option<RetType> {
|
||||
@ -3135,7 +3135,7 @@ impl AstNode for TryBlockExpr {
|
||||
}
|
||||
}
|
||||
impl TryBlockExpr {
|
||||
pub fn block(&self) -> Option<Block> {
|
||||
pub fn body(&self) -> Option<BlockExpr> {
|
||||
AstChildren::new(&self.syntax).next()
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ pub trait VisibilityOwner: AstNode {
|
||||
}
|
||||
|
||||
pub trait LoopBodyOwner: AstNode {
|
||||
fn loop_body(&self) -> Option<ast::Block> {
|
||||
fn loop_body(&self) -> Option<ast::BlockExpr> {
|
||||
child_opt(self)
|
||||
}
|
||||
}
|
||||
|
@ -275,7 +275,7 @@ Grammar(
|
||||
"AttrsOwner",
|
||||
"DocCommentsOwner"
|
||||
],
|
||||
options: [ "ParamList", ["body", "Block"], "RetType" ],
|
||||
options: [ "ParamList", ["body", "BlockExpr"], "RetType" ],
|
||||
),
|
||||
"RetType": (options: ["TypeRef"]),
|
||||
"StructDef": (
|
||||
@ -426,7 +426,7 @@ Grammar(
|
||||
traits: ["LoopBodyOwner"],
|
||||
),
|
||||
"TryBlockExpr": (
|
||||
options: ["Block"],
|
||||
options: [["body", "BlockExpr"]],
|
||||
),
|
||||
"ForExpr": (
|
||||
traits: ["LoopBodyOwner"],
|
||||
|
@ -203,7 +203,8 @@ fn api_walkthrough() {
|
||||
assert_eq!(name.text(), "foo");
|
||||
|
||||
// Let's get the `1 + 1` expression!
|
||||
let block: ast::Block = func.body().unwrap();
|
||||
let body: ast::BlockExpr = func.body().unwrap();
|
||||
let block = body.block().unwrap();
|
||||
let expr: ast::Expr = block.expr().unwrap();
|
||||
|
||||
// Enums are used to group related ast nodes together, and can be used for
|
||||
|
@ -97,7 +97,7 @@ pub(crate) fn validate(root: &SyntaxNode) -> Vec<SyntaxError> {
|
||||
for node in root.descendants() {
|
||||
let _ = visitor_ctx(&mut errors)
|
||||
.visit::<ast::Literal, _>(validate_literal)
|
||||
.visit::<ast::Block, _>(block::validate_block_node)
|
||||
.visit::<ast::BlockExpr, _>(block::validate_block_expr)
|
||||
.visit::<ast::FieldExpr, _>(|it, errors| validate_numeric_name(it.name_ref(), errors))
|
||||
.visit::<ast::RecordField, _>(|it, errors| validate_numeric_name(it.name_ref(), errors))
|
||||
.accept(&node);
|
||||
|
@ -5,18 +5,18 @@ use crate::{
|
||||
SyntaxKind::*,
|
||||
};
|
||||
|
||||
pub(crate) fn validate_block_node(node: ast::Block, errors: &mut Vec<SyntaxError>) {
|
||||
if let Some(parent) = node.syntax().parent() {
|
||||
pub(crate) fn validate_block_expr(expr: ast::BlockExpr, errors: &mut Vec<SyntaxError>) {
|
||||
if let Some(parent) = expr.syntax().parent() {
|
||||
match parent.kind() {
|
||||
FN_DEF => return,
|
||||
BLOCK_EXPR => match parent.parent().map(|v| v.kind()) {
|
||||
Some(EXPR_STMT) | Some(BLOCK) => return,
|
||||
_ => {}
|
||||
},
|
||||
FN_DEF | EXPR_STMT | BLOCK => return,
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
errors.extend(
|
||||
node.attrs().map(|attr| SyntaxError::new(InvalidBlockAttr, attr.syntax().text_range())),
|
||||
)
|
||||
if let Some(block) = expr.block() {
|
||||
errors.extend(
|
||||
block
|
||||
.attrs()
|
||||
.map(|attr| SyntaxError::new(InvalidBlockAttr, attr.syntax().text_range())),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -25,10 +25,11 @@ SOURCE_FILE@[0; 54)
|
||||
L_PAREN@[25; 26) "("
|
||||
R_PAREN@[26; 27) ")"
|
||||
WHITESPACE@[27; 28) " "
|
||||
BLOCK@[28; 31)
|
||||
L_CURLY@[28; 29) "{"
|
||||
WHITESPACE@[29; 30) "\n"
|
||||
R_CURLY@[30; 31) "}"
|
||||
BLOCK_EXPR@[28; 31)
|
||||
BLOCK@[28; 31)
|
||||
L_CURLY@[28; 29) "{"
|
||||
WHITESPACE@[29; 30) "\n"
|
||||
R_CURLY@[30; 31) "}"
|
||||
WHITESPACE@[31; 34) "\n\n\n"
|
||||
ATTR@[34; 53)
|
||||
POUND@[34; 35) "#"
|
||||
|
@ -20,9 +20,10 @@ SOURCE_FILE@[0; 31)
|
||||
PARAM_LIST@[23; 25)
|
||||
L_PAREN@[23; 24) "("
|
||||
R_PAREN@[24; 25) ")"
|
||||
BLOCK@[25; 27)
|
||||
L_CURLY@[25; 26) "{"
|
||||
R_CURLY@[26; 27) "}"
|
||||
BLOCK_EXPR@[25; 27)
|
||||
BLOCK@[25; 27)
|
||||
L_CURLY@[25; 26) "{"
|
||||
R_CURLY@[26; 27) "}"
|
||||
WHITESPACE@[27; 29) "\n\n"
|
||||
ERROR@[29; 30)
|
||||
R_CURLY@[29; 30) "}"
|
||||
|
@ -8,10 +8,11 @@ SOURCE_FILE@[0; 95)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 12)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) "\n"
|
||||
R_CURLY@[11; 12) "}"
|
||||
BLOCK_EXPR@[9; 12)
|
||||
BLOCK@[9; 12)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) "\n"
|
||||
R_CURLY@[11; 12) "}"
|
||||
WHITESPACE@[12; 14) "\n\n"
|
||||
MACRO_CALL@[14; 19)
|
||||
PATH@[14; 17)
|
||||
@ -32,29 +33,31 @@ SOURCE_FILE@[0; 95)
|
||||
LITERAL@[29; 33)
|
||||
TRUE_KW@[29; 33) "true"
|
||||
WHITESPACE@[33; 34) " "
|
||||
BLOCK@[34; 51)
|
||||
L_CURLY@[34; 35) "{"
|
||||
WHITESPACE@[35; 44) "\n "
|
||||
LITERAL@[44; 45)
|
||||
INT_NUMBER@[44; 45) "1"
|
||||
WHITESPACE@[45; 50) "\n "
|
||||
R_CURLY@[50; 51) "}"
|
||||
BLOCK_EXPR@[34; 51)
|
||||
BLOCK@[34; 51)
|
||||
L_CURLY@[34; 35) "{"
|
||||
WHITESPACE@[35; 44) "\n "
|
||||
LITERAL@[44; 45)
|
||||
INT_NUMBER@[44; 45) "1"
|
||||
WHITESPACE@[45; 50) "\n "
|
||||
R_CURLY@[50; 51) "}"
|
||||
WHITESPACE@[51; 52) " "
|
||||
ELSE_KW@[52; 56) "else"
|
||||
WHITESPACE@[56; 57) " "
|
||||
BLOCK@[57; 78)
|
||||
L_CURLY@[57; 58) "{"
|
||||
WHITESPACE@[58; 67) "\n "
|
||||
BIN_EXPR@[67; 72)
|
||||
LITERAL@[67; 68)
|
||||
INT_NUMBER@[67; 68) "2"
|
||||
WHITESPACE@[68; 69) " "
|
||||
PLUS@[69; 70) "+"
|
||||
WHITESPACE@[70; 71) " "
|
||||
LITERAL@[71; 72)
|
||||
INT_NUMBER@[71; 72) "3"
|
||||
WHITESPACE@[72; 77) "\n "
|
||||
R_CURLY@[77; 78) "}"
|
||||
BLOCK_EXPR@[57; 78)
|
||||
BLOCK@[57; 78)
|
||||
L_CURLY@[57; 58) "{"
|
||||
WHITESPACE@[58; 67) "\n "
|
||||
BIN_EXPR@[67; 72)
|
||||
LITERAL@[67; 68)
|
||||
INT_NUMBER@[67; 68) "2"
|
||||
WHITESPACE@[68; 69) " "
|
||||
PLUS@[69; 70) "+"
|
||||
WHITESPACE@[70; 71) " "
|
||||
LITERAL@[71; 72)
|
||||
INT_NUMBER@[71; 72) "3"
|
||||
WHITESPACE@[72; 77) "\n "
|
||||
R_CURLY@[77; 78) "}"
|
||||
WHITESPACE@[78; 79) "\n"
|
||||
R_CURLY@[79; 80) "}"
|
||||
WHITESPACE@[80; 82) "\n\n"
|
||||
@ -67,10 +70,11 @@ SOURCE_FILE@[0; 95)
|
||||
L_PAREN@[88; 89) "("
|
||||
R_PAREN@[89; 90) ")"
|
||||
WHITESPACE@[90; 91) " "
|
||||
BLOCK@[91; 94)
|
||||
L_CURLY@[91; 92) "{"
|
||||
WHITESPACE@[92; 93) "\n"
|
||||
R_CURLY@[93; 94) "}"
|
||||
BLOCK_EXPR@[91; 94)
|
||||
BLOCK@[91; 94)
|
||||
L_CURLY@[91; 92) "{"
|
||||
WHITESPACE@[92; 93) "\n"
|
||||
R_CURLY@[93; 94) "}"
|
||||
WHITESPACE@[94; 95) "\n"
|
||||
error 17: expected EXCL
|
||||
error 19: expected SEMI
|
||||
|
@ -8,35 +8,36 @@ SOURCE_FILE@[0; 42)
|
||||
L_PAREN@[7; 8) "("
|
||||
R_PAREN@[8; 9) ")"
|
||||
WHITESPACE@[9; 10) " "
|
||||
BLOCK@[10; 41)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
EXPR_STMT@[16; 39)
|
||||
LAMBDA_EXPR@[16; 38)
|
||||
PARAM_LIST@[16; 18)
|
||||
PIPE@[16; 17) "|"
|
||||
PIPE@[17; 18) "|"
|
||||
WHITESPACE@[18; 19) " "
|
||||
RET_TYPE@[19; 24)
|
||||
THIN_ARROW@[19; 21) "->"
|
||||
WHITESPACE@[21; 22) " "
|
||||
TUPLE_TYPE@[22; 24)
|
||||
L_PAREN@[22; 23) "("
|
||||
R_PAREN@[23; 24) ")"
|
||||
WHITESPACE@[24; 25) " "
|
||||
BLOCK_EXPR@[25; 38)
|
||||
UNSAFE_KW@[25; 31) "unsafe"
|
||||
WHITESPACE@[31; 32) " "
|
||||
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) "\n"
|
||||
R_CURLY@[40; 41) "}"
|
||||
BLOCK_EXPR@[10; 41)
|
||||
BLOCK@[10; 41)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
EXPR_STMT@[16; 39)
|
||||
LAMBDA_EXPR@[16; 38)
|
||||
PARAM_LIST@[16; 18)
|
||||
PIPE@[16; 17) "|"
|
||||
PIPE@[17; 18) "|"
|
||||
WHITESPACE@[18; 19) " "
|
||||
RET_TYPE@[19; 24)
|
||||
THIN_ARROW@[19; 21) "->"
|
||||
WHITESPACE@[21; 22) " "
|
||||
TUPLE_TYPE@[22; 24)
|
||||
L_PAREN@[22; 23) "("
|
||||
R_PAREN@[23; 24) ")"
|
||||
WHITESPACE@[24; 25) " "
|
||||
BLOCK_EXPR@[25; 38)
|
||||
UNSAFE_KW@[25; 31) "unsafe"
|
||||
WHITESPACE@[31; 32) " "
|
||||
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) "\n"
|
||||
R_CURLY@[40; 41) "}"
|
||||
WHITESPACE@[41; 42) "\n"
|
||||
error 24: expected `{`
|
||||
|
@ -24,8 +24,9 @@ SOURCE_FILE@[0; 23)
|
||||
NAME_REF@[18; 19)
|
||||
IDENT@[18; 19) "T"
|
||||
WHITESPACE@[19; 20) " "
|
||||
BLOCK@[20; 22)
|
||||
L_CURLY@[20; 21) "{"
|
||||
R_CURLY@[21; 22) "}"
|
||||
BLOCK_EXPR@[20; 22)
|
||||
BLOCK@[20; 22)
|
||||
L_CURLY@[20; 21) "{"
|
||||
R_CURLY@[21; 22) "}"
|
||||
WHITESPACE@[22; 23) "\n"
|
||||
error 19: expected colon
|
||||
|
@ -8,36 +8,37 @@ SOURCE_FILE@[0; 56)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 55)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 38)
|
||||
CALL_EXPR@[15; 38)
|
||||
PATH_EXPR@[15; 18)
|
||||
PATH@[15; 18)
|
||||
PATH_SEGMENT@[15; 18)
|
||||
NAME_REF@[15; 18)
|
||||
IDENT@[15; 18) "foo"
|
||||
ARG_LIST@[18; 38)
|
||||
L_PAREN@[18; 19) "("
|
||||
WHITESPACE@[19; 28) "\n "
|
||||
LITERAL@[28; 29)
|
||||
INT_NUMBER@[28; 29) "1"
|
||||
COMMA@[29; 30) ","
|
||||
WHITESPACE@[30; 31) " "
|
||||
LITERAL@[31; 32)
|
||||
INT_NUMBER@[31; 32) "2"
|
||||
WHITESPACE@[32; 37) "\n "
|
||||
R_PAREN@[37; 38) ")"
|
||||
WHITESPACE@[38; 43) "\n "
|
||||
EXPR_STMT@[43; 53)
|
||||
RETURN_EXPR@[43; 52)
|
||||
RETURN_KW@[43; 49) "return"
|
||||
WHITESPACE@[49; 50) " "
|
||||
LITERAL@[50; 52)
|
||||
INT_NUMBER@[50; 52) "92"
|
||||
SEMI@[52; 53) ";"
|
||||
WHITESPACE@[53; 54) "\n"
|
||||
R_CURLY@[54; 55) "}"
|
||||
BLOCK_EXPR@[9; 55)
|
||||
BLOCK@[9; 55)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 38)
|
||||
CALL_EXPR@[15; 38)
|
||||
PATH_EXPR@[15; 18)
|
||||
PATH@[15; 18)
|
||||
PATH_SEGMENT@[15; 18)
|
||||
NAME_REF@[15; 18)
|
||||
IDENT@[15; 18) "foo"
|
||||
ARG_LIST@[18; 38)
|
||||
L_PAREN@[18; 19) "("
|
||||
WHITESPACE@[19; 28) "\n "
|
||||
LITERAL@[28; 29)
|
||||
INT_NUMBER@[28; 29) "1"
|
||||
COMMA@[29; 30) ","
|
||||
WHITESPACE@[30; 31) " "
|
||||
LITERAL@[31; 32)
|
||||
INT_NUMBER@[31; 32) "2"
|
||||
WHITESPACE@[32; 37) "\n "
|
||||
R_PAREN@[37; 38) ")"
|
||||
WHITESPACE@[38; 43) "\n "
|
||||
EXPR_STMT@[43; 53)
|
||||
RETURN_EXPR@[43; 52)
|
||||
RETURN_KW@[43; 49) "return"
|
||||
WHITESPACE@[49; 50) " "
|
||||
LITERAL@[50; 52)
|
||||
INT_NUMBER@[50; 52) "92"
|
||||
SEMI@[52; 53) ";"
|
||||
WHITESPACE@[53; 54) "\n"
|
||||
R_CURLY@[54; 55) "}"
|
||||
WHITESPACE@[55; 56) "\n"
|
||||
error 38: expected SEMI
|
||||
|
@ -19,28 +19,29 @@ SOURCE_FILE@[0; 47)
|
||||
IDENT@[12; 15) "i32"
|
||||
R_PAREN@[15; 16) ")"
|
||||
WHITESPACE@[16; 17) " "
|
||||
BLOCK@[17; 46)
|
||||
L_CURLY@[17; 18) "{"
|
||||
WHITESPACE@[18; 23) "\n "
|
||||
LET_STMT@[23; 36)
|
||||
LET_KW@[23; 26) "let"
|
||||
WHITESPACE@[26; 27) " "
|
||||
BIND_PAT@[27; 30)
|
||||
NAME@[27; 30)
|
||||
IDENT@[27; 30) "bar"
|
||||
WHITESPACE@[30; 31) " "
|
||||
EQ@[31; 32) "="
|
||||
WHITESPACE@[32; 33) " "
|
||||
LITERAL@[33; 35)
|
||||
INT_NUMBER@[33; 35) "92"
|
||||
SEMI@[35; 36) ";"
|
||||
WHITESPACE@[36; 41) "\n "
|
||||
BIN_EXPR@[41; 44)
|
||||
LITERAL@[41; 42)
|
||||
INT_NUMBER@[41; 42) "1"
|
||||
WHITESPACE@[42; 43) " "
|
||||
PLUS@[43; 44) "+"
|
||||
WHITESPACE@[44; 45) "\n"
|
||||
R_CURLY@[45; 46) "}"
|
||||
BLOCK_EXPR@[17; 46)
|
||||
BLOCK@[17; 46)
|
||||
L_CURLY@[17; 18) "{"
|
||||
WHITESPACE@[18; 23) "\n "
|
||||
LET_STMT@[23; 36)
|
||||
LET_KW@[23; 26) "let"
|
||||
WHITESPACE@[26; 27) " "
|
||||
BIND_PAT@[27; 30)
|
||||
NAME@[27; 30)
|
||||
IDENT@[27; 30) "bar"
|
||||
WHITESPACE@[30; 31) " "
|
||||
EQ@[31; 32) "="
|
||||
WHITESPACE@[32; 33) " "
|
||||
LITERAL@[33; 35)
|
||||
INT_NUMBER@[33; 35) "92"
|
||||
SEMI@[35; 36) ";"
|
||||
WHITESPACE@[36; 41) "\n "
|
||||
BIN_EXPR@[41; 44)
|
||||
LITERAL@[41; 42)
|
||||
INT_NUMBER@[41; 42) "1"
|
||||
WHITESPACE@[42; 43) " "
|
||||
PLUS@[43; 44) "+"
|
||||
WHITESPACE@[44; 45) "\n"
|
||||
R_CURLY@[45; 46) "}"
|
||||
WHITESPACE@[46; 47) "\n"
|
||||
error 44: expected expression
|
||||
|
@ -32,89 +32,90 @@ SOURCE_FILE@[0; 183)
|
||||
NAME_REF@[39; 46)
|
||||
IDENT@[39; 46) "ScopeId"
|
||||
WHITESPACE@[46; 47) " "
|
||||
BLOCK@[47; 161)
|
||||
L_CURLY@[47; 48) "{"
|
||||
WHITESPACE@[48; 57) "\n "
|
||||
LET_STMT@[57; 85)
|
||||
LET_KW@[57; 60) "let"
|
||||
WHITESPACE@[60; 61) " "
|
||||
BIND_PAT@[61; 64)
|
||||
NAME@[61; 64)
|
||||
IDENT@[61; 64) "res"
|
||||
WHITESPACE@[64; 65) " "
|
||||
EQ@[65; 66) "="
|
||||
WHITESPACE@[66; 67) " "
|
||||
METHOD_CALL_EXPR@[67; 84)
|
||||
FIELD_EXPR@[67; 78)
|
||||
PATH_EXPR@[67; 71)
|
||||
PATH@[67; 71)
|
||||
PATH_SEGMENT@[67; 71)
|
||||
SELF_KW@[67; 71) "self"
|
||||
DOT@[71; 72) "."
|
||||
NAME_REF@[72; 78)
|
||||
IDENT@[72; 78) "scopes"
|
||||
DOT@[78; 79) "."
|
||||
NAME_REF@[79; 82)
|
||||
IDENT@[79; 82) "len"
|
||||
ARG_LIST@[82; 84)
|
||||
L_PAREN@[82; 83) "("
|
||||
R_PAREN@[83; 84) ")"
|
||||
SEMI@[84; 85) ";"
|
||||
WHITESPACE@[85; 94) "\n "
|
||||
METHOD_CALL_EXPR@[94; 155)
|
||||
FIELD_EXPR@[94; 105)
|
||||
PATH_EXPR@[94; 98)
|
||||
PATH@[94; 98)
|
||||
PATH_SEGMENT@[94; 98)
|
||||
SELF_KW@[94; 98) "self"
|
||||
DOT@[98; 99) "."
|
||||
NAME_REF@[99; 105)
|
||||
IDENT@[99; 105) "scopes"
|
||||
DOT@[105; 106) "."
|
||||
NAME_REF@[106; 110)
|
||||
IDENT@[106; 110) "push"
|
||||
ARG_LIST@[110; 155)
|
||||
L_PAREN@[110; 111) "("
|
||||
RECORD_LIT@[111; 154)
|
||||
PATH@[111; 120)
|
||||
PATH_SEGMENT@[111; 120)
|
||||
NAME_REF@[111; 120)
|
||||
IDENT@[111; 120) "ScopeData"
|
||||
WHITESPACE@[120; 121) " "
|
||||
RECORD_FIELD_LIST@[121; 154)
|
||||
L_CURLY@[121; 122) "{"
|
||||
WHITESPACE@[122; 123) " "
|
||||
RECORD_FIELD@[123; 135)
|
||||
NAME_REF@[123; 129)
|
||||
IDENT@[123; 129) "parent"
|
||||
COLON@[129; 130) ":"
|
||||
WHITESPACE@[130; 131) " "
|
||||
PATH_EXPR@[131; 135)
|
||||
PATH@[131; 135)
|
||||
PATH_SEGMENT@[131; 135)
|
||||
NAME_REF@[131; 135)
|
||||
IDENT@[131; 135) "None"
|
||||
COMMA@[135; 136) ","
|
||||
WHITESPACE@[136; 137) " "
|
||||
RECORD_FIELD@[137; 152)
|
||||
NAME_REF@[137; 144)
|
||||
IDENT@[137; 144) "entries"
|
||||
COLON@[144; 145) ":"
|
||||
WHITESPACE@[145; 146) " "
|
||||
MACRO_CALL@[146; 152)
|
||||
PATH@[146; 149)
|
||||
PATH_SEGMENT@[146; 149)
|
||||
NAME_REF@[146; 149)
|
||||
IDENT@[146; 149) "vec"
|
||||
EXCL@[149; 150) "!"
|
||||
TOKEN_TREE@[150; 152)
|
||||
L_BRACK@[150; 151) "["
|
||||
R_BRACK@[151; 152) "]"
|
||||
WHITESPACE@[152; 153) " "
|
||||
R_CURLY@[153; 154) "}"
|
||||
R_PAREN@[154; 155) ")"
|
||||
WHITESPACE@[155; 160) "\n "
|
||||
R_CURLY@[160; 161) "}"
|
||||
BLOCK_EXPR@[47; 161)
|
||||
BLOCK@[47; 161)
|
||||
L_CURLY@[47; 48) "{"
|
||||
WHITESPACE@[48; 57) "\n "
|
||||
LET_STMT@[57; 85)
|
||||
LET_KW@[57; 60) "let"
|
||||
WHITESPACE@[60; 61) " "
|
||||
BIND_PAT@[61; 64)
|
||||
NAME@[61; 64)
|
||||
IDENT@[61; 64) "res"
|
||||
WHITESPACE@[64; 65) " "
|
||||
EQ@[65; 66) "="
|
||||
WHITESPACE@[66; 67) " "
|
||||
METHOD_CALL_EXPR@[67; 84)
|
||||
FIELD_EXPR@[67; 78)
|
||||
PATH_EXPR@[67; 71)
|
||||
PATH@[67; 71)
|
||||
PATH_SEGMENT@[67; 71)
|
||||
SELF_KW@[67; 71) "self"
|
||||
DOT@[71; 72) "."
|
||||
NAME_REF@[72; 78)
|
||||
IDENT@[72; 78) "scopes"
|
||||
DOT@[78; 79) "."
|
||||
NAME_REF@[79; 82)
|
||||
IDENT@[79; 82) "len"
|
||||
ARG_LIST@[82; 84)
|
||||
L_PAREN@[82; 83) "("
|
||||
R_PAREN@[83; 84) ")"
|
||||
SEMI@[84; 85) ";"
|
||||
WHITESPACE@[85; 94) "\n "
|
||||
METHOD_CALL_EXPR@[94; 155)
|
||||
FIELD_EXPR@[94; 105)
|
||||
PATH_EXPR@[94; 98)
|
||||
PATH@[94; 98)
|
||||
PATH_SEGMENT@[94; 98)
|
||||
SELF_KW@[94; 98) "self"
|
||||
DOT@[98; 99) "."
|
||||
NAME_REF@[99; 105)
|
||||
IDENT@[99; 105) "scopes"
|
||||
DOT@[105; 106) "."
|
||||
NAME_REF@[106; 110)
|
||||
IDENT@[106; 110) "push"
|
||||
ARG_LIST@[110; 155)
|
||||
L_PAREN@[110; 111) "("
|
||||
RECORD_LIT@[111; 154)
|
||||
PATH@[111; 120)
|
||||
PATH_SEGMENT@[111; 120)
|
||||
NAME_REF@[111; 120)
|
||||
IDENT@[111; 120) "ScopeData"
|
||||
WHITESPACE@[120; 121) " "
|
||||
RECORD_FIELD_LIST@[121; 154)
|
||||
L_CURLY@[121; 122) "{"
|
||||
WHITESPACE@[122; 123) " "
|
||||
RECORD_FIELD@[123; 135)
|
||||
NAME_REF@[123; 129)
|
||||
IDENT@[123; 129) "parent"
|
||||
COLON@[129; 130) ":"
|
||||
WHITESPACE@[130; 131) " "
|
||||
PATH_EXPR@[131; 135)
|
||||
PATH@[131; 135)
|
||||
PATH_SEGMENT@[131; 135)
|
||||
NAME_REF@[131; 135)
|
||||
IDENT@[131; 135) "None"
|
||||
COMMA@[135; 136) ","
|
||||
WHITESPACE@[136; 137) " "
|
||||
RECORD_FIELD@[137; 152)
|
||||
NAME_REF@[137; 144)
|
||||
IDENT@[137; 144) "entries"
|
||||
COLON@[144; 145) ":"
|
||||
WHITESPACE@[145; 146) " "
|
||||
MACRO_CALL@[146; 152)
|
||||
PATH@[146; 149)
|
||||
PATH_SEGMENT@[146; 149)
|
||||
NAME_REF@[146; 149)
|
||||
IDENT@[146; 149) "vec"
|
||||
EXCL@[149; 150) "!"
|
||||
TOKEN_TREE@[150; 152)
|
||||
L_BRACK@[150; 151) "["
|
||||
R_BRACK@[151; 152) "]"
|
||||
WHITESPACE@[152; 153) " "
|
||||
R_CURLY@[153; 154) "}"
|
||||
R_PAREN@[154; 155) ")"
|
||||
WHITESPACE@[155; 160) "\n "
|
||||
R_CURLY@[160; 161) "}"
|
||||
WHITESPACE@[161; 167) "\n\n "
|
||||
FN_DEF@[167; 180)
|
||||
FN_KW@[167; 169) "fn"
|
||||
|
@ -8,88 +8,92 @@ SOURCE_FILE@[0; 139)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 138)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LET_STMT@[15; 24)
|
||||
LET_KW@[15; 18) "let"
|
||||
WHITESPACE@[18; 19) " "
|
||||
BIND_PAT@[19; 22)
|
||||
NAME@[19; 22)
|
||||
IDENT@[19; 22) "foo"
|
||||
WHITESPACE@[22; 23) " "
|
||||
EQ@[23; 24) "="
|
||||
WHITESPACE@[24; 29) "\n "
|
||||
LET_STMT@[29; 41)
|
||||
LET_KW@[29; 32) "let"
|
||||
WHITESPACE@[32; 33) " "
|
||||
BIND_PAT@[33; 36)
|
||||
NAME@[33; 36)
|
||||
IDENT@[33; 36) "bar"
|
||||
WHITESPACE@[36; 37) " "
|
||||
EQ@[37; 38) "="
|
||||
WHITESPACE@[38; 39) " "
|
||||
LITERAL@[39; 40)
|
||||
INT_NUMBER@[39; 40) "1"
|
||||
SEMI@[40; 41) ";"
|
||||
WHITESPACE@[41; 46) "\n "
|
||||
LET_STMT@[46; 49)
|
||||
LET_KW@[46; 49) "let"
|
||||
WHITESPACE@[49; 54) "\n "
|
||||
LET_STMT@[54; 67)
|
||||
LET_KW@[54; 57) "let"
|
||||
WHITESPACE@[57; 58) " "
|
||||
BIND_PAT@[58; 61)
|
||||
NAME@[58; 61)
|
||||
IDENT@[58; 61) "baz"
|
||||
WHITESPACE@[61; 62) " "
|
||||
EQ@[62; 63) "="
|
||||
WHITESPACE@[63; 64) " "
|
||||
LITERAL@[64; 66)
|
||||
INT_NUMBER@[64; 66) "92"
|
||||
SEMI@[66; 67) ";"
|
||||
WHITESPACE@[67; 72) "\n "
|
||||
LET_STMT@[72; 75)
|
||||
LET_KW@[72; 75) "let"
|
||||
WHITESPACE@[75; 80) "\n "
|
||||
EXPR_STMT@[80; 90)
|
||||
IF_EXPR@[80; 90)
|
||||
IF_KW@[80; 82) "if"
|
||||
WHITESPACE@[82; 83) " "
|
||||
CONDITION@[83; 87)
|
||||
LITERAL@[83; 87)
|
||||
TRUE_KW@[83; 87) "true"
|
||||
WHITESPACE@[87; 88) " "
|
||||
BLOCK@[88; 90)
|
||||
L_CURLY@[88; 89) "{"
|
||||
R_CURLY@[89; 90) "}"
|
||||
WHITESPACE@[90; 95) "\n "
|
||||
LET_STMT@[95; 98)
|
||||
LET_KW@[95; 98) "let"
|
||||
WHITESPACE@[98; 103) "\n "
|
||||
EXPR_STMT@[103; 116)
|
||||
WHILE_EXPR@[103; 116)
|
||||
WHILE_KW@[103; 108) "while"
|
||||
WHITESPACE@[108; 109) " "
|
||||
CONDITION@[109; 113)
|
||||
LITERAL@[109; 113)
|
||||
TRUE_KW@[109; 113) "true"
|
||||
WHITESPACE@[113; 114) " "
|
||||
BLOCK@[114; 116)
|
||||
L_CURLY@[114; 115) "{"
|
||||
R_CURLY@[115; 116) "}"
|
||||
WHITESPACE@[116; 121) "\n "
|
||||
LET_STMT@[121; 124)
|
||||
LET_KW@[121; 124) "let"
|
||||
WHITESPACE@[124; 129) "\n "
|
||||
LOOP_EXPR@[129; 136)
|
||||
LOOP_KW@[129; 133) "loop"
|
||||
WHITESPACE@[133; 134) " "
|
||||
BLOCK@[134; 136)
|
||||
L_CURLY@[134; 135) "{"
|
||||
R_CURLY@[135; 136) "}"
|
||||
WHITESPACE@[136; 137) "\n"
|
||||
R_CURLY@[137; 138) "}"
|
||||
BLOCK_EXPR@[9; 138)
|
||||
BLOCK@[9; 138)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LET_STMT@[15; 24)
|
||||
LET_KW@[15; 18) "let"
|
||||
WHITESPACE@[18; 19) " "
|
||||
BIND_PAT@[19; 22)
|
||||
NAME@[19; 22)
|
||||
IDENT@[19; 22) "foo"
|
||||
WHITESPACE@[22; 23) " "
|
||||
EQ@[23; 24) "="
|
||||
WHITESPACE@[24; 29) "\n "
|
||||
LET_STMT@[29; 41)
|
||||
LET_KW@[29; 32) "let"
|
||||
WHITESPACE@[32; 33) " "
|
||||
BIND_PAT@[33; 36)
|
||||
NAME@[33; 36)
|
||||
IDENT@[33; 36) "bar"
|
||||
WHITESPACE@[36; 37) " "
|
||||
EQ@[37; 38) "="
|
||||
WHITESPACE@[38; 39) " "
|
||||
LITERAL@[39; 40)
|
||||
INT_NUMBER@[39; 40) "1"
|
||||
SEMI@[40; 41) ";"
|
||||
WHITESPACE@[41; 46) "\n "
|
||||
LET_STMT@[46; 49)
|
||||
LET_KW@[46; 49) "let"
|
||||
WHITESPACE@[49; 54) "\n "
|
||||
LET_STMT@[54; 67)
|
||||
LET_KW@[54; 57) "let"
|
||||
WHITESPACE@[57; 58) " "
|
||||
BIND_PAT@[58; 61)
|
||||
NAME@[58; 61)
|
||||
IDENT@[58; 61) "baz"
|
||||
WHITESPACE@[61; 62) " "
|
||||
EQ@[62; 63) "="
|
||||
WHITESPACE@[63; 64) " "
|
||||
LITERAL@[64; 66)
|
||||
INT_NUMBER@[64; 66) "92"
|
||||
SEMI@[66; 67) ";"
|
||||
WHITESPACE@[67; 72) "\n "
|
||||
LET_STMT@[72; 75)
|
||||
LET_KW@[72; 75) "let"
|
||||
WHITESPACE@[75; 80) "\n "
|
||||
EXPR_STMT@[80; 90)
|
||||
IF_EXPR@[80; 90)
|
||||
IF_KW@[80; 82) "if"
|
||||
WHITESPACE@[82; 83) " "
|
||||
CONDITION@[83; 87)
|
||||
LITERAL@[83; 87)
|
||||
TRUE_KW@[83; 87) "true"
|
||||
WHITESPACE@[87; 88) " "
|
||||
BLOCK_EXPR@[88; 90)
|
||||
BLOCK@[88; 90)
|
||||
L_CURLY@[88; 89) "{"
|
||||
R_CURLY@[89; 90) "}"
|
||||
WHITESPACE@[90; 95) "\n "
|
||||
LET_STMT@[95; 98)
|
||||
LET_KW@[95; 98) "let"
|
||||
WHITESPACE@[98; 103) "\n "
|
||||
EXPR_STMT@[103; 116)
|
||||
WHILE_EXPR@[103; 116)
|
||||
WHILE_KW@[103; 108) "while"
|
||||
WHITESPACE@[108; 109) " "
|
||||
CONDITION@[109; 113)
|
||||
LITERAL@[109; 113)
|
||||
TRUE_KW@[109; 113) "true"
|
||||
WHITESPACE@[113; 114) " "
|
||||
BLOCK_EXPR@[114; 116)
|
||||
BLOCK@[114; 116)
|
||||
L_CURLY@[114; 115) "{"
|
||||
R_CURLY@[115; 116) "}"
|
||||
WHITESPACE@[116; 121) "\n "
|
||||
LET_STMT@[121; 124)
|
||||
LET_KW@[121; 124) "let"
|
||||
WHITESPACE@[124; 129) "\n "
|
||||
LOOP_EXPR@[129; 136)
|
||||
LOOP_KW@[129; 133) "loop"
|
||||
WHITESPACE@[133; 134) " "
|
||||
BLOCK_EXPR@[134; 136)
|
||||
BLOCK@[134; 136)
|
||||
L_CURLY@[134; 135) "{"
|
||||
R_CURLY@[135; 136) "}"
|
||||
WHITESPACE@[136; 137) "\n"
|
||||
R_CURLY@[137; 138) "}"
|
||||
WHITESPACE@[138; 139) "\n"
|
||||
error 24: expected expression
|
||||
error 24: expected SEMI
|
||||
|
@ -11,9 +11,10 @@ SOURCE_FILE@[0; 16)
|
||||
L_PAREN@[10; 11) "("
|
||||
R_PAREN@[11; 12) ")"
|
||||
WHITESPACE@[12; 13) " "
|
||||
BLOCK@[13; 15)
|
||||
L_CURLY@[13; 14) "{"
|
||||
R_CURLY@[14; 15) "}"
|
||||
BLOCK_EXPR@[13; 15)
|
||||
BLOCK@[13; 15)
|
||||
L_CURLY@[13; 14) "{"
|
||||
R_CURLY@[14; 15) "}"
|
||||
WHITESPACE@[15; 16) "\n"
|
||||
error 2: expected a name
|
||||
error 2: expected function arguments
|
||||
|
@ -25,10 +25,11 @@ SOURCE_FILE@[0; 22)
|
||||
IDENT@[15; 16) "y"
|
||||
R_PAREN@[16; 17) ")"
|
||||
WHITESPACE@[17; 18) " "
|
||||
BLOCK@[18; 21)
|
||||
L_CURLY@[18; 19) "{"
|
||||
WHITESPACE@[19; 20) "\n"
|
||||
R_CURLY@[20; 21) "}"
|
||||
BLOCK_EXPR@[18; 21)
|
||||
BLOCK@[18; 21)
|
||||
L_CURLY@[18; 19) "{"
|
||||
WHITESPACE@[19; 20) "\n"
|
||||
R_CURLY@[20; 21) "}"
|
||||
WHITESPACE@[21; 22) "\n"
|
||||
error 16: expected COLON
|
||||
error 16: expected type
|
||||
|
@ -8,38 +8,39 @@ SOURCE_FILE@[0; 112)
|
||||
L_PAREN@[4; 5) "("
|
||||
R_PAREN@[5; 6) ")"
|
||||
WHITESPACE@[6; 7) " "
|
||||
BLOCK@[7; 33)
|
||||
L_CURLY@[7; 8) "{"
|
||||
WHITESPACE@[8; 9) " "
|
||||
EXPR_STMT@[9; 15)
|
||||
ARRAY_EXPR@[9; 15)
|
||||
L_BRACK@[9; 10) "["
|
||||
LITERAL@[10; 11)
|
||||
INT_NUMBER@[10; 11) "1"
|
||||
COMMA@[11; 12) ","
|
||||
WHITESPACE@[12; 13) " "
|
||||
LITERAL@[13; 14)
|
||||
INT_NUMBER@[13; 14) "2"
|
||||
COMMA@[14; 15) ","
|
||||
WHITESPACE@[15; 16) " "
|
||||
EXPR_STMT@[16; 17)
|
||||
ERROR@[16; 17)
|
||||
AT@[16; 17) "@"
|
||||
EXPR_STMT@[17; 18)
|
||||
ERROR@[17; 18)
|
||||
COMMA@[17; 18) ","
|
||||
WHITESPACE@[18; 19) " "
|
||||
STRUCT_DEF@[19; 26)
|
||||
STRUCT_KW@[19; 25) "struct"
|
||||
ERROR@[25; 26)
|
||||
COMMA@[25; 26) ","
|
||||
WHITESPACE@[26; 27) " "
|
||||
LET_STMT@[27; 31)
|
||||
LET_KW@[27; 30) "let"
|
||||
ERROR@[30; 31)
|
||||
R_BRACK@[30; 31) "]"
|
||||
WHITESPACE@[31; 32) " "
|
||||
R_CURLY@[32; 33) "}"
|
||||
BLOCK_EXPR@[7; 33)
|
||||
BLOCK@[7; 33)
|
||||
L_CURLY@[7; 8) "{"
|
||||
WHITESPACE@[8; 9) " "
|
||||
EXPR_STMT@[9; 15)
|
||||
ARRAY_EXPR@[9; 15)
|
||||
L_BRACK@[9; 10) "["
|
||||
LITERAL@[10; 11)
|
||||
INT_NUMBER@[10; 11) "1"
|
||||
COMMA@[11; 12) ","
|
||||
WHITESPACE@[12; 13) " "
|
||||
LITERAL@[13; 14)
|
||||
INT_NUMBER@[13; 14) "2"
|
||||
COMMA@[14; 15) ","
|
||||
WHITESPACE@[15; 16) " "
|
||||
EXPR_STMT@[16; 17)
|
||||
ERROR@[16; 17)
|
||||
AT@[16; 17) "@"
|
||||
EXPR_STMT@[17; 18)
|
||||
ERROR@[17; 18)
|
||||
COMMA@[17; 18) ","
|
||||
WHITESPACE@[18; 19) " "
|
||||
STRUCT_DEF@[19; 26)
|
||||
STRUCT_KW@[19; 25) "struct"
|
||||
ERROR@[25; 26)
|
||||
COMMA@[25; 26) ","
|
||||
WHITESPACE@[26; 27) " "
|
||||
LET_STMT@[27; 31)
|
||||
LET_KW@[27; 30) "let"
|
||||
ERROR@[30; 31)
|
||||
R_BRACK@[30; 31) "]"
|
||||
WHITESPACE@[31; 32) " "
|
||||
R_CURLY@[32; 33) "}"
|
||||
WHITESPACE@[33; 34) "\n"
|
||||
FN_DEF@[34; 68)
|
||||
FN_KW@[34; 36) "fn"
|
||||
@ -50,45 +51,46 @@ SOURCE_FILE@[0; 112)
|
||||
L_PAREN@[38; 39) "("
|
||||
R_PAREN@[39; 40) ")"
|
||||
WHITESPACE@[40; 41) " "
|
||||
BLOCK@[41; 68)
|
||||
L_CURLY@[41; 42) "{"
|
||||
WHITESPACE@[42; 43) " "
|
||||
EXPR_STMT@[43; 52)
|
||||
CALL_EXPR@[43; 52)
|
||||
PATH_EXPR@[43; 46)
|
||||
PATH@[43; 46)
|
||||
PATH_SEGMENT@[43; 46)
|
||||
NAME_REF@[43; 46)
|
||||
IDENT@[43; 46) "foo"
|
||||
ARG_LIST@[46; 52)
|
||||
L_PAREN@[46; 47) "("
|
||||
LITERAL@[47; 48)
|
||||
INT_NUMBER@[47; 48) "1"
|
||||
COMMA@[48; 49) ","
|
||||
WHITESPACE@[49; 50) " "
|
||||
LITERAL@[50; 51)
|
||||
INT_NUMBER@[50; 51) "2"
|
||||
COMMA@[51; 52) ","
|
||||
WHITESPACE@[52; 53) " "
|
||||
EXPR_STMT@[53; 54)
|
||||
ERROR@[53; 54)
|
||||
AT@[53; 54) "@"
|
||||
EXPR_STMT@[54; 55)
|
||||
ERROR@[54; 55)
|
||||
COMMA@[54; 55) ","
|
||||
WHITESPACE@[55; 56) " "
|
||||
IMPL_BLOCK@[56; 60)
|
||||
IMPL_KW@[56; 60) "impl"
|
||||
EXPR_STMT@[60; 61)
|
||||
ERROR@[60; 61)
|
||||
COMMA@[60; 61) ","
|
||||
WHITESPACE@[61; 62) " "
|
||||
LET_STMT@[62; 65)
|
||||
LET_KW@[62; 65) "let"
|
||||
ERROR@[65; 66)
|
||||
R_PAREN@[65; 66) ")"
|
||||
WHITESPACE@[66; 67) " "
|
||||
R_CURLY@[67; 68) "}"
|
||||
BLOCK_EXPR@[41; 68)
|
||||
BLOCK@[41; 68)
|
||||
L_CURLY@[41; 42) "{"
|
||||
WHITESPACE@[42; 43) " "
|
||||
EXPR_STMT@[43; 52)
|
||||
CALL_EXPR@[43; 52)
|
||||
PATH_EXPR@[43; 46)
|
||||
PATH@[43; 46)
|
||||
PATH_SEGMENT@[43; 46)
|
||||
NAME_REF@[43; 46)
|
||||
IDENT@[43; 46) "foo"
|
||||
ARG_LIST@[46; 52)
|
||||
L_PAREN@[46; 47) "("
|
||||
LITERAL@[47; 48)
|
||||
INT_NUMBER@[47; 48) "1"
|
||||
COMMA@[48; 49) ","
|
||||
WHITESPACE@[49; 50) " "
|
||||
LITERAL@[50; 51)
|
||||
INT_NUMBER@[50; 51) "2"
|
||||
COMMA@[51; 52) ","
|
||||
WHITESPACE@[52; 53) " "
|
||||
EXPR_STMT@[53; 54)
|
||||
ERROR@[53; 54)
|
||||
AT@[53; 54) "@"
|
||||
EXPR_STMT@[54; 55)
|
||||
ERROR@[54; 55)
|
||||
COMMA@[54; 55) ","
|
||||
WHITESPACE@[55; 56) " "
|
||||
IMPL_BLOCK@[56; 60)
|
||||
IMPL_KW@[56; 60) "impl"
|
||||
EXPR_STMT@[60; 61)
|
||||
ERROR@[60; 61)
|
||||
COMMA@[60; 61) ","
|
||||
WHITESPACE@[61; 62) " "
|
||||
LET_STMT@[62; 65)
|
||||
LET_KW@[62; 65) "let"
|
||||
ERROR@[65; 66)
|
||||
R_PAREN@[65; 66) ")"
|
||||
WHITESPACE@[66; 67) " "
|
||||
R_CURLY@[67; 68) "}"
|
||||
WHITESPACE@[68; 69) "\n"
|
||||
FN_DEF@[69; 111)
|
||||
FN_KW@[69; 71) "fn"
|
||||
@ -99,54 +101,55 @@ SOURCE_FILE@[0; 112)
|
||||
L_PAREN@[73; 74) "("
|
||||
R_PAREN@[74; 75) ")"
|
||||
WHITESPACE@[75; 76) " "
|
||||
BLOCK@[76; 111)
|
||||
L_CURLY@[76; 77) "{"
|
||||
WHITESPACE@[77; 78) " "
|
||||
EXPR_STMT@[78; 91)
|
||||
METHOD_CALL_EXPR@[78; 91)
|
||||
PATH_EXPR@[78; 81)
|
||||
PATH@[78; 81)
|
||||
PATH_SEGMENT@[78; 81)
|
||||
NAME_REF@[78; 81)
|
||||
IDENT@[78; 81) "foo"
|
||||
DOT@[81; 82) "."
|
||||
NAME_REF@[82; 85)
|
||||
IDENT@[82; 85) "bar"
|
||||
ARG_LIST@[85; 91)
|
||||
L_PAREN@[85; 86) "("
|
||||
LITERAL@[86; 87)
|
||||
INT_NUMBER@[86; 87) "1"
|
||||
COMMA@[87; 88) ","
|
||||
WHITESPACE@[88; 89) " "
|
||||
LITERAL@[89; 90)
|
||||
INT_NUMBER@[89; 90) "2"
|
||||
COMMA@[90; 91) ","
|
||||
WHITESPACE@[91; 92) " "
|
||||
EXPR_STMT@[92; 93)
|
||||
ERROR@[92; 93)
|
||||
AT@[92; 93) "@"
|
||||
EXPR_STMT@[93; 94)
|
||||
ERROR@[93; 94)
|
||||
COMMA@[93; 94) ","
|
||||
WHITESPACE@[94; 95) " "
|
||||
EXPR_STMT@[95; 96)
|
||||
ERROR@[95; 96)
|
||||
R_BRACK@[95; 96) "]"
|
||||
EXPR_STMT@[96; 97)
|
||||
ERROR@[96; 97)
|
||||
COMMA@[96; 97) ","
|
||||
WHITESPACE@[97; 98) " "
|
||||
TRAIT_DEF@[98; 104)
|
||||
TRAIT_KW@[98; 103) "trait"
|
||||
ERROR@[103; 104)
|
||||
COMMA@[103; 104) ","
|
||||
WHITESPACE@[104; 105) " "
|
||||
LET_STMT@[105; 108)
|
||||
LET_KW@[105; 108) "let"
|
||||
ERROR@[108; 109)
|
||||
R_PAREN@[108; 109) ")"
|
||||
WHITESPACE@[109; 110) " "
|
||||
R_CURLY@[110; 111) "}"
|
||||
BLOCK_EXPR@[76; 111)
|
||||
BLOCK@[76; 111)
|
||||
L_CURLY@[76; 77) "{"
|
||||
WHITESPACE@[77; 78) " "
|
||||
EXPR_STMT@[78; 91)
|
||||
METHOD_CALL_EXPR@[78; 91)
|
||||
PATH_EXPR@[78; 81)
|
||||
PATH@[78; 81)
|
||||
PATH_SEGMENT@[78; 81)
|
||||
NAME_REF@[78; 81)
|
||||
IDENT@[78; 81) "foo"
|
||||
DOT@[81; 82) "."
|
||||
NAME_REF@[82; 85)
|
||||
IDENT@[82; 85) "bar"
|
||||
ARG_LIST@[85; 91)
|
||||
L_PAREN@[85; 86) "("
|
||||
LITERAL@[86; 87)
|
||||
INT_NUMBER@[86; 87) "1"
|
||||
COMMA@[87; 88) ","
|
||||
WHITESPACE@[88; 89) " "
|
||||
LITERAL@[89; 90)
|
||||
INT_NUMBER@[89; 90) "2"
|
||||
COMMA@[90; 91) ","
|
||||
WHITESPACE@[91; 92) " "
|
||||
EXPR_STMT@[92; 93)
|
||||
ERROR@[92; 93)
|
||||
AT@[92; 93) "@"
|
||||
EXPR_STMT@[93; 94)
|
||||
ERROR@[93; 94)
|
||||
COMMA@[93; 94) ","
|
||||
WHITESPACE@[94; 95) " "
|
||||
EXPR_STMT@[95; 96)
|
||||
ERROR@[95; 96)
|
||||
R_BRACK@[95; 96) "]"
|
||||
EXPR_STMT@[96; 97)
|
||||
ERROR@[96; 97)
|
||||
COMMA@[96; 97) ","
|
||||
WHITESPACE@[97; 98) " "
|
||||
TRAIT_DEF@[98; 104)
|
||||
TRAIT_KW@[98; 103) "trait"
|
||||
ERROR@[103; 104)
|
||||
COMMA@[103; 104) ","
|
||||
WHITESPACE@[104; 105) " "
|
||||
LET_STMT@[105; 108)
|
||||
LET_KW@[105; 108) "let"
|
||||
ERROR@[108; 109)
|
||||
R_PAREN@[108; 109) ")"
|
||||
WHITESPACE@[109; 110) " "
|
||||
R_CURLY@[110; 111) "}"
|
||||
WHITESPACE@[111; 112) "\n"
|
||||
error 15: expected expression
|
||||
error 15: expected R_BRACK
|
||||
|
@ -8,31 +8,32 @@ SOURCE_FILE@[0; 94)
|
||||
L_PAREN@[7; 8) "("
|
||||
R_PAREN@[8; 9) ")"
|
||||
WHITESPACE@[9; 10) " "
|
||||
BLOCK@[10; 55)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
MACRO_CALL@[16; 49)
|
||||
PATH@[16; 19)
|
||||
PATH_SEGMENT@[16; 19)
|
||||
NAME_REF@[16; 19)
|
||||
IDENT@[16; 19) "foo"
|
||||
EXCL@[19; 20) "!"
|
||||
WHITESPACE@[20; 21) " "
|
||||
TOKEN_TREE@[21; 49)
|
||||
L_PAREN@[21; 22) "("
|
||||
WHITESPACE@[22; 31) "\n "
|
||||
IDENT@[31; 34) "bar"
|
||||
COMMA@[34; 35) ","
|
||||
WHITESPACE@[35; 36) " "
|
||||
STRING@[36; 41) "\"baz\""
|
||||
COMMA@[41; 42) ","
|
||||
WHITESPACE@[42; 43) " "
|
||||
INT_NUMBER@[43; 44) "1"
|
||||
COMMA@[44; 45) ","
|
||||
WHITESPACE@[45; 46) " "
|
||||
FLOAT_NUMBER@[46; 49) "2.0"
|
||||
WHITESPACE@[49; 54) "\n "
|
||||
R_CURLY@[54; 55) "}"
|
||||
BLOCK_EXPR@[10; 55)
|
||||
BLOCK@[10; 55)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
MACRO_CALL@[16; 49)
|
||||
PATH@[16; 19)
|
||||
PATH_SEGMENT@[16; 19)
|
||||
NAME_REF@[16; 19)
|
||||
IDENT@[16; 19) "foo"
|
||||
EXCL@[19; 20) "!"
|
||||
WHITESPACE@[20; 21) " "
|
||||
TOKEN_TREE@[21; 49)
|
||||
L_PAREN@[21; 22) "("
|
||||
WHITESPACE@[22; 31) "\n "
|
||||
IDENT@[31; 34) "bar"
|
||||
COMMA@[34; 35) ","
|
||||
WHITESPACE@[35; 36) " "
|
||||
STRING@[36; 41) "\"baz\""
|
||||
COMMA@[41; 42) ","
|
||||
WHITESPACE@[42; 43) " "
|
||||
INT_NUMBER@[43; 44) "1"
|
||||
COMMA@[44; 45) ","
|
||||
WHITESPACE@[45; 46) " "
|
||||
FLOAT_NUMBER@[46; 49) "2.0"
|
||||
WHITESPACE@[49; 54) "\n "
|
||||
R_CURLY@[54; 55) "}"
|
||||
WHITESPACE@[55; 56) " "
|
||||
COMMENT@[56; 91) "//~ ERROR incorrect c ..."
|
||||
WHITESPACE@[91; 92) "\n"
|
||||
|
@ -61,9 +61,10 @@ SOURCE_FILE@[0; 240)
|
||||
L_PAREN@[48; 49) "("
|
||||
R_PAREN@[49; 50) ")"
|
||||
WHITESPACE@[50; 51) " "
|
||||
BLOCK@[51; 53)
|
||||
L_CURLY@[51; 52) "{"
|
||||
R_CURLY@[52; 53) "}"
|
||||
BLOCK_EXPR@[51; 53)
|
||||
BLOCK@[51; 53)
|
||||
L_CURLY@[51; 52) "{"
|
||||
R_CURLY@[52; 53) "}"
|
||||
WHITESPACE@[53; 55) "\n\n"
|
||||
FN_DEF@[55; 239)
|
||||
FN_KW@[55; 57) "fn"
|
||||
@ -74,222 +75,223 @@ SOURCE_FILE@[0; 240)
|
||||
L_PAREN@[62; 63) "("
|
||||
R_PAREN@[63; 64) ")"
|
||||
WHITESPACE@[64; 65) " "
|
||||
BLOCK@[65; 239)
|
||||
L_CURLY@[65; 66) "{"
|
||||
WHITESPACE@[66; 71) "\n "
|
||||
LET_STMT@[71; 121)
|
||||
LET_KW@[71; 74) "let"
|
||||
WHITESPACE@[74; 75) " "
|
||||
PLACEHOLDER_PAT@[75; 76)
|
||||
UNDERSCORE@[75; 76) "_"
|
||||
COLON@[76; 77) ":"
|
||||
WHITESPACE@[77; 78) " "
|
||||
DYN_TRAIT_TYPE@[78; 121)
|
||||
TYPE_BOUND_LIST@[78; 121)
|
||||
TYPE_BOUND@[78; 88)
|
||||
PATH_TYPE@[78; 88)
|
||||
PATH@[78; 88)
|
||||
PATH_SEGMENT@[78; 88)
|
||||
NAME_REF@[78; 81)
|
||||
IDENT@[78; 81) "Box"
|
||||
TYPE_ARG_LIST@[81; 88)
|
||||
L_ANGLE@[81; 82) "<"
|
||||
TYPE_ARG@[82; 88)
|
||||
PAREN_TYPE@[82; 88)
|
||||
L_PAREN@[82; 83) "("
|
||||
PATH_TYPE@[83; 87)
|
||||
PATH@[83; 87)
|
||||
PATH_SEGMENT@[83; 87)
|
||||
NAME_REF@[83; 87)
|
||||
IDENT@[83; 87) "Copy"
|
||||
R_PAREN@[87; 88) ")"
|
||||
WHITESPACE@[88; 89) " "
|
||||
PLUS@[89; 90) "+"
|
||||
WHITESPACE@[90; 91) " "
|
||||
TYPE_BOUND@[91; 99)
|
||||
L_PAREN@[91; 92) "("
|
||||
QUESTION@[92; 93) "?"
|
||||
PATH_TYPE@[93; 98)
|
||||
PATH@[93; 98)
|
||||
PATH_SEGMENT@[93; 98)
|
||||
NAME_REF@[93; 98)
|
||||
IDENT@[93; 98) "Sized"
|
||||
R_PAREN@[98; 99) ")"
|
||||
WHITESPACE@[99; 100) " "
|
||||
PLUS@[100; 101) "+"
|
||||
WHITESPACE@[101; 102) " "
|
||||
TYPE_BOUND@[102; 121)
|
||||
L_PAREN@[102; 103) "("
|
||||
FOR_TYPE@[103; 120)
|
||||
FOR_KW@[103; 106) "for"
|
||||
TYPE_PARAM_LIST@[106; 110)
|
||||
L_ANGLE@[106; 107) "<"
|
||||
LIFETIME_PARAM@[107; 109)
|
||||
LIFETIME@[107; 109) "\'a"
|
||||
R_ANGLE@[109; 110) ">"
|
||||
WHITESPACE@[110; 111) " "
|
||||
PATH_TYPE@[111; 120)
|
||||
PATH@[111; 120)
|
||||
PATH_SEGMENT@[111; 120)
|
||||
NAME_REF@[111; 116)
|
||||
IDENT@[111; 116) "Trait"
|
||||
TYPE_ARG_LIST@[116; 120)
|
||||
L_ANGLE@[116; 117) "<"
|
||||
LIFETIME_ARG@[117; 119)
|
||||
LIFETIME@[117; 119) "\'a"
|
||||
R_ANGLE@[119; 120) ">"
|
||||
R_PAREN@[120; 121) ")"
|
||||
EXPR_STMT@[121; 123)
|
||||
ERROR@[121; 122)
|
||||
R_ANGLE@[121; 122) ">"
|
||||
SEMI@[122; 123) ";"
|
||||
WHITESPACE@[123; 128) "\n "
|
||||
LET_STMT@[128; 141)
|
||||
LET_KW@[128; 131) "let"
|
||||
WHITESPACE@[131; 132) " "
|
||||
PLACEHOLDER_PAT@[132; 133)
|
||||
UNDERSCORE@[132; 133) "_"
|
||||
COLON@[133; 134) ":"
|
||||
WHITESPACE@[134; 135) " "
|
||||
PATH_TYPE@[135; 141)
|
||||
PATH@[135; 141)
|
||||
PATH_SEGMENT@[135; 141)
|
||||
NAME_REF@[135; 138)
|
||||
IDENT@[135; 138) "Box"
|
||||
TYPE_ARG_LIST@[138; 141)
|
||||
L_ANGLE@[138; 139) "<"
|
||||
TYPE_ARG@[139; 141)
|
||||
PAREN_TYPE@[139; 141)
|
||||
L_PAREN@[139; 140) "("
|
||||
ERROR@[140; 141)
|
||||
QUESTION@[140; 141) "?"
|
||||
EXPR_STMT@[141; 146)
|
||||
PATH_EXPR@[141; 146)
|
||||
PATH@[141; 146)
|
||||
PATH_SEGMENT@[141; 146)
|
||||
NAME_REF@[141; 146)
|
||||
IDENT@[141; 146) "Sized"
|
||||
EXPR_STMT@[146; 147)
|
||||
ERROR@[146; 147)
|
||||
R_PAREN@[146; 147) ")"
|
||||
WHITESPACE@[147; 148) " "
|
||||
EXPR_STMT@[148; 149)
|
||||
ERROR@[148; 149)
|
||||
PLUS@[148; 149) "+"
|
||||
WHITESPACE@[149; 150) " "
|
||||
EXPR_STMT@[150; 151)
|
||||
PAREN_EXPR@[150; 151)
|
||||
L_PAREN@[150; 151) "("
|
||||
EXPR_STMT@[151; 157)
|
||||
FOR_EXPR@[151; 157)
|
||||
FOR_KW@[151; 154) "for"
|
||||
ERROR@[154; 155)
|
||||
L_ANGLE@[154; 155) "<"
|
||||
ERROR@[155; 157)
|
||||
LIFETIME@[155; 157) "\'a"
|
||||
EXPR_STMT@[157; 158)
|
||||
ERROR@[157; 158)
|
||||
R_ANGLE@[157; 158) ">"
|
||||
WHITESPACE@[158; 159) " "
|
||||
EXPR_STMT@[159; 180)
|
||||
BIN_EXPR@[159; 180)
|
||||
BIN_EXPR@[159; 178)
|
||||
BIN_EXPR@[159; 169)
|
||||
BIN_EXPR@[159; 167)
|
||||
PATH_EXPR@[159; 164)
|
||||
PATH@[159; 164)
|
||||
PATH_SEGMENT@[159; 164)
|
||||
NAME_REF@[159; 164)
|
||||
IDENT@[159; 164) "Trait"
|
||||
L_ANGLE@[164; 165) "<"
|
||||
ERROR@[165; 167)
|
||||
LIFETIME@[165; 167) "\'a"
|
||||
R_ANGLE@[167; 168) ">"
|
||||
ERROR@[168; 169)
|
||||
R_PAREN@[168; 169) ")"
|
||||
WHITESPACE@[169; 170) " "
|
||||
PLUS@[170; 171) "+"
|
||||
WHITESPACE@[171; 172) " "
|
||||
PAREN_EXPR@[172; 178)
|
||||
L_PAREN@[172; 173) "("
|
||||
PATH_EXPR@[173; 177)
|
||||
PATH@[173; 177)
|
||||
PATH_SEGMENT@[173; 177)
|
||||
NAME_REF@[173; 177)
|
||||
IDENT@[173; 177) "Copy"
|
||||
R_PAREN@[177; 178) ")"
|
||||
R_ANGLE@[178; 179) ">"
|
||||
ERROR@[179; 180)
|
||||
SEMI@[179; 180) ";"
|
||||
WHITESPACE@[180; 185) "\n "
|
||||
LET_STMT@[185; 235)
|
||||
LET_KW@[185; 188) "let"
|
||||
WHITESPACE@[188; 189) " "
|
||||
PLACEHOLDER_PAT@[189; 190)
|
||||
UNDERSCORE@[189; 190) "_"
|
||||
COLON@[190; 191) ":"
|
||||
WHITESPACE@[191; 192) " "
|
||||
DYN_TRAIT_TYPE@[192; 235)
|
||||
TYPE_BOUND_LIST@[192; 235)
|
||||
TYPE_BOUND@[192; 215)
|
||||
PATH_TYPE@[192; 215)
|
||||
PATH@[192; 215)
|
||||
PATH_SEGMENT@[192; 215)
|
||||
NAME_REF@[192; 195)
|
||||
IDENT@[192; 195) "Box"
|
||||
TYPE_ARG_LIST@[195; 215)
|
||||
L_ANGLE@[195; 196) "<"
|
||||
TYPE_ARG@[196; 215)
|
||||
PAREN_TYPE@[196; 215)
|
||||
L_PAREN@[196; 197) "("
|
||||
FOR_TYPE@[197; 214)
|
||||
FOR_KW@[197; 200) "for"
|
||||
TYPE_PARAM_LIST@[200; 204)
|
||||
L_ANGLE@[200; 201) "<"
|
||||
LIFETIME_PARAM@[201; 203)
|
||||
LIFETIME@[201; 203) "\'a"
|
||||
R_ANGLE@[203; 204) ">"
|
||||
WHITESPACE@[204; 205) " "
|
||||
PATH_TYPE@[205; 214)
|
||||
PATH@[205; 214)
|
||||
PATH_SEGMENT@[205; 214)
|
||||
NAME_REF@[205; 210)
|
||||
IDENT@[205; 210) "Trait"
|
||||
TYPE_ARG_LIST@[210; 214)
|
||||
L_ANGLE@[210; 211) "<"
|
||||
LIFETIME_ARG@[211; 213)
|
||||
LIFETIME@[211; 213) "\'a"
|
||||
R_ANGLE@[213; 214) ">"
|
||||
R_PAREN@[214; 215) ")"
|
||||
WHITESPACE@[215; 216) " "
|
||||
PLUS@[216; 217) "+"
|
||||
WHITESPACE@[217; 218) " "
|
||||
TYPE_BOUND@[218; 224)
|
||||
L_PAREN@[218; 219) "("
|
||||
PATH_TYPE@[219; 223)
|
||||
PATH@[219; 223)
|
||||
PATH_SEGMENT@[219; 223)
|
||||
NAME_REF@[219; 223)
|
||||
IDENT@[219; 223) "Copy"
|
||||
R_PAREN@[223; 224) ")"
|
||||
WHITESPACE@[224; 225) " "
|
||||
PLUS@[225; 226) "+"
|
||||
WHITESPACE@[226; 227) " "
|
||||
TYPE_BOUND@[227; 235)
|
||||
L_PAREN@[227; 228) "("
|
||||
QUESTION@[228; 229) "?"
|
||||
PATH_TYPE@[229; 234)
|
||||
PATH@[229; 234)
|
||||
PATH_SEGMENT@[229; 234)
|
||||
NAME_REF@[229; 234)
|
||||
IDENT@[229; 234) "Sized"
|
||||
R_PAREN@[234; 235) ")"
|
||||
EXPR_STMT@[235; 237)
|
||||
ERROR@[235; 236)
|
||||
R_ANGLE@[235; 236) ">"
|
||||
SEMI@[236; 237) ";"
|
||||
WHITESPACE@[237; 238) "\n"
|
||||
R_CURLY@[238; 239) "}"
|
||||
BLOCK_EXPR@[65; 239)
|
||||
BLOCK@[65; 239)
|
||||
L_CURLY@[65; 66) "{"
|
||||
WHITESPACE@[66; 71) "\n "
|
||||
LET_STMT@[71; 121)
|
||||
LET_KW@[71; 74) "let"
|
||||
WHITESPACE@[74; 75) " "
|
||||
PLACEHOLDER_PAT@[75; 76)
|
||||
UNDERSCORE@[75; 76) "_"
|
||||
COLON@[76; 77) ":"
|
||||
WHITESPACE@[77; 78) " "
|
||||
DYN_TRAIT_TYPE@[78; 121)
|
||||
TYPE_BOUND_LIST@[78; 121)
|
||||
TYPE_BOUND@[78; 88)
|
||||
PATH_TYPE@[78; 88)
|
||||
PATH@[78; 88)
|
||||
PATH_SEGMENT@[78; 88)
|
||||
NAME_REF@[78; 81)
|
||||
IDENT@[78; 81) "Box"
|
||||
TYPE_ARG_LIST@[81; 88)
|
||||
L_ANGLE@[81; 82) "<"
|
||||
TYPE_ARG@[82; 88)
|
||||
PAREN_TYPE@[82; 88)
|
||||
L_PAREN@[82; 83) "("
|
||||
PATH_TYPE@[83; 87)
|
||||
PATH@[83; 87)
|
||||
PATH_SEGMENT@[83; 87)
|
||||
NAME_REF@[83; 87)
|
||||
IDENT@[83; 87) "Copy"
|
||||
R_PAREN@[87; 88) ")"
|
||||
WHITESPACE@[88; 89) " "
|
||||
PLUS@[89; 90) "+"
|
||||
WHITESPACE@[90; 91) " "
|
||||
TYPE_BOUND@[91; 99)
|
||||
L_PAREN@[91; 92) "("
|
||||
QUESTION@[92; 93) "?"
|
||||
PATH_TYPE@[93; 98)
|
||||
PATH@[93; 98)
|
||||
PATH_SEGMENT@[93; 98)
|
||||
NAME_REF@[93; 98)
|
||||
IDENT@[93; 98) "Sized"
|
||||
R_PAREN@[98; 99) ")"
|
||||
WHITESPACE@[99; 100) " "
|
||||
PLUS@[100; 101) "+"
|
||||
WHITESPACE@[101; 102) " "
|
||||
TYPE_BOUND@[102; 121)
|
||||
L_PAREN@[102; 103) "("
|
||||
FOR_TYPE@[103; 120)
|
||||
FOR_KW@[103; 106) "for"
|
||||
TYPE_PARAM_LIST@[106; 110)
|
||||
L_ANGLE@[106; 107) "<"
|
||||
LIFETIME_PARAM@[107; 109)
|
||||
LIFETIME@[107; 109) "\'a"
|
||||
R_ANGLE@[109; 110) ">"
|
||||
WHITESPACE@[110; 111) " "
|
||||
PATH_TYPE@[111; 120)
|
||||
PATH@[111; 120)
|
||||
PATH_SEGMENT@[111; 120)
|
||||
NAME_REF@[111; 116)
|
||||
IDENT@[111; 116) "Trait"
|
||||
TYPE_ARG_LIST@[116; 120)
|
||||
L_ANGLE@[116; 117) "<"
|
||||
LIFETIME_ARG@[117; 119)
|
||||
LIFETIME@[117; 119) "\'a"
|
||||
R_ANGLE@[119; 120) ">"
|
||||
R_PAREN@[120; 121) ")"
|
||||
EXPR_STMT@[121; 123)
|
||||
ERROR@[121; 122)
|
||||
R_ANGLE@[121; 122) ">"
|
||||
SEMI@[122; 123) ";"
|
||||
WHITESPACE@[123; 128) "\n "
|
||||
LET_STMT@[128; 141)
|
||||
LET_KW@[128; 131) "let"
|
||||
WHITESPACE@[131; 132) " "
|
||||
PLACEHOLDER_PAT@[132; 133)
|
||||
UNDERSCORE@[132; 133) "_"
|
||||
COLON@[133; 134) ":"
|
||||
WHITESPACE@[134; 135) " "
|
||||
PATH_TYPE@[135; 141)
|
||||
PATH@[135; 141)
|
||||
PATH_SEGMENT@[135; 141)
|
||||
NAME_REF@[135; 138)
|
||||
IDENT@[135; 138) "Box"
|
||||
TYPE_ARG_LIST@[138; 141)
|
||||
L_ANGLE@[138; 139) "<"
|
||||
TYPE_ARG@[139; 141)
|
||||
PAREN_TYPE@[139; 141)
|
||||
L_PAREN@[139; 140) "("
|
||||
ERROR@[140; 141)
|
||||
QUESTION@[140; 141) "?"
|
||||
EXPR_STMT@[141; 146)
|
||||
PATH_EXPR@[141; 146)
|
||||
PATH@[141; 146)
|
||||
PATH_SEGMENT@[141; 146)
|
||||
NAME_REF@[141; 146)
|
||||
IDENT@[141; 146) "Sized"
|
||||
EXPR_STMT@[146; 147)
|
||||
ERROR@[146; 147)
|
||||
R_PAREN@[146; 147) ")"
|
||||
WHITESPACE@[147; 148) " "
|
||||
EXPR_STMT@[148; 149)
|
||||
ERROR@[148; 149)
|
||||
PLUS@[148; 149) "+"
|
||||
WHITESPACE@[149; 150) " "
|
||||
EXPR_STMT@[150; 151)
|
||||
PAREN_EXPR@[150; 151)
|
||||
L_PAREN@[150; 151) "("
|
||||
EXPR_STMT@[151; 157)
|
||||
FOR_EXPR@[151; 157)
|
||||
FOR_KW@[151; 154) "for"
|
||||
ERROR@[154; 155)
|
||||
L_ANGLE@[154; 155) "<"
|
||||
ERROR@[155; 157)
|
||||
LIFETIME@[155; 157) "\'a"
|
||||
EXPR_STMT@[157; 158)
|
||||
ERROR@[157; 158)
|
||||
R_ANGLE@[157; 158) ">"
|
||||
WHITESPACE@[158; 159) " "
|
||||
EXPR_STMT@[159; 180)
|
||||
BIN_EXPR@[159; 180)
|
||||
BIN_EXPR@[159; 178)
|
||||
BIN_EXPR@[159; 169)
|
||||
BIN_EXPR@[159; 167)
|
||||
PATH_EXPR@[159; 164)
|
||||
PATH@[159; 164)
|
||||
PATH_SEGMENT@[159; 164)
|
||||
NAME_REF@[159; 164)
|
||||
IDENT@[159; 164) "Trait"
|
||||
L_ANGLE@[164; 165) "<"
|
||||
ERROR@[165; 167)
|
||||
LIFETIME@[165; 167) "\'a"
|
||||
R_ANGLE@[167; 168) ">"
|
||||
ERROR@[168; 169)
|
||||
R_PAREN@[168; 169) ")"
|
||||
WHITESPACE@[169; 170) " "
|
||||
PLUS@[170; 171) "+"
|
||||
WHITESPACE@[171; 172) " "
|
||||
PAREN_EXPR@[172; 178)
|
||||
L_PAREN@[172; 173) "("
|
||||
PATH_EXPR@[173; 177)
|
||||
PATH@[173; 177)
|
||||
PATH_SEGMENT@[173; 177)
|
||||
NAME_REF@[173; 177)
|
||||
IDENT@[173; 177) "Copy"
|
||||
R_PAREN@[177; 178) ")"
|
||||
R_ANGLE@[178; 179) ">"
|
||||
ERROR@[179; 180)
|
||||
SEMI@[179; 180) ";"
|
||||
WHITESPACE@[180; 185) "\n "
|
||||
LET_STMT@[185; 235)
|
||||
LET_KW@[185; 188) "let"
|
||||
WHITESPACE@[188; 189) " "
|
||||
PLACEHOLDER_PAT@[189; 190)
|
||||
UNDERSCORE@[189; 190) "_"
|
||||
COLON@[190; 191) ":"
|
||||
WHITESPACE@[191; 192) " "
|
||||
DYN_TRAIT_TYPE@[192; 235)
|
||||
TYPE_BOUND_LIST@[192; 235)
|
||||
TYPE_BOUND@[192; 215)
|
||||
PATH_TYPE@[192; 215)
|
||||
PATH@[192; 215)
|
||||
PATH_SEGMENT@[192; 215)
|
||||
NAME_REF@[192; 195)
|
||||
IDENT@[192; 195) "Box"
|
||||
TYPE_ARG_LIST@[195; 215)
|
||||
L_ANGLE@[195; 196) "<"
|
||||
TYPE_ARG@[196; 215)
|
||||
PAREN_TYPE@[196; 215)
|
||||
L_PAREN@[196; 197) "("
|
||||
FOR_TYPE@[197; 214)
|
||||
FOR_KW@[197; 200) "for"
|
||||
TYPE_PARAM_LIST@[200; 204)
|
||||
L_ANGLE@[200; 201) "<"
|
||||
LIFETIME_PARAM@[201; 203)
|
||||
LIFETIME@[201; 203) "\'a"
|
||||
R_ANGLE@[203; 204) ">"
|
||||
WHITESPACE@[204; 205) " "
|
||||
PATH_TYPE@[205; 214)
|
||||
PATH@[205; 214)
|
||||
PATH_SEGMENT@[205; 214)
|
||||
NAME_REF@[205; 210)
|
||||
IDENT@[205; 210) "Trait"
|
||||
TYPE_ARG_LIST@[210; 214)
|
||||
L_ANGLE@[210; 211) "<"
|
||||
LIFETIME_ARG@[211; 213)
|
||||
LIFETIME@[211; 213) "\'a"
|
||||
R_ANGLE@[213; 214) ">"
|
||||
R_PAREN@[214; 215) ")"
|
||||
WHITESPACE@[215; 216) " "
|
||||
PLUS@[216; 217) "+"
|
||||
WHITESPACE@[217; 218) " "
|
||||
TYPE_BOUND@[218; 224)
|
||||
L_PAREN@[218; 219) "("
|
||||
PATH_TYPE@[219; 223)
|
||||
PATH@[219; 223)
|
||||
PATH_SEGMENT@[219; 223)
|
||||
NAME_REF@[219; 223)
|
||||
IDENT@[219; 223) "Copy"
|
||||
R_PAREN@[223; 224) ")"
|
||||
WHITESPACE@[224; 225) " "
|
||||
PLUS@[225; 226) "+"
|
||||
WHITESPACE@[226; 227) " "
|
||||
TYPE_BOUND@[227; 235)
|
||||
L_PAREN@[227; 228) "("
|
||||
QUESTION@[228; 229) "?"
|
||||
PATH_TYPE@[229; 234)
|
||||
PATH@[229; 234)
|
||||
PATH_SEGMENT@[229; 234)
|
||||
NAME_REF@[229; 234)
|
||||
IDENT@[229; 234) "Sized"
|
||||
R_PAREN@[234; 235) ")"
|
||||
EXPR_STMT@[235; 237)
|
||||
ERROR@[235; 236)
|
||||
R_ANGLE@[235; 236) ">"
|
||||
SEMI@[236; 237) ";"
|
||||
WHITESPACE@[237; 238) "\n"
|
||||
R_CURLY@[238; 239) "}"
|
||||
WHITESPACE@[239; 240) "\n"
|
||||
error 88: expected COMMA
|
||||
error 88: expected R_ANGLE
|
||||
|
@ -8,187 +8,188 @@ SOURCE_FILE@[0; 575)
|
||||
L_PAREN@[7; 8) "("
|
||||
R_PAREN@[8; 9) ")"
|
||||
WHITESPACE@[9; 10) " "
|
||||
BLOCK@[10; 574)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
ENUM_DEF@[16; 152)
|
||||
ENUM_KW@[16; 20) "enum"
|
||||
WHITESPACE@[20; 21) " "
|
||||
NAME@[21; 25)
|
||||
IDENT@[21; 25) "Test"
|
||||
WHITESPACE@[25; 26) " "
|
||||
ENUM_VARIANT_LIST@[26; 152)
|
||||
L_CURLY@[26; 27) "{"
|
||||
WHITESPACE@[27; 36) "\n "
|
||||
ENUM_VARIANT@[36; 40)
|
||||
NAME@[36; 40)
|
||||
IDENT@[36; 40) "Var1"
|
||||
COMMA@[40; 41) ","
|
||||
WHITESPACE@[41; 50) "\n "
|
||||
ENUM_VARIANT@[50; 62)
|
||||
NAME@[50; 54)
|
||||
IDENT@[50; 54) "Var2"
|
||||
TUPLE_FIELD_DEF_LIST@[54; 62)
|
||||
L_PAREN@[54; 55) "("
|
||||
TUPLE_FIELD_DEF@[55; 61)
|
||||
PATH_TYPE@[55; 61)
|
||||
PATH@[55; 61)
|
||||
PATH_SEGMENT@[55; 61)
|
||||
NAME_REF@[55; 61)
|
||||
IDENT@[55; 61) "String"
|
||||
R_PAREN@[61; 62) ")"
|
||||
COMMA@[62; 63) ","
|
||||
WHITESPACE@[63; 72) "\n "
|
||||
ENUM_VARIANT@[72; 145)
|
||||
NAME@[72; 76)
|
||||
IDENT@[72; 76) "Var3"
|
||||
WHITESPACE@[76; 77) " "
|
||||
RECORD_FIELD_DEF_LIST@[77; 145)
|
||||
L_CURLY@[77; 78) "{"
|
||||
WHITESPACE@[78; 91) "\n "
|
||||
RECORD_FIELD_DEF@[91; 95)
|
||||
NAME@[91; 94)
|
||||
IDENT@[91; 94) "abc"
|
||||
COLON@[94; 95) ":"
|
||||
WHITESPACE@[95; 96) " "
|
||||
ERROR@[96; 98)
|
||||
L_CURLY@[96; 97) "{"
|
||||
R_CURLY@[97; 98) "}"
|
||||
ERROR@[98; 99)
|
||||
COMMA@[98; 99) ","
|
||||
WHITESPACE@[99; 100) " "
|
||||
COMMENT@[100; 135) "//~ ERROR: expected t ..."
|
||||
WHITESPACE@[135; 144) "\n "
|
||||
R_CURLY@[144; 145) "}"
|
||||
COMMA@[145; 146) ","
|
||||
WHITESPACE@[146; 151) "\n "
|
||||
R_CURLY@[151; 152) "}"
|
||||
WHITESPACE@[152; 158) "\n\n "
|
||||
COMMENT@[158; 171) "// recover..."
|
||||
WHITESPACE@[171; 176) "\n "
|
||||
LET_STMT@[176; 186)
|
||||
LET_KW@[176; 179) "let"
|
||||
WHITESPACE@[179; 180) " "
|
||||
BIND_PAT@[180; 181)
|
||||
NAME@[180; 181)
|
||||
IDENT@[180; 181) "a"
|
||||
WHITESPACE@[181; 182) " "
|
||||
EQ@[182; 183) "="
|
||||
WHITESPACE@[183; 184) " "
|
||||
LITERAL@[184; 185)
|
||||
INT_NUMBER@[184; 185) "1"
|
||||
SEMI@[185; 186) ";"
|
||||
WHITESPACE@[186; 191) "\n "
|
||||
ENUM_DEF@[191; 223)
|
||||
ENUM_KW@[191; 195) "enum"
|
||||
WHITESPACE@[195; 196) " "
|
||||
NAME@[196; 201)
|
||||
IDENT@[196; 201) "Test2"
|
||||
WHITESPACE@[201; 202) " "
|
||||
ENUM_VARIANT_LIST@[202; 223)
|
||||
L_CURLY@[202; 203) "{"
|
||||
WHITESPACE@[203; 212) "\n "
|
||||
ENUM_VARIANT@[212; 216)
|
||||
NAME@[212; 216)
|
||||
IDENT@[212; 216) "Fine"
|
||||
COMMA@[216; 217) ","
|
||||
WHITESPACE@[217; 222) "\n "
|
||||
R_CURLY@[222; 223) "}"
|
||||
WHITESPACE@[223; 229) "\n\n "
|
||||
ENUM_DEF@[229; 300)
|
||||
ENUM_KW@[229; 233) "enum"
|
||||
WHITESPACE@[233; 234) " "
|
||||
NAME@[234; 239)
|
||||
IDENT@[234; 239) "Test3"
|
||||
WHITESPACE@[239; 240) " "
|
||||
ENUM_VARIANT_LIST@[240; 300)
|
||||
L_CURLY@[240; 241) "{"
|
||||
WHITESPACE@[241; 250) "\n "
|
||||
ENUM_VARIANT@[250; 293)
|
||||
NAME@[250; 259)
|
||||
IDENT@[250; 259) "StillFine"
|
||||
WHITESPACE@[259; 260) " "
|
||||
RECORD_FIELD_DEF_LIST@[260; 293)
|
||||
L_CURLY@[260; 261) "{"
|
||||
WHITESPACE@[261; 274) "\n "
|
||||
RECORD_FIELD_DEF@[274; 282)
|
||||
NAME@[274; 277)
|
||||
IDENT@[274; 277) "def"
|
||||
COLON@[277; 278) ":"
|
||||
WHITESPACE@[278; 279) " "
|
||||
PATH_TYPE@[279; 282)
|
||||
PATH@[279; 282)
|
||||
PATH_SEGMENT@[279; 282)
|
||||
NAME_REF@[279; 282)
|
||||
IDENT@[279; 282) "i32"
|
||||
COMMA@[282; 283) ","
|
||||
WHITESPACE@[283; 292) "\n "
|
||||
R_CURLY@[292; 293) "}"
|
||||
COMMA@[293; 294) ","
|
||||
WHITESPACE@[294; 299) "\n "
|
||||
R_CURLY@[299; 300) "}"
|
||||
WHITESPACE@[300; 306) "\n\n "
|
||||
EXPR_STMT@[306; 459)
|
||||
BLOCK_EXPR@[306; 459)
|
||||
BLOCK@[306; 459)
|
||||
L_CURLY@[306; 307) "{"
|
||||
WHITESPACE@[307; 316) "\n "
|
||||
ENUM_DEF@[316; 453)
|
||||
COMMENT@[316; 329) "// fail again"
|
||||
WHITESPACE@[329; 338) "\n "
|
||||
ENUM_KW@[338; 342) "enum"
|
||||
WHITESPACE@[342; 343) " "
|
||||
NAME@[343; 348)
|
||||
IDENT@[343; 348) "Test4"
|
||||
WHITESPACE@[348; 349) " "
|
||||
ENUM_VARIANT_LIST@[349; 453)
|
||||
L_CURLY@[349; 350) "{"
|
||||
WHITESPACE@[350; 363) "\n "
|
||||
ENUM_VARIANT@[363; 372)
|
||||
NAME@[363; 367)
|
||||
IDENT@[363; 367) "Nope"
|
||||
TUPLE_FIELD_DEF_LIST@[367; 372)
|
||||
L_PAREN@[367; 368) "("
|
||||
TUPLE_FIELD_DEF@[368; 371)
|
||||
PATH_TYPE@[368; 371)
|
||||
PATH@[368; 371)
|
||||
PATH_SEGMENT@[368; 371)
|
||||
NAME_REF@[368; 371)
|
||||
IDENT@[368; 371) "i32"
|
||||
WHITESPACE@[371; 372) " "
|
||||
ERROR@[372; 372)
|
||||
ERROR@[372; 374)
|
||||
L_CURLY@[372; 373) "{"
|
||||
R_CURLY@[373; 374) "}"
|
||||
ERROR@[374; 375)
|
||||
R_PAREN@[374; 375) ")"
|
||||
WHITESPACE@[375; 376) " "
|
||||
COMMENT@[376; 396) "//~ ERROR: found `{`"
|
||||
WHITESPACE@[396; 422) "\n ..."
|
||||
COMMENT@[422; 443) "//~^ ERROR: found `{`"
|
||||
WHITESPACE@[443; 452) "\n "
|
||||
R_CURLY@[452; 453) "}"
|
||||
WHITESPACE@[453; 458) "\n "
|
||||
R_CURLY@[458; 459) "}"
|
||||
WHITESPACE@[459; 464) "\n "
|
||||
COMMENT@[464; 486) "// still recover later"
|
||||
WHITESPACE@[486; 491) "\n "
|
||||
LET_STMT@[491; 510)
|
||||
LET_KW@[491; 494) "let"
|
||||
WHITESPACE@[494; 495) " "
|
||||
BIND_PAT@[495; 505)
|
||||
NAME@[495; 505)
|
||||
IDENT@[495; 505) "bad_syntax"
|
||||
WHITESPACE@[505; 506) " "
|
||||
EQ@[506; 507) "="
|
||||
WHITESPACE@[507; 508) " "
|
||||
ERROR@[508; 509)
|
||||
UNDERSCORE@[508; 509) "_"
|
||||
SEMI@[509; 510) ";"
|
||||
WHITESPACE@[510; 511) " "
|
||||
COMMENT@[511; 572) "//~ ERROR: expected e ..."
|
||||
WHITESPACE@[572; 573) "\n"
|
||||
R_CURLY@[573; 574) "}"
|
||||
BLOCK_EXPR@[10; 574)
|
||||
BLOCK@[10; 574)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
ENUM_DEF@[16; 152)
|
||||
ENUM_KW@[16; 20) "enum"
|
||||
WHITESPACE@[20; 21) " "
|
||||
NAME@[21; 25)
|
||||
IDENT@[21; 25) "Test"
|
||||
WHITESPACE@[25; 26) " "
|
||||
ENUM_VARIANT_LIST@[26; 152)
|
||||
L_CURLY@[26; 27) "{"
|
||||
WHITESPACE@[27; 36) "\n "
|
||||
ENUM_VARIANT@[36; 40)
|
||||
NAME@[36; 40)
|
||||
IDENT@[36; 40) "Var1"
|
||||
COMMA@[40; 41) ","
|
||||
WHITESPACE@[41; 50) "\n "
|
||||
ENUM_VARIANT@[50; 62)
|
||||
NAME@[50; 54)
|
||||
IDENT@[50; 54) "Var2"
|
||||
TUPLE_FIELD_DEF_LIST@[54; 62)
|
||||
L_PAREN@[54; 55) "("
|
||||
TUPLE_FIELD_DEF@[55; 61)
|
||||
PATH_TYPE@[55; 61)
|
||||
PATH@[55; 61)
|
||||
PATH_SEGMENT@[55; 61)
|
||||
NAME_REF@[55; 61)
|
||||
IDENT@[55; 61) "String"
|
||||
R_PAREN@[61; 62) ")"
|
||||
COMMA@[62; 63) ","
|
||||
WHITESPACE@[63; 72) "\n "
|
||||
ENUM_VARIANT@[72; 145)
|
||||
NAME@[72; 76)
|
||||
IDENT@[72; 76) "Var3"
|
||||
WHITESPACE@[76; 77) " "
|
||||
RECORD_FIELD_DEF_LIST@[77; 145)
|
||||
L_CURLY@[77; 78) "{"
|
||||
WHITESPACE@[78; 91) "\n "
|
||||
RECORD_FIELD_DEF@[91; 95)
|
||||
NAME@[91; 94)
|
||||
IDENT@[91; 94) "abc"
|
||||
COLON@[94; 95) ":"
|
||||
WHITESPACE@[95; 96) " "
|
||||
ERROR@[96; 98)
|
||||
L_CURLY@[96; 97) "{"
|
||||
R_CURLY@[97; 98) "}"
|
||||
ERROR@[98; 99)
|
||||
COMMA@[98; 99) ","
|
||||
WHITESPACE@[99; 100) " "
|
||||
COMMENT@[100; 135) "//~ ERROR: expected t ..."
|
||||
WHITESPACE@[135; 144) "\n "
|
||||
R_CURLY@[144; 145) "}"
|
||||
COMMA@[145; 146) ","
|
||||
WHITESPACE@[146; 151) "\n "
|
||||
R_CURLY@[151; 152) "}"
|
||||
WHITESPACE@[152; 158) "\n\n "
|
||||
COMMENT@[158; 171) "// recover..."
|
||||
WHITESPACE@[171; 176) "\n "
|
||||
LET_STMT@[176; 186)
|
||||
LET_KW@[176; 179) "let"
|
||||
WHITESPACE@[179; 180) " "
|
||||
BIND_PAT@[180; 181)
|
||||
NAME@[180; 181)
|
||||
IDENT@[180; 181) "a"
|
||||
WHITESPACE@[181; 182) " "
|
||||
EQ@[182; 183) "="
|
||||
WHITESPACE@[183; 184) " "
|
||||
LITERAL@[184; 185)
|
||||
INT_NUMBER@[184; 185) "1"
|
||||
SEMI@[185; 186) ";"
|
||||
WHITESPACE@[186; 191) "\n "
|
||||
ENUM_DEF@[191; 223)
|
||||
ENUM_KW@[191; 195) "enum"
|
||||
WHITESPACE@[195; 196) " "
|
||||
NAME@[196; 201)
|
||||
IDENT@[196; 201) "Test2"
|
||||
WHITESPACE@[201; 202) " "
|
||||
ENUM_VARIANT_LIST@[202; 223)
|
||||
L_CURLY@[202; 203) "{"
|
||||
WHITESPACE@[203; 212) "\n "
|
||||
ENUM_VARIANT@[212; 216)
|
||||
NAME@[212; 216)
|
||||
IDENT@[212; 216) "Fine"
|
||||
COMMA@[216; 217) ","
|
||||
WHITESPACE@[217; 222) "\n "
|
||||
R_CURLY@[222; 223) "}"
|
||||
WHITESPACE@[223; 229) "\n\n "
|
||||
ENUM_DEF@[229; 300)
|
||||
ENUM_KW@[229; 233) "enum"
|
||||
WHITESPACE@[233; 234) " "
|
||||
NAME@[234; 239)
|
||||
IDENT@[234; 239) "Test3"
|
||||
WHITESPACE@[239; 240) " "
|
||||
ENUM_VARIANT_LIST@[240; 300)
|
||||
L_CURLY@[240; 241) "{"
|
||||
WHITESPACE@[241; 250) "\n "
|
||||
ENUM_VARIANT@[250; 293)
|
||||
NAME@[250; 259)
|
||||
IDENT@[250; 259) "StillFine"
|
||||
WHITESPACE@[259; 260) " "
|
||||
RECORD_FIELD_DEF_LIST@[260; 293)
|
||||
L_CURLY@[260; 261) "{"
|
||||
WHITESPACE@[261; 274) "\n "
|
||||
RECORD_FIELD_DEF@[274; 282)
|
||||
NAME@[274; 277)
|
||||
IDENT@[274; 277) "def"
|
||||
COLON@[277; 278) ":"
|
||||
WHITESPACE@[278; 279) " "
|
||||
PATH_TYPE@[279; 282)
|
||||
PATH@[279; 282)
|
||||
PATH_SEGMENT@[279; 282)
|
||||
NAME_REF@[279; 282)
|
||||
IDENT@[279; 282) "i32"
|
||||
COMMA@[282; 283) ","
|
||||
WHITESPACE@[283; 292) "\n "
|
||||
R_CURLY@[292; 293) "}"
|
||||
COMMA@[293; 294) ","
|
||||
WHITESPACE@[294; 299) "\n "
|
||||
R_CURLY@[299; 300) "}"
|
||||
WHITESPACE@[300; 306) "\n\n "
|
||||
EXPR_STMT@[306; 459)
|
||||
BLOCK_EXPR@[306; 459)
|
||||
BLOCK@[306; 459)
|
||||
L_CURLY@[306; 307) "{"
|
||||
WHITESPACE@[307; 316) "\n "
|
||||
ENUM_DEF@[316; 453)
|
||||
COMMENT@[316; 329) "// fail again"
|
||||
WHITESPACE@[329; 338) "\n "
|
||||
ENUM_KW@[338; 342) "enum"
|
||||
WHITESPACE@[342; 343) " "
|
||||
NAME@[343; 348)
|
||||
IDENT@[343; 348) "Test4"
|
||||
WHITESPACE@[348; 349) " "
|
||||
ENUM_VARIANT_LIST@[349; 453)
|
||||
L_CURLY@[349; 350) "{"
|
||||
WHITESPACE@[350; 363) "\n "
|
||||
ENUM_VARIANT@[363; 372)
|
||||
NAME@[363; 367)
|
||||
IDENT@[363; 367) "Nope"
|
||||
TUPLE_FIELD_DEF_LIST@[367; 372)
|
||||
L_PAREN@[367; 368) "("
|
||||
TUPLE_FIELD_DEF@[368; 371)
|
||||
PATH_TYPE@[368; 371)
|
||||
PATH@[368; 371)
|
||||
PATH_SEGMENT@[368; 371)
|
||||
NAME_REF@[368; 371)
|
||||
IDENT@[368; 371) "i32"
|
||||
WHITESPACE@[371; 372) " "
|
||||
ERROR@[372; 372)
|
||||
ERROR@[372; 374)
|
||||
L_CURLY@[372; 373) "{"
|
||||
R_CURLY@[373; 374) "}"
|
||||
ERROR@[374; 375)
|
||||
R_PAREN@[374; 375) ")"
|
||||
WHITESPACE@[375; 376) " "
|
||||
COMMENT@[376; 396) "//~ ERROR: found `{`"
|
||||
WHITESPACE@[396; 422) "\n ..."
|
||||
COMMENT@[422; 443) "//~^ ERROR: found `{`"
|
||||
WHITESPACE@[443; 452) "\n "
|
||||
R_CURLY@[452; 453) "}"
|
||||
WHITESPACE@[453; 458) "\n "
|
||||
R_CURLY@[458; 459) "}"
|
||||
WHITESPACE@[459; 464) "\n "
|
||||
COMMENT@[464; 486) "// still recover later"
|
||||
WHITESPACE@[486; 491) "\n "
|
||||
LET_STMT@[491; 510)
|
||||
LET_KW@[491; 494) "let"
|
||||
WHITESPACE@[494; 495) " "
|
||||
BIND_PAT@[495; 505)
|
||||
NAME@[495; 505)
|
||||
IDENT@[495; 505) "bad_syntax"
|
||||
WHITESPACE@[505; 506) " "
|
||||
EQ@[506; 507) "="
|
||||
WHITESPACE@[507; 508) " "
|
||||
ERROR@[508; 509)
|
||||
UNDERSCORE@[508; 509) "_"
|
||||
SEMI@[509; 510) ";"
|
||||
WHITESPACE@[510; 511) " "
|
||||
COMMENT@[511; 572) "//~ ERROR: expected e ..."
|
||||
WHITESPACE@[572; 573) "\n"
|
||||
R_CURLY@[573; 574) "}"
|
||||
WHITESPACE@[574; 575) "\n"
|
||||
error 95: expected type
|
||||
error 95: expected COMMA
|
||||
|
@ -20,9 +20,10 @@ SOURCE_FILE@[0; 30)
|
||||
LIFETIME@[23; 25) "\'a"
|
||||
R_ANGLE@[25; 26) ">"
|
||||
WHITESPACE@[26; 27) "\n"
|
||||
BLOCK@[27; 29)
|
||||
L_CURLY@[27; 28) "{"
|
||||
R_CURLY@[28; 29) "}"
|
||||
BLOCK_EXPR@[27; 29)
|
||||
BLOCK@[27; 29)
|
||||
L_CURLY@[27; 28) "{"
|
||||
R_CURLY@[28; 29) "}"
|
||||
WHITESPACE@[29; 30) "\n"
|
||||
error 26: expected a path
|
||||
error 26: expected colon
|
||||
|
@ -73,188 +73,189 @@ SOURCE_FILE@[0; 349)
|
||||
L_PAREN@[125; 126) "("
|
||||
R_PAREN@[126; 127) ")"
|
||||
WHITESPACE@[127; 128) " "
|
||||
BLOCK@[128; 348)
|
||||
L_CURLY@[128; 129) "{"
|
||||
WHITESPACE@[129; 134) "\n "
|
||||
EXPR_STMT@[134; 139)
|
||||
PATH_EXPR@[134; 139)
|
||||
PATH@[134; 139)
|
||||
PATH_SEGMENT@[134; 139)
|
||||
NAME_REF@[134; 139)
|
||||
IDENT@[134; 139) "macro"
|
||||
WHITESPACE@[139; 140) " "
|
||||
EXPR_STMT@[140; 154)
|
||||
CALL_EXPR@[140; 154)
|
||||
PATH_EXPR@[140; 150)
|
||||
PATH@[140; 150)
|
||||
PATH_SEGMENT@[140; 150)
|
||||
NAME_REF@[140; 150)
|
||||
IDENT@[140; 150) "test_merge"
|
||||
ARG_LIST@[150; 154)
|
||||
L_PAREN@[150; 151) "("
|
||||
ARRAY_EXPR@[151; 154)
|
||||
L_BRACK@[151; 152) "["
|
||||
ERROR@[152; 153)
|
||||
DOLLAR@[152; 153) "$"
|
||||
PAREN_EXPR@[153; 154)
|
||||
L_PAREN@[153; 154) "("
|
||||
EXPR_STMT@[154; 155)
|
||||
ERROR@[154; 155)
|
||||
DOLLAR@[154; 155) "$"
|
||||
EXPR_STMT@[155; 160)
|
||||
PATH_EXPR@[155; 160)
|
||||
PATH@[155; 160)
|
||||
PATH_SEGMENT@[155; 160)
|
||||
NAME_REF@[155; 160)
|
||||
IDENT@[155; 160) "input"
|
||||
EXPR_STMT@[160; 161)
|
||||
ERROR@[160; 161)
|
||||
COLON@[160; 161) ":"
|
||||
EXPR_STMT@[161; 165)
|
||||
PATH_EXPR@[161; 165)
|
||||
PATH@[161; 165)
|
||||
PATH_SEGMENT@[161; 165)
|
||||
NAME_REF@[161; 165)
|
||||
IDENT@[161; 165) "expr"
|
||||
EXPR_STMT@[165; 166)
|
||||
ERROR@[165; 166)
|
||||
R_PAREN@[165; 166) ")"
|
||||
EXPR_STMT@[166; 167)
|
||||
ERROR@[166; 167)
|
||||
COMMA@[166; 167) ","
|
||||
EXPR_STMT@[167; 170)
|
||||
PREFIX_EXPR@[167; 170)
|
||||
STAR@[167; 168) "*"
|
||||
WHITESPACE@[168; 169) " "
|
||||
ERROR@[169; 170)
|
||||
DOLLAR@[169; 170) "$"
|
||||
EXPR_STMT@[170; 171)
|
||||
PAREN_EXPR@[170; 171)
|
||||
L_PAREN@[170; 171) "("
|
||||
EXPR_STMT@[171; 172)
|
||||
ERROR@[171; 172)
|
||||
COMMA@[171; 172) ","
|
||||
EXPR_STMT@[172; 173)
|
||||
ERROR@[172; 173)
|
||||
R_PAREN@[172; 173) ")"
|
||||
EXPR_STMT@[173; 175)
|
||||
PREFIX_EXPR@[173; 175)
|
||||
STAR@[173; 174) "*"
|
||||
ERROR@[174; 175)
|
||||
R_BRACK@[174; 175) "]"
|
||||
EXPR_STMT@[175; 176)
|
||||
ERROR@[175; 176)
|
||||
COMMA@[175; 176) ","
|
||||
WHITESPACE@[176; 177) " "
|
||||
EXPR_STMT@[177; 180)
|
||||
ARRAY_EXPR@[177; 180)
|
||||
L_BRACK@[177; 178) "["
|
||||
ERROR@[178; 179)
|
||||
DOLLAR@[178; 179) "$"
|
||||
PAREN_EXPR@[179; 180)
|
||||
L_PAREN@[179; 180) "("
|
||||
EXPR_STMT@[180; 181)
|
||||
ERROR@[180; 181)
|
||||
DOLLAR@[180; 181) "$"
|
||||
EXPR_STMT@[181; 187)
|
||||
PATH_EXPR@[181; 187)
|
||||
PATH@[181; 187)
|
||||
PATH_SEGMENT@[181; 187)
|
||||
NAME_REF@[181; 187)
|
||||
IDENT@[181; 187) "output"
|
||||
EXPR_STMT@[187; 188)
|
||||
ERROR@[187; 188)
|
||||
COLON@[187; 188) ":"
|
||||
EXPR_STMT@[188; 192)
|
||||
PATH_EXPR@[188; 192)
|
||||
PATH@[188; 192)
|
||||
PATH_SEGMENT@[188; 192)
|
||||
NAME_REF@[188; 192)
|
||||
IDENT@[188; 192) "expr"
|
||||
EXPR_STMT@[192; 193)
|
||||
ERROR@[192; 193)
|
||||
R_PAREN@[192; 193) ")"
|
||||
EXPR_STMT@[193; 194)
|
||||
ERROR@[193; 194)
|
||||
COMMA@[193; 194) ","
|
||||
EXPR_STMT@[194; 197)
|
||||
PREFIX_EXPR@[194; 197)
|
||||
STAR@[194; 195) "*"
|
||||
WHITESPACE@[195; 196) " "
|
||||
ERROR@[196; 197)
|
||||
DOLLAR@[196; 197) "$"
|
||||
EXPR_STMT@[197; 198)
|
||||
PAREN_EXPR@[197; 198)
|
||||
L_PAREN@[197; 198) "("
|
||||
EXPR_STMT@[198; 199)
|
||||
ERROR@[198; 199)
|
||||
COMMA@[198; 199) ","
|
||||
EXPR_STMT@[199; 200)
|
||||
ERROR@[199; 200)
|
||||
R_PAREN@[199; 200) ")"
|
||||
EXPR_STMT@[200; 202)
|
||||
PREFIX_EXPR@[200; 202)
|
||||
STAR@[200; 201) "*"
|
||||
ERROR@[201; 202)
|
||||
R_BRACK@[201; 202) "]"
|
||||
EXPR_STMT@[202; 203)
|
||||
ERROR@[202; 203)
|
||||
R_PAREN@[202; 203) ")"
|
||||
WHITESPACE@[203; 204) " "
|
||||
BLOCK_EXPR@[204; 346)
|
||||
BLOCK@[204; 346)
|
||||
L_CURLY@[204; 205) "{"
|
||||
WHITESPACE@[205; 214) "\n "
|
||||
EXPR_STMT@[214; 340)
|
||||
MACRO_CALL@[214; 339)
|
||||
PATH@[214; 223)
|
||||
PATH_SEGMENT@[214; 223)
|
||||
NAME_REF@[214; 223)
|
||||
IDENT@[214; 223) "assert_eq"
|
||||
EXCL@[223; 224) "!"
|
||||
TOKEN_TREE@[224; 339)
|
||||
L_PAREN@[224; 225) "("
|
||||
WHITESPACE@[225; 238) "\n "
|
||||
IDENT@[238; 253) "merge_use_trees"
|
||||
TOKEN_TREE@[253; 284)
|
||||
L_PAREN@[253; 254) "("
|
||||
IDENT@[254; 269) "parse_use_trees"
|
||||
EXCL@[269; 270) "!"
|
||||
TOKEN_TREE@[270; 283)
|
||||
L_PAREN@[270; 271) "("
|
||||
DOLLAR@[271; 272) "$"
|
||||
TOKEN_TREE@[272; 281)
|
||||
L_PAREN@[272; 273) "("
|
||||
DOLLAR@[273; 274) "$"
|
||||
IDENT@[274; 279) "input"
|
||||
COMMA@[279; 280) ","
|
||||
R_PAREN@[280; 281) ")"
|
||||
STAR@[281; 282) "*"
|
||||
R_PAREN@[282; 283) ")"
|
||||
R_PAREN@[283; 284) ")"
|
||||
COMMA@[284; 285) ","
|
||||
WHITESPACE@[285; 298) "\n "
|
||||
IDENT@[298; 313) "parse_use_trees"
|
||||
EXCL@[313; 314) "!"
|
||||
TOKEN_TREE@[314; 328)
|
||||
L_PAREN@[314; 315) "("
|
||||
DOLLAR@[315; 316) "$"
|
||||
TOKEN_TREE@[316; 326)
|
||||
L_PAREN@[316; 317) "("
|
||||
DOLLAR@[317; 318) "$"
|
||||
IDENT@[318; 324) "output"
|
||||
COMMA@[324; 325) ","
|
||||
R_PAREN@[325; 326) ")"
|
||||
STAR@[326; 327) "*"
|
||||
R_PAREN@[327; 328) ")"
|
||||
COMMA@[328; 329) ","
|
||||
WHITESPACE@[329; 338) "\n "
|
||||
R_PAREN@[338; 339) ")"
|
||||
SEMI@[339; 340) ";"
|
||||
WHITESPACE@[340; 345) "\n "
|
||||
R_CURLY@[345; 346) "}"
|
||||
WHITESPACE@[346; 347) "\n"
|
||||
R_CURLY@[347; 348) "}"
|
||||
BLOCK_EXPR@[128; 348)
|
||||
BLOCK@[128; 348)
|
||||
L_CURLY@[128; 129) "{"
|
||||
WHITESPACE@[129; 134) "\n "
|
||||
EXPR_STMT@[134; 139)
|
||||
PATH_EXPR@[134; 139)
|
||||
PATH@[134; 139)
|
||||
PATH_SEGMENT@[134; 139)
|
||||
NAME_REF@[134; 139)
|
||||
IDENT@[134; 139) "macro"
|
||||
WHITESPACE@[139; 140) " "
|
||||
EXPR_STMT@[140; 154)
|
||||
CALL_EXPR@[140; 154)
|
||||
PATH_EXPR@[140; 150)
|
||||
PATH@[140; 150)
|
||||
PATH_SEGMENT@[140; 150)
|
||||
NAME_REF@[140; 150)
|
||||
IDENT@[140; 150) "test_merge"
|
||||
ARG_LIST@[150; 154)
|
||||
L_PAREN@[150; 151) "("
|
||||
ARRAY_EXPR@[151; 154)
|
||||
L_BRACK@[151; 152) "["
|
||||
ERROR@[152; 153)
|
||||
DOLLAR@[152; 153) "$"
|
||||
PAREN_EXPR@[153; 154)
|
||||
L_PAREN@[153; 154) "("
|
||||
EXPR_STMT@[154; 155)
|
||||
ERROR@[154; 155)
|
||||
DOLLAR@[154; 155) "$"
|
||||
EXPR_STMT@[155; 160)
|
||||
PATH_EXPR@[155; 160)
|
||||
PATH@[155; 160)
|
||||
PATH_SEGMENT@[155; 160)
|
||||
NAME_REF@[155; 160)
|
||||
IDENT@[155; 160) "input"
|
||||
EXPR_STMT@[160; 161)
|
||||
ERROR@[160; 161)
|
||||
COLON@[160; 161) ":"
|
||||
EXPR_STMT@[161; 165)
|
||||
PATH_EXPR@[161; 165)
|
||||
PATH@[161; 165)
|
||||
PATH_SEGMENT@[161; 165)
|
||||
NAME_REF@[161; 165)
|
||||
IDENT@[161; 165) "expr"
|
||||
EXPR_STMT@[165; 166)
|
||||
ERROR@[165; 166)
|
||||
R_PAREN@[165; 166) ")"
|
||||
EXPR_STMT@[166; 167)
|
||||
ERROR@[166; 167)
|
||||
COMMA@[166; 167) ","
|
||||
EXPR_STMT@[167; 170)
|
||||
PREFIX_EXPR@[167; 170)
|
||||
STAR@[167; 168) "*"
|
||||
WHITESPACE@[168; 169) " "
|
||||
ERROR@[169; 170)
|
||||
DOLLAR@[169; 170) "$"
|
||||
EXPR_STMT@[170; 171)
|
||||
PAREN_EXPR@[170; 171)
|
||||
L_PAREN@[170; 171) "("
|
||||
EXPR_STMT@[171; 172)
|
||||
ERROR@[171; 172)
|
||||
COMMA@[171; 172) ","
|
||||
EXPR_STMT@[172; 173)
|
||||
ERROR@[172; 173)
|
||||
R_PAREN@[172; 173) ")"
|
||||
EXPR_STMT@[173; 175)
|
||||
PREFIX_EXPR@[173; 175)
|
||||
STAR@[173; 174) "*"
|
||||
ERROR@[174; 175)
|
||||
R_BRACK@[174; 175) "]"
|
||||
EXPR_STMT@[175; 176)
|
||||
ERROR@[175; 176)
|
||||
COMMA@[175; 176) ","
|
||||
WHITESPACE@[176; 177) " "
|
||||
EXPR_STMT@[177; 180)
|
||||
ARRAY_EXPR@[177; 180)
|
||||
L_BRACK@[177; 178) "["
|
||||
ERROR@[178; 179)
|
||||
DOLLAR@[178; 179) "$"
|
||||
PAREN_EXPR@[179; 180)
|
||||
L_PAREN@[179; 180) "("
|
||||
EXPR_STMT@[180; 181)
|
||||
ERROR@[180; 181)
|
||||
DOLLAR@[180; 181) "$"
|
||||
EXPR_STMT@[181; 187)
|
||||
PATH_EXPR@[181; 187)
|
||||
PATH@[181; 187)
|
||||
PATH_SEGMENT@[181; 187)
|
||||
NAME_REF@[181; 187)
|
||||
IDENT@[181; 187) "output"
|
||||
EXPR_STMT@[187; 188)
|
||||
ERROR@[187; 188)
|
||||
COLON@[187; 188) ":"
|
||||
EXPR_STMT@[188; 192)
|
||||
PATH_EXPR@[188; 192)
|
||||
PATH@[188; 192)
|
||||
PATH_SEGMENT@[188; 192)
|
||||
NAME_REF@[188; 192)
|
||||
IDENT@[188; 192) "expr"
|
||||
EXPR_STMT@[192; 193)
|
||||
ERROR@[192; 193)
|
||||
R_PAREN@[192; 193) ")"
|
||||
EXPR_STMT@[193; 194)
|
||||
ERROR@[193; 194)
|
||||
COMMA@[193; 194) ","
|
||||
EXPR_STMT@[194; 197)
|
||||
PREFIX_EXPR@[194; 197)
|
||||
STAR@[194; 195) "*"
|
||||
WHITESPACE@[195; 196) " "
|
||||
ERROR@[196; 197)
|
||||
DOLLAR@[196; 197) "$"
|
||||
EXPR_STMT@[197; 198)
|
||||
PAREN_EXPR@[197; 198)
|
||||
L_PAREN@[197; 198) "("
|
||||
EXPR_STMT@[198; 199)
|
||||
ERROR@[198; 199)
|
||||
COMMA@[198; 199) ","
|
||||
EXPR_STMT@[199; 200)
|
||||
ERROR@[199; 200)
|
||||
R_PAREN@[199; 200) ")"
|
||||
EXPR_STMT@[200; 202)
|
||||
PREFIX_EXPR@[200; 202)
|
||||
STAR@[200; 201) "*"
|
||||
ERROR@[201; 202)
|
||||
R_BRACK@[201; 202) "]"
|
||||
EXPR_STMT@[202; 203)
|
||||
ERROR@[202; 203)
|
||||
R_PAREN@[202; 203) ")"
|
||||
WHITESPACE@[203; 204) " "
|
||||
BLOCK_EXPR@[204; 346)
|
||||
BLOCK@[204; 346)
|
||||
L_CURLY@[204; 205) "{"
|
||||
WHITESPACE@[205; 214) "\n "
|
||||
EXPR_STMT@[214; 340)
|
||||
MACRO_CALL@[214; 339)
|
||||
PATH@[214; 223)
|
||||
PATH_SEGMENT@[214; 223)
|
||||
NAME_REF@[214; 223)
|
||||
IDENT@[214; 223) "assert_eq"
|
||||
EXCL@[223; 224) "!"
|
||||
TOKEN_TREE@[224; 339)
|
||||
L_PAREN@[224; 225) "("
|
||||
WHITESPACE@[225; 238) "\n "
|
||||
IDENT@[238; 253) "merge_use_trees"
|
||||
TOKEN_TREE@[253; 284)
|
||||
L_PAREN@[253; 254) "("
|
||||
IDENT@[254; 269) "parse_use_trees"
|
||||
EXCL@[269; 270) "!"
|
||||
TOKEN_TREE@[270; 283)
|
||||
L_PAREN@[270; 271) "("
|
||||
DOLLAR@[271; 272) "$"
|
||||
TOKEN_TREE@[272; 281)
|
||||
L_PAREN@[272; 273) "("
|
||||
DOLLAR@[273; 274) "$"
|
||||
IDENT@[274; 279) "input"
|
||||
COMMA@[279; 280) ","
|
||||
R_PAREN@[280; 281) ")"
|
||||
STAR@[281; 282) "*"
|
||||
R_PAREN@[282; 283) ")"
|
||||
R_PAREN@[283; 284) ")"
|
||||
COMMA@[284; 285) ","
|
||||
WHITESPACE@[285; 298) "\n "
|
||||
IDENT@[298; 313) "parse_use_trees"
|
||||
EXCL@[313; 314) "!"
|
||||
TOKEN_TREE@[314; 328)
|
||||
L_PAREN@[314; 315) "("
|
||||
DOLLAR@[315; 316) "$"
|
||||
TOKEN_TREE@[316; 326)
|
||||
L_PAREN@[316; 317) "("
|
||||
DOLLAR@[317; 318) "$"
|
||||
IDENT@[318; 324) "output"
|
||||
COMMA@[324; 325) ","
|
||||
R_PAREN@[325; 326) ")"
|
||||
STAR@[326; 327) "*"
|
||||
R_PAREN@[327; 328) ")"
|
||||
COMMA@[328; 329) ","
|
||||
WHITESPACE@[329; 338) "\n "
|
||||
R_PAREN@[338; 339) ")"
|
||||
SEMI@[339; 340) ";"
|
||||
WHITESPACE@[340; 345) "\n "
|
||||
R_CURLY@[345; 346) "}"
|
||||
WHITESPACE@[346; 347) "\n"
|
||||
R_CURLY@[347; 348) "}"
|
||||
WHITESPACE@[348; 349) "\n"
|
||||
error 5: expected EXCL
|
||||
error 41: expected SEMI
|
||||
|
@ -19,17 +19,18 @@ SOURCE_FILE@[0; 24)
|
||||
IDENT@[10; 11) "A"
|
||||
R_PAREN@[11; 12) ")"
|
||||
WHITESPACE@[12; 13) " "
|
||||
BLOCK@[13; 23)
|
||||
L_CURLY@[13; 14) "{"
|
||||
WHITESPACE@[14; 19) "\n "
|
||||
FIELD_EXPR@[19; 21)
|
||||
PATH_EXPR@[19; 20)
|
||||
PATH@[19; 20)
|
||||
PATH_SEGMENT@[19; 20)
|
||||
NAME_REF@[19; 20)
|
||||
IDENT@[19; 20) "a"
|
||||
DOT@[20; 21) "."
|
||||
WHITESPACE@[21; 22) "\n"
|
||||
R_CURLY@[22; 23) "}"
|
||||
BLOCK_EXPR@[13; 23)
|
||||
BLOCK@[13; 23)
|
||||
L_CURLY@[13; 14) "{"
|
||||
WHITESPACE@[14; 19) "\n "
|
||||
FIELD_EXPR@[19; 21)
|
||||
PATH_EXPR@[19; 20)
|
||||
PATH@[19; 20)
|
||||
PATH_SEGMENT@[19; 20)
|
||||
NAME_REF@[19; 20)
|
||||
IDENT@[19; 20) "a"
|
||||
DOT@[20; 21) "."
|
||||
WHITESPACE@[21; 22) "\n"
|
||||
R_CURLY@[22; 23) "}"
|
||||
WHITESPACE@[23; 24) "\n"
|
||||
error 21: expected field name or number
|
||||
|
@ -8,105 +8,108 @@ SOURCE_FILE@[0; 350)
|
||||
L_PAREN@[8; 9) "("
|
||||
R_PAREN@[9; 10) ")"
|
||||
WHITESPACE@[10; 11) " "
|
||||
BLOCK@[11; 349)
|
||||
L_CURLY@[11; 12) "{"
|
||||
WHITESPACE@[12; 17) "\n "
|
||||
LET_STMT@[17; 129)
|
||||
LET_KW@[17; 20) "let"
|
||||
WHITESPACE@[20; 21) " "
|
||||
BIND_PAT@[21; 26)
|
||||
NAME@[21; 26)
|
||||
IDENT@[21; 26) "inner"
|
||||
WHITESPACE@[26; 27) " "
|
||||
EQ@[27; 28) "="
|
||||
WHITESPACE@[28; 29) " "
|
||||
BLOCK_EXPR@[29; 128)
|
||||
BLOCK@[29; 128)
|
||||
L_CURLY@[29; 30) "{"
|
||||
WHITESPACE@[30; 39) "\n "
|
||||
ATTR@[39; 83)
|
||||
POUND@[39; 40) "#"
|
||||
EXCL@[40; 41) "!"
|
||||
TOKEN_TREE@[41; 83)
|
||||
L_BRACK@[41; 42) "["
|
||||
IDENT@[42; 45) "doc"
|
||||
TOKEN_TREE@[45; 82)
|
||||
L_PAREN@[45; 46) "("
|
||||
STRING@[46; 81) "\"Inner attributes not ..."
|
||||
R_PAREN@[81; 82) ")"
|
||||
R_BRACK@[82; 83) "]"
|
||||
WHITESPACE@[83; 92) "\n "
|
||||
COMMENT@[92; 122) "//! Nor are ModuleDoc ..."
|
||||
WHITESPACE@[122; 127) "\n "
|
||||
R_CURLY@[127; 128) "}"
|
||||
SEMI@[128; 129) ";"
|
||||
WHITESPACE@[129; 134) "\n "
|
||||
EXPR_STMT@[134; 257)
|
||||
IF_EXPR@[134; 257)
|
||||
IF_KW@[134; 136) "if"
|
||||
WHITESPACE@[136; 137) " "
|
||||
CONDITION@[137; 141)
|
||||
LITERAL@[137; 141)
|
||||
TRUE_KW@[137; 141) "true"
|
||||
WHITESPACE@[141; 142) " "
|
||||
BLOCK@[142; 257)
|
||||
L_CURLY@[142; 143) "{"
|
||||
WHITESPACE@[143; 152) "\n "
|
||||
ATTR@[152; 171)
|
||||
POUND@[152; 153) "#"
|
||||
EXCL@[153; 154) "!"
|
||||
TOKEN_TREE@[154; 171)
|
||||
L_BRACK@[154; 155) "["
|
||||
IDENT@[155; 158) "doc"
|
||||
TOKEN_TREE@[158; 170)
|
||||
L_PAREN@[158; 159) "("
|
||||
STRING@[159; 169) "\"Nor here\""
|
||||
R_PAREN@[169; 170) ")"
|
||||
R_BRACK@[170; 171) "]"
|
||||
WHITESPACE@[171; 180) "\n "
|
||||
ATTR@[180; 212)
|
||||
POUND@[180; 181) "#"
|
||||
EXCL@[181; 182) "!"
|
||||
TOKEN_TREE@[182; 212)
|
||||
L_BRACK@[182; 183) "["
|
||||
IDENT@[183; 186) "doc"
|
||||
TOKEN_TREE@[186; 211)
|
||||
L_PAREN@[186; 187) "("
|
||||
STRING@[187; 210) "\"We error on each attr\""
|
||||
R_PAREN@[210; 211) ")"
|
||||
R_BRACK@[211; 212) "]"
|
||||
WHITESPACE@[212; 221) "\n "
|
||||
COMMENT@[221; 251) "//! Nor are ModuleDoc ..."
|
||||
WHITESPACE@[251; 256) "\n "
|
||||
R_CURLY@[256; 257) "}"
|
||||
WHITESPACE@[257; 262) "\n "
|
||||
WHILE_EXPR@[262; 347)
|
||||
WHILE_KW@[262; 267) "while"
|
||||
WHITESPACE@[267; 268) " "
|
||||
CONDITION@[268; 272)
|
||||
LITERAL@[268; 272)
|
||||
TRUE_KW@[268; 272) "true"
|
||||
WHITESPACE@[272; 273) " "
|
||||
BLOCK@[273; 347)
|
||||
L_CURLY@[273; 274) "{"
|
||||
WHITESPACE@[274; 283) "\n "
|
||||
ATTR@[283; 302)
|
||||
POUND@[283; 284) "#"
|
||||
EXCL@[284; 285) "!"
|
||||
TOKEN_TREE@[285; 302)
|
||||
L_BRACK@[285; 286) "["
|
||||
IDENT@[286; 289) "doc"
|
||||
TOKEN_TREE@[289; 301)
|
||||
L_PAREN@[289; 290) "("
|
||||
STRING@[290; 300) "\"Nor here\""
|
||||
R_PAREN@[300; 301) ")"
|
||||
R_BRACK@[301; 302) "]"
|
||||
WHITESPACE@[302; 311) "\n "
|
||||
COMMENT@[311; 341) "//! Nor are ModuleDoc ..."
|
||||
WHITESPACE@[341; 346) "\n "
|
||||
R_CURLY@[346; 347) "}"
|
||||
WHITESPACE@[347; 348) "\n"
|
||||
R_CURLY@[348; 349) "}"
|
||||
BLOCK_EXPR@[11; 349)
|
||||
BLOCK@[11; 349)
|
||||
L_CURLY@[11; 12) "{"
|
||||
WHITESPACE@[12; 17) "\n "
|
||||
LET_STMT@[17; 129)
|
||||
LET_KW@[17; 20) "let"
|
||||
WHITESPACE@[20; 21) " "
|
||||
BIND_PAT@[21; 26)
|
||||
NAME@[21; 26)
|
||||
IDENT@[21; 26) "inner"
|
||||
WHITESPACE@[26; 27) " "
|
||||
EQ@[27; 28) "="
|
||||
WHITESPACE@[28; 29) " "
|
||||
BLOCK_EXPR@[29; 128)
|
||||
BLOCK@[29; 128)
|
||||
L_CURLY@[29; 30) "{"
|
||||
WHITESPACE@[30; 39) "\n "
|
||||
ATTR@[39; 83)
|
||||
POUND@[39; 40) "#"
|
||||
EXCL@[40; 41) "!"
|
||||
TOKEN_TREE@[41; 83)
|
||||
L_BRACK@[41; 42) "["
|
||||
IDENT@[42; 45) "doc"
|
||||
TOKEN_TREE@[45; 82)
|
||||
L_PAREN@[45; 46) "("
|
||||
STRING@[46; 81) "\"Inner attributes not ..."
|
||||
R_PAREN@[81; 82) ")"
|
||||
R_BRACK@[82; 83) "]"
|
||||
WHITESPACE@[83; 92) "\n "
|
||||
COMMENT@[92; 122) "//! Nor are ModuleDoc ..."
|
||||
WHITESPACE@[122; 127) "\n "
|
||||
R_CURLY@[127; 128) "}"
|
||||
SEMI@[128; 129) ";"
|
||||
WHITESPACE@[129; 134) "\n "
|
||||
EXPR_STMT@[134; 257)
|
||||
IF_EXPR@[134; 257)
|
||||
IF_KW@[134; 136) "if"
|
||||
WHITESPACE@[136; 137) " "
|
||||
CONDITION@[137; 141)
|
||||
LITERAL@[137; 141)
|
||||
TRUE_KW@[137; 141) "true"
|
||||
WHITESPACE@[141; 142) " "
|
||||
BLOCK_EXPR@[142; 257)
|
||||
BLOCK@[142; 257)
|
||||
L_CURLY@[142; 143) "{"
|
||||
WHITESPACE@[143; 152) "\n "
|
||||
ATTR@[152; 171)
|
||||
POUND@[152; 153) "#"
|
||||
EXCL@[153; 154) "!"
|
||||
TOKEN_TREE@[154; 171)
|
||||
L_BRACK@[154; 155) "["
|
||||
IDENT@[155; 158) "doc"
|
||||
TOKEN_TREE@[158; 170)
|
||||
L_PAREN@[158; 159) "("
|
||||
STRING@[159; 169) "\"Nor here\""
|
||||
R_PAREN@[169; 170) ")"
|
||||
R_BRACK@[170; 171) "]"
|
||||
WHITESPACE@[171; 180) "\n "
|
||||
ATTR@[180; 212)
|
||||
POUND@[180; 181) "#"
|
||||
EXCL@[181; 182) "!"
|
||||
TOKEN_TREE@[182; 212)
|
||||
L_BRACK@[182; 183) "["
|
||||
IDENT@[183; 186) "doc"
|
||||
TOKEN_TREE@[186; 211)
|
||||
L_PAREN@[186; 187) "("
|
||||
STRING@[187; 210) "\"We error on each attr\""
|
||||
R_PAREN@[210; 211) ")"
|
||||
R_BRACK@[211; 212) "]"
|
||||
WHITESPACE@[212; 221) "\n "
|
||||
COMMENT@[221; 251) "//! Nor are ModuleDoc ..."
|
||||
WHITESPACE@[251; 256) "\n "
|
||||
R_CURLY@[256; 257) "}"
|
||||
WHITESPACE@[257; 262) "\n "
|
||||
WHILE_EXPR@[262; 347)
|
||||
WHILE_KW@[262; 267) "while"
|
||||
WHITESPACE@[267; 268) " "
|
||||
CONDITION@[268; 272)
|
||||
LITERAL@[268; 272)
|
||||
TRUE_KW@[268; 272) "true"
|
||||
WHITESPACE@[272; 273) " "
|
||||
BLOCK_EXPR@[273; 347)
|
||||
BLOCK@[273; 347)
|
||||
L_CURLY@[273; 274) "{"
|
||||
WHITESPACE@[274; 283) "\n "
|
||||
ATTR@[283; 302)
|
||||
POUND@[283; 284) "#"
|
||||
EXCL@[284; 285) "!"
|
||||
TOKEN_TREE@[285; 302)
|
||||
L_BRACK@[285; 286) "["
|
||||
IDENT@[286; 289) "doc"
|
||||
TOKEN_TREE@[289; 301)
|
||||
L_PAREN@[289; 290) "("
|
||||
STRING@[290; 300) "\"Nor here\""
|
||||
R_PAREN@[300; 301) ")"
|
||||
R_BRACK@[301; 302) "]"
|
||||
WHITESPACE@[302; 311) "\n "
|
||||
COMMENT@[311; 341) "//! Nor are ModuleDoc ..."
|
||||
WHITESPACE@[341; 346) "\n "
|
||||
R_CURLY@[346; 347) "}"
|
||||
WHITESPACE@[347; 348) "\n"
|
||||
R_CURLY@[348; 349) "}"
|
||||
WHITESPACE@[349; 350) "\n"
|
||||
error [39; 83): A block in this position cannot accept inner attributes
|
||||
error [152; 171): A block in this position cannot accept inner attributes
|
||||
|
@ -8,185 +8,186 @@ SOURCE_FILE@[0; 293)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 292)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 101)
|
||||
MATCH_EXPR@[15; 101)
|
||||
MATCH_KW@[15; 20) "match"
|
||||
WHITESPACE@[20; 21) " "
|
||||
TUPLE_EXPR@[21; 23)
|
||||
L_PAREN@[21; 22) "("
|
||||
R_PAREN@[22; 23) ")"
|
||||
WHITESPACE@[23; 24) " "
|
||||
MATCH_ARM_LIST@[24; 101)
|
||||
L_CURLY@[24; 25) "{"
|
||||
WHITESPACE@[25; 34) "\n "
|
||||
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) "\n "
|
||||
MATCH_ARM@[51; 78)
|
||||
ATTR@[51; 52)
|
||||
POUND@[51; 52) "#"
|
||||
ERROR@[52; 53)
|
||||
EXCL@[52; 53) "!"
|
||||
ARRAY_EXPR@[53; 78)
|
||||
L_BRACK@[53; 54) "["
|
||||
CALL_EXPR@[54; 77)
|
||||
PATH_EXPR@[54; 57)
|
||||
PATH@[54; 57)
|
||||
PATH_SEGMENT@[54; 57)
|
||||
NAME_REF@[54; 57)
|
||||
IDENT@[54; 57) "doc"
|
||||
ARG_LIST@[57; 77)
|
||||
L_PAREN@[57; 58) "("
|
||||
LITERAL@[58; 76)
|
||||
STRING@[58; 76) "\"Not allowed here\""
|
||||
R_PAREN@[76; 77) ")"
|
||||
R_BRACK@[77; 78) "]"
|
||||
WHITESPACE@[78; 87) "\n "
|
||||
MATCH_ARM@[87; 94)
|
||||
PLACEHOLDER_PAT@[87; 88)
|
||||
UNDERSCORE@[87; 88) "_"
|
||||
WHITESPACE@[88; 89) " "
|
||||
FAT_ARROW@[89; 91) "=>"
|
||||
WHITESPACE@[91; 92) " "
|
||||
TUPLE_EXPR@[92; 94)
|
||||
L_PAREN@[92; 93) "("
|
||||
R_PAREN@[93; 94) ")"
|
||||
COMMA@[94; 95) ","
|
||||
WHITESPACE@[95; 100) "\n "
|
||||
R_CURLY@[100; 101) "}"
|
||||
WHITESPACE@[101; 107) "\n\n "
|
||||
EXPR_STMT@[107; 185)
|
||||
MATCH_EXPR@[107; 185)
|
||||
MATCH_KW@[107; 112) "match"
|
||||
WHITESPACE@[112; 113) " "
|
||||
TUPLE_EXPR@[113; 115)
|
||||
L_PAREN@[113; 114) "("
|
||||
R_PAREN@[114; 115) ")"
|
||||
WHITESPACE@[115; 116) " "
|
||||
MATCH_ARM_LIST@[116; 185)
|
||||
L_CURLY@[116; 117) "{"
|
||||
WHITESPACE@[117; 126) "\n "
|
||||
MATCH_ARM@[126; 133)
|
||||
PLACEHOLDER_PAT@[126; 127)
|
||||
UNDERSCORE@[126; 127) "_"
|
||||
WHITESPACE@[127; 128) " "
|
||||
FAT_ARROW@[128; 130) "=>"
|
||||
WHITESPACE@[130; 131) " "
|
||||
TUPLE_EXPR@[131; 133)
|
||||
L_PAREN@[131; 132) "("
|
||||
R_PAREN@[132; 133) ")"
|
||||
COMMA@[133; 134) ","
|
||||
WHITESPACE@[134; 143) "\n "
|
||||
MATCH_ARM@[143; 150)
|
||||
PLACEHOLDER_PAT@[143; 144)
|
||||
UNDERSCORE@[143; 144) "_"
|
||||
WHITESPACE@[144; 145) " "
|
||||
FAT_ARROW@[145; 147) "=>"
|
||||
WHITESPACE@[147; 148) " "
|
||||
TUPLE_EXPR@[148; 150)
|
||||
L_PAREN@[148; 149) "("
|
||||
R_PAREN@[149; 150) ")"
|
||||
COMMA@[150; 151) ","
|
||||
WHITESPACE@[151; 160) "\n "
|
||||
MATCH_ARM@[160; 179)
|
||||
ATTR@[160; 161)
|
||||
POUND@[160; 161) "#"
|
||||
ERROR@[161; 162)
|
||||
EXCL@[161; 162) "!"
|
||||
ARRAY_EXPR@[162; 179)
|
||||
L_BRACK@[162; 163) "["
|
||||
CALL_EXPR@[163; 178)
|
||||
PATH_EXPR@[163; 166)
|
||||
PATH@[163; 166)
|
||||
PATH_SEGMENT@[163; 166)
|
||||
NAME_REF@[163; 166)
|
||||
IDENT@[163; 166) "doc"
|
||||
ARG_LIST@[166; 178)
|
||||
L_PAREN@[166; 167) "("
|
||||
LITERAL@[167; 177)
|
||||
STRING@[167; 177) "\"Nor here\""
|
||||
R_PAREN@[177; 178) ")"
|
||||
R_BRACK@[178; 179) "]"
|
||||
WHITESPACE@[179; 184) "\n "
|
||||
R_CURLY@[184; 185) "}"
|
||||
WHITESPACE@[185; 191) "\n\n "
|
||||
MATCH_EXPR@[191; 290)
|
||||
MATCH_KW@[191; 196) "match"
|
||||
WHITESPACE@[196; 197) " "
|
||||
TUPLE_EXPR@[197; 199)
|
||||
L_PAREN@[197; 198) "("
|
||||
R_PAREN@[198; 199) ")"
|
||||
WHITESPACE@[199; 200) " "
|
||||
MATCH_ARM_LIST@[200; 290)
|
||||
L_CURLY@[200; 201) "{"
|
||||
WHITESPACE@[201; 210) "\n "
|
||||
MATCH_ARM@[210; 250)
|
||||
ATTR@[210; 222)
|
||||
POUND@[210; 211) "#"
|
||||
TOKEN_TREE@[211; 222)
|
||||
L_BRACK@[211; 212) "["
|
||||
IDENT@[212; 215) "cfg"
|
||||
TOKEN_TREE@[215; 221)
|
||||
L_PAREN@[215; 216) "("
|
||||
IDENT@[216; 220) "test"
|
||||
R_PAREN@[220; 221) ")"
|
||||
R_BRACK@[221; 222) "]"
|
||||
WHITESPACE@[222; 231) "\n "
|
||||
ATTR@[231; 232)
|
||||
POUND@[231; 232) "#"
|
||||
ERROR@[232; 233)
|
||||
EXCL@[232; 233) "!"
|
||||
ARRAY_EXPR@[233; 250)
|
||||
L_BRACK@[233; 234) "["
|
||||
CALL_EXPR@[234; 249)
|
||||
PATH_EXPR@[234; 237)
|
||||
PATH@[234; 237)
|
||||
PATH_SEGMENT@[234; 237)
|
||||
NAME_REF@[234; 237)
|
||||
IDENT@[234; 237) "doc"
|
||||
ARG_LIST@[237; 249)
|
||||
L_PAREN@[237; 238) "("
|
||||
LITERAL@[238; 248)
|
||||
STRING@[238; 248) "\"Nor here\""
|
||||
R_PAREN@[248; 249) ")"
|
||||
R_BRACK@[249; 250) "]"
|
||||
WHITESPACE@[250; 259) "\n "
|
||||
MATCH_ARM@[259; 266)
|
||||
PLACEHOLDER_PAT@[259; 260)
|
||||
UNDERSCORE@[259; 260) "_"
|
||||
WHITESPACE@[260; 261) " "
|
||||
FAT_ARROW@[261; 263) "=>"
|
||||
WHITESPACE@[263; 264) " "
|
||||
TUPLE_EXPR@[264; 266)
|
||||
L_PAREN@[264; 265) "("
|
||||
R_PAREN@[265; 266) ")"
|
||||
COMMA@[266; 267) ","
|
||||
WHITESPACE@[267; 276) "\n "
|
||||
MATCH_ARM@[276; 283)
|
||||
PLACEHOLDER_PAT@[276; 277)
|
||||
UNDERSCORE@[276; 277) "_"
|
||||
WHITESPACE@[277; 278) " "
|
||||
FAT_ARROW@[278; 280) "=>"
|
||||
WHITESPACE@[280; 281) " "
|
||||
TUPLE_EXPR@[281; 283)
|
||||
L_PAREN@[281; 282) "("
|
||||
R_PAREN@[282; 283) ")"
|
||||
COMMA@[283; 284) ","
|
||||
WHITESPACE@[284; 289) "\n "
|
||||
R_CURLY@[289; 290) "}"
|
||||
WHITESPACE@[290; 291) "\n"
|
||||
R_CURLY@[291; 292) "}"
|
||||
BLOCK_EXPR@[9; 292)
|
||||
BLOCK@[9; 292)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 101)
|
||||
MATCH_EXPR@[15; 101)
|
||||
MATCH_KW@[15; 20) "match"
|
||||
WHITESPACE@[20; 21) " "
|
||||
TUPLE_EXPR@[21; 23)
|
||||
L_PAREN@[21; 22) "("
|
||||
R_PAREN@[22; 23) ")"
|
||||
WHITESPACE@[23; 24) " "
|
||||
MATCH_ARM_LIST@[24; 101)
|
||||
L_CURLY@[24; 25) "{"
|
||||
WHITESPACE@[25; 34) "\n "
|
||||
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) "\n "
|
||||
MATCH_ARM@[51; 78)
|
||||
ATTR@[51; 52)
|
||||
POUND@[51; 52) "#"
|
||||
ERROR@[52; 53)
|
||||
EXCL@[52; 53) "!"
|
||||
ARRAY_EXPR@[53; 78)
|
||||
L_BRACK@[53; 54) "["
|
||||
CALL_EXPR@[54; 77)
|
||||
PATH_EXPR@[54; 57)
|
||||
PATH@[54; 57)
|
||||
PATH_SEGMENT@[54; 57)
|
||||
NAME_REF@[54; 57)
|
||||
IDENT@[54; 57) "doc"
|
||||
ARG_LIST@[57; 77)
|
||||
L_PAREN@[57; 58) "("
|
||||
LITERAL@[58; 76)
|
||||
STRING@[58; 76) "\"Not allowed here\""
|
||||
R_PAREN@[76; 77) ")"
|
||||
R_BRACK@[77; 78) "]"
|
||||
WHITESPACE@[78; 87) "\n "
|
||||
MATCH_ARM@[87; 94)
|
||||
PLACEHOLDER_PAT@[87; 88)
|
||||
UNDERSCORE@[87; 88) "_"
|
||||
WHITESPACE@[88; 89) " "
|
||||
FAT_ARROW@[89; 91) "=>"
|
||||
WHITESPACE@[91; 92) " "
|
||||
TUPLE_EXPR@[92; 94)
|
||||
L_PAREN@[92; 93) "("
|
||||
R_PAREN@[93; 94) ")"
|
||||
COMMA@[94; 95) ","
|
||||
WHITESPACE@[95; 100) "\n "
|
||||
R_CURLY@[100; 101) "}"
|
||||
WHITESPACE@[101; 107) "\n\n "
|
||||
EXPR_STMT@[107; 185)
|
||||
MATCH_EXPR@[107; 185)
|
||||
MATCH_KW@[107; 112) "match"
|
||||
WHITESPACE@[112; 113) " "
|
||||
TUPLE_EXPR@[113; 115)
|
||||
L_PAREN@[113; 114) "("
|
||||
R_PAREN@[114; 115) ")"
|
||||
WHITESPACE@[115; 116) " "
|
||||
MATCH_ARM_LIST@[116; 185)
|
||||
L_CURLY@[116; 117) "{"
|
||||
WHITESPACE@[117; 126) "\n "
|
||||
MATCH_ARM@[126; 133)
|
||||
PLACEHOLDER_PAT@[126; 127)
|
||||
UNDERSCORE@[126; 127) "_"
|
||||
WHITESPACE@[127; 128) " "
|
||||
FAT_ARROW@[128; 130) "=>"
|
||||
WHITESPACE@[130; 131) " "
|
||||
TUPLE_EXPR@[131; 133)
|
||||
L_PAREN@[131; 132) "("
|
||||
R_PAREN@[132; 133) ")"
|
||||
COMMA@[133; 134) ","
|
||||
WHITESPACE@[134; 143) "\n "
|
||||
MATCH_ARM@[143; 150)
|
||||
PLACEHOLDER_PAT@[143; 144)
|
||||
UNDERSCORE@[143; 144) "_"
|
||||
WHITESPACE@[144; 145) " "
|
||||
FAT_ARROW@[145; 147) "=>"
|
||||
WHITESPACE@[147; 148) " "
|
||||
TUPLE_EXPR@[148; 150)
|
||||
L_PAREN@[148; 149) "("
|
||||
R_PAREN@[149; 150) ")"
|
||||
COMMA@[150; 151) ","
|
||||
WHITESPACE@[151; 160) "\n "
|
||||
MATCH_ARM@[160; 179)
|
||||
ATTR@[160; 161)
|
||||
POUND@[160; 161) "#"
|
||||
ERROR@[161; 162)
|
||||
EXCL@[161; 162) "!"
|
||||
ARRAY_EXPR@[162; 179)
|
||||
L_BRACK@[162; 163) "["
|
||||
CALL_EXPR@[163; 178)
|
||||
PATH_EXPR@[163; 166)
|
||||
PATH@[163; 166)
|
||||
PATH_SEGMENT@[163; 166)
|
||||
NAME_REF@[163; 166)
|
||||
IDENT@[163; 166) "doc"
|
||||
ARG_LIST@[166; 178)
|
||||
L_PAREN@[166; 167) "("
|
||||
LITERAL@[167; 177)
|
||||
STRING@[167; 177) "\"Nor here\""
|
||||
R_PAREN@[177; 178) ")"
|
||||
R_BRACK@[178; 179) "]"
|
||||
WHITESPACE@[179; 184) "\n "
|
||||
R_CURLY@[184; 185) "}"
|
||||
WHITESPACE@[185; 191) "\n\n "
|
||||
MATCH_EXPR@[191; 290)
|
||||
MATCH_KW@[191; 196) "match"
|
||||
WHITESPACE@[196; 197) " "
|
||||
TUPLE_EXPR@[197; 199)
|
||||
L_PAREN@[197; 198) "("
|
||||
R_PAREN@[198; 199) ")"
|
||||
WHITESPACE@[199; 200) " "
|
||||
MATCH_ARM_LIST@[200; 290)
|
||||
L_CURLY@[200; 201) "{"
|
||||
WHITESPACE@[201; 210) "\n "
|
||||
MATCH_ARM@[210; 250)
|
||||
ATTR@[210; 222)
|
||||
POUND@[210; 211) "#"
|
||||
TOKEN_TREE@[211; 222)
|
||||
L_BRACK@[211; 212) "["
|
||||
IDENT@[212; 215) "cfg"
|
||||
TOKEN_TREE@[215; 221)
|
||||
L_PAREN@[215; 216) "("
|
||||
IDENT@[216; 220) "test"
|
||||
R_PAREN@[220; 221) ")"
|
||||
R_BRACK@[221; 222) "]"
|
||||
WHITESPACE@[222; 231) "\n "
|
||||
ATTR@[231; 232)
|
||||
POUND@[231; 232) "#"
|
||||
ERROR@[232; 233)
|
||||
EXCL@[232; 233) "!"
|
||||
ARRAY_EXPR@[233; 250)
|
||||
L_BRACK@[233; 234) "["
|
||||
CALL_EXPR@[234; 249)
|
||||
PATH_EXPR@[234; 237)
|
||||
PATH@[234; 237)
|
||||
PATH_SEGMENT@[234; 237)
|
||||
NAME_REF@[234; 237)
|
||||
IDENT@[234; 237) "doc"
|
||||
ARG_LIST@[237; 249)
|
||||
L_PAREN@[237; 238) "("
|
||||
LITERAL@[238; 248)
|
||||
STRING@[238; 248) "\"Nor here\""
|
||||
R_PAREN@[248; 249) ")"
|
||||
R_BRACK@[249; 250) "]"
|
||||
WHITESPACE@[250; 259) "\n "
|
||||
MATCH_ARM@[259; 266)
|
||||
PLACEHOLDER_PAT@[259; 260)
|
||||
UNDERSCORE@[259; 260) "_"
|
||||
WHITESPACE@[260; 261) " "
|
||||
FAT_ARROW@[261; 263) "=>"
|
||||
WHITESPACE@[263; 264) " "
|
||||
TUPLE_EXPR@[264; 266)
|
||||
L_PAREN@[264; 265) "("
|
||||
R_PAREN@[265; 266) ")"
|
||||
COMMA@[266; 267) ","
|
||||
WHITESPACE@[267; 276) "\n "
|
||||
MATCH_ARM@[276; 283)
|
||||
PLACEHOLDER_PAT@[276; 277)
|
||||
UNDERSCORE@[276; 277) "_"
|
||||
WHITESPACE@[277; 278) " "
|
||||
FAT_ARROW@[278; 280) "=>"
|
||||
WHITESPACE@[280; 281) " "
|
||||
TUPLE_EXPR@[281; 283)
|
||||
L_PAREN@[281; 282) "("
|
||||
R_PAREN@[282; 283) ")"
|
||||
COMMA@[283; 284) ","
|
||||
WHITESPACE@[284; 289) "\n "
|
||||
R_CURLY@[289; 290) "}"
|
||||
WHITESPACE@[290; 291) "\n"
|
||||
R_CURLY@[291; 292) "}"
|
||||
WHITESPACE@[292; 293) "\n"
|
||||
error 52: expected `[`
|
||||
error 52: expected pattern
|
||||
|
@ -8,56 +8,57 @@ SOURCE_FILE@[0; 89)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 88)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
MATCH_EXPR@[15; 86)
|
||||
MATCH_KW@[15; 20) "match"
|
||||
WHITESPACE@[20; 21) " "
|
||||
TUPLE_EXPR@[21; 23)
|
||||
L_PAREN@[21; 22) "("
|
||||
R_PAREN@[22; 23) ")"
|
||||
WHITESPACE@[23; 24) " "
|
||||
MATCH_ARM_LIST@[24; 86)
|
||||
L_CURLY@[24; 25) "{"
|
||||
WHITESPACE@[25; 34) "\n "
|
||||
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) "\n "
|
||||
MATCH_ARM@[51; 58)
|
||||
PLACEHOLDER_PAT@[51; 52)
|
||||
UNDERSCORE@[51; 52) "_"
|
||||
WHITESPACE@[52; 53) " "
|
||||
FAT_ARROW@[53; 55) "=>"
|
||||
WHITESPACE@[55; 56) " "
|
||||
TUPLE_EXPR@[56; 58)
|
||||
L_PAREN@[56; 57) "("
|
||||
R_PAREN@[57; 58) ")"
|
||||
COMMA@[58; 59) ","
|
||||
WHITESPACE@[59; 68) "\n "
|
||||
MATCH_ARM@[68; 80)
|
||||
ATTR@[68; 80)
|
||||
POUND@[68; 69) "#"
|
||||
TOKEN_TREE@[69; 80)
|
||||
L_BRACK@[69; 70) "["
|
||||
IDENT@[70; 73) "cfg"
|
||||
TOKEN_TREE@[73; 79)
|
||||
L_PAREN@[73; 74) "("
|
||||
IDENT@[74; 78) "test"
|
||||
R_PAREN@[78; 79) ")"
|
||||
R_BRACK@[79; 80) "]"
|
||||
WHITESPACE@[80; 85) "\n "
|
||||
R_CURLY@[85; 86) "}"
|
||||
WHITESPACE@[86; 87) "\n"
|
||||
R_CURLY@[87; 88) "}"
|
||||
BLOCK_EXPR@[9; 88)
|
||||
BLOCK@[9; 88)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
MATCH_EXPR@[15; 86)
|
||||
MATCH_KW@[15; 20) "match"
|
||||
WHITESPACE@[20; 21) " "
|
||||
TUPLE_EXPR@[21; 23)
|
||||
L_PAREN@[21; 22) "("
|
||||
R_PAREN@[22; 23) ")"
|
||||
WHITESPACE@[23; 24) " "
|
||||
MATCH_ARM_LIST@[24; 86)
|
||||
L_CURLY@[24; 25) "{"
|
||||
WHITESPACE@[25; 34) "\n "
|
||||
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) "\n "
|
||||
MATCH_ARM@[51; 58)
|
||||
PLACEHOLDER_PAT@[51; 52)
|
||||
UNDERSCORE@[51; 52) "_"
|
||||
WHITESPACE@[52; 53) " "
|
||||
FAT_ARROW@[53; 55) "=>"
|
||||
WHITESPACE@[55; 56) " "
|
||||
TUPLE_EXPR@[56; 58)
|
||||
L_PAREN@[56; 57) "("
|
||||
R_PAREN@[57; 58) ")"
|
||||
COMMA@[58; 59) ","
|
||||
WHITESPACE@[59; 68) "\n "
|
||||
MATCH_ARM@[68; 80)
|
||||
ATTR@[68; 80)
|
||||
POUND@[68; 69) "#"
|
||||
TOKEN_TREE@[69; 80)
|
||||
L_BRACK@[69; 70) "["
|
||||
IDENT@[70; 73) "cfg"
|
||||
TOKEN_TREE@[73; 79)
|
||||
L_PAREN@[73; 74) "("
|
||||
IDENT@[74; 78) "test"
|
||||
R_PAREN@[78; 79) ")"
|
||||
R_BRACK@[79; 80) "]"
|
||||
WHITESPACE@[80; 85) "\n "
|
||||
R_CURLY@[85; 86) "}"
|
||||
WHITESPACE@[86; 87) "\n"
|
||||
R_CURLY@[87; 88) "}"
|
||||
WHITESPACE@[88; 89) "\n"
|
||||
error 80: expected pattern
|
||||
error 80: expected FAT_ARROW
|
||||
|
@ -8,84 +8,85 @@ SOURCE_FILE@[0; 91)
|
||||
L_PAREN@[7; 8) "("
|
||||
R_PAREN@[8; 9) ")"
|
||||
WHITESPACE@[9; 10) " "
|
||||
BLOCK@[10; 89)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
LET_STMT@[16; 27)
|
||||
LET_KW@[16; 19) "let"
|
||||
WHITESPACE@[19; 20) " "
|
||||
BIND_PAT@[20; 27)
|
||||
REF_KW@[20; 23) "ref"
|
||||
WHITESPACE@[23; 24) " "
|
||||
ERROR@[24; 27)
|
||||
BOX_KW@[24; 27) "box"
|
||||
WHITESPACE@[27; 28) " "
|
||||
EXPR_STMT@[28; 35)
|
||||
BIN_EXPR@[28; 34)
|
||||
PATH_EXPR@[28; 29)
|
||||
PATH@[28; 29)
|
||||
PATH_SEGMENT@[28; 29)
|
||||
NAME_REF@[28; 29)
|
||||
IDENT@[28; 29) "i"
|
||||
WHITESPACE@[29; 30) " "
|
||||
EQ@[30; 31) "="
|
||||
WHITESPACE@[31; 32) " "
|
||||
TUPLE_EXPR@[32; 34)
|
||||
L_PAREN@[32; 33) "("
|
||||
R_PAREN@[33; 34) ")"
|
||||
SEMI@[34; 35) ";"
|
||||
WHITESPACE@[35; 40) "\n "
|
||||
LET_STMT@[40; 51)
|
||||
LET_KW@[40; 43) "let"
|
||||
WHITESPACE@[43; 44) " "
|
||||
BIND_PAT@[44; 51)
|
||||
MUT_KW@[44; 47) "mut"
|
||||
WHITESPACE@[47; 48) " "
|
||||
ERROR@[48; 51)
|
||||
BOX_KW@[48; 51) "box"
|
||||
WHITESPACE@[51; 52) " "
|
||||
EXPR_STMT@[52; 59)
|
||||
BIN_EXPR@[52; 58)
|
||||
PATH_EXPR@[52; 53)
|
||||
PATH@[52; 53)
|
||||
PATH_SEGMENT@[52; 53)
|
||||
NAME_REF@[52; 53)
|
||||
IDENT@[52; 53) "i"
|
||||
WHITESPACE@[53; 54) " "
|
||||
EQ@[54; 55) "="
|
||||
WHITESPACE@[55; 56) " "
|
||||
TUPLE_EXPR@[56; 58)
|
||||
L_PAREN@[56; 57) "("
|
||||
R_PAREN@[57; 58) ")"
|
||||
SEMI@[58; 59) ";"
|
||||
WHITESPACE@[59; 64) "\n "
|
||||
LET_STMT@[64; 79)
|
||||
LET_KW@[64; 67) "let"
|
||||
WHITESPACE@[67; 68) " "
|
||||
BIND_PAT@[68; 79)
|
||||
REF_KW@[68; 71) "ref"
|
||||
WHITESPACE@[71; 72) " "
|
||||
MUT_KW@[72; 75) "mut"
|
||||
WHITESPACE@[75; 76) " "
|
||||
ERROR@[76; 79)
|
||||
BOX_KW@[76; 79) "box"
|
||||
WHITESPACE@[79; 80) " "
|
||||
EXPR_STMT@[80; 87)
|
||||
BIN_EXPR@[80; 86)
|
||||
PATH_EXPR@[80; 81)
|
||||
PATH@[80; 81)
|
||||
PATH_SEGMENT@[80; 81)
|
||||
NAME_REF@[80; 81)
|
||||
IDENT@[80; 81) "i"
|
||||
WHITESPACE@[81; 82) " "
|
||||
EQ@[82; 83) "="
|
||||
WHITESPACE@[83; 84) " "
|
||||
TUPLE_EXPR@[84; 86)
|
||||
L_PAREN@[84; 85) "("
|
||||
R_PAREN@[85; 86) ")"
|
||||
SEMI@[86; 87) ";"
|
||||
WHITESPACE@[87; 88) "\n"
|
||||
R_CURLY@[88; 89) "}"
|
||||
BLOCK_EXPR@[10; 89)
|
||||
BLOCK@[10; 89)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
LET_STMT@[16; 27)
|
||||
LET_KW@[16; 19) "let"
|
||||
WHITESPACE@[19; 20) " "
|
||||
BIND_PAT@[20; 27)
|
||||
REF_KW@[20; 23) "ref"
|
||||
WHITESPACE@[23; 24) " "
|
||||
ERROR@[24; 27)
|
||||
BOX_KW@[24; 27) "box"
|
||||
WHITESPACE@[27; 28) " "
|
||||
EXPR_STMT@[28; 35)
|
||||
BIN_EXPR@[28; 34)
|
||||
PATH_EXPR@[28; 29)
|
||||
PATH@[28; 29)
|
||||
PATH_SEGMENT@[28; 29)
|
||||
NAME_REF@[28; 29)
|
||||
IDENT@[28; 29) "i"
|
||||
WHITESPACE@[29; 30) " "
|
||||
EQ@[30; 31) "="
|
||||
WHITESPACE@[31; 32) " "
|
||||
TUPLE_EXPR@[32; 34)
|
||||
L_PAREN@[32; 33) "("
|
||||
R_PAREN@[33; 34) ")"
|
||||
SEMI@[34; 35) ";"
|
||||
WHITESPACE@[35; 40) "\n "
|
||||
LET_STMT@[40; 51)
|
||||
LET_KW@[40; 43) "let"
|
||||
WHITESPACE@[43; 44) " "
|
||||
BIND_PAT@[44; 51)
|
||||
MUT_KW@[44; 47) "mut"
|
||||
WHITESPACE@[47; 48) " "
|
||||
ERROR@[48; 51)
|
||||
BOX_KW@[48; 51) "box"
|
||||
WHITESPACE@[51; 52) " "
|
||||
EXPR_STMT@[52; 59)
|
||||
BIN_EXPR@[52; 58)
|
||||
PATH_EXPR@[52; 53)
|
||||
PATH@[52; 53)
|
||||
PATH_SEGMENT@[52; 53)
|
||||
NAME_REF@[52; 53)
|
||||
IDENT@[52; 53) "i"
|
||||
WHITESPACE@[53; 54) " "
|
||||
EQ@[54; 55) "="
|
||||
WHITESPACE@[55; 56) " "
|
||||
TUPLE_EXPR@[56; 58)
|
||||
L_PAREN@[56; 57) "("
|
||||
R_PAREN@[57; 58) ")"
|
||||
SEMI@[58; 59) ";"
|
||||
WHITESPACE@[59; 64) "\n "
|
||||
LET_STMT@[64; 79)
|
||||
LET_KW@[64; 67) "let"
|
||||
WHITESPACE@[67; 68) " "
|
||||
BIND_PAT@[68; 79)
|
||||
REF_KW@[68; 71) "ref"
|
||||
WHITESPACE@[71; 72) " "
|
||||
MUT_KW@[72; 75) "mut"
|
||||
WHITESPACE@[75; 76) " "
|
||||
ERROR@[76; 79)
|
||||
BOX_KW@[76; 79) "box"
|
||||
WHITESPACE@[79; 80) " "
|
||||
EXPR_STMT@[80; 87)
|
||||
BIN_EXPR@[80; 86)
|
||||
PATH_EXPR@[80; 81)
|
||||
PATH@[80; 81)
|
||||
PATH_SEGMENT@[80; 81)
|
||||
NAME_REF@[80; 81)
|
||||
IDENT@[80; 81) "i"
|
||||
WHITESPACE@[81; 82) " "
|
||||
EQ@[82; 83) "="
|
||||
WHITESPACE@[83; 84) " "
|
||||
TUPLE_EXPR@[84; 86)
|
||||
L_PAREN@[84; 85) "("
|
||||
R_PAREN@[85; 86) ")"
|
||||
SEMI@[86; 87) ";"
|
||||
WHITESPACE@[87; 88) "\n"
|
||||
R_CURLY@[88; 89) "}"
|
||||
WHITESPACE@[89; 91) "\n\n"
|
||||
error 24: expected a name
|
||||
error 27: expected SEMI
|
||||
|
@ -8,19 +8,20 @@ SOURCE_FILE@[0; 30)
|
||||
L_PAREN@[7; 8) "("
|
||||
R_PAREN@[8; 9) ")"
|
||||
WHITESPACE@[9; 10) " "
|
||||
BLOCK@[10; 29)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
EXPR_STMT@[16; 22)
|
||||
ERROR@[16; 22)
|
||||
LABEL@[16; 22)
|
||||
LIFETIME@[16; 21) "\'loop"
|
||||
COLON@[21; 22) ":"
|
||||
WHITESPACE@[22; 23) " "
|
||||
IMPL_BLOCK@[23; 27)
|
||||
IMPL_KW@[23; 27) "impl"
|
||||
WHITESPACE@[27; 28) "\n"
|
||||
R_CURLY@[28; 29) "}"
|
||||
BLOCK_EXPR@[10; 29)
|
||||
BLOCK@[10; 29)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
EXPR_STMT@[16; 22)
|
||||
ERROR@[16; 22)
|
||||
LABEL@[16; 22)
|
||||
LIFETIME@[16; 21) "\'loop"
|
||||
COLON@[21; 22) ":"
|
||||
WHITESPACE@[22; 23) " "
|
||||
IMPL_BLOCK@[23; 27)
|
||||
IMPL_KW@[23; 27) "impl"
|
||||
WHITESPACE@[27; 28) "\n"
|
||||
R_CURLY@[28; 29) "}"
|
||||
WHITESPACE@[29; 30) "\n"
|
||||
error 22: expected a loop
|
||||
error 22: expected SEMI
|
||||
|
@ -7,9 +7,10 @@ SOURCE_FILE@[0; 33)
|
||||
PARAM_LIST@[6; 8)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
BLOCK@[8; 10)
|
||||
L_CURLY@[8; 9) "{"
|
||||
R_CURLY@[9; 10) "}"
|
||||
BLOCK_EXPR@[8; 10)
|
||||
BLOCK@[8; 10)
|
||||
L_CURLY@[8; 9) "{"
|
||||
R_CURLY@[9; 10) "}"
|
||||
WHITESPACE@[10; 11) " "
|
||||
ERROR@[11; 17)
|
||||
UNSAFE_KW@[11; 17) "unsafe"
|
||||
@ -27,9 +28,10 @@ SOURCE_FILE@[0; 33)
|
||||
PARAM_LIST@[28; 30)
|
||||
L_PAREN@[28; 29) "("
|
||||
R_PAREN@[29; 30) ")"
|
||||
BLOCK@[30; 32)
|
||||
L_CURLY@[30; 31) "{"
|
||||
R_CURLY@[31; 32) "}"
|
||||
BLOCK_EXPR@[30; 32)
|
||||
BLOCK@[30; 32)
|
||||
L_CURLY@[30; 31) "{"
|
||||
R_CURLY@[31; 32) "}"
|
||||
WHITESPACE@[32; 33) "\n"
|
||||
error 11: expected an item
|
||||
error 18: expected an item
|
||||
|
@ -8,24 +8,25 @@ SOURCE_FILE@[0; 30)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 29)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) " "
|
||||
LET_STMT@[11; 27)
|
||||
LET_KW@[11; 14) "let"
|
||||
WHITESPACE@[14; 15) " "
|
||||
PLACEHOLDER_PAT@[15; 16)
|
||||
UNDERSCORE@[15; 16) "_"
|
||||
WHITESPACE@[16; 17) " "
|
||||
EQ@[17; 18) "="
|
||||
WHITESPACE@[18; 19) " "
|
||||
BLOCK_EXPR@[19; 27)
|
||||
ASYNC_KW@[19; 24) "async"
|
||||
WHITESPACE@[24; 25) " "
|
||||
BLOCK@[25; 27)
|
||||
L_CURLY@[25; 26) "{"
|
||||
R_CURLY@[26; 27) "}"
|
||||
WHITESPACE@[27; 28) " "
|
||||
R_CURLY@[28; 29) "}"
|
||||
BLOCK_EXPR@[9; 29)
|
||||
BLOCK@[9; 29)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) " "
|
||||
LET_STMT@[11; 27)
|
||||
LET_KW@[11; 14) "let"
|
||||
WHITESPACE@[14; 15) " "
|
||||
PLACEHOLDER_PAT@[15; 16)
|
||||
UNDERSCORE@[15; 16) "_"
|
||||
WHITESPACE@[16; 17) " "
|
||||
EQ@[17; 18) "="
|
||||
WHITESPACE@[18; 19) " "
|
||||
BLOCK_EXPR@[19; 27)
|
||||
ASYNC_KW@[19; 24) "async"
|
||||
WHITESPACE@[24; 25) " "
|
||||
BLOCK@[25; 27)
|
||||
L_CURLY@[25; 26) "{"
|
||||
R_CURLY@[26; 27) "}"
|
||||
WHITESPACE@[27; 28) " "
|
||||
R_CURLY@[28; 29) "}"
|
||||
WHITESPACE@[29; 30) "\n"
|
||||
error 27: expected SEMI
|
||||
|
@ -8,18 +8,19 @@ SOURCE_FILE@[0; 21)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 20)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) " "
|
||||
ERROR@[11; 14)
|
||||
VISIBILITY@[11; 14)
|
||||
PUB_KW@[11; 14) "pub"
|
||||
WHITESPACE@[14; 15) " "
|
||||
EXPR_STMT@[15; 18)
|
||||
LITERAL@[15; 17)
|
||||
INT_NUMBER@[15; 17) "92"
|
||||
SEMI@[17; 18) ";"
|
||||
WHITESPACE@[18; 19) " "
|
||||
R_CURLY@[19; 20) "}"
|
||||
BLOCK_EXPR@[9; 20)
|
||||
BLOCK@[9; 20)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) " "
|
||||
ERROR@[11; 14)
|
||||
VISIBILITY@[11; 14)
|
||||
PUB_KW@[11; 14) "pub"
|
||||
WHITESPACE@[14; 15) " "
|
||||
EXPR_STMT@[15; 18)
|
||||
LITERAL@[15; 17)
|
||||
INT_NUMBER@[15; 17) "92"
|
||||
SEMI@[17; 18) ";"
|
||||
WHITESPACE@[18; 19) " "
|
||||
R_CURLY@[19; 20) "}"
|
||||
WHITESPACE@[20; 21) "\n"
|
||||
error 14: expected an item
|
||||
|
@ -8,48 +8,50 @@ SOURCE_FILE@[0; 48)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 47)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 14) "\n "
|
||||
EXPR_STMT@[14; 25)
|
||||
ATTR@[14; 18)
|
||||
POUND@[14; 15) "#"
|
||||
TOKEN_TREE@[15; 18)
|
||||
L_BRACK@[15; 16) "["
|
||||
IDENT@[16; 17) "A"
|
||||
R_BRACK@[17; 18) "]"
|
||||
WHITESPACE@[18; 19) " "
|
||||
BIN_EXPR@[19; 24)
|
||||
LITERAL@[19; 20)
|
||||
INT_NUMBER@[19; 20) "1"
|
||||
WHITESPACE@[20; 21) " "
|
||||
PLUS@[21; 22) "+"
|
||||
WHITESPACE@[22; 23) " "
|
||||
LITERAL@[23; 24)
|
||||
INT_NUMBER@[23; 24) "2"
|
||||
SEMI@[24; 25) ";"
|
||||
WHITESPACE@[25; 29) "\n "
|
||||
EXPR_STMT@[29; 45)
|
||||
ATTR@[29; 33)
|
||||
POUND@[29; 30) "#"
|
||||
TOKEN_TREE@[30; 33)
|
||||
L_BRACK@[30; 31) "["
|
||||
IDENT@[31; 32) "B"
|
||||
R_BRACK@[32; 33) "]"
|
||||
WHITESPACE@[33; 34) " "
|
||||
IF_EXPR@[34; 44)
|
||||
IF_KW@[34; 36) "if"
|
||||
WHITESPACE@[36; 37) " "
|
||||
CONDITION@[37; 41)
|
||||
LITERAL@[37; 41)
|
||||
TRUE_KW@[37; 41) "true"
|
||||
WHITESPACE@[41; 42) " "
|
||||
BLOCK@[42; 44)
|
||||
L_CURLY@[42; 43) "{"
|
||||
R_CURLY@[43; 44) "}"
|
||||
SEMI@[44; 45) ";"
|
||||
WHITESPACE@[45; 46) "\n"
|
||||
R_CURLY@[46; 47) "}"
|
||||
BLOCK_EXPR@[9; 47)
|
||||
BLOCK@[9; 47)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 14) "\n "
|
||||
EXPR_STMT@[14; 25)
|
||||
ATTR@[14; 18)
|
||||
POUND@[14; 15) "#"
|
||||
TOKEN_TREE@[15; 18)
|
||||
L_BRACK@[15; 16) "["
|
||||
IDENT@[16; 17) "A"
|
||||
R_BRACK@[17; 18) "]"
|
||||
WHITESPACE@[18; 19) " "
|
||||
BIN_EXPR@[19; 24)
|
||||
LITERAL@[19; 20)
|
||||
INT_NUMBER@[19; 20) "1"
|
||||
WHITESPACE@[20; 21) " "
|
||||
PLUS@[21; 22) "+"
|
||||
WHITESPACE@[22; 23) " "
|
||||
LITERAL@[23; 24)
|
||||
INT_NUMBER@[23; 24) "2"
|
||||
SEMI@[24; 25) ";"
|
||||
WHITESPACE@[25; 29) "\n "
|
||||
EXPR_STMT@[29; 45)
|
||||
ATTR@[29; 33)
|
||||
POUND@[29; 30) "#"
|
||||
TOKEN_TREE@[30; 33)
|
||||
L_BRACK@[30; 31) "["
|
||||
IDENT@[31; 32) "B"
|
||||
R_BRACK@[32; 33) "]"
|
||||
WHITESPACE@[33; 34) " "
|
||||
IF_EXPR@[34; 44)
|
||||
IF_KW@[34; 36) "if"
|
||||
WHITESPACE@[36; 37) " "
|
||||
CONDITION@[37; 41)
|
||||
LITERAL@[37; 41)
|
||||
TRUE_KW@[37; 41) "true"
|
||||
WHITESPACE@[41; 42) " "
|
||||
BLOCK_EXPR@[42; 44)
|
||||
BLOCK@[42; 44)
|
||||
L_CURLY@[42; 43) "{"
|
||||
R_CURLY@[43; 44) "}"
|
||||
SEMI@[44; 45) ";"
|
||||
WHITESPACE@[45; 46) "\n"
|
||||
R_CURLY@[46; 47) "}"
|
||||
WHITESPACE@[47; 48) "\n"
|
||||
error 24: attributes are not allowed on BIN_EXPR
|
||||
error 44: attributes are not allowed on IF_EXPR
|
||||
|
@ -8,45 +8,46 @@ SOURCE_FILE@[0; 47)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 46)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 20)
|
||||
FIELD_EXPR@[15; 19)
|
||||
PATH_EXPR@[15; 16)
|
||||
PATH@[15; 16)
|
||||
PATH_SEGMENT@[15; 16)
|
||||
NAME_REF@[15; 16)
|
||||
IDENT@[15; 16) "x"
|
||||
DOT@[16; 17) "."
|
||||
FLOAT_NUMBER@[17; 19) "0."
|
||||
SEMI@[19; 20) ";"
|
||||
WHITESPACE@[20; 25) "\n "
|
||||
EXPR_STMT@[25; 32)
|
||||
FIELD_EXPR@[25; 31)
|
||||
PATH_EXPR@[25; 26)
|
||||
PATH@[25; 26)
|
||||
PATH_SEGMENT@[25; 26)
|
||||
NAME_REF@[25; 26)
|
||||
IDENT@[25; 26) "x"
|
||||
DOT@[26; 27) "."
|
||||
NAME_REF@[27; 31)
|
||||
INT_NUMBER@[27; 31) "1i32"
|
||||
SEMI@[31; 32) ";"
|
||||
WHITESPACE@[32; 37) "\n "
|
||||
EXPR_STMT@[37; 44)
|
||||
FIELD_EXPR@[37; 43)
|
||||
PATH_EXPR@[37; 38)
|
||||
PATH@[37; 38)
|
||||
PATH_SEGMENT@[37; 38)
|
||||
NAME_REF@[37; 38)
|
||||
IDENT@[37; 38) "x"
|
||||
DOT@[38; 39) "."
|
||||
NAME_REF@[39; 43)
|
||||
INT_NUMBER@[39; 43) "0x01"
|
||||
SEMI@[43; 44) ";"
|
||||
WHITESPACE@[44; 45) "\n"
|
||||
R_CURLY@[45; 46) "}"
|
||||
BLOCK_EXPR@[9; 46)
|
||||
BLOCK@[9; 46)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 20)
|
||||
FIELD_EXPR@[15; 19)
|
||||
PATH_EXPR@[15; 16)
|
||||
PATH@[15; 16)
|
||||
PATH_SEGMENT@[15; 16)
|
||||
NAME_REF@[15; 16)
|
||||
IDENT@[15; 16) "x"
|
||||
DOT@[16; 17) "."
|
||||
FLOAT_NUMBER@[17; 19) "0."
|
||||
SEMI@[19; 20) ";"
|
||||
WHITESPACE@[20; 25) "\n "
|
||||
EXPR_STMT@[25; 32)
|
||||
FIELD_EXPR@[25; 31)
|
||||
PATH_EXPR@[25; 26)
|
||||
PATH@[25; 26)
|
||||
PATH_SEGMENT@[25; 26)
|
||||
NAME_REF@[25; 26)
|
||||
IDENT@[25; 26) "x"
|
||||
DOT@[26; 27) "."
|
||||
NAME_REF@[27; 31)
|
||||
INT_NUMBER@[27; 31) "1i32"
|
||||
SEMI@[31; 32) ";"
|
||||
WHITESPACE@[32; 37) "\n "
|
||||
EXPR_STMT@[37; 44)
|
||||
FIELD_EXPR@[37; 43)
|
||||
PATH_EXPR@[37; 38)
|
||||
PATH@[37; 38)
|
||||
PATH_SEGMENT@[37; 38)
|
||||
NAME_REF@[37; 38)
|
||||
IDENT@[37; 38) "x"
|
||||
DOT@[38; 39) "."
|
||||
NAME_REF@[39; 43)
|
||||
INT_NUMBER@[39; 43) "0x01"
|
||||
SEMI@[43; 44) ";"
|
||||
WHITESPACE@[44; 45) "\n"
|
||||
R_CURLY@[45; 46) "}"
|
||||
WHITESPACE@[46; 47) "\n"
|
||||
error [27; 31): Tuple (struct) field access is only allowed through decimal integers with no underscores or suffix
|
||||
error [39; 43): Tuple (struct) field access is only allowed through decimal integers with no underscores or suffix
|
||||
|
@ -13,9 +13,10 @@ SOURCE_FILE@[0; 50)
|
||||
L_PAREN@[19; 20) "("
|
||||
R_PAREN@[20; 21) ")"
|
||||
WHITESPACE@[21; 22) " "
|
||||
BLOCK@[22; 24)
|
||||
L_CURLY@[22; 23) "{"
|
||||
R_CURLY@[23; 24) "}"
|
||||
BLOCK_EXPR@[22; 24)
|
||||
BLOCK@[22; 24)
|
||||
L_CURLY@[22; 23) "{"
|
||||
R_CURLY@[23; 24) "}"
|
||||
WHITESPACE@[24; 25) "\n"
|
||||
ERROR@[25; 31)
|
||||
UNSAFE_KW@[25; 31) "unsafe"
|
||||
@ -31,9 +32,10 @@ SOURCE_FILE@[0; 50)
|
||||
L_PAREN@[44; 45) "("
|
||||
R_PAREN@[45; 46) ")"
|
||||
WHITESPACE@[46; 47) " "
|
||||
BLOCK@[47; 49)
|
||||
L_CURLY@[47; 48) "{"
|
||||
R_CURLY@[48; 49) "}"
|
||||
BLOCK_EXPR@[47; 49)
|
||||
BLOCK@[47; 49)
|
||||
L_CURLY@[47; 48) "{"
|
||||
R_CURLY@[48; 49) "}"
|
||||
WHITESPACE@[49; 50) "\n"
|
||||
error 5: expected existential, fn, trait or impl
|
||||
error 31: expected existential, fn, trait or impl
|
||||
|
@ -44,9 +44,10 @@ SOURCE_FILE@[0; 62)
|
||||
L_PAREN@[54; 55) "("
|
||||
R_PAREN@[55; 56) ")"
|
||||
WHITESPACE@[56; 57) " "
|
||||
BLOCK@[57; 59)
|
||||
L_CURLY@[57; 58) "{"
|
||||
R_CURLY@[58; 59) "}"
|
||||
BLOCK_EXPR@[57; 59)
|
||||
BLOCK@[57; 59)
|
||||
L_CURLY@[57; 58) "{"
|
||||
R_CURLY@[58; 59) "}"
|
||||
WHITESPACE@[59; 60) "\n"
|
||||
R_CURLY@[60; 61) "}"
|
||||
WHITESPACE@[61; 62) "\n"
|
||||
|
@ -50,9 +50,10 @@ SOURCE_FILE@[0; 83)
|
||||
L_PAREN@[56; 57) "("
|
||||
R_PAREN@[57; 58) ")"
|
||||
WHITESPACE@[58; 59) " "
|
||||
BLOCK@[59; 61)
|
||||
L_CURLY@[59; 60) "{"
|
||||
R_CURLY@[60; 61) "}"
|
||||
BLOCK_EXPR@[59; 61)
|
||||
BLOCK@[59; 61)
|
||||
L_CURLY@[59; 60) "{"
|
||||
R_CURLY@[60; 61) "}"
|
||||
WHITESPACE@[61; 66) "\n "
|
||||
FN_DEF@[66; 80)
|
||||
FN_KW@[66; 68) "fn"
|
||||
|
@ -54,8 +54,9 @@ SOURCE_FILE@[0; 49)
|
||||
IDENT@[40; 43) "str"
|
||||
R_PAREN@[43; 44) ")"
|
||||
WHITESPACE@[44; 45) "\n"
|
||||
BLOCK@[45; 48)
|
||||
L_CURLY@[45; 46) "{"
|
||||
WHITESPACE@[46; 47) " "
|
||||
R_CURLY@[47; 48) "}"
|
||||
BLOCK_EXPR@[45; 48)
|
||||
BLOCK@[45; 48)
|
||||
L_CURLY@[45; 46) "{"
|
||||
WHITESPACE@[46; 47) " "
|
||||
R_CURLY@[47; 48) "}"
|
||||
WHITESPACE@[48; 49) "\n"
|
||||
|
@ -31,7 +31,8 @@ SOURCE_FILE@[0; 28)
|
||||
PARAM_LIST@[23; 25)
|
||||
L_PAREN@[23; 24) "("
|
||||
R_PAREN@[24; 25) ")"
|
||||
BLOCK@[25; 27)
|
||||
L_CURLY@[25; 26) "{"
|
||||
R_CURLY@[26; 27) "}"
|
||||
BLOCK_EXPR@[25; 27)
|
||||
BLOCK@[25; 27)
|
||||
L_CURLY@[25; 26) "{"
|
||||
R_CURLY@[26; 27) "}"
|
||||
WHITESPACE@[27; 28) "\n"
|
||||
|
@ -22,9 +22,10 @@ SOURCE_FILE@[0; 128)
|
||||
SELF_KW@[18; 22) "self"
|
||||
R_PAREN@[22; 23) ")"
|
||||
WHITESPACE@[23; 24) " "
|
||||
BLOCK@[24; 26)
|
||||
L_CURLY@[24; 25) "{"
|
||||
R_CURLY@[25; 26) "}"
|
||||
BLOCK_EXPR@[24; 26)
|
||||
BLOCK@[24; 26)
|
||||
L_CURLY@[24; 25) "{"
|
||||
R_CURLY@[25; 26) "}"
|
||||
WHITESPACE@[26; 31) "\n "
|
||||
FN_DEF@[31; 46)
|
||||
FN_KW@[31; 33) "fn"
|
||||
@ -39,9 +40,10 @@ SOURCE_FILE@[0; 128)
|
||||
COMMA@[41; 42) ","
|
||||
R_PAREN@[42; 43) ")"
|
||||
WHITESPACE@[43; 44) " "
|
||||
BLOCK@[44; 46)
|
||||
L_CURLY@[44; 45) "{"
|
||||
R_CURLY@[45; 46) "}"
|
||||
BLOCK_EXPR@[44; 46)
|
||||
BLOCK@[44; 46)
|
||||
L_CURLY@[44; 45) "{"
|
||||
R_CURLY@[45; 46) "}"
|
||||
WHITESPACE@[46; 51) "\n "
|
||||
FN_DEF@[51; 69)
|
||||
FN_KW@[51; 53) "fn"
|
||||
@ -58,9 +60,10 @@ SOURCE_FILE@[0; 128)
|
||||
COMMA@[64; 65) ","
|
||||
R_PAREN@[65; 66) ")"
|
||||
WHITESPACE@[66; 67) " "
|
||||
BLOCK@[67; 69)
|
||||
L_CURLY@[67; 68) "{"
|
||||
R_CURLY@[68; 69) "}"
|
||||
BLOCK_EXPR@[67; 69)
|
||||
BLOCK@[67; 69)
|
||||
L_CURLY@[67; 68) "{"
|
||||
R_CURLY@[68; 69) "}"
|
||||
WHITESPACE@[69; 74) "\n "
|
||||
FN_DEF@[74; 103)
|
||||
FN_KW@[74; 76) "fn"
|
||||
@ -91,9 +94,10 @@ SOURCE_FILE@[0; 128)
|
||||
IDENT@[96; 99) "i32"
|
||||
R_PAREN@[99; 100) ")"
|
||||
WHITESPACE@[100; 101) " "
|
||||
BLOCK@[101; 103)
|
||||
L_CURLY@[101; 102) "{"
|
||||
R_CURLY@[102; 103) "}"
|
||||
BLOCK_EXPR@[101; 103)
|
||||
BLOCK@[101; 103)
|
||||
L_CURLY@[101; 102) "{"
|
||||
R_CURLY@[102; 103) "}"
|
||||
WHITESPACE@[103; 108) "\n "
|
||||
FN_DEF@[108; 125)
|
||||
FN_KW@[108; 110) "fn"
|
||||
@ -108,9 +112,10 @@ SOURCE_FILE@[0; 128)
|
||||
SELF_KW@[117; 121) "self"
|
||||
R_PAREN@[121; 122) ")"
|
||||
WHITESPACE@[122; 123) " "
|
||||
BLOCK@[123; 125)
|
||||
L_CURLY@[123; 124) "{"
|
||||
R_CURLY@[124; 125) "}"
|
||||
BLOCK_EXPR@[123; 125)
|
||||
BLOCK@[123; 125)
|
||||
L_CURLY@[123; 124) "{"
|
||||
R_CURLY@[124; 125) "}"
|
||||
WHITESPACE@[125; 126) "\n"
|
||||
R_CURLY@[126; 127) "}"
|
||||
WHITESPACE@[127; 128) "\n"
|
||||
|
@ -8,88 +8,89 @@ SOURCE_FILE@[0; 103)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 102)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LET_STMT@[15; 33)
|
||||
LET_KW@[15; 18) "let"
|
||||
WHITESPACE@[18; 19) " "
|
||||
PATH_PAT@[19; 27)
|
||||
PATH@[19; 27)
|
||||
PATH@[19; 22)
|
||||
PATH_SEGMENT@[19; 22)
|
||||
NAME_REF@[19; 22)
|
||||
IDENT@[19; 22) "foo"
|
||||
COLONCOLON@[22; 24) "::"
|
||||
PATH_SEGMENT@[24; 27)
|
||||
NAME_REF@[24; 27)
|
||||
IDENT@[24; 27) "Bar"
|
||||
WHITESPACE@[27; 28) " "
|
||||
EQ@[28; 29) "="
|
||||
WHITESPACE@[29; 30) " "
|
||||
TUPLE_EXPR@[30; 32)
|
||||
L_PAREN@[30; 31) "("
|
||||
R_PAREN@[31; 32) ")"
|
||||
SEMI@[32; 33) ";"
|
||||
WHITESPACE@[33; 38) "\n "
|
||||
LET_STMT@[38; 53)
|
||||
LET_KW@[38; 41) "let"
|
||||
WHITESPACE@[41; 42) " "
|
||||
PATH_PAT@[42; 47)
|
||||
PATH@[42; 47)
|
||||
PATH_SEGMENT@[42; 47)
|
||||
COLONCOLON@[42; 44) "::"
|
||||
NAME_REF@[44; 47)
|
||||
IDENT@[44; 47) "Bar"
|
||||
WHITESPACE@[47; 48) " "
|
||||
EQ@[48; 49) "="
|
||||
WHITESPACE@[49; 50) " "
|
||||
TUPLE_EXPR@[50; 52)
|
||||
L_PAREN@[50; 51) "("
|
||||
R_PAREN@[51; 52) ")"
|
||||
SEMI@[52; 53) ";"
|
||||
WHITESPACE@[53; 58) "\n "
|
||||
LET_STMT@[58; 78)
|
||||
LET_KW@[58; 61) "let"
|
||||
WHITESPACE@[61; 62) " "
|
||||
RECORD_PAT@[62; 72)
|
||||
PATH@[62; 65)
|
||||
PATH_SEGMENT@[62; 65)
|
||||
NAME_REF@[62; 65)
|
||||
IDENT@[62; 65) "Bar"
|
||||
WHITESPACE@[65; 66) " "
|
||||
RECORD_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) " "
|
||||
TUPLE_EXPR@[75; 77)
|
||||
L_PAREN@[75; 76) "("
|
||||
R_PAREN@[76; 77) ")"
|
||||
SEMI@[77; 78) ";"
|
||||
WHITESPACE@[78; 83) "\n "
|
||||
LET_STMT@[83; 100)
|
||||
LET_KW@[83; 86) "let"
|
||||
WHITESPACE@[86; 87) " "
|
||||
TUPLE_STRUCT_PAT@[87; 94)
|
||||
PATH@[87; 90)
|
||||
PATH_SEGMENT@[87; 90)
|
||||
NAME_REF@[87; 90)
|
||||
IDENT@[87; 90) "Bar"
|
||||
L_PAREN@[90; 91) "("
|
||||
DOTDOT@[91; 93) ".."
|
||||
R_PAREN@[93; 94) ")"
|
||||
WHITESPACE@[94; 95) " "
|
||||
EQ@[95; 96) "="
|
||||
WHITESPACE@[96; 97) " "
|
||||
TUPLE_EXPR@[97; 99)
|
||||
L_PAREN@[97; 98) "("
|
||||
R_PAREN@[98; 99) ")"
|
||||
SEMI@[99; 100) ";"
|
||||
WHITESPACE@[100; 101) "\n"
|
||||
R_CURLY@[101; 102) "}"
|
||||
BLOCK_EXPR@[9; 102)
|
||||
BLOCK@[9; 102)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LET_STMT@[15; 33)
|
||||
LET_KW@[15; 18) "let"
|
||||
WHITESPACE@[18; 19) " "
|
||||
PATH_PAT@[19; 27)
|
||||
PATH@[19; 27)
|
||||
PATH@[19; 22)
|
||||
PATH_SEGMENT@[19; 22)
|
||||
NAME_REF@[19; 22)
|
||||
IDENT@[19; 22) "foo"
|
||||
COLONCOLON@[22; 24) "::"
|
||||
PATH_SEGMENT@[24; 27)
|
||||
NAME_REF@[24; 27)
|
||||
IDENT@[24; 27) "Bar"
|
||||
WHITESPACE@[27; 28) " "
|
||||
EQ@[28; 29) "="
|
||||
WHITESPACE@[29; 30) " "
|
||||
TUPLE_EXPR@[30; 32)
|
||||
L_PAREN@[30; 31) "("
|
||||
R_PAREN@[31; 32) ")"
|
||||
SEMI@[32; 33) ";"
|
||||
WHITESPACE@[33; 38) "\n "
|
||||
LET_STMT@[38; 53)
|
||||
LET_KW@[38; 41) "let"
|
||||
WHITESPACE@[41; 42) " "
|
||||
PATH_PAT@[42; 47)
|
||||
PATH@[42; 47)
|
||||
PATH_SEGMENT@[42; 47)
|
||||
COLONCOLON@[42; 44) "::"
|
||||
NAME_REF@[44; 47)
|
||||
IDENT@[44; 47) "Bar"
|
||||
WHITESPACE@[47; 48) " "
|
||||
EQ@[48; 49) "="
|
||||
WHITESPACE@[49; 50) " "
|
||||
TUPLE_EXPR@[50; 52)
|
||||
L_PAREN@[50; 51) "("
|
||||
R_PAREN@[51; 52) ")"
|
||||
SEMI@[52; 53) ";"
|
||||
WHITESPACE@[53; 58) "\n "
|
||||
LET_STMT@[58; 78)
|
||||
LET_KW@[58; 61) "let"
|
||||
WHITESPACE@[61; 62) " "
|
||||
RECORD_PAT@[62; 72)
|
||||
PATH@[62; 65)
|
||||
PATH_SEGMENT@[62; 65)
|
||||
NAME_REF@[62; 65)
|
||||
IDENT@[62; 65) "Bar"
|
||||
WHITESPACE@[65; 66) " "
|
||||
RECORD_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) " "
|
||||
TUPLE_EXPR@[75; 77)
|
||||
L_PAREN@[75; 76) "("
|
||||
R_PAREN@[76; 77) ")"
|
||||
SEMI@[77; 78) ";"
|
||||
WHITESPACE@[78; 83) "\n "
|
||||
LET_STMT@[83; 100)
|
||||
LET_KW@[83; 86) "let"
|
||||
WHITESPACE@[86; 87) " "
|
||||
TUPLE_STRUCT_PAT@[87; 94)
|
||||
PATH@[87; 90)
|
||||
PATH_SEGMENT@[87; 90)
|
||||
NAME_REF@[87; 90)
|
||||
IDENT@[87; 90) "Bar"
|
||||
L_PAREN@[90; 91) "("
|
||||
DOTDOT@[91; 93) ".."
|
||||
R_PAREN@[93; 94) ")"
|
||||
WHITESPACE@[94; 95) " "
|
||||
EQ@[95; 96) "="
|
||||
WHITESPACE@[96; 97) " "
|
||||
TUPLE_EXPR@[97; 99)
|
||||
L_PAREN@[97; 98) "("
|
||||
R_PAREN@[98; 99) ")"
|
||||
SEMI@[99; 100) ";"
|
||||
WHITESPACE@[100; 101) "\n"
|
||||
R_CURLY@[101; 102) "}"
|
||||
WHITESPACE@[102; 103) "\n"
|
||||
|
@ -8,17 +8,19 @@ SOURCE_FILE@[0; 26)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 25)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 23)
|
||||
LOOP_EXPR@[15; 22)
|
||||
LOOP_KW@[15; 19) "loop"
|
||||
WHITESPACE@[19; 20) " "
|
||||
BLOCK@[20; 22)
|
||||
L_CURLY@[20; 21) "{"
|
||||
R_CURLY@[21; 22) "}"
|
||||
SEMI@[22; 23) ";"
|
||||
WHITESPACE@[23; 24) "\n"
|
||||
R_CURLY@[24; 25) "}"
|
||||
BLOCK_EXPR@[9; 25)
|
||||
BLOCK@[9; 25)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 23)
|
||||
LOOP_EXPR@[15; 22)
|
||||
LOOP_KW@[15; 19) "loop"
|
||||
WHITESPACE@[19; 20) " "
|
||||
BLOCK_EXPR@[20; 22)
|
||||
BLOCK@[20; 22)
|
||||
L_CURLY@[20; 21) "{"
|
||||
R_CURLY@[21; 22) "}"
|
||||
SEMI@[22; 23) ";"
|
||||
WHITESPACE@[23; 24) "\n"
|
||||
R_CURLY@[24; 25) "}"
|
||||
WHITESPACE@[25; 26) "\n"
|
||||
|
@ -8,52 +8,53 @@ SOURCE_FILE@[0; 48)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 47)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 21)
|
||||
FIELD_EXPR@[15; 20)
|
||||
PATH_EXPR@[15; 16)
|
||||
PATH@[15; 16)
|
||||
PATH_SEGMENT@[15; 16)
|
||||
NAME_REF@[15; 16)
|
||||
IDENT@[15; 16) "x"
|
||||
DOT@[16; 17) "."
|
||||
NAME_REF@[17; 20)
|
||||
IDENT@[17; 20) "foo"
|
||||
SEMI@[20; 21) ";"
|
||||
WHITESPACE@[21; 26) "\n "
|
||||
EXPR_STMT@[26; 34)
|
||||
FIELD_EXPR@[26; 33)
|
||||
FIELD_EXPR@[26; 29)
|
||||
PATH_EXPR@[26; 27)
|
||||
PATH@[26; 27)
|
||||
PATH_SEGMENT@[26; 27)
|
||||
NAME_REF@[26; 27)
|
||||
IDENT@[26; 27) "x"
|
||||
DOT@[27; 28) "."
|
||||
NAME_REF@[28; 29)
|
||||
INT_NUMBER@[28; 29) "0"
|
||||
DOT@[29; 30) "."
|
||||
NAME_REF@[30; 33)
|
||||
IDENT@[30; 33) "bar"
|
||||
SEMI@[33; 34) ";"
|
||||
WHITESPACE@[34; 39) "\n "
|
||||
EXPR_STMT@[39; 45)
|
||||
CALL_EXPR@[39; 44)
|
||||
FIELD_EXPR@[39; 42)
|
||||
PATH_EXPR@[39; 40)
|
||||
PATH@[39; 40)
|
||||
PATH_SEGMENT@[39; 40)
|
||||
NAME_REF@[39; 40)
|
||||
IDENT@[39; 40) "x"
|
||||
DOT@[40; 41) "."
|
||||
NAME_REF@[41; 42)
|
||||
INT_NUMBER@[41; 42) "0"
|
||||
ARG_LIST@[42; 44)
|
||||
L_PAREN@[42; 43) "("
|
||||
R_PAREN@[43; 44) ")"
|
||||
SEMI@[44; 45) ";"
|
||||
WHITESPACE@[45; 46) "\n"
|
||||
R_CURLY@[46; 47) "}"
|
||||
BLOCK_EXPR@[9; 47)
|
||||
BLOCK@[9; 47)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 21)
|
||||
FIELD_EXPR@[15; 20)
|
||||
PATH_EXPR@[15; 16)
|
||||
PATH@[15; 16)
|
||||
PATH_SEGMENT@[15; 16)
|
||||
NAME_REF@[15; 16)
|
||||
IDENT@[15; 16) "x"
|
||||
DOT@[16; 17) "."
|
||||
NAME_REF@[17; 20)
|
||||
IDENT@[17; 20) "foo"
|
||||
SEMI@[20; 21) ";"
|
||||
WHITESPACE@[21; 26) "\n "
|
||||
EXPR_STMT@[26; 34)
|
||||
FIELD_EXPR@[26; 33)
|
||||
FIELD_EXPR@[26; 29)
|
||||
PATH_EXPR@[26; 27)
|
||||
PATH@[26; 27)
|
||||
PATH_SEGMENT@[26; 27)
|
||||
NAME_REF@[26; 27)
|
||||
IDENT@[26; 27) "x"
|
||||
DOT@[27; 28) "."
|
||||
NAME_REF@[28; 29)
|
||||
INT_NUMBER@[28; 29) "0"
|
||||
DOT@[29; 30) "."
|
||||
NAME_REF@[30; 33)
|
||||
IDENT@[30; 33) "bar"
|
||||
SEMI@[33; 34) ";"
|
||||
WHITESPACE@[34; 39) "\n "
|
||||
EXPR_STMT@[39; 45)
|
||||
CALL_EXPR@[39; 44)
|
||||
FIELD_EXPR@[39; 42)
|
||||
PATH_EXPR@[39; 40)
|
||||
PATH@[39; 40)
|
||||
PATH_SEGMENT@[39; 40)
|
||||
NAME_REF@[39; 40)
|
||||
IDENT@[39; 40) "x"
|
||||
DOT@[40; 41) "."
|
||||
NAME_REF@[41; 42)
|
||||
INT_NUMBER@[41; 42) "0"
|
||||
ARG_LIST@[42; 44)
|
||||
L_PAREN@[42; 43) "("
|
||||
R_PAREN@[43; 44) ")"
|
||||
SEMI@[44; 45) ";"
|
||||
WHITESPACE@[45; 46) "\n"
|
||||
R_CURLY@[46; 47) "}"
|
||||
WHITESPACE@[47; 48) "\n"
|
||||
|
@ -8,28 +8,30 @@ SOURCE_FILE@[0; 69)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 68)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LOOP_EXPR@[15; 66)
|
||||
LOOP_KW@[15; 19) "loop"
|
||||
WHITESPACE@[19; 20) " "
|
||||
BLOCK@[20; 66)
|
||||
L_CURLY@[20; 21) "{"
|
||||
WHITESPACE@[21; 30) "\n "
|
||||
EXPR_STMT@[30; 39)
|
||||
CONTINUE_EXPR@[30; 38)
|
||||
CONTINUE_KW@[30; 38) "continue"
|
||||
SEMI@[38; 39) ";"
|
||||
WHITESPACE@[39; 48) "\n "
|
||||
EXPR_STMT@[48; 60)
|
||||
CONTINUE_EXPR@[48; 59)
|
||||
CONTINUE_KW@[48; 56) "continue"
|
||||
WHITESPACE@[56; 57) " "
|
||||
LIFETIME@[57; 59) "\'l"
|
||||
SEMI@[59; 60) ";"
|
||||
WHITESPACE@[60; 65) "\n "
|
||||
R_CURLY@[65; 66) "}"
|
||||
WHITESPACE@[66; 67) "\n"
|
||||
R_CURLY@[67; 68) "}"
|
||||
BLOCK_EXPR@[9; 68)
|
||||
BLOCK@[9; 68)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LOOP_EXPR@[15; 66)
|
||||
LOOP_KW@[15; 19) "loop"
|
||||
WHITESPACE@[19; 20) " "
|
||||
BLOCK_EXPR@[20; 66)
|
||||
BLOCK@[20; 66)
|
||||
L_CURLY@[20; 21) "{"
|
||||
WHITESPACE@[21; 30) "\n "
|
||||
EXPR_STMT@[30; 39)
|
||||
CONTINUE_EXPR@[30; 38)
|
||||
CONTINUE_KW@[30; 38) "continue"
|
||||
SEMI@[38; 39) ";"
|
||||
WHITESPACE@[39; 48) "\n "
|
||||
EXPR_STMT@[48; 60)
|
||||
CONTINUE_EXPR@[48; 59)
|
||||
CONTINUE_KW@[48; 56) "continue"
|
||||
WHITESPACE@[56; 57) " "
|
||||
LIFETIME@[57; 59) "\'l"
|
||||
SEMI@[59; 60) ";"
|
||||
WHITESPACE@[60; 65) "\n "
|
||||
R_CURLY@[65; 66) "}"
|
||||
WHITESPACE@[66; 67) "\n"
|
||||
R_CURLY@[67; 68) "}"
|
||||
WHITESPACE@[68; 69) "\n"
|
||||
|
@ -31,9 +31,10 @@ SOURCE_FILE@[0; 69)
|
||||
IDENT@[25; 29) "Self"
|
||||
R_PAREN@[29; 30) ")"
|
||||
WHITESPACE@[30; 31) " "
|
||||
BLOCK@[31; 33)
|
||||
L_CURLY@[31; 32) "{"
|
||||
R_CURLY@[32; 33) "}"
|
||||
BLOCK_EXPR@[31; 33)
|
||||
BLOCK@[31; 33)
|
||||
L_CURLY@[31; 32) "{"
|
||||
R_CURLY@[32; 33) "}"
|
||||
WHITESPACE@[33; 38) "\n "
|
||||
FN_DEF@[38; 66)
|
||||
FN_KW@[38; 40) "fn"
|
||||
@ -64,9 +65,10 @@ SOURCE_FILE@[0; 69)
|
||||
R_ANGLE@[61; 62) ">"
|
||||
R_PAREN@[62; 63) ")"
|
||||
WHITESPACE@[63; 64) " "
|
||||
BLOCK@[64; 66)
|
||||
L_CURLY@[64; 65) "{"
|
||||
R_CURLY@[65; 66) "}"
|
||||
BLOCK_EXPR@[64; 66)
|
||||
BLOCK@[64; 66)
|
||||
L_CURLY@[64; 65) "{"
|
||||
R_CURLY@[65; 66) "}"
|
||||
WHITESPACE@[66; 67) "\n"
|
||||
R_CURLY@[67; 68) "}"
|
||||
WHITESPACE@[68; 69) "\n"
|
||||
|
@ -8,37 +8,38 @@ SOURCE_FILE@[0; 44)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 43)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 20)
|
||||
PREFIX_EXPR@[15; 19)
|
||||
STAR@[15; 16) "*"
|
||||
PREFIX_EXPR@[16; 19)
|
||||
STAR@[16; 17) "*"
|
||||
REF_EXPR@[17; 19)
|
||||
AMP@[17; 18) "&"
|
||||
LITERAL@[18; 19)
|
||||
INT_NUMBER@[18; 19) "1"
|
||||
SEMI@[19; 20) ";"
|
||||
WHITESPACE@[20; 25) "\n "
|
||||
EXPR_STMT@[25; 32)
|
||||
PREFIX_EXPR@[25; 31)
|
||||
EXCL@[25; 26) "!"
|
||||
PREFIX_EXPR@[26; 31)
|
||||
EXCL@[26; 27) "!"
|
||||
LITERAL@[27; 31)
|
||||
TRUE_KW@[27; 31) "true"
|
||||
SEMI@[31; 32) ";"
|
||||
WHITESPACE@[32; 37) "\n "
|
||||
EXPR_STMT@[37; 41)
|
||||
PREFIX_EXPR@[37; 40)
|
||||
MINUS@[37; 38) "-"
|
||||
PREFIX_EXPR@[38; 40)
|
||||
MINUS@[38; 39) "-"
|
||||
LITERAL@[39; 40)
|
||||
INT_NUMBER@[39; 40) "1"
|
||||
SEMI@[40; 41) ";"
|
||||
WHITESPACE@[41; 42) "\n"
|
||||
R_CURLY@[42; 43) "}"
|
||||
BLOCK_EXPR@[9; 43)
|
||||
BLOCK@[9; 43)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 20)
|
||||
PREFIX_EXPR@[15; 19)
|
||||
STAR@[15; 16) "*"
|
||||
PREFIX_EXPR@[16; 19)
|
||||
STAR@[16; 17) "*"
|
||||
REF_EXPR@[17; 19)
|
||||
AMP@[17; 18) "&"
|
||||
LITERAL@[18; 19)
|
||||
INT_NUMBER@[18; 19) "1"
|
||||
SEMI@[19; 20) ";"
|
||||
WHITESPACE@[20; 25) "\n "
|
||||
EXPR_STMT@[25; 32)
|
||||
PREFIX_EXPR@[25; 31)
|
||||
EXCL@[25; 26) "!"
|
||||
PREFIX_EXPR@[26; 31)
|
||||
EXCL@[26; 27) "!"
|
||||
LITERAL@[27; 31)
|
||||
TRUE_KW@[27; 31) "true"
|
||||
SEMI@[31; 32) ";"
|
||||
WHITESPACE@[32; 37) "\n "
|
||||
EXPR_STMT@[37; 41)
|
||||
PREFIX_EXPR@[37; 40)
|
||||
MINUS@[37; 38) "-"
|
||||
PREFIX_EXPR@[38; 40)
|
||||
MINUS@[38; 39) "-"
|
||||
LITERAL@[39; 40)
|
||||
INT_NUMBER@[39; 40) "1"
|
||||
SEMI@[40; 41) ";"
|
||||
WHITESPACE@[41; 42) "\n"
|
||||
R_CURLY@[42; 43) "}"
|
||||
WHITESPACE@[43; 44) "\n"
|
||||
|
@ -54,9 +54,10 @@ SOURCE_FILE@[0; 89)
|
||||
L_PAREN@[60; 61) "("
|
||||
R_PAREN@[61; 62) ")"
|
||||
WHITESPACE@[62; 63) " "
|
||||
BLOCK@[63; 65)
|
||||
L_CURLY@[63; 64) "{"
|
||||
R_CURLY@[64; 65) "}"
|
||||
BLOCK_EXPR@[63; 65)
|
||||
BLOCK@[63; 65)
|
||||
L_CURLY@[63; 64) "{"
|
||||
R_CURLY@[64; 65) "}"
|
||||
WHITESPACE@[65; 70) "\n "
|
||||
FN_DEF@[70; 86)
|
||||
FN_KW@[70; 72) "fn"
|
||||
@ -70,9 +71,10 @@ SOURCE_FILE@[0; 89)
|
||||
SELF_KW@[78; 82) "self"
|
||||
R_PAREN@[82; 83) ")"
|
||||
WHITESPACE@[83; 84) " "
|
||||
BLOCK@[84; 86)
|
||||
L_CURLY@[84; 85) "{"
|
||||
R_CURLY@[85; 86) "}"
|
||||
BLOCK_EXPR@[84; 86)
|
||||
BLOCK@[84; 86)
|
||||
L_CURLY@[84; 85) "{"
|
||||
R_CURLY@[85; 86) "}"
|
||||
WHITESPACE@[86; 87) "\n"
|
||||
R_CURLY@[87; 88) "}"
|
||||
WHITESPACE@[88; 89) "\n"
|
||||
|
@ -8,33 +8,34 @@ SOURCE_FILE@[0; 39)
|
||||
L_PAREN@[7; 8) "("
|
||||
R_PAREN@[8; 9) ")"
|
||||
WHITESPACE@[9; 10) " "
|
||||
BLOCK@[10; 38)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
LET_STMT@[16; 36)
|
||||
LET_KW@[16; 19) "let"
|
||||
WHITESPACE@[19; 20) " "
|
||||
SLICE_PAT@[20; 30)
|
||||
L_BRACK@[20; 21) "["
|
||||
BIND_PAT@[21; 22)
|
||||
NAME@[21; 22)
|
||||
IDENT@[21; 22) "a"
|
||||
COMMA@[22; 23) ","
|
||||
WHITESPACE@[23; 24) " "
|
||||
BIND_PAT@[24; 25)
|
||||
NAME@[24; 25)
|
||||
IDENT@[24; 25) "b"
|
||||
COMMA@[25; 26) ","
|
||||
WHITESPACE@[26; 27) " "
|
||||
DOTDOT@[27; 29) ".."
|
||||
R_BRACK@[29; 30) "]"
|
||||
WHITESPACE@[30; 31) " "
|
||||
EQ@[31; 32) "="
|
||||
WHITESPACE@[32; 33) " "
|
||||
ARRAY_EXPR@[33; 35)
|
||||
L_BRACK@[33; 34) "["
|
||||
R_BRACK@[34; 35) "]"
|
||||
SEMI@[35; 36) ";"
|
||||
WHITESPACE@[36; 37) "\n"
|
||||
R_CURLY@[37; 38) "}"
|
||||
BLOCK_EXPR@[10; 38)
|
||||
BLOCK@[10; 38)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
LET_STMT@[16; 36)
|
||||
LET_KW@[16; 19) "let"
|
||||
WHITESPACE@[19; 20) " "
|
||||
SLICE_PAT@[20; 30)
|
||||
L_BRACK@[20; 21) "["
|
||||
BIND_PAT@[21; 22)
|
||||
NAME@[21; 22)
|
||||
IDENT@[21; 22) "a"
|
||||
COMMA@[22; 23) ","
|
||||
WHITESPACE@[23; 24) " "
|
||||
BIND_PAT@[24; 25)
|
||||
NAME@[24; 25)
|
||||
IDENT@[24; 25) "b"
|
||||
COMMA@[25; 26) ","
|
||||
WHITESPACE@[26; 27) " "
|
||||
DOTDOT@[27; 29) ".."
|
||||
R_BRACK@[29; 30) "]"
|
||||
WHITESPACE@[30; 31) " "
|
||||
EQ@[31; 32) "="
|
||||
WHITESPACE@[32; 33) " "
|
||||
ARRAY_EXPR@[33; 35)
|
||||
L_BRACK@[33; 34) "["
|
||||
R_BRACK@[34; 35) "]"
|
||||
SEMI@[35; 36) ";"
|
||||
WHITESPACE@[36; 37) "\n"
|
||||
R_CURLY@[37; 38) "}"
|
||||
WHITESPACE@[38; 39) "\n"
|
||||
|
@ -8,96 +8,97 @@ SOURCE_FILE@[0; 97)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 96)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LET_STMT@[15; 28)
|
||||
LET_KW@[15; 18) "let"
|
||||
WHITESPACE@[18; 19) " "
|
||||
TUPLE_STRUCT_PAT@[19; 22)
|
||||
PATH@[19; 20)
|
||||
PATH_SEGMENT@[19; 20)
|
||||
NAME_REF@[19; 20)
|
||||
IDENT@[19; 20) "S"
|
||||
L_PAREN@[20; 21) "("
|
||||
R_PAREN@[21; 22) ")"
|
||||
WHITESPACE@[22; 23) " "
|
||||
EQ@[23; 24) "="
|
||||
WHITESPACE@[24; 25) " "
|
||||
TUPLE_EXPR@[25; 27)
|
||||
L_PAREN@[25; 26) "("
|
||||
R_PAREN@[26; 27) ")"
|
||||
SEMI@[27; 28) ";"
|
||||
WHITESPACE@[28; 33) "\n "
|
||||
LET_STMT@[33; 47)
|
||||
LET_KW@[33; 36) "let"
|
||||
WHITESPACE@[36; 37) " "
|
||||
TUPLE_STRUCT_PAT@[37; 41)
|
||||
PATH@[37; 38)
|
||||
PATH_SEGMENT@[37; 38)
|
||||
NAME_REF@[37; 38)
|
||||
IDENT@[37; 38) "S"
|
||||
L_PAREN@[38; 39) "("
|
||||
PLACEHOLDER_PAT@[39; 40)
|
||||
UNDERSCORE@[39; 40) "_"
|
||||
R_PAREN@[40; 41) ")"
|
||||
WHITESPACE@[41; 42) " "
|
||||
EQ@[42; 43) "="
|
||||
WHITESPACE@[43; 44) " "
|
||||
TUPLE_EXPR@[44; 46)
|
||||
L_PAREN@[44; 45) "("
|
||||
R_PAREN@[45; 46) ")"
|
||||
SEMI@[46; 47) ";"
|
||||
WHITESPACE@[47; 52) "\n "
|
||||
LET_STMT@[52; 67)
|
||||
LET_KW@[52; 55) "let"
|
||||
WHITESPACE@[55; 56) " "
|
||||
TUPLE_STRUCT_PAT@[56; 61)
|
||||
PATH@[56; 57)
|
||||
PATH_SEGMENT@[56; 57)
|
||||
NAME_REF@[56; 57)
|
||||
IDENT@[56; 57) "S"
|
||||
L_PAREN@[57; 58) "("
|
||||
PLACEHOLDER_PAT@[58; 59)
|
||||
UNDERSCORE@[58; 59) "_"
|
||||
COMMA@[59; 60) ","
|
||||
R_PAREN@[60; 61) ")"
|
||||
WHITESPACE@[61; 62) " "
|
||||
EQ@[62; 63) "="
|
||||
WHITESPACE@[63; 64) " "
|
||||
TUPLE_EXPR@[64; 66)
|
||||
L_PAREN@[64; 65) "("
|
||||
R_PAREN@[65; 66) ")"
|
||||
SEMI@[66; 67) ";"
|
||||
WHITESPACE@[67; 72) "\n "
|
||||
LET_STMT@[72; 94)
|
||||
LET_KW@[72; 75) "let"
|
||||
WHITESPACE@[75; 76) " "
|
||||
TUPLE_STRUCT_PAT@[76; 88)
|
||||
PATH@[76; 77)
|
||||
PATH_SEGMENT@[76; 77)
|
||||
NAME_REF@[76; 77)
|
||||
IDENT@[76; 77) "S"
|
||||
L_PAREN@[77; 78) "("
|
||||
PLACEHOLDER_PAT@[78; 79)
|
||||
UNDERSCORE@[78; 79) "_"
|
||||
COMMA@[79; 80) ","
|
||||
WHITESPACE@[80; 81) " "
|
||||
DOTDOT@[81; 83) ".."
|
||||
WHITESPACE@[83; 84) " "
|
||||
COMMA@[84; 85) ","
|
||||
WHITESPACE@[85; 86) " "
|
||||
BIND_PAT@[86; 87)
|
||||
NAME@[86; 87)
|
||||
IDENT@[86; 87) "x"
|
||||
R_PAREN@[87; 88) ")"
|
||||
WHITESPACE@[88; 89) " "
|
||||
EQ@[89; 90) "="
|
||||
WHITESPACE@[90; 91) " "
|
||||
TUPLE_EXPR@[91; 93)
|
||||
L_PAREN@[91; 92) "("
|
||||
R_PAREN@[92; 93) ")"
|
||||
SEMI@[93; 94) ";"
|
||||
WHITESPACE@[94; 95) "\n"
|
||||
R_CURLY@[95; 96) "}"
|
||||
BLOCK_EXPR@[9; 96)
|
||||
BLOCK@[9; 96)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LET_STMT@[15; 28)
|
||||
LET_KW@[15; 18) "let"
|
||||
WHITESPACE@[18; 19) " "
|
||||
TUPLE_STRUCT_PAT@[19; 22)
|
||||
PATH@[19; 20)
|
||||
PATH_SEGMENT@[19; 20)
|
||||
NAME_REF@[19; 20)
|
||||
IDENT@[19; 20) "S"
|
||||
L_PAREN@[20; 21) "("
|
||||
R_PAREN@[21; 22) ")"
|
||||
WHITESPACE@[22; 23) " "
|
||||
EQ@[23; 24) "="
|
||||
WHITESPACE@[24; 25) " "
|
||||
TUPLE_EXPR@[25; 27)
|
||||
L_PAREN@[25; 26) "("
|
||||
R_PAREN@[26; 27) ")"
|
||||
SEMI@[27; 28) ";"
|
||||
WHITESPACE@[28; 33) "\n "
|
||||
LET_STMT@[33; 47)
|
||||
LET_KW@[33; 36) "let"
|
||||
WHITESPACE@[36; 37) " "
|
||||
TUPLE_STRUCT_PAT@[37; 41)
|
||||
PATH@[37; 38)
|
||||
PATH_SEGMENT@[37; 38)
|
||||
NAME_REF@[37; 38)
|
||||
IDENT@[37; 38) "S"
|
||||
L_PAREN@[38; 39) "("
|
||||
PLACEHOLDER_PAT@[39; 40)
|
||||
UNDERSCORE@[39; 40) "_"
|
||||
R_PAREN@[40; 41) ")"
|
||||
WHITESPACE@[41; 42) " "
|
||||
EQ@[42; 43) "="
|
||||
WHITESPACE@[43; 44) " "
|
||||
TUPLE_EXPR@[44; 46)
|
||||
L_PAREN@[44; 45) "("
|
||||
R_PAREN@[45; 46) ")"
|
||||
SEMI@[46; 47) ";"
|
||||
WHITESPACE@[47; 52) "\n "
|
||||
LET_STMT@[52; 67)
|
||||
LET_KW@[52; 55) "let"
|
||||
WHITESPACE@[55; 56) " "
|
||||
TUPLE_STRUCT_PAT@[56; 61)
|
||||
PATH@[56; 57)
|
||||
PATH_SEGMENT@[56; 57)
|
||||
NAME_REF@[56; 57)
|
||||
IDENT@[56; 57) "S"
|
||||
L_PAREN@[57; 58) "("
|
||||
PLACEHOLDER_PAT@[58; 59)
|
||||
UNDERSCORE@[58; 59) "_"
|
||||
COMMA@[59; 60) ","
|
||||
R_PAREN@[60; 61) ")"
|
||||
WHITESPACE@[61; 62) " "
|
||||
EQ@[62; 63) "="
|
||||
WHITESPACE@[63; 64) " "
|
||||
TUPLE_EXPR@[64; 66)
|
||||
L_PAREN@[64; 65) "("
|
||||
R_PAREN@[65; 66) ")"
|
||||
SEMI@[66; 67) ";"
|
||||
WHITESPACE@[67; 72) "\n "
|
||||
LET_STMT@[72; 94)
|
||||
LET_KW@[72; 75) "let"
|
||||
WHITESPACE@[75; 76) " "
|
||||
TUPLE_STRUCT_PAT@[76; 88)
|
||||
PATH@[76; 77)
|
||||
PATH_SEGMENT@[76; 77)
|
||||
NAME_REF@[76; 77)
|
||||
IDENT@[76; 77) "S"
|
||||
L_PAREN@[77; 78) "("
|
||||
PLACEHOLDER_PAT@[78; 79)
|
||||
UNDERSCORE@[78; 79) "_"
|
||||
COMMA@[79; 80) ","
|
||||
WHITESPACE@[80; 81) " "
|
||||
DOTDOT@[81; 83) ".."
|
||||
WHITESPACE@[83; 84) " "
|
||||
COMMA@[84; 85) ","
|
||||
WHITESPACE@[85; 86) " "
|
||||
BIND_PAT@[86; 87)
|
||||
NAME@[86; 87)
|
||||
IDENT@[86; 87) "x"
|
||||
R_PAREN@[87; 88) ")"
|
||||
WHITESPACE@[88; 89) " "
|
||||
EQ@[89; 90) "="
|
||||
WHITESPACE@[90; 91) " "
|
||||
TUPLE_EXPR@[91; 93)
|
||||
L_PAREN@[91; 92) "("
|
||||
R_PAREN@[92; 93) ")"
|
||||
SEMI@[93; 94) ";"
|
||||
WHITESPACE@[94; 95) "\n"
|
||||
R_CURLY@[95; 96) "}"
|
||||
WHITESPACE@[96; 97) "\n"
|
||||
|
@ -8,42 +8,43 @@ SOURCE_FILE@[0; 52)
|
||||
L_PAREN@[7; 8) "("
|
||||
R_PAREN@[8; 9) ")"
|
||||
WHITESPACE@[9; 10) " "
|
||||
BLOCK@[10; 51)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
LET_STMT@[16; 28)
|
||||
LET_KW@[16; 19) "let"
|
||||
WHITESPACE@[19; 20) " "
|
||||
REF_PAT@[20; 22)
|
||||
AMP@[20; 21) "&"
|
||||
BIND_PAT@[21; 22)
|
||||
NAME@[21; 22)
|
||||
IDENT@[21; 22) "a"
|
||||
WHITESPACE@[22; 23) " "
|
||||
EQ@[23; 24) "="
|
||||
WHITESPACE@[24; 25) " "
|
||||
TUPLE_EXPR@[25; 27)
|
||||
L_PAREN@[25; 26) "("
|
||||
R_PAREN@[26; 27) ")"
|
||||
SEMI@[27; 28) ";"
|
||||
WHITESPACE@[28; 33) "\n "
|
||||
LET_STMT@[33; 49)
|
||||
LET_KW@[33; 36) "let"
|
||||
WHITESPACE@[36; 37) " "
|
||||
REF_PAT@[37; 43)
|
||||
AMP@[37; 38) "&"
|
||||
MUT_KW@[38; 41) "mut"
|
||||
WHITESPACE@[41; 42) " "
|
||||
BIND_PAT@[42; 43)
|
||||
NAME@[42; 43)
|
||||
IDENT@[42; 43) "b"
|
||||
WHITESPACE@[43; 44) " "
|
||||
EQ@[44; 45) "="
|
||||
WHITESPACE@[45; 46) " "
|
||||
TUPLE_EXPR@[46; 48)
|
||||
L_PAREN@[46; 47) "("
|
||||
R_PAREN@[47; 48) ")"
|
||||
SEMI@[48; 49) ";"
|
||||
WHITESPACE@[49; 50) "\n"
|
||||
R_CURLY@[50; 51) "}"
|
||||
BLOCK_EXPR@[10; 51)
|
||||
BLOCK@[10; 51)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
LET_STMT@[16; 28)
|
||||
LET_KW@[16; 19) "let"
|
||||
WHITESPACE@[19; 20) " "
|
||||
REF_PAT@[20; 22)
|
||||
AMP@[20; 21) "&"
|
||||
BIND_PAT@[21; 22)
|
||||
NAME@[21; 22)
|
||||
IDENT@[21; 22) "a"
|
||||
WHITESPACE@[22; 23) " "
|
||||
EQ@[23; 24) "="
|
||||
WHITESPACE@[24; 25) " "
|
||||
TUPLE_EXPR@[25; 27)
|
||||
L_PAREN@[25; 26) "("
|
||||
R_PAREN@[26; 27) ")"
|
||||
SEMI@[27; 28) ";"
|
||||
WHITESPACE@[28; 33) "\n "
|
||||
LET_STMT@[33; 49)
|
||||
LET_KW@[33; 36) "let"
|
||||
WHITESPACE@[36; 37) " "
|
||||
REF_PAT@[37; 43)
|
||||
AMP@[37; 38) "&"
|
||||
MUT_KW@[38; 41) "mut"
|
||||
WHITESPACE@[41; 42) " "
|
||||
BIND_PAT@[42; 43)
|
||||
NAME@[42; 43)
|
||||
IDENT@[42; 43) "b"
|
||||
WHITESPACE@[43; 44) " "
|
||||
EQ@[44; 45) "="
|
||||
WHITESPACE@[45; 46) " "
|
||||
TUPLE_EXPR@[46; 48)
|
||||
L_PAREN@[46; 47) "("
|
||||
R_PAREN@[47; 48) ")"
|
||||
SEMI@[48; 49) ";"
|
||||
WHITESPACE@[49; 50) "\n"
|
||||
R_CURLY@[50; 51) "}"
|
||||
WHITESPACE@[51; 52) "\n"
|
||||
|
@ -8,82 +8,83 @@ SOURCE_FILE@[0; 89)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 88)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 25)
|
||||
CAST_EXPR@[15; 24)
|
||||
LITERAL@[15; 17)
|
||||
INT_NUMBER@[15; 17) "82"
|
||||
WHITESPACE@[17; 18) " "
|
||||
AS_KW@[18; 20) "as"
|
||||
WHITESPACE@[20; 21) " "
|
||||
PATH_TYPE@[21; 24)
|
||||
PATH@[21; 24)
|
||||
PATH_SEGMENT@[21; 24)
|
||||
NAME_REF@[21; 24)
|
||||
IDENT@[21; 24) "i32"
|
||||
SEMI@[24; 25) ";"
|
||||
WHITESPACE@[25; 30) "\n "
|
||||
EXPR_STMT@[30; 43)
|
||||
BIN_EXPR@[30; 42)
|
||||
CAST_EXPR@[30; 38)
|
||||
LITERAL@[30; 32)
|
||||
INT_NUMBER@[30; 32) "81"
|
||||
WHITESPACE@[32; 33) " "
|
||||
AS_KW@[33; 35) "as"
|
||||
WHITESPACE@[35; 36) " "
|
||||
PATH_TYPE@[36; 38)
|
||||
PATH@[36; 38)
|
||||
PATH_SEGMENT@[36; 38)
|
||||
NAME_REF@[36; 38)
|
||||
IDENT@[36; 38) "i8"
|
||||
WHITESPACE@[38; 39) " "
|
||||
PLUS@[39; 40) "+"
|
||||
WHITESPACE@[40; 41) " "
|
||||
LITERAL@[41; 42)
|
||||
INT_NUMBER@[41; 42) "1"
|
||||
SEMI@[42; 43) ";"
|
||||
WHITESPACE@[43; 48) "\n "
|
||||
EXPR_STMT@[48; 62)
|
||||
BIN_EXPR@[48; 61)
|
||||
CAST_EXPR@[48; 57)
|
||||
LITERAL@[48; 50)
|
||||
INT_NUMBER@[48; 50) "79"
|
||||
WHITESPACE@[50; 51) " "
|
||||
AS_KW@[51; 53) "as"
|
||||
WHITESPACE@[53; 54) " "
|
||||
PATH_TYPE@[54; 57)
|
||||
PATH@[54; 57)
|
||||
PATH_SEGMENT@[54; 57)
|
||||
NAME_REF@[54; 57)
|
||||
IDENT@[54; 57) "i16"
|
||||
WHITESPACE@[57; 58) " "
|
||||
MINUS@[58; 59) "-"
|
||||
WHITESPACE@[59; 60) " "
|
||||
LITERAL@[60; 61)
|
||||
INT_NUMBER@[60; 61) "1"
|
||||
SEMI@[61; 62) ";"
|
||||
WHITESPACE@[62; 67) "\n "
|
||||
EXPR_STMT@[67; 86)
|
||||
BIN_EXPR@[67; 85)
|
||||
CAST_EXPR@[67; 77)
|
||||
LITERAL@[67; 71)
|
||||
INT_NUMBER@[67; 71) "0x36"
|
||||
WHITESPACE@[71; 72) " "
|
||||
AS_KW@[72; 74) "as"
|
||||
WHITESPACE@[74; 75) " "
|
||||
PATH_TYPE@[75; 77)
|
||||
PATH@[75; 77)
|
||||
PATH_SEGMENT@[75; 77)
|
||||
NAME_REF@[75; 77)
|
||||
IDENT@[75; 77) "u8"
|
||||
WHITESPACE@[77; 78) " "
|
||||
LTEQ@[78; 80) "<="
|
||||
WHITESPACE@[80; 81) " "
|
||||
LITERAL@[81; 85)
|
||||
INT_NUMBER@[81; 85) "0x37"
|
||||
SEMI@[85; 86) ";"
|
||||
WHITESPACE@[86; 87) "\n"
|
||||
R_CURLY@[87; 88) "}"
|
||||
BLOCK_EXPR@[9; 88)
|
||||
BLOCK@[9; 88)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 25)
|
||||
CAST_EXPR@[15; 24)
|
||||
LITERAL@[15; 17)
|
||||
INT_NUMBER@[15; 17) "82"
|
||||
WHITESPACE@[17; 18) " "
|
||||
AS_KW@[18; 20) "as"
|
||||
WHITESPACE@[20; 21) " "
|
||||
PATH_TYPE@[21; 24)
|
||||
PATH@[21; 24)
|
||||
PATH_SEGMENT@[21; 24)
|
||||
NAME_REF@[21; 24)
|
||||
IDENT@[21; 24) "i32"
|
||||
SEMI@[24; 25) ";"
|
||||
WHITESPACE@[25; 30) "\n "
|
||||
EXPR_STMT@[30; 43)
|
||||
BIN_EXPR@[30; 42)
|
||||
CAST_EXPR@[30; 38)
|
||||
LITERAL@[30; 32)
|
||||
INT_NUMBER@[30; 32) "81"
|
||||
WHITESPACE@[32; 33) " "
|
||||
AS_KW@[33; 35) "as"
|
||||
WHITESPACE@[35; 36) " "
|
||||
PATH_TYPE@[36; 38)
|
||||
PATH@[36; 38)
|
||||
PATH_SEGMENT@[36; 38)
|
||||
NAME_REF@[36; 38)
|
||||
IDENT@[36; 38) "i8"
|
||||
WHITESPACE@[38; 39) " "
|
||||
PLUS@[39; 40) "+"
|
||||
WHITESPACE@[40; 41) " "
|
||||
LITERAL@[41; 42)
|
||||
INT_NUMBER@[41; 42) "1"
|
||||
SEMI@[42; 43) ";"
|
||||
WHITESPACE@[43; 48) "\n "
|
||||
EXPR_STMT@[48; 62)
|
||||
BIN_EXPR@[48; 61)
|
||||
CAST_EXPR@[48; 57)
|
||||
LITERAL@[48; 50)
|
||||
INT_NUMBER@[48; 50) "79"
|
||||
WHITESPACE@[50; 51) " "
|
||||
AS_KW@[51; 53) "as"
|
||||
WHITESPACE@[53; 54) " "
|
||||
PATH_TYPE@[54; 57)
|
||||
PATH@[54; 57)
|
||||
PATH_SEGMENT@[54; 57)
|
||||
NAME_REF@[54; 57)
|
||||
IDENT@[54; 57) "i16"
|
||||
WHITESPACE@[57; 58) " "
|
||||
MINUS@[58; 59) "-"
|
||||
WHITESPACE@[59; 60) " "
|
||||
LITERAL@[60; 61)
|
||||
INT_NUMBER@[60; 61) "1"
|
||||
SEMI@[61; 62) ";"
|
||||
WHITESPACE@[62; 67) "\n "
|
||||
EXPR_STMT@[67; 86)
|
||||
BIN_EXPR@[67; 85)
|
||||
CAST_EXPR@[67; 77)
|
||||
LITERAL@[67; 71)
|
||||
INT_NUMBER@[67; 71) "0x36"
|
||||
WHITESPACE@[71; 72) " "
|
||||
AS_KW@[72; 74) "as"
|
||||
WHITESPACE@[74; 75) " "
|
||||
PATH_TYPE@[75; 77)
|
||||
PATH@[75; 77)
|
||||
PATH_SEGMENT@[75; 77)
|
||||
NAME_REF@[75; 77)
|
||||
IDENT@[75; 77) "u8"
|
||||
WHITESPACE@[77; 78) " "
|
||||
LTEQ@[78; 80) "<="
|
||||
WHITESPACE@[80; 81) " "
|
||||
LITERAL@[81; 85)
|
||||
INT_NUMBER@[81; 85) "0x37"
|
||||
SEMI@[85; 86) ";"
|
||||
WHITESPACE@[86; 87) "\n"
|
||||
R_CURLY@[87; 88) "}"
|
||||
WHITESPACE@[88; 89) "\n"
|
||||
|
@ -8,38 +8,40 @@ SOURCE_FILE@[0; 197)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 37)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) " "
|
||||
IF_EXPR@[11; 35)
|
||||
IF_KW@[11; 13) "if"
|
||||
WHITESPACE@[13; 14) " "
|
||||
CONDITION@[14; 32)
|
||||
LET_KW@[14; 17) "let"
|
||||
WHITESPACE@[17; 18) " "
|
||||
TUPLE_STRUCT_PAT@[18; 25)
|
||||
PATH@[18; 22)
|
||||
PATH_SEGMENT@[18; 22)
|
||||
NAME_REF@[18; 22)
|
||||
IDENT@[18; 22) "Some"
|
||||
L_PAREN@[22; 23) "("
|
||||
PLACEHOLDER_PAT@[23; 24)
|
||||
UNDERSCORE@[23; 24) "_"
|
||||
R_PAREN@[24; 25) ")"
|
||||
WHITESPACE@[25; 26) " "
|
||||
EQ@[26; 27) "="
|
||||
WHITESPACE@[27; 28) " "
|
||||
PATH_EXPR@[28; 32)
|
||||
PATH@[28; 32)
|
||||
PATH_SEGMENT@[28; 32)
|
||||
NAME_REF@[28; 32)
|
||||
IDENT@[28; 32) "None"
|
||||
WHITESPACE@[32; 33) " "
|
||||
BLOCK@[33; 35)
|
||||
L_CURLY@[33; 34) "{"
|
||||
R_CURLY@[34; 35) "}"
|
||||
WHITESPACE@[35; 36) " "
|
||||
R_CURLY@[36; 37) "}"
|
||||
BLOCK_EXPR@[9; 37)
|
||||
BLOCK@[9; 37)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) " "
|
||||
IF_EXPR@[11; 35)
|
||||
IF_KW@[11; 13) "if"
|
||||
WHITESPACE@[13; 14) " "
|
||||
CONDITION@[14; 32)
|
||||
LET_KW@[14; 17) "let"
|
||||
WHITESPACE@[17; 18) " "
|
||||
TUPLE_STRUCT_PAT@[18; 25)
|
||||
PATH@[18; 22)
|
||||
PATH_SEGMENT@[18; 22)
|
||||
NAME_REF@[18; 22)
|
||||
IDENT@[18; 22) "Some"
|
||||
L_PAREN@[22; 23) "("
|
||||
PLACEHOLDER_PAT@[23; 24)
|
||||
UNDERSCORE@[23; 24) "_"
|
||||
R_PAREN@[24; 25) ")"
|
||||
WHITESPACE@[25; 26) " "
|
||||
EQ@[26; 27) "="
|
||||
WHITESPACE@[27; 28) " "
|
||||
PATH_EXPR@[28; 32)
|
||||
PATH@[28; 32)
|
||||
PATH_SEGMENT@[28; 32)
|
||||
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) " "
|
||||
R_CURLY@[36; 37) "}"
|
||||
WHITESPACE@[37; 38) "\n"
|
||||
FN_DEF@[38; 196)
|
||||
FN_KW@[38; 40) "fn"
|
||||
@ -50,151 +52,156 @@ SOURCE_FILE@[0; 197)
|
||||
L_PAREN@[44; 45) "("
|
||||
R_PAREN@[45; 46) ")"
|
||||
WHITESPACE@[46; 47) " "
|
||||
BLOCK@[47; 196)
|
||||
L_CURLY@[47; 48) "{"
|
||||
WHITESPACE@[48; 53) "\n "
|
||||
EXPR_STMT@[53; 87)
|
||||
IF_EXPR@[53; 87)
|
||||
IF_KW@[53; 55) "if"
|
||||
WHITESPACE@[55; 56) " "
|
||||
CONDITION@[56; 84)
|
||||
LET_KW@[56; 59) "let"
|
||||
WHITESPACE@[59; 60) " "
|
||||
TUPLE_STRUCT_PAT@[60; 67)
|
||||
PATH@[60; 64)
|
||||
PATH_SEGMENT@[60; 64)
|
||||
NAME_REF@[60; 64)
|
||||
IDENT@[60; 64) "Some"
|
||||
L_PAREN@[64; 65) "("
|
||||
PLACEHOLDER_PAT@[65; 66)
|
||||
UNDERSCORE@[65; 66) "_"
|
||||
R_PAREN@[66; 67) ")"
|
||||
WHITESPACE@[67; 68) " "
|
||||
PIPE@[68; 69) "|"
|
||||
WHITESPACE@[69; 70) " "
|
||||
TUPLE_STRUCT_PAT@[70; 77)
|
||||
PATH@[70; 74)
|
||||
PATH_SEGMENT@[70; 74)
|
||||
NAME_REF@[70; 74)
|
||||
IDENT@[70; 74) "Some"
|
||||
L_PAREN@[74; 75) "("
|
||||
PLACEHOLDER_PAT@[75; 76)
|
||||
UNDERSCORE@[75; 76) "_"
|
||||
R_PAREN@[76; 77) ")"
|
||||
WHITESPACE@[77; 78) " "
|
||||
EQ@[78; 79) "="
|
||||
WHITESPACE@[79; 80) " "
|
||||
PATH_EXPR@[80; 84)
|
||||
PATH@[80; 84)
|
||||
PATH_SEGMENT@[80; 84)
|
||||
NAME_REF@[80; 84)
|
||||
IDENT@[80; 84) "None"
|
||||
WHITESPACE@[84; 85) " "
|
||||
BLOCK@[85; 87)
|
||||
L_CURLY@[85; 86) "{"
|
||||
R_CURLY@[86; 87) "}"
|
||||
WHITESPACE@[87; 92) "\n "
|
||||
EXPR_STMT@[92; 118)
|
||||
IF_EXPR@[92; 118)
|
||||
IF_KW@[92; 94) "if"
|
||||
WHITESPACE@[94; 95) " "
|
||||
CONDITION@[95; 115)
|
||||
LET_KW@[95; 98) "let"
|
||||
WHITESPACE@[98; 99) " "
|
||||
PIPE@[99; 100) "|"
|
||||
WHITESPACE@[100; 101) " "
|
||||
TUPLE_STRUCT_PAT@[101; 108)
|
||||
PATH@[101; 105)
|
||||
PATH_SEGMENT@[101; 105)
|
||||
NAME_REF@[101; 105)
|
||||
IDENT@[101; 105) "Some"
|
||||
L_PAREN@[105; 106) "("
|
||||
PLACEHOLDER_PAT@[106; 107)
|
||||
UNDERSCORE@[106; 107) "_"
|
||||
R_PAREN@[107; 108) ")"
|
||||
WHITESPACE@[108; 109) " "
|
||||
EQ@[109; 110) "="
|
||||
WHITESPACE@[110; 111) " "
|
||||
PATH_EXPR@[111; 115)
|
||||
PATH@[111; 115)
|
||||
PATH_SEGMENT@[111; 115)
|
||||
NAME_REF@[111; 115)
|
||||
IDENT@[111; 115) "None"
|
||||
WHITESPACE@[115; 116) " "
|
||||
BLOCK@[116; 118)
|
||||
L_CURLY@[116; 117) "{"
|
||||
R_CURLY@[117; 118) "}"
|
||||
WHITESPACE@[118; 123) "\n "
|
||||
EXPR_STMT@[123; 160)
|
||||
WHILE_EXPR@[123; 160)
|
||||
WHILE_KW@[123; 128) "while"
|
||||
WHITESPACE@[128; 129) " "
|
||||
CONDITION@[129; 157)
|
||||
LET_KW@[129; 132) "let"
|
||||
WHITESPACE@[132; 133) " "
|
||||
TUPLE_STRUCT_PAT@[133; 140)
|
||||
PATH@[133; 137)
|
||||
PATH_SEGMENT@[133; 137)
|
||||
NAME_REF@[133; 137)
|
||||
IDENT@[133; 137) "Some"
|
||||
L_PAREN@[137; 138) "("
|
||||
PLACEHOLDER_PAT@[138; 139)
|
||||
UNDERSCORE@[138; 139) "_"
|
||||
R_PAREN@[139; 140) ")"
|
||||
WHITESPACE@[140; 141) " "
|
||||
PIPE@[141; 142) "|"
|
||||
WHITESPACE@[142; 143) " "
|
||||
TUPLE_STRUCT_PAT@[143; 150)
|
||||
PATH@[143; 147)
|
||||
PATH_SEGMENT@[143; 147)
|
||||
NAME_REF@[143; 147)
|
||||
IDENT@[143; 147) "Some"
|
||||
L_PAREN@[147; 148) "("
|
||||
PLACEHOLDER_PAT@[148; 149)
|
||||
UNDERSCORE@[148; 149) "_"
|
||||
R_PAREN@[149; 150) ")"
|
||||
WHITESPACE@[150; 151) " "
|
||||
EQ@[151; 152) "="
|
||||
WHITESPACE@[152; 153) " "
|
||||
PATH_EXPR@[153; 157)
|
||||
PATH@[153; 157)
|
||||
PATH_SEGMENT@[153; 157)
|
||||
NAME_REF@[153; 157)
|
||||
IDENT@[153; 157) "None"
|
||||
WHITESPACE@[157; 158) " "
|
||||
BLOCK@[158; 160)
|
||||
L_CURLY@[158; 159) "{"
|
||||
R_CURLY@[159; 160) "}"
|
||||
WHITESPACE@[160; 165) "\n "
|
||||
WHILE_EXPR@[165; 194)
|
||||
WHILE_KW@[165; 170) "while"
|
||||
WHITESPACE@[170; 171) " "
|
||||
CONDITION@[171; 191)
|
||||
LET_KW@[171; 174) "let"
|
||||
WHITESPACE@[174; 175) " "
|
||||
PIPE@[175; 176) "|"
|
||||
WHITESPACE@[176; 177) " "
|
||||
TUPLE_STRUCT_PAT@[177; 184)
|
||||
PATH@[177; 181)
|
||||
PATH_SEGMENT@[177; 181)
|
||||
NAME_REF@[177; 181)
|
||||
IDENT@[177; 181) "Some"
|
||||
L_PAREN@[181; 182) "("
|
||||
PLACEHOLDER_PAT@[182; 183)
|
||||
UNDERSCORE@[182; 183) "_"
|
||||
R_PAREN@[183; 184) ")"
|
||||
WHITESPACE@[184; 185) " "
|
||||
EQ@[185; 186) "="
|
||||
WHITESPACE@[186; 187) " "
|
||||
PATH_EXPR@[187; 191)
|
||||
PATH@[187; 191)
|
||||
PATH_SEGMENT@[187; 191)
|
||||
NAME_REF@[187; 191)
|
||||
IDENT@[187; 191) "None"
|
||||
WHITESPACE@[191; 192) " "
|
||||
BLOCK@[192; 194)
|
||||
L_CURLY@[192; 193) "{"
|
||||
R_CURLY@[193; 194) "}"
|
||||
WHITESPACE@[194; 195) "\n"
|
||||
R_CURLY@[195; 196) "}"
|
||||
BLOCK_EXPR@[47; 196)
|
||||
BLOCK@[47; 196)
|
||||
L_CURLY@[47; 48) "{"
|
||||
WHITESPACE@[48; 53) "\n "
|
||||
EXPR_STMT@[53; 87)
|
||||
IF_EXPR@[53; 87)
|
||||
IF_KW@[53; 55) "if"
|
||||
WHITESPACE@[55; 56) " "
|
||||
CONDITION@[56; 84)
|
||||
LET_KW@[56; 59) "let"
|
||||
WHITESPACE@[59; 60) " "
|
||||
TUPLE_STRUCT_PAT@[60; 67)
|
||||
PATH@[60; 64)
|
||||
PATH_SEGMENT@[60; 64)
|
||||
NAME_REF@[60; 64)
|
||||
IDENT@[60; 64) "Some"
|
||||
L_PAREN@[64; 65) "("
|
||||
PLACEHOLDER_PAT@[65; 66)
|
||||
UNDERSCORE@[65; 66) "_"
|
||||
R_PAREN@[66; 67) ")"
|
||||
WHITESPACE@[67; 68) " "
|
||||
PIPE@[68; 69) "|"
|
||||
WHITESPACE@[69; 70) " "
|
||||
TUPLE_STRUCT_PAT@[70; 77)
|
||||
PATH@[70; 74)
|
||||
PATH_SEGMENT@[70; 74)
|
||||
NAME_REF@[70; 74)
|
||||
IDENT@[70; 74) "Some"
|
||||
L_PAREN@[74; 75) "("
|
||||
PLACEHOLDER_PAT@[75; 76)
|
||||
UNDERSCORE@[75; 76) "_"
|
||||
R_PAREN@[76; 77) ")"
|
||||
WHITESPACE@[77; 78) " "
|
||||
EQ@[78; 79) "="
|
||||
WHITESPACE@[79; 80) " "
|
||||
PATH_EXPR@[80; 84)
|
||||
PATH@[80; 84)
|
||||
PATH_SEGMENT@[80; 84)
|
||||
NAME_REF@[80; 84)
|
||||
IDENT@[80; 84) "None"
|
||||
WHITESPACE@[84; 85) " "
|
||||
BLOCK_EXPR@[85; 87)
|
||||
BLOCK@[85; 87)
|
||||
L_CURLY@[85; 86) "{"
|
||||
R_CURLY@[86; 87) "}"
|
||||
WHITESPACE@[87; 92) "\n "
|
||||
EXPR_STMT@[92; 118)
|
||||
IF_EXPR@[92; 118)
|
||||
IF_KW@[92; 94) "if"
|
||||
WHITESPACE@[94; 95) " "
|
||||
CONDITION@[95; 115)
|
||||
LET_KW@[95; 98) "let"
|
||||
WHITESPACE@[98; 99) " "
|
||||
PIPE@[99; 100) "|"
|
||||
WHITESPACE@[100; 101) " "
|
||||
TUPLE_STRUCT_PAT@[101; 108)
|
||||
PATH@[101; 105)
|
||||
PATH_SEGMENT@[101; 105)
|
||||
NAME_REF@[101; 105)
|
||||
IDENT@[101; 105) "Some"
|
||||
L_PAREN@[105; 106) "("
|
||||
PLACEHOLDER_PAT@[106; 107)
|
||||
UNDERSCORE@[106; 107) "_"
|
||||
R_PAREN@[107; 108) ")"
|
||||
WHITESPACE@[108; 109) " "
|
||||
EQ@[109; 110) "="
|
||||
WHITESPACE@[110; 111) " "
|
||||
PATH_EXPR@[111; 115)
|
||||
PATH@[111; 115)
|
||||
PATH_SEGMENT@[111; 115)
|
||||
NAME_REF@[111; 115)
|
||||
IDENT@[111; 115) "None"
|
||||
WHITESPACE@[115; 116) " "
|
||||
BLOCK_EXPR@[116; 118)
|
||||
BLOCK@[116; 118)
|
||||
L_CURLY@[116; 117) "{"
|
||||
R_CURLY@[117; 118) "}"
|
||||
WHITESPACE@[118; 123) "\n "
|
||||
EXPR_STMT@[123; 160)
|
||||
WHILE_EXPR@[123; 160)
|
||||
WHILE_KW@[123; 128) "while"
|
||||
WHITESPACE@[128; 129) " "
|
||||
CONDITION@[129; 157)
|
||||
LET_KW@[129; 132) "let"
|
||||
WHITESPACE@[132; 133) " "
|
||||
TUPLE_STRUCT_PAT@[133; 140)
|
||||
PATH@[133; 137)
|
||||
PATH_SEGMENT@[133; 137)
|
||||
NAME_REF@[133; 137)
|
||||
IDENT@[133; 137) "Some"
|
||||
L_PAREN@[137; 138) "("
|
||||
PLACEHOLDER_PAT@[138; 139)
|
||||
UNDERSCORE@[138; 139) "_"
|
||||
R_PAREN@[139; 140) ")"
|
||||
WHITESPACE@[140; 141) " "
|
||||
PIPE@[141; 142) "|"
|
||||
WHITESPACE@[142; 143) " "
|
||||
TUPLE_STRUCT_PAT@[143; 150)
|
||||
PATH@[143; 147)
|
||||
PATH_SEGMENT@[143; 147)
|
||||
NAME_REF@[143; 147)
|
||||
IDENT@[143; 147) "Some"
|
||||
L_PAREN@[147; 148) "("
|
||||
PLACEHOLDER_PAT@[148; 149)
|
||||
UNDERSCORE@[148; 149) "_"
|
||||
R_PAREN@[149; 150) ")"
|
||||
WHITESPACE@[150; 151) " "
|
||||
EQ@[151; 152) "="
|
||||
WHITESPACE@[152; 153) " "
|
||||
PATH_EXPR@[153; 157)
|
||||
PATH@[153; 157)
|
||||
PATH_SEGMENT@[153; 157)
|
||||
NAME_REF@[153; 157)
|
||||
IDENT@[153; 157) "None"
|
||||
WHITESPACE@[157; 158) " "
|
||||
BLOCK_EXPR@[158; 160)
|
||||
BLOCK@[158; 160)
|
||||
L_CURLY@[158; 159) "{"
|
||||
R_CURLY@[159; 160) "}"
|
||||
WHITESPACE@[160; 165) "\n "
|
||||
WHILE_EXPR@[165; 194)
|
||||
WHILE_KW@[165; 170) "while"
|
||||
WHITESPACE@[170; 171) " "
|
||||
CONDITION@[171; 191)
|
||||
LET_KW@[171; 174) "let"
|
||||
WHITESPACE@[174; 175) " "
|
||||
PIPE@[175; 176) "|"
|
||||
WHITESPACE@[176; 177) " "
|
||||
TUPLE_STRUCT_PAT@[177; 184)
|
||||
PATH@[177; 181)
|
||||
PATH_SEGMENT@[177; 181)
|
||||
NAME_REF@[177; 181)
|
||||
IDENT@[177; 181) "Some"
|
||||
L_PAREN@[181; 182) "("
|
||||
PLACEHOLDER_PAT@[182; 183)
|
||||
UNDERSCORE@[182; 183) "_"
|
||||
R_PAREN@[183; 184) ")"
|
||||
WHITESPACE@[184; 185) " "
|
||||
EQ@[185; 186) "="
|
||||
WHITESPACE@[186; 187) " "
|
||||
PATH_EXPR@[187; 191)
|
||||
PATH@[187; 191)
|
||||
PATH_SEGMENT@[187; 191)
|
||||
NAME_REF@[187; 191)
|
||||
IDENT@[187; 191) "None"
|
||||
WHITESPACE@[191; 192) " "
|
||||
BLOCK_EXPR@[192; 194)
|
||||
BLOCK@[192; 194)
|
||||
L_CURLY@[192; 193) "{"
|
||||
R_CURLY@[193; 194) "}"
|
||||
WHITESPACE@[194; 195) "\n"
|
||||
R_CURLY@[195; 196) "}"
|
||||
WHITESPACE@[196; 197) "\n"
|
||||
|
@ -8,59 +8,62 @@ SOURCE_FILE@[0; 70)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 69)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 29)
|
||||
WHILE_EXPR@[15; 28)
|
||||
WHILE_KW@[15; 20) "while"
|
||||
WHITESPACE@[20; 21) " "
|
||||
CONDITION@[21; 25)
|
||||
LITERAL@[21; 25)
|
||||
TRUE_KW@[21; 25) "true"
|
||||
WHITESPACE@[25; 26) " "
|
||||
BLOCK@[26; 28)
|
||||
L_CURLY@[26; 27) "{"
|
||||
R_CURLY@[27; 28) "}"
|
||||
SEMI@[28; 29) ";"
|
||||
WHITESPACE@[29; 34) "\n "
|
||||
EXPR_STMT@[34; 67)
|
||||
WHILE_EXPR@[34; 66)
|
||||
WHILE_KW@[34; 39) "while"
|
||||
WHITESPACE@[39; 40) " "
|
||||
CONDITION@[40; 63)
|
||||
LET_KW@[40; 43) "let"
|
||||
WHITESPACE@[43; 44) " "
|
||||
TUPLE_STRUCT_PAT@[44; 51)
|
||||
PATH@[44; 48)
|
||||
PATH_SEGMENT@[44; 48)
|
||||
NAME_REF@[44; 48)
|
||||
IDENT@[44; 48) "Some"
|
||||
L_PAREN@[48; 49) "("
|
||||
BIND_PAT@[49; 50)
|
||||
NAME@[49; 50)
|
||||
IDENT@[49; 50) "x"
|
||||
R_PAREN@[50; 51) ")"
|
||||
WHITESPACE@[51; 52) " "
|
||||
EQ@[52; 53) "="
|
||||
WHITESPACE@[53; 54) " "
|
||||
METHOD_CALL_EXPR@[54; 63)
|
||||
PATH_EXPR@[54; 56)
|
||||
PATH@[54; 56)
|
||||
PATH_SEGMENT@[54; 56)
|
||||
NAME_REF@[54; 56)
|
||||
IDENT@[54; 56) "it"
|
||||
DOT@[56; 57) "."
|
||||
NAME_REF@[57; 61)
|
||||
IDENT@[57; 61) "next"
|
||||
ARG_LIST@[61; 63)
|
||||
L_PAREN@[61; 62) "("
|
||||
R_PAREN@[62; 63) ")"
|
||||
WHITESPACE@[63; 64) " "
|
||||
BLOCK@[64; 66)
|
||||
L_CURLY@[64; 65) "{"
|
||||
R_CURLY@[65; 66) "}"
|
||||
SEMI@[66; 67) ";"
|
||||
WHITESPACE@[67; 68) "\n"
|
||||
R_CURLY@[68; 69) "}"
|
||||
BLOCK_EXPR@[9; 69)
|
||||
BLOCK@[9; 69)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 29)
|
||||
WHILE_EXPR@[15; 28)
|
||||
WHILE_KW@[15; 20) "while"
|
||||
WHITESPACE@[20; 21) " "
|
||||
CONDITION@[21; 25)
|
||||
LITERAL@[21; 25)
|
||||
TRUE_KW@[21; 25) "true"
|
||||
WHITESPACE@[25; 26) " "
|
||||
BLOCK_EXPR@[26; 28)
|
||||
BLOCK@[26; 28)
|
||||
L_CURLY@[26; 27) "{"
|
||||
R_CURLY@[27; 28) "}"
|
||||
SEMI@[28; 29) ";"
|
||||
WHITESPACE@[29; 34) "\n "
|
||||
EXPR_STMT@[34; 67)
|
||||
WHILE_EXPR@[34; 66)
|
||||
WHILE_KW@[34; 39) "while"
|
||||
WHITESPACE@[39; 40) " "
|
||||
CONDITION@[40; 63)
|
||||
LET_KW@[40; 43) "let"
|
||||
WHITESPACE@[43; 44) " "
|
||||
TUPLE_STRUCT_PAT@[44; 51)
|
||||
PATH@[44; 48)
|
||||
PATH_SEGMENT@[44; 48)
|
||||
NAME_REF@[44; 48)
|
||||
IDENT@[44; 48) "Some"
|
||||
L_PAREN@[48; 49) "("
|
||||
BIND_PAT@[49; 50)
|
||||
NAME@[49; 50)
|
||||
IDENT@[49; 50) "x"
|
||||
R_PAREN@[50; 51) ")"
|
||||
WHITESPACE@[51; 52) " "
|
||||
EQ@[52; 53) "="
|
||||
WHITESPACE@[53; 54) " "
|
||||
METHOD_CALL_EXPR@[54; 63)
|
||||
PATH_EXPR@[54; 56)
|
||||
PATH@[54; 56)
|
||||
PATH_SEGMENT@[54; 56)
|
||||
NAME_REF@[54; 56)
|
||||
IDENT@[54; 56) "it"
|
||||
DOT@[56; 57) "."
|
||||
NAME_REF@[57; 61)
|
||||
IDENT@[57; 61) "next"
|
||||
ARG_LIST@[61; 63)
|
||||
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) ";"
|
||||
WHITESPACE@[67; 68) "\n"
|
||||
R_CURLY@[68; 69) "}"
|
||||
WHITESPACE@[69; 70) "\n"
|
||||
|
@ -8,46 +8,48 @@ SOURCE_FILE@[0; 102)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 101)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LOOP_EXPR@[15; 99)
|
||||
LOOP_KW@[15; 19) "loop"
|
||||
WHITESPACE@[19; 20) " "
|
||||
BLOCK@[20; 99)
|
||||
L_CURLY@[20; 21) "{"
|
||||
WHITESPACE@[21; 30) "\n "
|
||||
EXPR_STMT@[30; 36)
|
||||
BREAK_EXPR@[30; 35)
|
||||
BREAK_KW@[30; 35) "break"
|
||||
SEMI@[35; 36) ";"
|
||||
WHITESPACE@[36; 45) "\n "
|
||||
EXPR_STMT@[45; 54)
|
||||
BREAK_EXPR@[45; 53)
|
||||
BREAK_KW@[45; 50) "break"
|
||||
WHITESPACE@[50; 51) " "
|
||||
LIFETIME@[51; 53) "\'l"
|
||||
SEMI@[53; 54) ";"
|
||||
WHITESPACE@[54; 63) "\n "
|
||||
EXPR_STMT@[63; 72)
|
||||
BREAK_EXPR@[63; 71)
|
||||
BREAK_KW@[63; 68) "break"
|
||||
WHITESPACE@[68; 69) " "
|
||||
LITERAL@[69; 71)
|
||||
INT_NUMBER@[69; 71) "92"
|
||||
SEMI@[71; 72) ";"
|
||||
WHITESPACE@[72; 81) "\n "
|
||||
EXPR_STMT@[81; 93)
|
||||
BREAK_EXPR@[81; 92)
|
||||
BREAK_KW@[81; 86) "break"
|
||||
WHITESPACE@[86; 87) " "
|
||||
LIFETIME@[87; 89) "\'l"
|
||||
WHITESPACE@[89; 90) " "
|
||||
LITERAL@[90; 92)
|
||||
INT_NUMBER@[90; 92) "92"
|
||||
SEMI@[92; 93) ";"
|
||||
WHITESPACE@[93; 98) "\n "
|
||||
R_CURLY@[98; 99) "}"
|
||||
WHITESPACE@[99; 100) "\n"
|
||||
R_CURLY@[100; 101) "}"
|
||||
BLOCK_EXPR@[9; 101)
|
||||
BLOCK@[9; 101)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LOOP_EXPR@[15; 99)
|
||||
LOOP_KW@[15; 19) "loop"
|
||||
WHITESPACE@[19; 20) " "
|
||||
BLOCK_EXPR@[20; 99)
|
||||
BLOCK@[20; 99)
|
||||
L_CURLY@[20; 21) "{"
|
||||
WHITESPACE@[21; 30) "\n "
|
||||
EXPR_STMT@[30; 36)
|
||||
BREAK_EXPR@[30; 35)
|
||||
BREAK_KW@[30; 35) "break"
|
||||
SEMI@[35; 36) ";"
|
||||
WHITESPACE@[36; 45) "\n "
|
||||
EXPR_STMT@[45; 54)
|
||||
BREAK_EXPR@[45; 53)
|
||||
BREAK_KW@[45; 50) "break"
|
||||
WHITESPACE@[50; 51) " "
|
||||
LIFETIME@[51; 53) "\'l"
|
||||
SEMI@[53; 54) ";"
|
||||
WHITESPACE@[54; 63) "\n "
|
||||
EXPR_STMT@[63; 72)
|
||||
BREAK_EXPR@[63; 71)
|
||||
BREAK_KW@[63; 68) "break"
|
||||
WHITESPACE@[68; 69) " "
|
||||
LITERAL@[69; 71)
|
||||
INT_NUMBER@[69; 71) "92"
|
||||
SEMI@[71; 72) ";"
|
||||
WHITESPACE@[72; 81) "\n "
|
||||
EXPR_STMT@[81; 93)
|
||||
BREAK_EXPR@[81; 92)
|
||||
BREAK_KW@[81; 86) "break"
|
||||
WHITESPACE@[86; 87) " "
|
||||
LIFETIME@[87; 89) "\'l"
|
||||
WHITESPACE@[89; 90) " "
|
||||
LITERAL@[90; 92)
|
||||
INT_NUMBER@[90; 92) "92"
|
||||
SEMI@[92; 93) ";"
|
||||
WHITESPACE@[93; 98) "\n "
|
||||
R_CURLY@[98; 99) "}"
|
||||
WHITESPACE@[99; 100) "\n"
|
||||
R_CURLY@[100; 101) "}"
|
||||
WHITESPACE@[101; 102) "\n"
|
||||
|
@ -15,7 +15,8 @@ SOURCE_FILE@[0; 30)
|
||||
L_PAREN@[24; 25) "("
|
||||
R_PAREN@[25; 26) ")"
|
||||
WHITESPACE@[26; 27) " "
|
||||
BLOCK@[27; 29)
|
||||
L_CURLY@[27; 28) "{"
|
||||
R_CURLY@[28; 29) "}"
|
||||
BLOCK_EXPR@[27; 29)
|
||||
BLOCK@[27; 29)
|
||||
L_CURLY@[27; 28) "{"
|
||||
R_CURLY@[28; 29) "}"
|
||||
WHITESPACE@[29; 30) "\n"
|
||||
|
@ -41,38 +41,39 @@ SOURCE_FILE@[0; 71)
|
||||
L_PAREN@[33; 34) "("
|
||||
R_PAREN@[34; 35) ")"
|
||||
WHITESPACE@[35; 36) " "
|
||||
BLOCK@[36; 70)
|
||||
L_CURLY@[36; 37) "{"
|
||||
WHITESPACE@[37; 38) " "
|
||||
EXPR_STMT@[38; 68)
|
||||
CALL_EXPR@[38; 67)
|
||||
PATH_EXPR@[38; 65)
|
||||
PATH@[38; 65)
|
||||
PATH@[38; 56)
|
||||
PATH_SEGMENT@[38; 56)
|
||||
L_ANGLE@[38; 39) "<"
|
||||
PATH_TYPE@[39; 44)
|
||||
PATH@[39; 44)
|
||||
PATH_SEGMENT@[39; 44)
|
||||
NAME_REF@[39; 44)
|
||||
IDENT@[39; 44) "usize"
|
||||
WHITESPACE@[44; 45) " "
|
||||
AS_KW@[45; 47) "as"
|
||||
WHITESPACE@[47; 48) " "
|
||||
PATH_TYPE@[48; 55)
|
||||
PATH@[48; 55)
|
||||
PATH_SEGMENT@[48; 55)
|
||||
NAME_REF@[48; 55)
|
||||
IDENT@[48; 55) "Default"
|
||||
R_ANGLE@[55; 56) ">"
|
||||
COLONCOLON@[56; 58) "::"
|
||||
PATH_SEGMENT@[58; 65)
|
||||
NAME_REF@[58; 65)
|
||||
IDENT@[58; 65) "default"
|
||||
ARG_LIST@[65; 67)
|
||||
L_PAREN@[65; 66) "("
|
||||
R_PAREN@[66; 67) ")"
|
||||
SEMI@[67; 68) ";"
|
||||
WHITESPACE@[68; 69) " "
|
||||
R_CURLY@[69; 70) "}"
|
||||
BLOCK_EXPR@[36; 70)
|
||||
BLOCK@[36; 70)
|
||||
L_CURLY@[36; 37) "{"
|
||||
WHITESPACE@[37; 38) " "
|
||||
EXPR_STMT@[38; 68)
|
||||
CALL_EXPR@[38; 67)
|
||||
PATH_EXPR@[38; 65)
|
||||
PATH@[38; 65)
|
||||
PATH@[38; 56)
|
||||
PATH_SEGMENT@[38; 56)
|
||||
L_ANGLE@[38; 39) "<"
|
||||
PATH_TYPE@[39; 44)
|
||||
PATH@[39; 44)
|
||||
PATH_SEGMENT@[39; 44)
|
||||
NAME_REF@[39; 44)
|
||||
IDENT@[39; 44) "usize"
|
||||
WHITESPACE@[44; 45) " "
|
||||
AS_KW@[45; 47) "as"
|
||||
WHITESPACE@[47; 48) " "
|
||||
PATH_TYPE@[48; 55)
|
||||
PATH@[48; 55)
|
||||
PATH_SEGMENT@[48; 55)
|
||||
NAME_REF@[48; 55)
|
||||
IDENT@[48; 55) "Default"
|
||||
R_ANGLE@[55; 56) ">"
|
||||
COLONCOLON@[56; 58) "::"
|
||||
PATH_SEGMENT@[58; 65)
|
||||
NAME_REF@[58; 65)
|
||||
IDENT@[58; 65) "default"
|
||||
ARG_LIST@[65; 67)
|
||||
L_PAREN@[65; 66) "("
|
||||
R_PAREN@[66; 67) ")"
|
||||
SEMI@[67; 68) ";"
|
||||
WHITESPACE@[68; 69) " "
|
||||
R_CURLY@[69; 70) "}"
|
||||
WHITESPACE@[70; 71) "\n"
|
||||
|
@ -8,21 +8,22 @@ SOURCE_FILE@[0; 21)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 20)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) " "
|
||||
EXPR_STMT@[11; 18)
|
||||
INDEX_EXPR@[11; 17)
|
||||
PATH_EXPR@[11; 13)
|
||||
PATH@[11; 13)
|
||||
PATH_SEGMENT@[11; 13)
|
||||
NAME_REF@[11; 13)
|
||||
IDENT@[11; 13) "xs"
|
||||
L_BRACK@[13; 14) "["
|
||||
RANGE_EXPR@[14; 16)
|
||||
DOTDOT@[14; 16) ".."
|
||||
R_BRACK@[16; 17) "]"
|
||||
SEMI@[17; 18) ";"
|
||||
WHITESPACE@[18; 19) " "
|
||||
R_CURLY@[19; 20) "}"
|
||||
BLOCK_EXPR@[9; 20)
|
||||
BLOCK@[9; 20)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) " "
|
||||
EXPR_STMT@[11; 18)
|
||||
INDEX_EXPR@[11; 17)
|
||||
PATH_EXPR@[11; 13)
|
||||
PATH@[11; 13)
|
||||
PATH_SEGMENT@[11; 13)
|
||||
NAME_REF@[11; 13)
|
||||
IDENT@[11; 13) "xs"
|
||||
L_BRACK@[13; 14) "["
|
||||
RANGE_EXPR@[14; 16)
|
||||
DOTDOT@[14; 16) ".."
|
||||
R_BRACK@[16; 17) "]"
|
||||
SEMI@[17; 18) ";"
|
||||
WHITESPACE@[18; 19) " "
|
||||
R_CURLY@[19; 20) "}"
|
||||
WHITESPACE@[20; 21) "\n"
|
||||
|
@ -11,10 +11,11 @@ SOURCE_FILE@[0; 71)
|
||||
L_PAREN@[13; 14) "("
|
||||
R_PAREN@[14; 15) ")"
|
||||
WHITESPACE@[15; 16) " "
|
||||
BLOCK@[16; 19)
|
||||
L_CURLY@[16; 17) "{"
|
||||
WHITESPACE@[17; 18) " "
|
||||
R_CURLY@[18; 19) "}"
|
||||
BLOCK_EXPR@[16; 19)
|
||||
BLOCK@[16; 19)
|
||||
L_CURLY@[16; 17) "{"
|
||||
WHITESPACE@[17; 18) " "
|
||||
R_CURLY@[18; 19) "}"
|
||||
WHITESPACE@[19; 20) "\n"
|
||||
STRUCT_DEF@[20; 49)
|
||||
STRUCT_KW@[20; 26) "struct"
|
||||
|
@ -8,140 +8,141 @@ SOURCE_FILE@[0; 118)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 117)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LET_STMT@[15; 27)
|
||||
LET_KW@[15; 18) "let"
|
||||
WHITESPACE@[18; 19) " "
|
||||
PLACEHOLDER_PAT@[19; 20)
|
||||
UNDERSCORE@[19; 20) "_"
|
||||
WHITESPACE@[20; 21) " "
|
||||
EQ@[21; 22) "="
|
||||
WHITESPACE@[22; 23) " "
|
||||
CALL_EXPR@[23; 26)
|
||||
PATH_EXPR@[23; 24)
|
||||
PATH@[23; 24)
|
||||
PATH_SEGMENT@[23; 24)
|
||||
NAME_REF@[23; 24)
|
||||
IDENT@[23; 24) "f"
|
||||
ARG_LIST@[24; 26)
|
||||
L_PAREN@[24; 25) "("
|
||||
R_PAREN@[25; 26) ")"
|
||||
SEMI@[26; 27) ";"
|
||||
WHITESPACE@[27; 32) "\n "
|
||||
LET_STMT@[32; 54)
|
||||
LET_KW@[32; 35) "let"
|
||||
WHITESPACE@[35; 36) " "
|
||||
PLACEHOLDER_PAT@[36; 37)
|
||||
UNDERSCORE@[36; 37) "_"
|
||||
WHITESPACE@[37; 38) " "
|
||||
EQ@[38; 39) "="
|
||||
WHITESPACE@[39; 40) " "
|
||||
CALL_EXPR@[40; 53)
|
||||
CALL_EXPR@[40; 46)
|
||||
CALL_EXPR@[40; 43)
|
||||
PATH_EXPR@[40; 41)
|
||||
PATH@[40; 41)
|
||||
PATH_SEGMENT@[40; 41)
|
||||
NAME_REF@[40; 41)
|
||||
IDENT@[40; 41) "f"
|
||||
ARG_LIST@[41; 43)
|
||||
L_PAREN@[41; 42) "("
|
||||
R_PAREN@[42; 43) ")"
|
||||
ARG_LIST@[43; 46)
|
||||
L_PAREN@[43; 44) "("
|
||||
LITERAL@[44; 45)
|
||||
INT_NUMBER@[44; 45) "1"
|
||||
R_PAREN@[45; 46) ")"
|
||||
ARG_LIST@[46; 53)
|
||||
L_PAREN@[46; 47) "("
|
||||
LITERAL@[47; 48)
|
||||
INT_NUMBER@[47; 48) "1"
|
||||
COMMA@[48; 49) ","
|
||||
WHITESPACE@[49; 50) " "
|
||||
LITERAL@[50; 51)
|
||||
INT_NUMBER@[50; 51) "2"
|
||||
COMMA@[51; 52) ","
|
||||
R_PAREN@[52; 53) ")"
|
||||
SEMI@[53; 54) ";"
|
||||
WHITESPACE@[54; 59) "\n "
|
||||
LET_STMT@[59; 84)
|
||||
LET_KW@[59; 62) "let"
|
||||
WHITESPACE@[62; 63) " "
|
||||
PLACEHOLDER_PAT@[63; 64)
|
||||
UNDERSCORE@[63; 64) "_"
|
||||
WHITESPACE@[64; 65) " "
|
||||
EQ@[65; 66) "="
|
||||
WHITESPACE@[66; 67) " "
|
||||
CALL_EXPR@[67; 83)
|
||||
PATH_EXPR@[67; 68)
|
||||
PATH@[67; 68)
|
||||
PATH_SEGMENT@[67; 68)
|
||||
NAME_REF@[67; 68)
|
||||
IDENT@[67; 68) "f"
|
||||
ARG_LIST@[68; 83)
|
||||
L_PAREN@[68; 69) "("
|
||||
CALL_EXPR@[69; 82)
|
||||
PATH_EXPR@[69; 80)
|
||||
PATH@[69; 80)
|
||||
PATH@[69; 74)
|
||||
PATH_SEGMENT@[69; 74)
|
||||
L_ANGLE@[69; 70) "<"
|
||||
PATH_TYPE@[70; 73)
|
||||
PATH@[70; 73)
|
||||
PATH_SEGMENT@[70; 73)
|
||||
NAME_REF@[70; 73)
|
||||
IDENT@[70; 73) "Foo"
|
||||
R_ANGLE@[73; 74) ">"
|
||||
COLONCOLON@[74; 76) "::"
|
||||
PATH_SEGMENT@[76; 80)
|
||||
NAME_REF@[76; 80)
|
||||
IDENT@[76; 80) "func"
|
||||
ARG_LIST@[80; 82)
|
||||
L_PAREN@[80; 81) "("
|
||||
R_PAREN@[81; 82) ")"
|
||||
R_PAREN@[82; 83) ")"
|
||||
SEMI@[83; 84) ";"
|
||||
WHITESPACE@[84; 89) "\n "
|
||||
EXPR_STMT@[89; 115)
|
||||
CALL_EXPR@[89; 114)
|
||||
PATH_EXPR@[89; 90)
|
||||
PATH@[89; 90)
|
||||
PATH_SEGMENT@[89; 90)
|
||||
NAME_REF@[89; 90)
|
||||
IDENT@[89; 90) "f"
|
||||
ARG_LIST@[90; 114)
|
||||
L_PAREN@[90; 91) "("
|
||||
CALL_EXPR@[91; 113)
|
||||
PATH_EXPR@[91; 111)
|
||||
PATH@[91; 111)
|
||||
PATH@[91; 105)
|
||||
PATH_SEGMENT@[91; 105)
|
||||
L_ANGLE@[91; 92) "<"
|
||||
PATH_TYPE@[92; 95)
|
||||
PATH@[92; 95)
|
||||
PATH_SEGMENT@[92; 95)
|
||||
NAME_REF@[92; 95)
|
||||
IDENT@[92; 95) "Foo"
|
||||
WHITESPACE@[95; 96) " "
|
||||
AS_KW@[96; 98) "as"
|
||||
WHITESPACE@[98; 99) " "
|
||||
PATH_TYPE@[99; 104)
|
||||
PATH@[99; 104)
|
||||
PATH_SEGMENT@[99; 104)
|
||||
NAME_REF@[99; 104)
|
||||
IDENT@[99; 104) "Trait"
|
||||
R_ANGLE@[104; 105) ">"
|
||||
COLONCOLON@[105; 107) "::"
|
||||
PATH_SEGMENT@[107; 111)
|
||||
NAME_REF@[107; 111)
|
||||
IDENT@[107; 111) "func"
|
||||
ARG_LIST@[111; 113)
|
||||
L_PAREN@[111; 112) "("
|
||||
R_PAREN@[112; 113) ")"
|
||||
R_PAREN@[113; 114) ")"
|
||||
SEMI@[114; 115) ";"
|
||||
WHITESPACE@[115; 116) "\n"
|
||||
R_CURLY@[116; 117) "}"
|
||||
BLOCK_EXPR@[9; 117)
|
||||
BLOCK@[9; 117)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LET_STMT@[15; 27)
|
||||
LET_KW@[15; 18) "let"
|
||||
WHITESPACE@[18; 19) " "
|
||||
PLACEHOLDER_PAT@[19; 20)
|
||||
UNDERSCORE@[19; 20) "_"
|
||||
WHITESPACE@[20; 21) " "
|
||||
EQ@[21; 22) "="
|
||||
WHITESPACE@[22; 23) " "
|
||||
CALL_EXPR@[23; 26)
|
||||
PATH_EXPR@[23; 24)
|
||||
PATH@[23; 24)
|
||||
PATH_SEGMENT@[23; 24)
|
||||
NAME_REF@[23; 24)
|
||||
IDENT@[23; 24) "f"
|
||||
ARG_LIST@[24; 26)
|
||||
L_PAREN@[24; 25) "("
|
||||
R_PAREN@[25; 26) ")"
|
||||
SEMI@[26; 27) ";"
|
||||
WHITESPACE@[27; 32) "\n "
|
||||
LET_STMT@[32; 54)
|
||||
LET_KW@[32; 35) "let"
|
||||
WHITESPACE@[35; 36) " "
|
||||
PLACEHOLDER_PAT@[36; 37)
|
||||
UNDERSCORE@[36; 37) "_"
|
||||
WHITESPACE@[37; 38) " "
|
||||
EQ@[38; 39) "="
|
||||
WHITESPACE@[39; 40) " "
|
||||
CALL_EXPR@[40; 53)
|
||||
CALL_EXPR@[40; 46)
|
||||
CALL_EXPR@[40; 43)
|
||||
PATH_EXPR@[40; 41)
|
||||
PATH@[40; 41)
|
||||
PATH_SEGMENT@[40; 41)
|
||||
NAME_REF@[40; 41)
|
||||
IDENT@[40; 41) "f"
|
||||
ARG_LIST@[41; 43)
|
||||
L_PAREN@[41; 42) "("
|
||||
R_PAREN@[42; 43) ")"
|
||||
ARG_LIST@[43; 46)
|
||||
L_PAREN@[43; 44) "("
|
||||
LITERAL@[44; 45)
|
||||
INT_NUMBER@[44; 45) "1"
|
||||
R_PAREN@[45; 46) ")"
|
||||
ARG_LIST@[46; 53)
|
||||
L_PAREN@[46; 47) "("
|
||||
LITERAL@[47; 48)
|
||||
INT_NUMBER@[47; 48) "1"
|
||||
COMMA@[48; 49) ","
|
||||
WHITESPACE@[49; 50) " "
|
||||
LITERAL@[50; 51)
|
||||
INT_NUMBER@[50; 51) "2"
|
||||
COMMA@[51; 52) ","
|
||||
R_PAREN@[52; 53) ")"
|
||||
SEMI@[53; 54) ";"
|
||||
WHITESPACE@[54; 59) "\n "
|
||||
LET_STMT@[59; 84)
|
||||
LET_KW@[59; 62) "let"
|
||||
WHITESPACE@[62; 63) " "
|
||||
PLACEHOLDER_PAT@[63; 64)
|
||||
UNDERSCORE@[63; 64) "_"
|
||||
WHITESPACE@[64; 65) " "
|
||||
EQ@[65; 66) "="
|
||||
WHITESPACE@[66; 67) " "
|
||||
CALL_EXPR@[67; 83)
|
||||
PATH_EXPR@[67; 68)
|
||||
PATH@[67; 68)
|
||||
PATH_SEGMENT@[67; 68)
|
||||
NAME_REF@[67; 68)
|
||||
IDENT@[67; 68) "f"
|
||||
ARG_LIST@[68; 83)
|
||||
L_PAREN@[68; 69) "("
|
||||
CALL_EXPR@[69; 82)
|
||||
PATH_EXPR@[69; 80)
|
||||
PATH@[69; 80)
|
||||
PATH@[69; 74)
|
||||
PATH_SEGMENT@[69; 74)
|
||||
L_ANGLE@[69; 70) "<"
|
||||
PATH_TYPE@[70; 73)
|
||||
PATH@[70; 73)
|
||||
PATH_SEGMENT@[70; 73)
|
||||
NAME_REF@[70; 73)
|
||||
IDENT@[70; 73) "Foo"
|
||||
R_ANGLE@[73; 74) ">"
|
||||
COLONCOLON@[74; 76) "::"
|
||||
PATH_SEGMENT@[76; 80)
|
||||
NAME_REF@[76; 80)
|
||||
IDENT@[76; 80) "func"
|
||||
ARG_LIST@[80; 82)
|
||||
L_PAREN@[80; 81) "("
|
||||
R_PAREN@[81; 82) ")"
|
||||
R_PAREN@[82; 83) ")"
|
||||
SEMI@[83; 84) ";"
|
||||
WHITESPACE@[84; 89) "\n "
|
||||
EXPR_STMT@[89; 115)
|
||||
CALL_EXPR@[89; 114)
|
||||
PATH_EXPR@[89; 90)
|
||||
PATH@[89; 90)
|
||||
PATH_SEGMENT@[89; 90)
|
||||
NAME_REF@[89; 90)
|
||||
IDENT@[89; 90) "f"
|
||||
ARG_LIST@[90; 114)
|
||||
L_PAREN@[90; 91) "("
|
||||
CALL_EXPR@[91; 113)
|
||||
PATH_EXPR@[91; 111)
|
||||
PATH@[91; 111)
|
||||
PATH@[91; 105)
|
||||
PATH_SEGMENT@[91; 105)
|
||||
L_ANGLE@[91; 92) "<"
|
||||
PATH_TYPE@[92; 95)
|
||||
PATH@[92; 95)
|
||||
PATH_SEGMENT@[92; 95)
|
||||
NAME_REF@[92; 95)
|
||||
IDENT@[92; 95) "Foo"
|
||||
WHITESPACE@[95; 96) " "
|
||||
AS_KW@[96; 98) "as"
|
||||
WHITESPACE@[98; 99) " "
|
||||
PATH_TYPE@[99; 104)
|
||||
PATH@[99; 104)
|
||||
PATH_SEGMENT@[99; 104)
|
||||
NAME_REF@[99; 104)
|
||||
IDENT@[99; 104) "Trait"
|
||||
R_ANGLE@[104; 105) ">"
|
||||
COLONCOLON@[105; 107) "::"
|
||||
PATH_SEGMENT@[107; 111)
|
||||
NAME_REF@[107; 111)
|
||||
IDENT@[107; 111) "func"
|
||||
ARG_LIST@[111; 113)
|
||||
L_PAREN@[111; 112) "("
|
||||
R_PAREN@[112; 113) ")"
|
||||
R_PAREN@[113; 114) ")"
|
||||
SEMI@[114; 115) ";"
|
||||
WHITESPACE@[115; 116) "\n"
|
||||
R_CURLY@[116; 117) "}"
|
||||
WHITESPACE@[117; 118) "\n"
|
||||
|
@ -8,21 +8,23 @@ SOURCE_FILE@[0; 21)
|
||||
L_PAREN@[4; 5) "("
|
||||
R_PAREN@[5; 6) ")"
|
||||
WHITESPACE@[6; 7) " "
|
||||
BLOCK@[7; 20)
|
||||
L_CURLY@[7; 8) "{"
|
||||
WHITESPACE@[8; 9) " "
|
||||
FN_DEF@[9; 18)
|
||||
FN_KW@[9; 11) "fn"
|
||||
WHITESPACE@[11; 12) " "
|
||||
NAME@[12; 13)
|
||||
IDENT@[12; 13) "b"
|
||||
PARAM_LIST@[13; 15)
|
||||
L_PAREN@[13; 14) "("
|
||||
R_PAREN@[14; 15) ")"
|
||||
WHITESPACE@[15; 16) " "
|
||||
BLOCK@[16; 18)
|
||||
L_CURLY@[16; 17) "{"
|
||||
R_CURLY@[17; 18) "}"
|
||||
WHITESPACE@[18; 19) " "
|
||||
R_CURLY@[19; 20) "}"
|
||||
BLOCK_EXPR@[7; 20)
|
||||
BLOCK@[7; 20)
|
||||
L_CURLY@[7; 8) "{"
|
||||
WHITESPACE@[8; 9) " "
|
||||
FN_DEF@[9; 18)
|
||||
FN_KW@[9; 11) "fn"
|
||||
WHITESPACE@[11; 12) " "
|
||||
NAME@[12; 13)
|
||||
IDENT@[12; 13) "b"
|
||||
PARAM_LIST@[13; 15)
|
||||
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) " "
|
||||
R_CURLY@[19; 20) "}"
|
||||
WHITESPACE@[20; 21) "\n"
|
||||
|
@ -40,7 +40,8 @@ SOURCE_FILE@[0; 35)
|
||||
PARAM_LIST@[30; 32)
|
||||
L_PAREN@[30; 31) "("
|
||||
R_PAREN@[31; 32) ")"
|
||||
BLOCK@[32; 34)
|
||||
L_CURLY@[32; 33) "{"
|
||||
R_CURLY@[33; 34) "}"
|
||||
BLOCK_EXPR@[32; 34)
|
||||
BLOCK@[32; 34)
|
||||
L_CURLY@[32; 33) "{"
|
||||
R_CURLY@[33; 34) "}"
|
||||
WHITESPACE@[34; 35) "\n"
|
||||
|
@ -34,9 +34,10 @@ SOURCE_FILE@[0; 58)
|
||||
LIFETIME@[20; 22) "\'f"
|
||||
R_ANGLE@[22; 23) ">"
|
||||
WHITESPACE@[23; 24) " "
|
||||
BLOCK@[24; 26)
|
||||
L_CURLY@[24; 25) "{"
|
||||
R_CURLY@[25; 26) "}"
|
||||
BLOCK_EXPR@[24; 26)
|
||||
BLOCK@[24; 26)
|
||||
L_CURLY@[24; 25) "{"
|
||||
R_CURLY@[25; 26) "}"
|
||||
WHITESPACE@[26; 27) "\n"
|
||||
FN_DEF@[27; 57)
|
||||
FN_KW@[27; 29) "fn"
|
||||
@ -75,7 +76,8 @@ SOURCE_FILE@[0; 58)
|
||||
LIFETIME@[51; 53) "\'f"
|
||||
R_ANGLE@[53; 54) ">"
|
||||
WHITESPACE@[54; 55) " "
|
||||
BLOCK@[55; 57)
|
||||
L_CURLY@[55; 56) "{"
|
||||
R_CURLY@[56; 57) "}"
|
||||
BLOCK_EXPR@[55; 57)
|
||||
BLOCK@[55; 57)
|
||||
L_CURLY@[55; 56) "{"
|
||||
R_CURLY@[56; 57) "}"
|
||||
WHITESPACE@[57; 58) "\n"
|
||||
|
@ -8,88 +8,89 @@ SOURCE_FILE@[0; 91)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 90)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LET_STMT@[15; 25)
|
||||
LET_KW@[15; 18) "let"
|
||||
WHITESPACE@[18; 19) " "
|
||||
PLACEHOLDER_PAT@[19; 20)
|
||||
UNDERSCORE@[19; 20) "_"
|
||||
WHITESPACE@[20; 21) " "
|
||||
EQ@[21; 22) "="
|
||||
WHITESPACE@[22; 23) " "
|
||||
PATH_EXPR@[23; 24)
|
||||
PATH@[23; 24)
|
||||
PATH_SEGMENT@[23; 24)
|
||||
NAME_REF@[23; 24)
|
||||
IDENT@[23; 24) "a"
|
||||
SEMI@[24; 25) ";"
|
||||
WHITESPACE@[25; 30) "\n "
|
||||
LET_STMT@[30; 43)
|
||||
LET_KW@[30; 33) "let"
|
||||
WHITESPACE@[33; 34) " "
|
||||
PLACEHOLDER_PAT@[34; 35)
|
||||
UNDERSCORE@[34; 35) "_"
|
||||
WHITESPACE@[35; 36) " "
|
||||
EQ@[36; 37) "="
|
||||
WHITESPACE@[37; 38) " "
|
||||
PATH_EXPR@[38; 42)
|
||||
PATH@[38; 42)
|
||||
PATH@[38; 39)
|
||||
PATH_SEGMENT@[38; 39)
|
||||
NAME_REF@[38; 39)
|
||||
IDENT@[38; 39) "a"
|
||||
COLONCOLON@[39; 41) "::"
|
||||
PATH_SEGMENT@[41; 42)
|
||||
NAME_REF@[41; 42)
|
||||
IDENT@[41; 42) "b"
|
||||
SEMI@[42; 43) ";"
|
||||
WHITESPACE@[43; 48) "\n "
|
||||
LET_STMT@[48; 65)
|
||||
LET_KW@[48; 51) "let"
|
||||
WHITESPACE@[51; 52) " "
|
||||
PLACEHOLDER_PAT@[52; 53)
|
||||
UNDERSCORE@[52; 53) "_"
|
||||
WHITESPACE@[53; 54) " "
|
||||
EQ@[54; 55) "="
|
||||
WHITESPACE@[55; 56) " "
|
||||
PATH_EXPR@[56; 64)
|
||||
PATH@[56; 64)
|
||||
PATH_SEGMENT@[56; 64)
|
||||
COLONCOLON@[56; 58) "::"
|
||||
NAME_REF@[58; 59)
|
||||
IDENT@[58; 59) "a"
|
||||
TYPE_ARG_LIST@[59; 64)
|
||||
COLONCOLON@[59; 61) "::"
|
||||
L_ANGLE@[61; 62) "<"
|
||||
TYPE_ARG@[62; 63)
|
||||
PATH_TYPE@[62; 63)
|
||||
PATH@[62; 63)
|
||||
PATH_SEGMENT@[62; 63)
|
||||
NAME_REF@[62; 63)
|
||||
IDENT@[62; 63) "b"
|
||||
R_ANGLE@[63; 64) ">"
|
||||
SEMI@[64; 65) ";"
|
||||
WHITESPACE@[65; 70) "\n "
|
||||
LET_STMT@[70; 88)
|
||||
LET_KW@[70; 73) "let"
|
||||
WHITESPACE@[73; 74) " "
|
||||
PLACEHOLDER_PAT@[74; 75)
|
||||
UNDERSCORE@[74; 75) "_"
|
||||
WHITESPACE@[75; 76) " "
|
||||
EQ@[76; 77) "="
|
||||
WHITESPACE@[77; 78) " "
|
||||
MACRO_CALL@[78; 87)
|
||||
PATH@[78; 84)
|
||||
PATH_SEGMENT@[78; 84)
|
||||
NAME_REF@[78; 84)
|
||||
IDENT@[78; 84) "format"
|
||||
EXCL@[84; 85) "!"
|
||||
TOKEN_TREE@[85; 87)
|
||||
L_PAREN@[85; 86) "("
|
||||
R_PAREN@[86; 87) ")"
|
||||
SEMI@[87; 88) ";"
|
||||
WHITESPACE@[88; 89) "\n"
|
||||
R_CURLY@[89; 90) "}"
|
||||
BLOCK_EXPR@[9; 90)
|
||||
BLOCK@[9; 90)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LET_STMT@[15; 25)
|
||||
LET_KW@[15; 18) "let"
|
||||
WHITESPACE@[18; 19) " "
|
||||
PLACEHOLDER_PAT@[19; 20)
|
||||
UNDERSCORE@[19; 20) "_"
|
||||
WHITESPACE@[20; 21) " "
|
||||
EQ@[21; 22) "="
|
||||
WHITESPACE@[22; 23) " "
|
||||
PATH_EXPR@[23; 24)
|
||||
PATH@[23; 24)
|
||||
PATH_SEGMENT@[23; 24)
|
||||
NAME_REF@[23; 24)
|
||||
IDENT@[23; 24) "a"
|
||||
SEMI@[24; 25) ";"
|
||||
WHITESPACE@[25; 30) "\n "
|
||||
LET_STMT@[30; 43)
|
||||
LET_KW@[30; 33) "let"
|
||||
WHITESPACE@[33; 34) " "
|
||||
PLACEHOLDER_PAT@[34; 35)
|
||||
UNDERSCORE@[34; 35) "_"
|
||||
WHITESPACE@[35; 36) " "
|
||||
EQ@[36; 37) "="
|
||||
WHITESPACE@[37; 38) " "
|
||||
PATH_EXPR@[38; 42)
|
||||
PATH@[38; 42)
|
||||
PATH@[38; 39)
|
||||
PATH_SEGMENT@[38; 39)
|
||||
NAME_REF@[38; 39)
|
||||
IDENT@[38; 39) "a"
|
||||
COLONCOLON@[39; 41) "::"
|
||||
PATH_SEGMENT@[41; 42)
|
||||
NAME_REF@[41; 42)
|
||||
IDENT@[41; 42) "b"
|
||||
SEMI@[42; 43) ";"
|
||||
WHITESPACE@[43; 48) "\n "
|
||||
LET_STMT@[48; 65)
|
||||
LET_KW@[48; 51) "let"
|
||||
WHITESPACE@[51; 52) " "
|
||||
PLACEHOLDER_PAT@[52; 53)
|
||||
UNDERSCORE@[52; 53) "_"
|
||||
WHITESPACE@[53; 54) " "
|
||||
EQ@[54; 55) "="
|
||||
WHITESPACE@[55; 56) " "
|
||||
PATH_EXPR@[56; 64)
|
||||
PATH@[56; 64)
|
||||
PATH_SEGMENT@[56; 64)
|
||||
COLONCOLON@[56; 58) "::"
|
||||
NAME_REF@[58; 59)
|
||||
IDENT@[58; 59) "a"
|
||||
TYPE_ARG_LIST@[59; 64)
|
||||
COLONCOLON@[59; 61) "::"
|
||||
L_ANGLE@[61; 62) "<"
|
||||
TYPE_ARG@[62; 63)
|
||||
PATH_TYPE@[62; 63)
|
||||
PATH@[62; 63)
|
||||
PATH_SEGMENT@[62; 63)
|
||||
NAME_REF@[62; 63)
|
||||
IDENT@[62; 63) "b"
|
||||
R_ANGLE@[63; 64) ">"
|
||||
SEMI@[64; 65) ";"
|
||||
WHITESPACE@[65; 70) "\n "
|
||||
LET_STMT@[70; 88)
|
||||
LET_KW@[70; 73) "let"
|
||||
WHITESPACE@[73; 74) " "
|
||||
PLACEHOLDER_PAT@[74; 75)
|
||||
UNDERSCORE@[74; 75) "_"
|
||||
WHITESPACE@[75; 76) " "
|
||||
EQ@[76; 77) "="
|
||||
WHITESPACE@[77; 78) " "
|
||||
MACRO_CALL@[78; 87)
|
||||
PATH@[78; 84)
|
||||
PATH_SEGMENT@[78; 84)
|
||||
NAME_REF@[78; 84)
|
||||
IDENT@[78; 84) "format"
|
||||
EXCL@[84; 85) "!"
|
||||
TOKEN_TREE@[85; 87)
|
||||
L_PAREN@[85; 86) "("
|
||||
R_PAREN@[86; 87) ")"
|
||||
SEMI@[87; 88) ";"
|
||||
WHITESPACE@[88; 89) "\n"
|
||||
R_CURLY@[89; 90) "}"
|
||||
WHITESPACE@[90; 91) "\n"
|
||||
|
@ -8,69 +8,70 @@ SOURCE_FILE@[0; 113)
|
||||
L_PAREN@[7; 8) "("
|
||||
R_PAREN@[8; 9) ")"
|
||||
WHITESPACE@[9; 10) " "
|
||||
BLOCK@[10; 112)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
MATCH_EXPR@[16; 110)
|
||||
MATCH_KW@[16; 21) "match"
|
||||
WHITESPACE@[21; 22) " "
|
||||
TUPLE_EXPR@[22; 24)
|
||||
L_PAREN@[22; 23) "("
|
||||
R_PAREN@[23; 24) ")"
|
||||
WHITESPACE@[24; 25) " "
|
||||
MATCH_ARM_LIST@[25; 110)
|
||||
L_CURLY@[25; 26) "{"
|
||||
WHITESPACE@[26; 35) "\n "
|
||||
MATCH_ARM@[35; 43)
|
||||
LITERAL_PAT@[35; 37)
|
||||
MINUS@[35; 36) "-"
|
||||
LITERAL@[36; 37)
|
||||
INT_NUMBER@[36; 37) "1"
|
||||
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) "\n "
|
||||
MATCH_ARM@[53; 61)
|
||||
LITERAL_PAT@[53; 55)
|
||||
LITERAL@[53; 55)
|
||||
INT_NUMBER@[53; 55) "92"
|
||||
WHITESPACE@[55; 56) " "
|
||||
FAT_ARROW@[56; 58) "=>"
|
||||
WHITESPACE@[58; 59) " "
|
||||
TUPLE_EXPR@[59; 61)
|
||||
L_PAREN@[59; 60) "("
|
||||
R_PAREN@[60; 61) ")"
|
||||
COMMA@[61; 62) ","
|
||||
WHITESPACE@[62; 71) "\n "
|
||||
MATCH_ARM@[71; 80)
|
||||
LITERAL_PAT@[71; 74)
|
||||
LITERAL@[71; 74)
|
||||
CHAR@[71; 74) "\'c\'"
|
||||
WHITESPACE@[74; 75) " "
|
||||
FAT_ARROW@[75; 77) "=>"
|
||||
WHITESPACE@[77; 78) " "
|
||||
TUPLE_EXPR@[78; 80)
|
||||
L_PAREN@[78; 79) "("
|
||||
R_PAREN@[79; 80) ")"
|
||||
COMMA@[80; 81) ","
|
||||
WHITESPACE@[81; 90) "\n "
|
||||
MATCH_ARM@[90; 103)
|
||||
LITERAL_PAT@[90; 97)
|
||||
LITERAL@[90; 97)
|
||||
STRING@[90; 97) "\"hello\""
|
||||
WHITESPACE@[97; 98) " "
|
||||
FAT_ARROW@[98; 100) "=>"
|
||||
WHITESPACE@[100; 101) " "
|
||||
TUPLE_EXPR@[101; 103)
|
||||
L_PAREN@[101; 102) "("
|
||||
R_PAREN@[102; 103) ")"
|
||||
COMMA@[103; 104) ","
|
||||
WHITESPACE@[104; 109) "\n "
|
||||
R_CURLY@[109; 110) "}"
|
||||
WHITESPACE@[110; 111) "\n"
|
||||
R_CURLY@[111; 112) "}"
|
||||
BLOCK_EXPR@[10; 112)
|
||||
BLOCK@[10; 112)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
MATCH_EXPR@[16; 110)
|
||||
MATCH_KW@[16; 21) "match"
|
||||
WHITESPACE@[21; 22) " "
|
||||
TUPLE_EXPR@[22; 24)
|
||||
L_PAREN@[22; 23) "("
|
||||
R_PAREN@[23; 24) ")"
|
||||
WHITESPACE@[24; 25) " "
|
||||
MATCH_ARM_LIST@[25; 110)
|
||||
L_CURLY@[25; 26) "{"
|
||||
WHITESPACE@[26; 35) "\n "
|
||||
MATCH_ARM@[35; 43)
|
||||
LITERAL_PAT@[35; 37)
|
||||
MINUS@[35; 36) "-"
|
||||
LITERAL@[36; 37)
|
||||
INT_NUMBER@[36; 37) "1"
|
||||
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) "\n "
|
||||
MATCH_ARM@[53; 61)
|
||||
LITERAL_PAT@[53; 55)
|
||||
LITERAL@[53; 55)
|
||||
INT_NUMBER@[53; 55) "92"
|
||||
WHITESPACE@[55; 56) " "
|
||||
FAT_ARROW@[56; 58) "=>"
|
||||
WHITESPACE@[58; 59) " "
|
||||
TUPLE_EXPR@[59; 61)
|
||||
L_PAREN@[59; 60) "("
|
||||
R_PAREN@[60; 61) ")"
|
||||
COMMA@[61; 62) ","
|
||||
WHITESPACE@[62; 71) "\n "
|
||||
MATCH_ARM@[71; 80)
|
||||
LITERAL_PAT@[71; 74)
|
||||
LITERAL@[71; 74)
|
||||
CHAR@[71; 74) "\'c\'"
|
||||
WHITESPACE@[74; 75) " "
|
||||
FAT_ARROW@[75; 77) "=>"
|
||||
WHITESPACE@[77; 78) " "
|
||||
TUPLE_EXPR@[78; 80)
|
||||
L_PAREN@[78; 79) "("
|
||||
R_PAREN@[79; 80) ")"
|
||||
COMMA@[80; 81) ","
|
||||
WHITESPACE@[81; 90) "\n "
|
||||
MATCH_ARM@[90; 103)
|
||||
LITERAL_PAT@[90; 97)
|
||||
LITERAL@[90; 97)
|
||||
STRING@[90; 97) "\"hello\""
|
||||
WHITESPACE@[97; 98) " "
|
||||
FAT_ARROW@[98; 100) "=>"
|
||||
WHITESPACE@[100; 101) " "
|
||||
TUPLE_EXPR@[101; 103)
|
||||
L_PAREN@[101; 102) "("
|
||||
R_PAREN@[102; 103) ")"
|
||||
COMMA@[103; 104) ","
|
||||
WHITESPACE@[104; 109) "\n "
|
||||
R_CURLY@[109; 110) "}"
|
||||
WHITESPACE@[110; 111) "\n"
|
||||
R_CURLY@[111; 112) "}"
|
||||
WHITESPACE@[112; 113) "\n"
|
||||
|
@ -104,7 +104,8 @@ SOURCE_FILE@[0; 116)
|
||||
TYPE_BOUND@[110; 112)
|
||||
LIFETIME@[110; 112) "\'a"
|
||||
WHITESPACE@[112; 113) "\n"
|
||||
BLOCK@[113; 115)
|
||||
L_CURLY@[113; 114) "{"
|
||||
R_CURLY@[114; 115) "}"
|
||||
BLOCK_EXPR@[113; 115)
|
||||
BLOCK@[113; 115)
|
||||
L_CURLY@[113; 114) "{"
|
||||
R_CURLY@[114; 115) "}"
|
||||
WHITESPACE@[115; 116) "\n"
|
||||
|
@ -10,7 +10,8 @@ SOURCE_FILE@[0; 18)
|
||||
L_PAREN@[12; 13) "("
|
||||
R_PAREN@[13; 14) ")"
|
||||
WHITESPACE@[14; 15) " "
|
||||
BLOCK@[15; 17)
|
||||
L_CURLY@[15; 16) "{"
|
||||
R_CURLY@[16; 17) "}"
|
||||
BLOCK_EXPR@[15; 17)
|
||||
BLOCK@[15; 17)
|
||||
L_CURLY@[15; 16) "{"
|
||||
R_CURLY@[16; 17) "}"
|
||||
WHITESPACE@[17; 18) "\n"
|
||||
|
@ -8,75 +8,76 @@ SOURCE_FILE@[0; 112)
|
||||
L_PAREN@[7; 8) "("
|
||||
R_PAREN@[8; 9) ")"
|
||||
WHITESPACE@[9; 10) " "
|
||||
BLOCK@[10; 111)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
MATCH_EXPR@[16; 109)
|
||||
MATCH_KW@[16; 21) "match"
|
||||
WHITESPACE@[21; 22) " "
|
||||
LITERAL@[22; 24)
|
||||
INT_NUMBER@[22; 24) "92"
|
||||
WHITESPACE@[24; 25) " "
|
||||
MATCH_ARM_LIST@[25; 109)
|
||||
L_CURLY@[25; 26) "{"
|
||||
WHITESPACE@[26; 35) "\n "
|
||||
MATCH_ARM@[35; 50)
|
||||
RANGE_PAT@[35; 44)
|
||||
LITERAL_PAT@[35; 36)
|
||||
LITERAL@[35; 36)
|
||||
INT_NUMBER@[35; 36) "0"
|
||||
WHITESPACE@[36; 37) " "
|
||||
DOTDOTDOT@[37; 40) "..."
|
||||
WHITESPACE@[40; 41) " "
|
||||
LITERAL_PAT@[41; 44)
|
||||
LITERAL@[41; 44)
|
||||
INT_NUMBER@[41; 44) "100"
|
||||
WHITESPACE@[44; 45) " "
|
||||
FAT_ARROW@[45; 47) "=>"
|
||||
WHITESPACE@[47; 48) " "
|
||||
TUPLE_EXPR@[48; 50)
|
||||
L_PAREN@[48; 49) "("
|
||||
R_PAREN@[49; 50) ")"
|
||||
COMMA@[50; 51) ","
|
||||
WHITESPACE@[51; 60) "\n "
|
||||
MATCH_ARM@[60; 77)
|
||||
RANGE_PAT@[60; 71)
|
||||
LITERAL_PAT@[60; 63)
|
||||
LITERAL@[60; 63)
|
||||
INT_NUMBER@[60; 63) "101"
|
||||
WHITESPACE@[63; 64) " "
|
||||
DOTDOTEQ@[64; 67) "..="
|
||||
WHITESPACE@[67; 68) " "
|
||||
LITERAL_PAT@[68; 71)
|
||||
LITERAL@[68; 71)
|
||||
INT_NUMBER@[68; 71) "200"
|
||||
WHITESPACE@[71; 72) " "
|
||||
FAT_ARROW@[72; 74) "=>"
|
||||
WHITESPACE@[74; 75) " "
|
||||
TUPLE_EXPR@[75; 77)
|
||||
L_PAREN@[75; 76) "("
|
||||
R_PAREN@[76; 77) ")"
|
||||
COMMA@[77; 78) ","
|
||||
WHITESPACE@[78; 87) "\n "
|
||||
MATCH_ARM@[87; 102)
|
||||
RANGE_PAT@[87; 97)
|
||||
LITERAL_PAT@[87; 90)
|
||||
LITERAL@[87; 90)
|
||||
INT_NUMBER@[87; 90) "200"
|
||||
WHITESPACE@[90; 91) " "
|
||||
DOTDOT@[91; 93) ".."
|
||||
WHITESPACE@[93; 94) " "
|
||||
LITERAL_PAT@[94; 97)
|
||||
LITERAL@[94; 97)
|
||||
INT_NUMBER@[94; 97) "301"
|
||||
FAT_ARROW@[97; 99) "=>"
|
||||
WHITESPACE@[99; 100) " "
|
||||
TUPLE_EXPR@[100; 102)
|
||||
L_PAREN@[100; 101) "("
|
||||
R_PAREN@[101; 102) ")"
|
||||
COMMA@[102; 103) ","
|
||||
WHITESPACE@[103; 108) "\n "
|
||||
R_CURLY@[108; 109) "}"
|
||||
WHITESPACE@[109; 110) "\n"
|
||||
R_CURLY@[110; 111) "}"
|
||||
BLOCK_EXPR@[10; 111)
|
||||
BLOCK@[10; 111)
|
||||
L_CURLY@[10; 11) "{"
|
||||
WHITESPACE@[11; 16) "\n "
|
||||
MATCH_EXPR@[16; 109)
|
||||
MATCH_KW@[16; 21) "match"
|
||||
WHITESPACE@[21; 22) " "
|
||||
LITERAL@[22; 24)
|
||||
INT_NUMBER@[22; 24) "92"
|
||||
WHITESPACE@[24; 25) " "
|
||||
MATCH_ARM_LIST@[25; 109)
|
||||
L_CURLY@[25; 26) "{"
|
||||
WHITESPACE@[26; 35) "\n "
|
||||
MATCH_ARM@[35; 50)
|
||||
RANGE_PAT@[35; 44)
|
||||
LITERAL_PAT@[35; 36)
|
||||
LITERAL@[35; 36)
|
||||
INT_NUMBER@[35; 36) "0"
|
||||
WHITESPACE@[36; 37) " "
|
||||
DOTDOTDOT@[37; 40) "..."
|
||||
WHITESPACE@[40; 41) " "
|
||||
LITERAL_PAT@[41; 44)
|
||||
LITERAL@[41; 44)
|
||||
INT_NUMBER@[41; 44) "100"
|
||||
WHITESPACE@[44; 45) " "
|
||||
FAT_ARROW@[45; 47) "=>"
|
||||
WHITESPACE@[47; 48) " "
|
||||
TUPLE_EXPR@[48; 50)
|
||||
L_PAREN@[48; 49) "("
|
||||
R_PAREN@[49; 50) ")"
|
||||
COMMA@[50; 51) ","
|
||||
WHITESPACE@[51; 60) "\n "
|
||||
MATCH_ARM@[60; 77)
|
||||
RANGE_PAT@[60; 71)
|
||||
LITERAL_PAT@[60; 63)
|
||||
LITERAL@[60; 63)
|
||||
INT_NUMBER@[60; 63) "101"
|
||||
WHITESPACE@[63; 64) " "
|
||||
DOTDOTEQ@[64; 67) "..="
|
||||
WHITESPACE@[67; 68) " "
|
||||
LITERAL_PAT@[68; 71)
|
||||
LITERAL@[68; 71)
|
||||
INT_NUMBER@[68; 71) "200"
|
||||
WHITESPACE@[71; 72) " "
|
||||
FAT_ARROW@[72; 74) "=>"
|
||||
WHITESPACE@[74; 75) " "
|
||||
TUPLE_EXPR@[75; 77)
|
||||
L_PAREN@[75; 76) "("
|
||||
R_PAREN@[76; 77) ")"
|
||||
COMMA@[77; 78) ","
|
||||
WHITESPACE@[78; 87) "\n "
|
||||
MATCH_ARM@[87; 102)
|
||||
RANGE_PAT@[87; 97)
|
||||
LITERAL_PAT@[87; 90)
|
||||
LITERAL@[87; 90)
|
||||
INT_NUMBER@[87; 90) "200"
|
||||
WHITESPACE@[90; 91) " "
|
||||
DOTDOT@[91; 93) ".."
|
||||
WHITESPACE@[93; 94) " "
|
||||
LITERAL_PAT@[94; 97)
|
||||
LITERAL@[94; 97)
|
||||
INT_NUMBER@[94; 97) "301"
|
||||
FAT_ARROW@[97; 99) "=>"
|
||||
WHITESPACE@[99; 100) " "
|
||||
TUPLE_EXPR@[100; 102)
|
||||
L_PAREN@[100; 101) "("
|
||||
R_PAREN@[101; 102) ")"
|
||||
COMMA@[102; 103) ","
|
||||
WHITESPACE@[103; 108) "\n "
|
||||
R_CURLY@[108; 109) "}"
|
||||
WHITESPACE@[109; 110) "\n"
|
||||
R_CURLY@[110; 111) "}"
|
||||
WHITESPACE@[111; 112) "\n"
|
||||
|
@ -8,52 +8,53 @@ SOURCE_FILE@[0; 83)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 82)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
MATCH_EXPR@[15; 80)
|
||||
MATCH_KW@[15; 20) "match"
|
||||
WHITESPACE@[20; 21) " "
|
||||
TUPLE_EXPR@[21; 23)
|
||||
L_PAREN@[21; 22) "("
|
||||
R_PAREN@[22; 23) ")"
|
||||
WHITESPACE@[23; 24) " "
|
||||
MATCH_ARM_LIST@[24; 80)
|
||||
L_CURLY@[24; 25) "{"
|
||||
WHITESPACE@[25; 34) "\n "
|
||||
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) "\n "
|
||||
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) "\n "
|
||||
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) "\n "
|
||||
R_CURLY@[79; 80) "}"
|
||||
WHITESPACE@[80; 81) "\n"
|
||||
R_CURLY@[81; 82) "}"
|
||||
BLOCK_EXPR@[9; 82)
|
||||
BLOCK@[9; 82)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
MATCH_EXPR@[15; 80)
|
||||
MATCH_KW@[15; 20) "match"
|
||||
WHITESPACE@[20; 21) " "
|
||||
TUPLE_EXPR@[21; 23)
|
||||
L_PAREN@[21; 22) "("
|
||||
R_PAREN@[22; 23) ")"
|
||||
WHITESPACE@[23; 24) " "
|
||||
MATCH_ARM_LIST@[24; 80)
|
||||
L_CURLY@[24; 25) "{"
|
||||
WHITESPACE@[25; 34) "\n "
|
||||
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) "\n "
|
||||
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) "\n "
|
||||
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) "\n "
|
||||
R_CURLY@[79; 80) "}"
|
||||
WHITESPACE@[80; 81) "\n"
|
||||
R_CURLY@[81; 82) "}"
|
||||
WHITESPACE@[82; 83) "\n"
|
||||
|
@ -8,111 +8,112 @@ SOURCE_FILE@[0; 112)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 111)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 20)
|
||||
RECORD_LIT@[15; 19)
|
||||
PATH@[15; 16)
|
||||
PATH_SEGMENT@[15; 16)
|
||||
NAME_REF@[15; 16)
|
||||
IDENT@[15; 16) "S"
|
||||
WHITESPACE@[16; 17) " "
|
||||
RECORD_FIELD_LIST@[17; 19)
|
||||
L_CURLY@[17; 18) "{"
|
||||
R_CURLY@[18; 19) "}"
|
||||
SEMI@[19; 20) ";"
|
||||
WHITESPACE@[20; 25) "\n "
|
||||
EXPR_STMT@[25; 41)
|
||||
RECORD_LIT@[25; 40)
|
||||
PATH@[25; 26)
|
||||
PATH_SEGMENT@[25; 26)
|
||||
NAME_REF@[25; 26)
|
||||
IDENT@[25; 26) "S"
|
||||
WHITESPACE@[26; 27) " "
|
||||
RECORD_FIELD_LIST@[27; 40)
|
||||
L_CURLY@[27; 28) "{"
|
||||
WHITESPACE@[28; 29) " "
|
||||
RECORD_FIELD@[29; 30)
|
||||
NAME_REF@[29; 30)
|
||||
IDENT@[29; 30) "x"
|
||||
COMMA@[30; 31) ","
|
||||
WHITESPACE@[31; 32) " "
|
||||
RECORD_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) "\n "
|
||||
EXPR_STMT@[46; 83)
|
||||
RECORD_LIT@[46; 82)
|
||||
PATH@[46; 47)
|
||||
PATH_SEGMENT@[46; 47)
|
||||
NAME_REF@[46; 47)
|
||||
IDENT@[46; 47) "S"
|
||||
WHITESPACE@[47; 48) " "
|
||||
RECORD_FIELD_LIST@[48; 82)
|
||||
L_CURLY@[48; 49) "{"
|
||||
WHITESPACE@[49; 50) " "
|
||||
RECORD_FIELD@[50; 51)
|
||||
NAME_REF@[50; 51)
|
||||
IDENT@[50; 51) "x"
|
||||
COMMA@[51; 52) ","
|
||||
WHITESPACE@[52; 53) " "
|
||||
RECORD_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; 88) "\n "
|
||||
EXPR_STMT@[88; 109)
|
||||
RECORD_LIT@[88; 108)
|
||||
PATH@[88; 99)
|
||||
PATH_SEGMENT@[88; 99)
|
||||
NAME_REF@[88; 99)
|
||||
IDENT@[88; 99) "TupleStruct"
|
||||
WHITESPACE@[99; 100) " "
|
||||
RECORD_FIELD_LIST@[100; 108)
|
||||
L_CURLY@[100; 101) "{"
|
||||
WHITESPACE@[101; 102) " "
|
||||
RECORD_FIELD@[102; 106)
|
||||
NAME_REF@[102; 103)
|
||||
INT_NUMBER@[102; 103) "0"
|
||||
COLON@[103; 104) ":"
|
||||
WHITESPACE@[104; 105) " "
|
||||
LITERAL@[105; 106)
|
||||
INT_NUMBER@[105; 106) "1"
|
||||
WHITESPACE@[106; 107) " "
|
||||
R_CURLY@[107; 108) "}"
|
||||
SEMI@[108; 109) ";"
|
||||
WHITESPACE@[109; 110) "\n"
|
||||
R_CURLY@[110; 111) "}"
|
||||
BLOCK_EXPR@[9; 111)
|
||||
BLOCK@[9; 111)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 20)
|
||||
RECORD_LIT@[15; 19)
|
||||
PATH@[15; 16)
|
||||
PATH_SEGMENT@[15; 16)
|
||||
NAME_REF@[15; 16)
|
||||
IDENT@[15; 16) "S"
|
||||
WHITESPACE@[16; 17) " "
|
||||
RECORD_FIELD_LIST@[17; 19)
|
||||
L_CURLY@[17; 18) "{"
|
||||
R_CURLY@[18; 19) "}"
|
||||
SEMI@[19; 20) ";"
|
||||
WHITESPACE@[20; 25) "\n "
|
||||
EXPR_STMT@[25; 41)
|
||||
RECORD_LIT@[25; 40)
|
||||
PATH@[25; 26)
|
||||
PATH_SEGMENT@[25; 26)
|
||||
NAME_REF@[25; 26)
|
||||
IDENT@[25; 26) "S"
|
||||
WHITESPACE@[26; 27) " "
|
||||
RECORD_FIELD_LIST@[27; 40)
|
||||
L_CURLY@[27; 28) "{"
|
||||
WHITESPACE@[28; 29) " "
|
||||
RECORD_FIELD@[29; 30)
|
||||
NAME_REF@[29; 30)
|
||||
IDENT@[29; 30) "x"
|
||||
COMMA@[30; 31) ","
|
||||
WHITESPACE@[31; 32) " "
|
||||
RECORD_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) "\n "
|
||||
EXPR_STMT@[46; 83)
|
||||
RECORD_LIT@[46; 82)
|
||||
PATH@[46; 47)
|
||||
PATH_SEGMENT@[46; 47)
|
||||
NAME_REF@[46; 47)
|
||||
IDENT@[46; 47) "S"
|
||||
WHITESPACE@[47; 48) " "
|
||||
RECORD_FIELD_LIST@[48; 82)
|
||||
L_CURLY@[48; 49) "{"
|
||||
WHITESPACE@[49; 50) " "
|
||||
RECORD_FIELD@[50; 51)
|
||||
NAME_REF@[50; 51)
|
||||
IDENT@[50; 51) "x"
|
||||
COMMA@[51; 52) ","
|
||||
WHITESPACE@[52; 53) " "
|
||||
RECORD_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; 88) "\n "
|
||||
EXPR_STMT@[88; 109)
|
||||
RECORD_LIT@[88; 108)
|
||||
PATH@[88; 99)
|
||||
PATH_SEGMENT@[88; 99)
|
||||
NAME_REF@[88; 99)
|
||||
IDENT@[88; 99) "TupleStruct"
|
||||
WHITESPACE@[99; 100) " "
|
||||
RECORD_FIELD_LIST@[100; 108)
|
||||
L_CURLY@[100; 101) "{"
|
||||
WHITESPACE@[101; 102) " "
|
||||
RECORD_FIELD@[102; 106)
|
||||
NAME_REF@[102; 103)
|
||||
INT_NUMBER@[102; 103) "0"
|
||||
COLON@[103; 104) ":"
|
||||
WHITESPACE@[104; 105) " "
|
||||
LITERAL@[105; 106)
|
||||
INT_NUMBER@[105; 106) "1"
|
||||
WHITESPACE@[106; 107) " "
|
||||
R_CURLY@[107; 108) "}"
|
||||
SEMI@[108; 109) ";"
|
||||
WHITESPACE@[109; 110) "\n"
|
||||
R_CURLY@[110; 111) "}"
|
||||
WHITESPACE@[111; 112) "\n"
|
||||
|
@ -8,9 +8,10 @@ SOURCE_FILE@[0; 70)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 11)
|
||||
L_CURLY@[9; 10) "{"
|
||||
R_CURLY@[10; 11) "}"
|
||||
BLOCK_EXPR@[9; 11)
|
||||
BLOCK@[9; 11)
|
||||
L_CURLY@[9; 10) "{"
|
||||
R_CURLY@[10; 11) "}"
|
||||
WHITESPACE@[11; 12) "\n"
|
||||
MACRO_CALL@[12; 31)
|
||||
PATH@[12; 23)
|
||||
|
@ -8,88 +8,96 @@ SOURCE_FILE@[0; 107)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 106)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 26)
|
||||
IF_EXPR@[15; 25)
|
||||
IF_KW@[15; 17) "if"
|
||||
WHITESPACE@[17; 18) " "
|
||||
CONDITION@[18; 22)
|
||||
LITERAL@[18; 22)
|
||||
TRUE_KW@[18; 22) "true"
|
||||
WHITESPACE@[22; 23) " "
|
||||
BLOCK@[23; 25)
|
||||
L_CURLY@[23; 24) "{"
|
||||
R_CURLY@[24; 25) "}"
|
||||
SEMI@[25; 26) ";"
|
||||
WHITESPACE@[26; 31) "\n "
|
||||
EXPR_STMT@[31; 50)
|
||||
IF_EXPR@[31; 49)
|
||||
IF_KW@[31; 33) "if"
|
||||
WHITESPACE@[33; 34) " "
|
||||
CONDITION@[34; 38)
|
||||
LITERAL@[34; 38)
|
||||
TRUE_KW@[34; 38) "true"
|
||||
WHITESPACE@[38; 39) " "
|
||||
BLOCK@[39; 41)
|
||||
L_CURLY@[39; 40) "{"
|
||||
R_CURLY@[40; 41) "}"
|
||||
WHITESPACE@[41; 42) " "
|
||||
ELSE_KW@[42; 46) "else"
|
||||
WHITESPACE@[46; 47) " "
|
||||
BLOCK@[47; 49)
|
||||
L_CURLY@[47; 48) "{"
|
||||
R_CURLY@[48; 49) "}"
|
||||
SEMI@[49; 50) ";"
|
||||
WHITESPACE@[50; 55) "\n "
|
||||
EXPR_STMT@[55; 91)
|
||||
IF_EXPR@[55; 90)
|
||||
IF_KW@[55; 57) "if"
|
||||
WHITESPACE@[57; 58) " "
|
||||
CONDITION@[58; 62)
|
||||
LITERAL@[58; 62)
|
||||
TRUE_KW@[58; 62) "true"
|
||||
WHITESPACE@[62; 63) " "
|
||||
BLOCK@[63; 65)
|
||||
L_CURLY@[63; 64) "{"
|
||||
R_CURLY@[64; 65) "}"
|
||||
WHITESPACE@[65; 66) " "
|
||||
ELSE_KW@[66; 70) "else"
|
||||
WHITESPACE@[70; 71) " "
|
||||
IF_EXPR@[71; 90)
|
||||
IF_KW@[71; 73) "if"
|
||||
WHITESPACE@[73; 74) " "
|
||||
CONDITION@[74; 79)
|
||||
LITERAL@[74; 79)
|
||||
FALSE_KW@[74; 79) "false"
|
||||
WHITESPACE@[79; 80) " "
|
||||
BLOCK@[80; 82)
|
||||
L_CURLY@[80; 81) "{"
|
||||
R_CURLY@[81; 82) "}"
|
||||
WHITESPACE@[82; 83) " "
|
||||
ELSE_KW@[83; 87) "else"
|
||||
WHITESPACE@[87; 88) " "
|
||||
BLOCK@[88; 90)
|
||||
L_CURLY@[88; 89) "{"
|
||||
R_CURLY@[89; 90) "}"
|
||||
SEMI@[90; 91) ";"
|
||||
WHITESPACE@[91; 96) "\n "
|
||||
EXPR_STMT@[96; 104)
|
||||
IF_EXPR@[96; 103)
|
||||
IF_KW@[96; 98) "if"
|
||||
WHITESPACE@[98; 99) " "
|
||||
CONDITION@[99; 100)
|
||||
PATH_EXPR@[99; 100)
|
||||
PATH@[99; 100)
|
||||
PATH_SEGMENT@[99; 100)
|
||||
NAME_REF@[99; 100)
|
||||
IDENT@[99; 100) "S"
|
||||
WHITESPACE@[100; 101) " "
|
||||
BLOCK@[101; 103)
|
||||
L_CURLY@[101; 102) "{"
|
||||
R_CURLY@[102; 103) "}"
|
||||
SEMI@[103; 104) ";"
|
||||
WHITESPACE@[104; 105) "\n"
|
||||
R_CURLY@[105; 106) "}"
|
||||
BLOCK_EXPR@[9; 106)
|
||||
BLOCK@[9; 106)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 26)
|
||||
IF_EXPR@[15; 25)
|
||||
IF_KW@[15; 17) "if"
|
||||
WHITESPACE@[17; 18) " "
|
||||
CONDITION@[18; 22)
|
||||
LITERAL@[18; 22)
|
||||
TRUE_KW@[18; 22) "true"
|
||||
WHITESPACE@[22; 23) " "
|
||||
BLOCK_EXPR@[23; 25)
|
||||
BLOCK@[23; 25)
|
||||
L_CURLY@[23; 24) "{"
|
||||
R_CURLY@[24; 25) "}"
|
||||
SEMI@[25; 26) ";"
|
||||
WHITESPACE@[26; 31) "\n "
|
||||
EXPR_STMT@[31; 50)
|
||||
IF_EXPR@[31; 49)
|
||||
IF_KW@[31; 33) "if"
|
||||
WHITESPACE@[33; 34) " "
|
||||
CONDITION@[34; 38)
|
||||
LITERAL@[34; 38)
|
||||
TRUE_KW@[34; 38) "true"
|
||||
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) "else"
|
||||
WHITESPACE@[46; 47) " "
|
||||
BLOCK_EXPR@[47; 49)
|
||||
BLOCK@[47; 49)
|
||||
L_CURLY@[47; 48) "{"
|
||||
R_CURLY@[48; 49) "}"
|
||||
SEMI@[49; 50) ";"
|
||||
WHITESPACE@[50; 55) "\n "
|
||||
EXPR_STMT@[55; 91)
|
||||
IF_EXPR@[55; 90)
|
||||
IF_KW@[55; 57) "if"
|
||||
WHITESPACE@[57; 58) " "
|
||||
CONDITION@[58; 62)
|
||||
LITERAL@[58; 62)
|
||||
TRUE_KW@[58; 62) "true"
|
||||
WHITESPACE@[62; 63) " "
|
||||
BLOCK_EXPR@[63; 65)
|
||||
BLOCK@[63; 65)
|
||||
L_CURLY@[63; 64) "{"
|
||||
R_CURLY@[64; 65) "}"
|
||||
WHITESPACE@[65; 66) " "
|
||||
ELSE_KW@[66; 70) "else"
|
||||
WHITESPACE@[70; 71) " "
|
||||
IF_EXPR@[71; 90)
|
||||
IF_KW@[71; 73) "if"
|
||||
WHITESPACE@[73; 74) " "
|
||||
CONDITION@[74; 79)
|
||||
LITERAL@[74; 79)
|
||||
FALSE_KW@[74; 79) "false"
|
||||
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) "else"
|
||||
WHITESPACE@[87; 88) " "
|
||||
BLOCK_EXPR@[88; 90)
|
||||
BLOCK@[88; 90)
|
||||
L_CURLY@[88; 89) "{"
|
||||
R_CURLY@[89; 90) "}"
|
||||
SEMI@[90; 91) ";"
|
||||
WHITESPACE@[91; 96) "\n "
|
||||
EXPR_STMT@[96; 104)
|
||||
IF_EXPR@[96; 103)
|
||||
IF_KW@[96; 98) "if"
|
||||
WHITESPACE@[98; 99) " "
|
||||
CONDITION@[99; 100)
|
||||
PATH_EXPR@[99; 100)
|
||||
PATH@[99; 100)
|
||||
PATH_SEGMENT@[99; 100)
|
||||
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) ";"
|
||||
WHITESPACE@[104; 105) "\n"
|
||||
R_CURLY@[105; 106) "}"
|
||||
WHITESPACE@[106; 107) "\n"
|
||||
|
@ -8,142 +8,143 @@ SOURCE_FILE@[0; 167)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 166)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 164)
|
||||
MATCH_EXPR@[15; 163)
|
||||
MATCH_KW@[15; 20) "match"
|
||||
WHITESPACE@[20; 21) " "
|
||||
TUPLE_EXPR@[21; 23)
|
||||
L_PAREN@[21; 22) "("
|
||||
R_PAREN@[22; 23) ")"
|
||||
WHITESPACE@[23; 24) " "
|
||||
MATCH_ARM_LIST@[24; 163)
|
||||
L_CURLY@[24; 25) "{"
|
||||
WHITESPACE@[25; 34) "\n "
|
||||
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) "\n "
|
||||
MATCH_ARM@[51; 83)
|
||||
PLACEHOLDER_PAT@[51; 52)
|
||||
UNDERSCORE@[51; 52) "_"
|
||||
WHITESPACE@[52; 53) " "
|
||||
MATCH_GUARD@[53; 77)
|
||||
IF_KW@[53; 55) "if"
|
||||
WHITESPACE@[55; 56) " "
|
||||
BIN_EXPR@[56; 77)
|
||||
PATH_EXPR@[56; 60)
|
||||
PATH@[56; 60)
|
||||
PATH_SEGMENT@[56; 60)
|
||||
NAME_REF@[56; 60)
|
||||
IDENT@[56; 60) "Test"
|
||||
WHITESPACE@[60; 61) " "
|
||||
R_ANGLE@[61; 62) ">"
|
||||
WHITESPACE@[62; 63) " "
|
||||
RECORD_LIT@[63; 77)
|
||||
PATH@[63; 67)
|
||||
PATH_SEGMENT@[63; 67)
|
||||
NAME_REF@[63; 67)
|
||||
IDENT@[63; 67) "Test"
|
||||
RECORD_FIELD_LIST@[67; 77)
|
||||
L_CURLY@[67; 68) "{"
|
||||
RECORD_FIELD@[68; 76)
|
||||
NAME_REF@[68; 73)
|
||||
IDENT@[68; 73) "field"
|
||||
COLON@[73; 74) ":"
|
||||
WHITESPACE@[74; 75) " "
|
||||
LITERAL@[75; 76)
|
||||
INT_NUMBER@[75; 76) "0"
|
||||
R_CURLY@[76; 77) "}"
|
||||
WHITESPACE@[77; 78) " "
|
||||
FAT_ARROW@[78; 80) "=>"
|
||||
WHITESPACE@[80; 81) " "
|
||||
TUPLE_EXPR@[81; 83)
|
||||
L_PAREN@[81; 82) "("
|
||||
R_PAREN@[82; 83) ")"
|
||||
COMMA@[83; 84) ","
|
||||
WHITESPACE@[84; 93) "\n "
|
||||
MATCH_ARM@[93; 109)
|
||||
BIND_PAT@[93; 94)
|
||||
NAME@[93; 94)
|
||||
IDENT@[93; 94) "X"
|
||||
WHITESPACE@[94; 95) " "
|
||||
PIPE@[95; 96) "|"
|
||||
WHITESPACE@[96; 97) " "
|
||||
BIND_PAT@[97; 98)
|
||||
NAME@[97; 98)
|
||||
IDENT@[97; 98) "Y"
|
||||
WHITESPACE@[98; 99) " "
|
||||
MATCH_GUARD@[99; 103)
|
||||
IF_KW@[99; 101) "if"
|
||||
WHITESPACE@[101; 102) " "
|
||||
PATH_EXPR@[102; 103)
|
||||
PATH@[102; 103)
|
||||
PATH_SEGMENT@[102; 103)
|
||||
NAME_REF@[102; 103)
|
||||
IDENT@[102; 103) "Z"
|
||||
WHITESPACE@[103; 104) " "
|
||||
FAT_ARROW@[104; 106) "=>"
|
||||
WHITESPACE@[106; 107) " "
|
||||
TUPLE_EXPR@[107; 109)
|
||||
L_PAREN@[107; 108) "("
|
||||
R_PAREN@[108; 109) ")"
|
||||
COMMA@[109; 110) ","
|
||||
WHITESPACE@[110; 119) "\n "
|
||||
MATCH_ARM@[119; 137)
|
||||
PIPE@[119; 120) "|"
|
||||
WHITESPACE@[120; 121) " "
|
||||
BIND_PAT@[121; 122)
|
||||
NAME@[121; 122)
|
||||
IDENT@[121; 122) "X"
|
||||
WHITESPACE@[122; 123) " "
|
||||
PIPE@[123; 124) "|"
|
||||
WHITESPACE@[124; 125) " "
|
||||
BIND_PAT@[125; 126)
|
||||
NAME@[125; 126)
|
||||
IDENT@[125; 126) "Y"
|
||||
WHITESPACE@[126; 127) " "
|
||||
MATCH_GUARD@[127; 131)
|
||||
IF_KW@[127; 129) "if"
|
||||
WHITESPACE@[129; 130) " "
|
||||
PATH_EXPR@[130; 131)
|
||||
PATH@[130; 131)
|
||||
PATH_SEGMENT@[130; 131)
|
||||
NAME_REF@[130; 131)
|
||||
IDENT@[130; 131) "Z"
|
||||
WHITESPACE@[131; 132) " "
|
||||
FAT_ARROW@[132; 134) "=>"
|
||||
WHITESPACE@[134; 135) " "
|
||||
TUPLE_EXPR@[135; 137)
|
||||
L_PAREN@[135; 136) "("
|
||||
R_PAREN@[136; 137) ")"
|
||||
COMMA@[137; 138) ","
|
||||
WHITESPACE@[138; 147) "\n "
|
||||
MATCH_ARM@[147; 156)
|
||||
PIPE@[147; 148) "|"
|
||||
WHITESPACE@[148; 149) " "
|
||||
BIND_PAT@[149; 150)
|
||||
NAME@[149; 150)
|
||||
IDENT@[149; 150) "X"
|
||||
WHITESPACE@[150; 151) " "
|
||||
FAT_ARROW@[151; 153) "=>"
|
||||
WHITESPACE@[153; 154) " "
|
||||
TUPLE_EXPR@[154; 156)
|
||||
L_PAREN@[154; 155) "("
|
||||
R_PAREN@[155; 156) ")"
|
||||
COMMA@[156; 157) ","
|
||||
WHITESPACE@[157; 162) "\n "
|
||||
R_CURLY@[162; 163) "}"
|
||||
SEMI@[163; 164) ";"
|
||||
WHITESPACE@[164; 165) "\n"
|
||||
R_CURLY@[165; 166) "}"
|
||||
BLOCK_EXPR@[9; 166)
|
||||
BLOCK@[9; 166)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 164)
|
||||
MATCH_EXPR@[15; 163)
|
||||
MATCH_KW@[15; 20) "match"
|
||||
WHITESPACE@[20; 21) " "
|
||||
TUPLE_EXPR@[21; 23)
|
||||
L_PAREN@[21; 22) "("
|
||||
R_PAREN@[22; 23) ")"
|
||||
WHITESPACE@[23; 24) " "
|
||||
MATCH_ARM_LIST@[24; 163)
|
||||
L_CURLY@[24; 25) "{"
|
||||
WHITESPACE@[25; 34) "\n "
|
||||
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) "\n "
|
||||
MATCH_ARM@[51; 83)
|
||||
PLACEHOLDER_PAT@[51; 52)
|
||||
UNDERSCORE@[51; 52) "_"
|
||||
WHITESPACE@[52; 53) " "
|
||||
MATCH_GUARD@[53; 77)
|
||||
IF_KW@[53; 55) "if"
|
||||
WHITESPACE@[55; 56) " "
|
||||
BIN_EXPR@[56; 77)
|
||||
PATH_EXPR@[56; 60)
|
||||
PATH@[56; 60)
|
||||
PATH_SEGMENT@[56; 60)
|
||||
NAME_REF@[56; 60)
|
||||
IDENT@[56; 60) "Test"
|
||||
WHITESPACE@[60; 61) " "
|
||||
R_ANGLE@[61; 62) ">"
|
||||
WHITESPACE@[62; 63) " "
|
||||
RECORD_LIT@[63; 77)
|
||||
PATH@[63; 67)
|
||||
PATH_SEGMENT@[63; 67)
|
||||
NAME_REF@[63; 67)
|
||||
IDENT@[63; 67) "Test"
|
||||
RECORD_FIELD_LIST@[67; 77)
|
||||
L_CURLY@[67; 68) "{"
|
||||
RECORD_FIELD@[68; 76)
|
||||
NAME_REF@[68; 73)
|
||||
IDENT@[68; 73) "field"
|
||||
COLON@[73; 74) ":"
|
||||
WHITESPACE@[74; 75) " "
|
||||
LITERAL@[75; 76)
|
||||
INT_NUMBER@[75; 76) "0"
|
||||
R_CURLY@[76; 77) "}"
|
||||
WHITESPACE@[77; 78) " "
|
||||
FAT_ARROW@[78; 80) "=>"
|
||||
WHITESPACE@[80; 81) " "
|
||||
TUPLE_EXPR@[81; 83)
|
||||
L_PAREN@[81; 82) "("
|
||||
R_PAREN@[82; 83) ")"
|
||||
COMMA@[83; 84) ","
|
||||
WHITESPACE@[84; 93) "\n "
|
||||
MATCH_ARM@[93; 109)
|
||||
BIND_PAT@[93; 94)
|
||||
NAME@[93; 94)
|
||||
IDENT@[93; 94) "X"
|
||||
WHITESPACE@[94; 95) " "
|
||||
PIPE@[95; 96) "|"
|
||||
WHITESPACE@[96; 97) " "
|
||||
BIND_PAT@[97; 98)
|
||||
NAME@[97; 98)
|
||||
IDENT@[97; 98) "Y"
|
||||
WHITESPACE@[98; 99) " "
|
||||
MATCH_GUARD@[99; 103)
|
||||
IF_KW@[99; 101) "if"
|
||||
WHITESPACE@[101; 102) " "
|
||||
PATH_EXPR@[102; 103)
|
||||
PATH@[102; 103)
|
||||
PATH_SEGMENT@[102; 103)
|
||||
NAME_REF@[102; 103)
|
||||
IDENT@[102; 103) "Z"
|
||||
WHITESPACE@[103; 104) " "
|
||||
FAT_ARROW@[104; 106) "=>"
|
||||
WHITESPACE@[106; 107) " "
|
||||
TUPLE_EXPR@[107; 109)
|
||||
L_PAREN@[107; 108) "("
|
||||
R_PAREN@[108; 109) ")"
|
||||
COMMA@[109; 110) ","
|
||||
WHITESPACE@[110; 119) "\n "
|
||||
MATCH_ARM@[119; 137)
|
||||
PIPE@[119; 120) "|"
|
||||
WHITESPACE@[120; 121) " "
|
||||
BIND_PAT@[121; 122)
|
||||
NAME@[121; 122)
|
||||
IDENT@[121; 122) "X"
|
||||
WHITESPACE@[122; 123) " "
|
||||
PIPE@[123; 124) "|"
|
||||
WHITESPACE@[124; 125) " "
|
||||
BIND_PAT@[125; 126)
|
||||
NAME@[125; 126)
|
||||
IDENT@[125; 126) "Y"
|
||||
WHITESPACE@[126; 127) " "
|
||||
MATCH_GUARD@[127; 131)
|
||||
IF_KW@[127; 129) "if"
|
||||
WHITESPACE@[129; 130) " "
|
||||
PATH_EXPR@[130; 131)
|
||||
PATH@[130; 131)
|
||||
PATH_SEGMENT@[130; 131)
|
||||
NAME_REF@[130; 131)
|
||||
IDENT@[130; 131) "Z"
|
||||
WHITESPACE@[131; 132) " "
|
||||
FAT_ARROW@[132; 134) "=>"
|
||||
WHITESPACE@[134; 135) " "
|
||||
TUPLE_EXPR@[135; 137)
|
||||
L_PAREN@[135; 136) "("
|
||||
R_PAREN@[136; 137) ")"
|
||||
COMMA@[137; 138) ","
|
||||
WHITESPACE@[138; 147) "\n "
|
||||
MATCH_ARM@[147; 156)
|
||||
PIPE@[147; 148) "|"
|
||||
WHITESPACE@[148; 149) " "
|
||||
BIND_PAT@[149; 150)
|
||||
NAME@[149; 150)
|
||||
IDENT@[149; 150) "X"
|
||||
WHITESPACE@[150; 151) " "
|
||||
FAT_ARROW@[151; 153) "=>"
|
||||
WHITESPACE@[153; 154) " "
|
||||
TUPLE_EXPR@[154; 156)
|
||||
L_PAREN@[154; 155) "("
|
||||
R_PAREN@[155; 156) ")"
|
||||
COMMA@[156; 157) ","
|
||||
WHITESPACE@[157; 162) "\n "
|
||||
R_CURLY@[162; 163) "}"
|
||||
SEMI@[163; 164) ";"
|
||||
WHITESPACE@[164; 165) "\n"
|
||||
R_CURLY@[165; 166) "}"
|
||||
WHITESPACE@[166; 167) "\n"
|
||||
|
@ -8,45 +8,46 @@ SOURCE_FILE@[0; 46)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 45)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LET_STMT@[15; 31)
|
||||
LET_KW@[15; 18) "let"
|
||||
WHITESPACE@[18; 19) " "
|
||||
PLACEHOLDER_PAT@[19; 20)
|
||||
UNDERSCORE@[19; 20) "_"
|
||||
WHITESPACE@[20; 21) " "
|
||||
EQ@[21; 22) "="
|
||||
WHITESPACE@[22; 23) " "
|
||||
BIN_EXPR@[23; 30)
|
||||
BLOCK_EXPR@[23; 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) " "
|
||||
LITERAL@[29; 30)
|
||||
INT_NUMBER@[29; 30) "2"
|
||||
SEMI@[30; 31) ";"
|
||||
WHITESPACE@[31; 36) "\n "
|
||||
EXPR_STMT@[36; 39)
|
||||
BLOCK_EXPR@[36; 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)
|
||||
AMP@[40; 41) "&"
|
||||
LITERAL@[41; 42)
|
||||
INT_NUMBER@[41; 42) "2"
|
||||
SEMI@[42; 43) ";"
|
||||
WHITESPACE@[43; 44) "\n"
|
||||
R_CURLY@[44; 45) "}"
|
||||
BLOCK_EXPR@[9; 45)
|
||||
BLOCK@[9; 45)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LET_STMT@[15; 31)
|
||||
LET_KW@[15; 18) "let"
|
||||
WHITESPACE@[18; 19) " "
|
||||
PLACEHOLDER_PAT@[19; 20)
|
||||
UNDERSCORE@[19; 20) "_"
|
||||
WHITESPACE@[20; 21) " "
|
||||
EQ@[21; 22) "="
|
||||
WHITESPACE@[22; 23) " "
|
||||
BIN_EXPR@[23; 30)
|
||||
BLOCK_EXPR@[23; 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) " "
|
||||
LITERAL@[29; 30)
|
||||
INT_NUMBER@[29; 30) "2"
|
||||
SEMI@[30; 31) ";"
|
||||
WHITESPACE@[31; 36) "\n "
|
||||
EXPR_STMT@[36; 39)
|
||||
BLOCK_EXPR@[36; 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)
|
||||
AMP@[40; 41) "&"
|
||||
LITERAL@[41; 42)
|
||||
INT_NUMBER@[41; 42) "2"
|
||||
SEMI@[42; 43) ";"
|
||||
WHITESPACE@[43; 44) "\n"
|
||||
R_CURLY@[44; 45) "}"
|
||||
WHITESPACE@[45; 46) "\n"
|
||||
|
@ -8,37 +8,38 @@ SOURCE_FILE@[0; 47)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 46)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 28)
|
||||
MATCH_EXPR@[15; 27)
|
||||
MATCH_KW@[15; 20) "match"
|
||||
WHITESPACE@[20; 21) " "
|
||||
TUPLE_EXPR@[21; 23)
|
||||
L_PAREN@[21; 22) "("
|
||||
R_PAREN@[22; 23) ")"
|
||||
WHITESPACE@[23; 24) " "
|
||||
MATCH_ARM_LIST@[24; 27)
|
||||
L_CURLY@[24; 25) "{"
|
||||
WHITESPACE@[25; 26) " "
|
||||
R_CURLY@[26; 27) "}"
|
||||
SEMI@[27; 28) ";"
|
||||
WHITESPACE@[28; 33) "\n "
|
||||
EXPR_STMT@[33; 44)
|
||||
MATCH_EXPR@[33; 43)
|
||||
MATCH_KW@[33; 38) "match"
|
||||
WHITESPACE@[38; 39) " "
|
||||
PATH_EXPR@[39; 40)
|
||||
PATH@[39; 40)
|
||||
PATH_SEGMENT@[39; 40)
|
||||
NAME_REF@[39; 40)
|
||||
IDENT@[39; 40) "S"
|
||||
WHITESPACE@[40; 41) " "
|
||||
MATCH_ARM_LIST@[41; 43)
|
||||
L_CURLY@[41; 42) "{"
|
||||
R_CURLY@[42; 43) "}"
|
||||
SEMI@[43; 44) ";"
|
||||
WHITESPACE@[44; 45) "\n"
|
||||
R_CURLY@[45; 46) "}"
|
||||
BLOCK_EXPR@[9; 46)
|
||||
BLOCK@[9; 46)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 28)
|
||||
MATCH_EXPR@[15; 27)
|
||||
MATCH_KW@[15; 20) "match"
|
||||
WHITESPACE@[20; 21) " "
|
||||
TUPLE_EXPR@[21; 23)
|
||||
L_PAREN@[21; 22) "("
|
||||
R_PAREN@[22; 23) ")"
|
||||
WHITESPACE@[23; 24) " "
|
||||
MATCH_ARM_LIST@[24; 27)
|
||||
L_CURLY@[24; 25) "{"
|
||||
WHITESPACE@[25; 26) " "
|
||||
R_CURLY@[26; 27) "}"
|
||||
SEMI@[27; 28) ";"
|
||||
WHITESPACE@[28; 33) "\n "
|
||||
EXPR_STMT@[33; 44)
|
||||
MATCH_EXPR@[33; 43)
|
||||
MATCH_KW@[33; 38) "match"
|
||||
WHITESPACE@[38; 39) " "
|
||||
PATH_EXPR@[39; 40)
|
||||
PATH@[39; 40)
|
||||
PATH_SEGMENT@[39; 40)
|
||||
NAME_REF@[39; 40)
|
||||
IDENT@[39; 40) "S"
|
||||
WHITESPACE@[40; 41) " "
|
||||
MATCH_ARM_LIST@[41; 43)
|
||||
L_CURLY@[41; 42) "{"
|
||||
R_CURLY@[42; 43) "}"
|
||||
SEMI@[43; 44) ";"
|
||||
WHITESPACE@[44; 45) "\n"
|
||||
R_CURLY@[45; 46) "}"
|
||||
WHITESPACE@[46; 47) "\n"
|
||||
|
@ -8,21 +8,22 @@ SOURCE_FILE@[0; 40)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 39)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 22)
|
||||
RETURN_EXPR@[15; 21)
|
||||
RETURN_KW@[15; 21) "return"
|
||||
SEMI@[21; 22) ";"
|
||||
WHITESPACE@[22; 27) "\n "
|
||||
EXPR_STMT@[27; 37)
|
||||
RETURN_EXPR@[27; 36)
|
||||
RETURN_KW@[27; 33) "return"
|
||||
WHITESPACE@[33; 34) " "
|
||||
LITERAL@[34; 36)
|
||||
INT_NUMBER@[34; 36) "92"
|
||||
SEMI@[36; 37) ";"
|
||||
WHITESPACE@[37; 38) "\n"
|
||||
R_CURLY@[38; 39) "}"
|
||||
BLOCK_EXPR@[9; 39)
|
||||
BLOCK@[9; 39)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 22)
|
||||
RETURN_EXPR@[15; 21)
|
||||
RETURN_KW@[15; 21) "return"
|
||||
SEMI@[21; 22) ";"
|
||||
WHITESPACE@[22; 27) "\n "
|
||||
EXPR_STMT@[27; 37)
|
||||
RETURN_EXPR@[27; 36)
|
||||
RETURN_KW@[27; 33) "return"
|
||||
WHITESPACE@[33; 34) " "
|
||||
LITERAL@[34; 36)
|
||||
INT_NUMBER@[34; 36) "92"
|
||||
SEMI@[36; 37) ";"
|
||||
WHITESPACE@[37; 38) "\n"
|
||||
R_CURLY@[38; 39) "}"
|
||||
WHITESPACE@[39; 40) "\n"
|
||||
|
@ -8,55 +8,56 @@ SOURCE_FILE@[0; 84)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 83)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
MATCH_EXPR@[15; 81)
|
||||
MATCH_KW@[15; 20) "match"
|
||||
WHITESPACE@[20; 21) " "
|
||||
TUPLE_EXPR@[21; 23)
|
||||
L_PAREN@[21; 22) "("
|
||||
R_PAREN@[22; 23) ")"
|
||||
WHITESPACE@[23; 24) " "
|
||||
MATCH_ARM_LIST@[24; 81)
|
||||
L_CURLY@[24; 25) "{"
|
||||
WHITESPACE@[25; 34) "\n "
|
||||
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) "\n "
|
||||
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) "\n "
|
||||
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) "\n "
|
||||
R_CURLY@[80; 81) "}"
|
||||
WHITESPACE@[81; 82) "\n"
|
||||
R_CURLY@[82; 83) "}"
|
||||
BLOCK_EXPR@[9; 83)
|
||||
BLOCK@[9; 83)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
MATCH_EXPR@[15; 81)
|
||||
MATCH_KW@[15; 20) "match"
|
||||
WHITESPACE@[20; 21) " "
|
||||
TUPLE_EXPR@[21; 23)
|
||||
L_PAREN@[21; 22) "("
|
||||
R_PAREN@[22; 23) ")"
|
||||
WHITESPACE@[23; 24) " "
|
||||
MATCH_ARM_LIST@[24; 81)
|
||||
L_CURLY@[24; 25) "{"
|
||||
WHITESPACE@[25; 34) "\n "
|
||||
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) "\n "
|
||||
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) "\n "
|
||||
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) "\n "
|
||||
R_CURLY@[80; 81) "}"
|
||||
WHITESPACE@[81; 82) "\n"
|
||||
R_CURLY@[82; 83) "}"
|
||||
WHITESPACE@[83; 84) "\n"
|
||||
|
@ -8,9 +8,10 @@ SOURCE_FILE@[0; 65)
|
||||
L_PAREN@[4; 5) "("
|
||||
R_PAREN@[5; 6) ")"
|
||||
WHITESPACE@[6; 7) " "
|
||||
BLOCK@[7; 9)
|
||||
L_CURLY@[7; 8) "{"
|
||||
R_CURLY@[8; 9) "}"
|
||||
BLOCK_EXPR@[7; 9)
|
||||
BLOCK@[7; 9)
|
||||
L_CURLY@[7; 8) "{"
|
||||
R_CURLY@[8; 9) "}"
|
||||
WHITESPACE@[9; 10) "\n"
|
||||
FN_DEF@[10; 31)
|
||||
FN_KW@[10; 12) "fn"
|
||||
@ -21,22 +22,23 @@ SOURCE_FILE@[0; 65)
|
||||
L_PAREN@[14; 15) "("
|
||||
R_PAREN@[15; 16) ")"
|
||||
WHITESPACE@[16; 17) " "
|
||||
BLOCK@[17; 31)
|
||||
L_CURLY@[17; 18) "{"
|
||||
WHITESPACE@[18; 19) " "
|
||||
LET_STMT@[19; 29)
|
||||
LET_KW@[19; 22) "let"
|
||||
WHITESPACE@[22; 23) " "
|
||||
PLACEHOLDER_PAT@[23; 24)
|
||||
UNDERSCORE@[23; 24) "_"
|
||||
WHITESPACE@[24; 25) " "
|
||||
EQ@[25; 26) "="
|
||||
WHITESPACE@[26; 27) " "
|
||||
LITERAL@[27; 28)
|
||||
INT_NUMBER@[27; 28) "1"
|
||||
SEMI@[28; 29) ";"
|
||||
WHITESPACE@[29; 30) " "
|
||||
R_CURLY@[30; 31) "}"
|
||||
BLOCK_EXPR@[17; 31)
|
||||
BLOCK@[17; 31)
|
||||
L_CURLY@[17; 18) "{"
|
||||
WHITESPACE@[18; 19) " "
|
||||
LET_STMT@[19; 29)
|
||||
LET_KW@[19; 22) "let"
|
||||
WHITESPACE@[22; 23) " "
|
||||
PLACEHOLDER_PAT@[23; 24)
|
||||
UNDERSCORE@[23; 24) "_"
|
||||
WHITESPACE@[24; 25) " "
|
||||
EQ@[25; 26) "="
|
||||
WHITESPACE@[26; 27) " "
|
||||
LITERAL@[27; 28)
|
||||
INT_NUMBER@[27; 28) "1"
|
||||
SEMI@[28; 29) ";"
|
||||
WHITESPACE@[29; 30) " "
|
||||
R_CURLY@[30; 31) "}"
|
||||
WHITESPACE@[31; 32) "\n"
|
||||
FN_DEF@[32; 48)
|
||||
FN_KW@[32; 34) "fn"
|
||||
@ -47,20 +49,21 @@ SOURCE_FILE@[0; 65)
|
||||
L_PAREN@[36; 37) "("
|
||||
R_PAREN@[37; 38) ")"
|
||||
WHITESPACE@[38; 39) " "
|
||||
BLOCK@[39; 48)
|
||||
L_CURLY@[39; 40) "{"
|
||||
WHITESPACE@[40; 41) " "
|
||||
EXPR_STMT@[41; 43)
|
||||
LITERAL@[41; 42)
|
||||
INT_NUMBER@[41; 42) "1"
|
||||
SEMI@[42; 43) ";"
|
||||
WHITESPACE@[43; 44) " "
|
||||
EXPR_STMT@[44; 46)
|
||||
LITERAL@[44; 45)
|
||||
INT_NUMBER@[44; 45) "2"
|
||||
SEMI@[45; 46) ";"
|
||||
WHITESPACE@[46; 47) " "
|
||||
R_CURLY@[47; 48) "}"
|
||||
BLOCK_EXPR@[39; 48)
|
||||
BLOCK@[39; 48)
|
||||
L_CURLY@[39; 40) "{"
|
||||
WHITESPACE@[40; 41) " "
|
||||
EXPR_STMT@[41; 43)
|
||||
LITERAL@[41; 42)
|
||||
INT_NUMBER@[41; 42) "1"
|
||||
SEMI@[42; 43) ";"
|
||||
WHITESPACE@[43; 44) " "
|
||||
EXPR_STMT@[44; 46)
|
||||
LITERAL@[44; 45)
|
||||
INT_NUMBER@[44; 45) "2"
|
||||
SEMI@[45; 46) ";"
|
||||
WHITESPACE@[46; 47) " "
|
||||
R_CURLY@[47; 48) "}"
|
||||
WHITESPACE@[48; 49) "\n"
|
||||
FN_DEF@[49; 64)
|
||||
FN_KW@[49; 51) "fn"
|
||||
@ -71,16 +74,17 @@ SOURCE_FILE@[0; 65)
|
||||
L_PAREN@[53; 54) "("
|
||||
R_PAREN@[54; 55) ")"
|
||||
WHITESPACE@[55; 56) " "
|
||||
BLOCK@[56; 64)
|
||||
L_CURLY@[56; 57) "{"
|
||||
WHITESPACE@[57; 58) " "
|
||||
EXPR_STMT@[58; 60)
|
||||
LITERAL@[58; 59)
|
||||
INT_NUMBER@[58; 59) "1"
|
||||
SEMI@[59; 60) ";"
|
||||
WHITESPACE@[60; 61) " "
|
||||
LITERAL@[61; 62)
|
||||
INT_NUMBER@[61; 62) "2"
|
||||
WHITESPACE@[62; 63) " "
|
||||
R_CURLY@[63; 64) "}"
|
||||
BLOCK_EXPR@[56; 64)
|
||||
BLOCK@[56; 64)
|
||||
L_CURLY@[56; 57) "{"
|
||||
WHITESPACE@[57; 58) " "
|
||||
EXPR_STMT@[58; 60)
|
||||
LITERAL@[58; 59)
|
||||
INT_NUMBER@[58; 59) "1"
|
||||
SEMI@[59; 60) ";"
|
||||
WHITESPACE@[60; 61) " "
|
||||
LITERAL@[61; 62)
|
||||
INT_NUMBER@[61; 62) "2"
|
||||
WHITESPACE@[62; 63) " "
|
||||
R_CURLY@[63; 64) "}"
|
||||
WHITESPACE@[64; 65) "\n"
|
||||
|
@ -33,7 +33,8 @@ SOURCE_FILE@[0; 29)
|
||||
NAME_REF@[21; 25)
|
||||
IDENT@[21; 25) "Copy"
|
||||
WHITESPACE@[25; 26) " "
|
||||
BLOCK@[26; 28)
|
||||
L_CURLY@[26; 27) "{"
|
||||
R_CURLY@[27; 28) "}"
|
||||
BLOCK_EXPR@[26; 28)
|
||||
BLOCK@[26; 28)
|
||||
L_CURLY@[26; 27) "{"
|
||||
R_CURLY@[27; 28) "}"
|
||||
WHITESPACE@[28; 29) "\n"
|
||||
|
@ -8,18 +8,19 @@ SOURCE_FILE@[0; 21)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 20)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 18)
|
||||
TRY_EXPR@[15; 17)
|
||||
PATH_EXPR@[15; 16)
|
||||
PATH@[15; 16)
|
||||
PATH_SEGMENT@[15; 16)
|
||||
NAME_REF@[15; 16)
|
||||
IDENT@[15; 16) "x"
|
||||
QUESTION@[16; 17) "?"
|
||||
SEMI@[17; 18) ";"
|
||||
WHITESPACE@[18; 19) "\n"
|
||||
R_CURLY@[19; 20) "}"
|
||||
BLOCK_EXPR@[9; 20)
|
||||
BLOCK@[9; 20)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
EXPR_STMT@[15; 18)
|
||||
TRY_EXPR@[15; 17)
|
||||
PATH_EXPR@[15; 16)
|
||||
PATH@[15; 16)
|
||||
PATH_SEGMENT@[15; 16)
|
||||
NAME_REF@[15; 16)
|
||||
IDENT@[15; 16) "x"
|
||||
QUESTION@[16; 17) "?"
|
||||
SEMI@[17; 18) ";"
|
||||
WHITESPACE@[18; 19) "\n"
|
||||
R_CURLY@[19; 20) "}"
|
||||
WHITESPACE@[20; 21) "\n"
|
||||
|
@ -8,23 +8,24 @@ SOURCE_FILE@[0; 26)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 25)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) " "
|
||||
LET_STMT@[11; 23)
|
||||
LET_KW@[11; 14) "let"
|
||||
WHITESPACE@[14; 15) " "
|
||||
BIND_PAT@[15; 16)
|
||||
NAME@[15; 16)
|
||||
IDENT@[15; 16) "x"
|
||||
WHITESPACE@[16; 17) " "
|
||||
EQ@[17; 18) "="
|
||||
WHITESPACE@[18; 19) " "
|
||||
RANGE_EXPR@[19; 22)
|
||||
LITERAL@[19; 20)
|
||||
INT_NUMBER@[19; 20) "1"
|
||||
DOTDOT@[20; 22) ".."
|
||||
SEMI@[22; 23) ";"
|
||||
WHITESPACE@[23; 24) " "
|
||||
R_CURLY@[24; 25) "}"
|
||||
BLOCK_EXPR@[9; 25)
|
||||
BLOCK@[9; 25)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 11) " "
|
||||
LET_STMT@[11; 23)
|
||||
LET_KW@[11; 14) "let"
|
||||
WHITESPACE@[14; 15) " "
|
||||
BIND_PAT@[15; 16)
|
||||
NAME@[15; 16)
|
||||
IDENT@[15; 16) "x"
|
||||
WHITESPACE@[16; 17) " "
|
||||
EQ@[17; 18) "="
|
||||
WHITESPACE@[18; 19) " "
|
||||
RANGE_EXPR@[19; 22)
|
||||
LITERAL@[19; 20)
|
||||
INT_NUMBER@[19; 20) "1"
|
||||
DOTDOT@[20; 22) ".."
|
||||
SEMI@[22; 23) ";"
|
||||
WHITESPACE@[23; 24) " "
|
||||
R_CURLY@[24; 25) "}"
|
||||
WHITESPACE@[25; 26) "\n"
|
||||
|
@ -88,9 +88,10 @@ SOURCE_FILE@[0; 200)
|
||||
NAME_REF@[68; 76)
|
||||
IDENT@[68; 76) "Iterator"
|
||||
WHITESPACE@[76; 77) " "
|
||||
BLOCK@[77; 79)
|
||||
L_CURLY@[77; 78) "{"
|
||||
R_CURLY@[78; 79) "}"
|
||||
BLOCK_EXPR@[77; 79)
|
||||
BLOCK@[77; 79)
|
||||
L_CURLY@[77; 78) "{"
|
||||
R_CURLY@[78; 79) "}"
|
||||
WHITESPACE@[79; 80) "\n"
|
||||
FN_DEF@[80; 134)
|
||||
FN_KW@[80; 82) "fn"
|
||||
@ -153,9 +154,10 @@ SOURCE_FILE@[0; 200)
|
||||
NAME_REF@[123; 131)
|
||||
IDENT@[123; 131) "Iterator"
|
||||
WHITESPACE@[131; 132) " "
|
||||
BLOCK@[132; 134)
|
||||
L_CURLY@[132; 133) "{"
|
||||
R_CURLY@[133; 134) "}"
|
||||
BLOCK_EXPR@[132; 134)
|
||||
BLOCK@[132; 134)
|
||||
L_CURLY@[132; 133) "{"
|
||||
R_CURLY@[133; 134) "}"
|
||||
WHITESPACE@[134; 135) "\n"
|
||||
FN_DEF@[135; 199)
|
||||
FN_KW@[135; 137) "fn"
|
||||
@ -234,7 +236,8 @@ SOURCE_FILE@[0; 200)
|
||||
NAME_REF@[188; 196)
|
||||
IDENT@[188; 196) "Iterator"
|
||||
WHITESPACE@[196; 197) " "
|
||||
BLOCK@[197; 199)
|
||||
L_CURLY@[197; 198) "{"
|
||||
R_CURLY@[198; 199) "}"
|
||||
BLOCK_EXPR@[197; 199)
|
||||
BLOCK@[197; 199)
|
||||
L_CURLY@[197; 198) "{"
|
||||
R_CURLY@[198; 199) "}"
|
||||
WHITESPACE@[199; 200) "\n"
|
||||
|
@ -8,47 +8,48 @@ SOURCE_FILE@[0; 52)
|
||||
L_PAREN@[6; 7) "("
|
||||
R_PAREN@[7; 8) ")"
|
||||
WHITESPACE@[8; 9) " "
|
||||
BLOCK@[9; 51)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LET_STMT@[15; 26)
|
||||
LET_KW@[15; 18) "let"
|
||||
WHITESPACE@[18; 19) " "
|
||||
PLACEHOLDER_PAT@[19; 20)
|
||||
UNDERSCORE@[19; 20) "_"
|
||||
WHITESPACE@[20; 21) " "
|
||||
EQ@[21; 22) "="
|
||||
WHITESPACE@[22; 23) " "
|
||||
REF_EXPR@[23; 25)
|
||||
AMP@[23; 24) "&"
|
||||
LITERAL@[24; 25)
|
||||
INT_NUMBER@[24; 25) "1"
|
||||
SEMI@[25; 26) ";"
|
||||
WHITESPACE@[26; 31) "\n "
|
||||
LET_STMT@[31; 49)
|
||||
LET_KW@[31; 34) "let"
|
||||
WHITESPACE@[34; 35) " "
|
||||
PLACEHOLDER_PAT@[35; 36)
|
||||
UNDERSCORE@[35; 36) "_"
|
||||
WHITESPACE@[36; 37) " "
|
||||
EQ@[37; 38) "="
|
||||
WHITESPACE@[38; 39) " "
|
||||
REF_EXPR@[39; 48)
|
||||
AMP@[39; 40) "&"
|
||||
MUT_KW@[40; 43) "mut"
|
||||
WHITESPACE@[43; 44) " "
|
||||
REF_EXPR@[44; 48)
|
||||
AMP@[44; 45) "&"
|
||||
CALL_EXPR@[45; 48)
|
||||
PATH_EXPR@[45; 46)
|
||||
PATH@[45; 46)
|
||||
PATH_SEGMENT@[45; 46)
|
||||
NAME_REF@[45; 46)
|
||||
IDENT@[45; 46) "f"
|
||||
ARG_LIST@[46; 48)
|
||||
L_PAREN@[46; 47) "("
|
||||
R_PAREN@[47; 48) ")"
|
||||
SEMI@[48; 49) ";"
|
||||
WHITESPACE@[49; 50) "\n"
|
||||
R_CURLY@[50; 51) "}"
|
||||
BLOCK_EXPR@[9; 51)
|
||||
BLOCK@[9; 51)
|
||||
L_CURLY@[9; 10) "{"
|
||||
WHITESPACE@[10; 15) "\n "
|
||||
LET_STMT@[15; 26)
|
||||
LET_KW@[15; 18) "let"
|
||||
WHITESPACE@[18; 19) " "
|
||||
PLACEHOLDER_PAT@[19; 20)
|
||||
UNDERSCORE@[19; 20) "_"
|
||||
WHITESPACE@[20; 21) " "
|
||||
EQ@[21; 22) "="
|
||||
WHITESPACE@[22; 23) " "
|
||||
REF_EXPR@[23; 25)
|
||||
AMP@[23; 24) "&"
|
||||
LITERAL@[24; 25)
|
||||
INT_NUMBER@[24; 25) "1"
|
||||
SEMI@[25; 26) ";"
|
||||
WHITESPACE@[26; 31) "\n "
|
||||
LET_STMT@[31; 49)
|
||||
LET_KW@[31; 34) "let"
|
||||
WHITESPACE@[34; 35) " "
|
||||
PLACEHOLDER_PAT@[35; 36)
|
||||
UNDERSCORE@[35; 36) "_"
|
||||
WHITESPACE@[36; 37) " "
|
||||
EQ@[37; 38) "="
|
||||
WHITESPACE@[38; 39) " "
|
||||
REF_EXPR@[39; 48)
|
||||
AMP@[39; 40) "&"
|
||||
MUT_KW@[40; 43) "mut"
|
||||
WHITESPACE@[43; 44) " "
|
||||
REF_EXPR@[44; 48)
|
||||
AMP@[44; 45) "&"
|
||||
CALL_EXPR@[45; 48)
|
||||
PATH_EXPR@[45; 46)
|
||||
PATH@[45; 46)
|
||||
PATH_SEGMENT@[45; 46)
|
||||
NAME_REF@[45; 46)
|
||||
IDENT@[45; 46) "f"
|
||||
ARG_LIST@[46; 48)
|
||||
L_PAREN@[46; 47) "("
|
||||
R_PAREN@[47; 48) ")"
|
||||
SEMI@[48; 49) ";"
|
||||
WHITESPACE@[49; 50) "\n"
|
||||
R_CURLY@[50; 51) "}"
|
||||
WHITESPACE@[51; 52) "\n"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user