diff options
122 files changed, 1739 insertions, 1531 deletions
diff --git a/crates/libeditor/src/symbols.rs b/crates/libeditor/src/symbols.rs index b2b05bc6a..37cef6389 100644 --- a/crates/libeditor/src/symbols.rs +++ b/crates/libeditor/src/symbols.rs | |||
@@ -93,7 +93,7 @@ fn structure_node(node: SyntaxNodeRef) -> Option<StructureNode> { | |||
93 | visitor() | 93 | visitor() |
94 | .visit(decl::<ast::FnDef>) | 94 | .visit(decl::<ast::FnDef>) |
95 | .visit(decl::<ast::StructDef>) | 95 | .visit(decl::<ast::StructDef>) |
96 | .visit(decl::<ast::NamedField>) | 96 | .visit(decl::<ast::NamedFieldDef>) |
97 | .visit(decl::<ast::EnumDef>) | 97 | .visit(decl::<ast::EnumDef>) |
98 | .visit(decl::<ast::TraitDef>) | 98 | .visit(decl::<ast::TraitDef>) |
99 | .visit(decl::<ast::Module>) | 99 | .visit(decl::<ast::Module>) |
diff --git a/crates/libeditor/tests/test.rs b/crates/libeditor/tests/test.rs index 858c6c4a6..4f7c2e07a 100644 --- a/crates/libeditor/tests/test.rs +++ b/crates/libeditor/tests/test.rs | |||
@@ -104,7 +104,7 @@ impl fmt::Debug for E {} | |||
104 | let symbols = file_structure(&file); | 104 | let symbols = file_structure(&file); |
105 | assert_eq_dbg( | 105 | assert_eq_dbg( |
106 | r#"[StructureNode { parent: None, label: "Foo", navigation_range: [8; 11), node_range: [1; 26), kind: STRUCT_DEF }, | 106 | r#"[StructureNode { parent: None, label: "Foo", navigation_range: [8; 11), node_range: [1; 26), kind: STRUCT_DEF }, |
107 | StructureNode { parent: Some(0), label: "x", navigation_range: [18; 19), node_range: [18; 24), kind: NAMED_FIELD }, | 107 | StructureNode { parent: Some(0), label: "x", navigation_range: [18; 19), node_range: [18; 24), kind: NAMED_FIELD_DEF }, |
108 | StructureNode { parent: None, label: "m", navigation_range: [32; 33), node_range: [28; 53), kind: MODULE }, | 108 | StructureNode { parent: None, label: "m", navigation_range: [32; 33), node_range: [28; 53), kind: MODULE }, |
109 | StructureNode { parent: Some(2), label: "bar", navigation_range: [43; 46), node_range: [40; 51), kind: FN_DEF }, | 109 | StructureNode { parent: Some(2), label: "bar", navigation_range: [43; 46), node_range: [40; 51), kind: FN_DEF }, |
110 | StructureNode { parent: None, label: "E", navigation_range: [60; 61), node_range: [55; 75), kind: ENUM_DEF }, | 110 | StructureNode { parent: None, label: "E", navigation_range: [60; 61), node_range: [55; 75), kind: ENUM_DEF }, |
diff --git a/crates/libsyntax2/src/ast/generated.rs b/crates/libsyntax2/src/ast/generated.rs index 5edb9faaa..8eb91c1df 100644 --- a/crates/libsyntax2/src/ast/generated.rs +++ b/crates/libsyntax2/src/ast/generated.rs | |||
@@ -283,25 +283,25 @@ impl<'a> AstNode<'a> for NameRef<'a> { | |||
283 | 283 | ||
284 | impl<'a> NameRef<'a> {} | 284 | impl<'a> NameRef<'a> {} |
285 | 285 | ||
286 | // NamedField | 286 | // NamedFieldDef |
287 | #[derive(Debug, Clone, Copy)] | 287 | #[derive(Debug, Clone, Copy)] |
288 | pub struct NamedField<'a> { | 288 | pub struct NamedFieldDef<'a> { |
289 | syntax: SyntaxNodeRef<'a>, | 289 | syntax: SyntaxNodeRef<'a>, |
290 | } | 290 | } |
291 | 291 | ||
292 | impl<'a> AstNode<'a> for NamedField<'a> { | 292 | impl<'a> AstNode<'a> for NamedFieldDef<'a> { |
293 | fn cast(syntax: SyntaxNodeRef<'a>) -> Option<Self> { | 293 | fn cast(syntax: SyntaxNodeRef<'a>) -> Option<Self> { |
294 | match syntax.kind() { | 294 | match syntax.kind() { |
295 | NAMED_FIELD => Some(NamedField { syntax }), | 295 | NAMED_FIELD_DEF => Some(NamedFieldDef { syntax }), |
296 | _ => None, | 296 | _ => None, |
297 | } | 297 | } |
298 | } | 298 | } |
299 | fn syntax(self) -> SyntaxNodeRef<'a> { self.syntax } | 299 | fn syntax(self) -> SyntaxNodeRef<'a> { self.syntax } |
300 | } | 300 | } |
301 | 301 | ||
302 | impl<'a> ast::NameOwner<'a> for NamedField<'a> {} | 302 | impl<'a> ast::NameOwner<'a> for NamedFieldDef<'a> {} |
303 | impl<'a> ast::AttrsOwner<'a> for NamedField<'a> {} | 303 | impl<'a> ast::AttrsOwner<'a> for NamedFieldDef<'a> {} |
304 | impl<'a> NamedField<'a> {} | 304 | impl<'a> NamedFieldDef<'a> {} |
305 | 305 | ||
306 | // NeverType | 306 | // NeverType |
307 | #[derive(Debug, Clone, Copy)] | 307 | #[derive(Debug, Clone, Copy)] |
@@ -498,7 +498,7 @@ impl<'a> ast::NameOwner<'a> for StructDef<'a> {} | |||
498 | impl<'a> ast::TypeParamsOwner<'a> for StructDef<'a> {} | 498 | impl<'a> ast::TypeParamsOwner<'a> for StructDef<'a> {} |
499 | impl<'a> ast::AttrsOwner<'a> for StructDef<'a> {} | 499 | impl<'a> ast::AttrsOwner<'a> for StructDef<'a> {} |
500 | impl<'a> StructDef<'a> { | 500 | impl<'a> StructDef<'a> { |
501 | pub fn fields(self) -> impl Iterator<Item = NamedField<'a>> + 'a { | 501 | pub fn fields(self) -> impl Iterator<Item = NamedFieldDef<'a>> + 'a { |
502 | super::children(self) | 502 | super::children(self) |
503 | } | 503 | } |
504 | } | 504 | } |
diff --git a/crates/libsyntax2/src/grammar.ron b/crates/libsyntax2/src/grammar.ron index 52764e664..f4792df1d 100644 --- a/crates/libsyntax2/src/grammar.ron +++ b/crates/libsyntax2/src/grammar.ron | |||
@@ -149,6 +149,7 @@ Grammar( | |||
149 | "PLACEHOLDER_PAT", | 149 | "PLACEHOLDER_PAT", |
150 | "PATH_PAT", | 150 | "PATH_PAT", |
151 | "STRUCT_PAT", | 151 | "STRUCT_PAT", |
152 | "FIELD_PAT_LIST", | ||
152 | "TUPLE_STRUCT_PAT", | 153 | "TUPLE_STRUCT_PAT", |
153 | "TUPLE_PAT", | 154 | "TUPLE_PAT", |
154 | "SLICE_PAT", | 155 | "SLICE_PAT", |
@@ -170,10 +171,12 @@ Grammar( | |||
170 | "BLOCK_EXPR", | 171 | "BLOCK_EXPR", |
171 | "RETURN_EXPR", | 172 | "RETURN_EXPR", |
172 | "MATCH_EXPR", | 173 | "MATCH_EXPR", |
174 | "MATCH_ARM_LIST", | ||
173 | "MATCH_ARM", | 175 | "MATCH_ARM", |
174 | "MATCH_GUARD", | 176 | "MATCH_GUARD", |
175 | "STRUCT_LIT", | 177 | "STRUCT_LIT", |
176 | "STRUCT_LIT_FIELD", | 178 | "NAMED_FIELD_LIST", |
179 | "NAMED_FIELD", | ||
177 | 180 | ||
178 | // postfix | 181 | // postfix |
179 | "CALL_EXPR", | 182 | "CALL_EXPR", |
@@ -190,14 +193,20 @@ Grammar( | |||
190 | "RANGE_EXPR", // just weird | 193 | "RANGE_EXPR", // just weird |
191 | "BIN_EXPR", | 194 | "BIN_EXPR", |
192 | 195 | ||
193 | 196 | "BLOCK", | |
194 | "EXTERN_BLOCK_EXPR", | 197 | "EXTERN_BLOCK", |
198 | "EXTERN_ITEM_LIST", | ||
195 | "ENUM_VARIANT", | 199 | "ENUM_VARIANT", |
196 | "NAMED_FIELD", | 200 | "NAMED_FIELD_DEF_LIST", |
201 | "NAMED_FIELD_DEF", | ||
202 | "POS_FIELD_LIST", | ||
197 | "POS_FIELD", | 203 | "POS_FIELD", |
204 | "ENUM_VARIANT_LIST", | ||
205 | "ITEM_LIST", | ||
198 | "ATTR", | 206 | "ATTR", |
199 | "META_ITEM", // not an item actually | 207 | "META_ITEM", // not an item actually |
200 | "USE_TREE", | 208 | "USE_TREE", |
209 | "USE_TREE_LIST", | ||
201 | "PATH", | 210 | "PATH", |
202 | "PATH_SEGMENT", | 211 | "PATH_SEGMENT", |
203 | "LITERAL", | 212 | "LITERAL", |
@@ -244,10 +253,10 @@ Grammar( | |||
244 | "AttrsOwner", | 253 | "AttrsOwner", |
245 | ], | 254 | ], |
246 | collections: [ | 255 | collections: [ |
247 | ["fields", "NamedField"] | 256 | ["fields", "NamedFieldDef"] |
248 | ] | 257 | ] |
249 | ), | 258 | ), |
250 | "NamedField": ( traits: ["NameOwner", "AttrsOwner"] ), | 259 | "NamedFieldDef": ( traits: ["NameOwner", "AttrsOwner"] ), |
251 | "EnumDef": ( traits: [ | 260 | "EnumDef": ( traits: [ |
252 | "NameOwner", | 261 | "NameOwner", |
253 | "TypeParamsOwner", | 262 | "TypeParamsOwner", |
diff --git a/crates/libsyntax2/src/grammar/expressions/atom.rs b/crates/libsyntax2/src/grammar/expressions/atom.rs index 9d98340af..417366026 100644 --- a/crates/libsyntax2/src/grammar/expressions/atom.rs +++ b/crates/libsyntax2/src/grammar/expressions/atom.rs | |||
@@ -148,7 +148,11 @@ fn lambda_expr(p: &mut Parser) -> CompletedMarker { | |||
148 | p.eat(MOVE_KW); | 148 | p.eat(MOVE_KW); |
149 | params::param_list_opt_types(p); | 149 | params::param_list_opt_types(p); |
150 | if opt_fn_ret_type(p) { | 150 | if opt_fn_ret_type(p) { |
151 | block(p); | 151 | if p.at(L_CURLY) { |
152 | block(p); | ||
153 | } else { | ||
154 | p.error("expected a block"); | ||
155 | } | ||
152 | } else { | 156 | } else { |
153 | expr(p); | 157 | expr(p); |
154 | } | 158 | } |
@@ -254,6 +258,17 @@ fn match_expr(p: &mut Parser) -> CompletedMarker { | |||
254 | let m = p.start(); | 258 | let m = p.start(); |
255 | p.bump(); | 259 | p.bump(); |
256 | expr_no_struct(p); | 260 | expr_no_struct(p); |
261 | if p.at(L_CURLY) { | ||
262 | match_arm_list(p); | ||
263 | } else { | ||
264 | p.error("expected `{`") | ||
265 | } | ||
266 | m.complete(p, MATCH_EXPR) | ||
267 | } | ||
268 | |||
269 | fn match_arm_list(p: &mut Parser) { | ||
270 | assert!(p.at(L_CURLY)); | ||
271 | let m = p.start(); | ||
257 | p.eat(L_CURLY); | 272 | p.eat(L_CURLY); |
258 | while !p.at(EOF) && !p.at(R_CURLY) { | 273 | while !p.at(EOF) && !p.at(R_CURLY) { |
259 | // test match_arms_commas | 274 | // test match_arms_commas |
@@ -271,7 +286,7 @@ fn match_expr(p: &mut Parser) -> CompletedMarker { | |||
271 | } | 286 | } |
272 | } | 287 | } |
273 | p.expect(R_CURLY); | 288 | p.expect(R_CURLY); |
274 | m.complete(p, MATCH_EXPR) | 289 | m.complete(p, MATCH_ARM_LIST); |
275 | } | 290 | } |
276 | 291 | ||
277 | // test match_arm | 292 | // test match_arm |
@@ -307,62 +322,10 @@ pub(super) fn block_expr(p: &mut Parser) -> CompletedMarker { | |||
307 | assert!(p.at(L_CURLY) || p.at(UNSAFE_KW) && p.nth(1) == L_CURLY); | 322 | assert!(p.at(L_CURLY) || p.at(UNSAFE_KW) && p.nth(1) == L_CURLY); |
308 | let m = p.start(); | 323 | let m = p.start(); |
309 | p.eat(UNSAFE_KW); | 324 | p.eat(UNSAFE_KW); |
310 | p.bump(); | 325 | block(p); |
311 | while !p.at(EOF) && !p.at(R_CURLY) { | ||
312 | match p.current() { | ||
313 | LET_KW => let_stmt(p), | ||
314 | _ => { | ||
315 | // test block_items | ||
316 | // fn a() { fn b() {} } | ||
317 | let m = p.start(); | ||
318 | match items::maybe_item(p, items::ItemFlavor::Mod) { | ||
319 | items::MaybeItem::Item(kind) => { | ||
320 | m.complete(p, kind); | ||
321 | } | ||
322 | items::MaybeItem::Modifiers => { | ||
323 | m.abandon(p); | ||
324 | p.error("expected an item"); | ||
325 | } | ||
326 | // test pub_expr | ||
327 | // fn foo() { pub 92; } //FIXME | ||
328 | items::MaybeItem::None => { | ||
329 | let is_blocklike = expressions::expr_stmt(p) == BlockLike::Block; | ||
330 | if p.eat(SEMI) || (is_blocklike && !p.at(R_CURLY)) { | ||
331 | m.complete(p, EXPR_STMT); | ||
332 | } else { | ||
333 | m.abandon(p); | ||
334 | } | ||
335 | } | ||
336 | } | ||
337 | } | ||
338 | } | ||
339 | } | ||
340 | p.expect(R_CURLY); | ||
341 | m.complete(p, BLOCK_EXPR) | 326 | m.complete(p, BLOCK_EXPR) |
342 | } | 327 | } |
343 | 328 | ||
344 | // test let_stmt; | ||
345 | // fn foo() { | ||
346 | // let a; | ||
347 | // let b: i32; | ||
348 | // let c = 92; | ||
349 | // let d: i32 = 92; | ||
350 | // } | ||
351 | fn let_stmt(p: &mut Parser) { | ||
352 | assert!(p.at(LET_KW)); | ||
353 | let m = p.start(); | ||
354 | p.bump(); | ||
355 | patterns::pattern(p); | ||
356 | if p.at(COLON) { | ||
357 | types::ascription(p); | ||
358 | } | ||
359 | if p.eat(EQ) { | ||
360 | expressions::expr(p); | ||
361 | } | ||
362 | p.expect(SEMI); | ||
363 | m.complete(p, LET_STMT); | ||
364 | } | ||
365 | |||
366 | // test return_expr | 329 | // test return_expr |
367 | // fn foo() { | 330 | // fn foo() { |
368 | // return; | 331 | // return; |
diff --git a/crates/libsyntax2/src/grammar/expressions/mod.rs b/crates/libsyntax2/src/grammar/expressions/mod.rs index 9ce0c1f8f..e133c1d9b 100644 --- a/crates/libsyntax2/src/grammar/expressions/mod.rs +++ b/crates/libsyntax2/src/grammar/expressions/mod.rs | |||
@@ -26,11 +26,62 @@ fn expr_no_struct(p: &mut Parser) { | |||
26 | // fn c() { 1; 2; } | 26 | // fn c() { 1; 2; } |
27 | // fn d() { 1; 2 } | 27 | // fn d() { 1; 2 } |
28 | pub(super) fn block(p: &mut Parser) { | 28 | pub(super) fn block(p: &mut Parser) { |
29 | if !p.at(L_CURLY) { | 29 | assert!(p.at(L_CURLY)); |
30 | p.error("expected block"); | 30 | let m = p.start(); |
31 | return; | 31 | p.bump(); |
32 | while !p.at(EOF) && !p.at(R_CURLY) { | ||
33 | match p.current() { | ||
34 | LET_KW => let_stmt(p), | ||
35 | _ => { | ||
36 | // test block_items | ||
37 | // fn a() { fn b() {} } | ||
38 | let m = p.start(); | ||
39 | match items::maybe_item(p, items::ItemFlavor::Mod) { | ||
40 | items::MaybeItem::Item(kind) => { | ||
41 | m.complete(p, kind); | ||
42 | } | ||
43 | items::MaybeItem::Modifiers => { | ||
44 | m.abandon(p); | ||
45 | p.error("expected an item"); | ||
46 | } | ||
47 | // test pub_expr | ||
48 | // fn foo() { pub 92; } //FIXME | ||
49 | items::MaybeItem::None => { | ||
50 | let is_blocklike = expressions::expr_stmt(p) == BlockLike::Block; | ||
51 | if p.eat(SEMI) || (is_blocklike && !p.at(R_CURLY)) { | ||
52 | m.complete(p, EXPR_STMT); | ||
53 | } else { | ||
54 | m.abandon(p); | ||
55 | } | ||
56 | } | ||
57 | } | ||
58 | } | ||
59 | } | ||
60 | } | ||
61 | p.expect(R_CURLY); | ||
62 | m.complete(p, BLOCK); | ||
63 | |||
64 | // test let_stmt; | ||
65 | // fn foo() { | ||
66 | // let a; | ||
67 | // let b: i32; | ||
68 | // let c = 92; | ||
69 | // let d: i32 = 92; | ||
70 | // } | ||
71 | fn let_stmt(p: &mut Parser) { | ||
72 | assert!(p.at(LET_KW)); | ||
73 | let m = p.start(); | ||
74 | p.bump(); | ||
75 | patterns::pattern(p); | ||
76 | if p.at(COLON) { | ||
77 | types::ascription(p); | ||
78 | } | ||
79 | if p.eat(EQ) { | ||
80 | expressions::expr(p); | ||
81 | } | ||
82 | p.expect(SEMI); | ||
83 | m.complete(p, LET_STMT); | ||
32 | } | 84 | } |
33 | atom::block_expr(p); | ||
34 | } | 85 | } |
35 | 86 | ||
36 | #[derive(Clone, Copy)] | 87 | #[derive(Clone, Copy)] |
@@ -339,7 +390,7 @@ fn path_expr(p: &mut Parser, r: Restrictions) -> CompletedMarker { | |||
339 | paths::expr_path(p); | 390 | paths::expr_path(p); |
340 | match p.current() { | 391 | match p.current() { |
341 | L_CURLY if !r.forbid_structs => { | 392 | L_CURLY if !r.forbid_structs => { |
342 | struct_lit(p); | 393 | named_field_list(p); |
343 | m.complete(p, STRUCT_LIT) | 394 | m.complete(p, STRUCT_LIT) |
344 | } | 395 | } |
345 | EXCL => { | 396 | EXCL => { |
@@ -356,8 +407,9 @@ fn path_expr(p: &mut Parser, r: Restrictions) -> CompletedMarker { | |||
356 | // S { x, y: 32, }; | 407 | // S { x, y: 32, }; |
357 | // S { x, y: 32, ..Default::default() }; | 408 | // S { x, y: 32, ..Default::default() }; |
358 | // } | 409 | // } |
359 | fn struct_lit(p: &mut Parser) { | 410 | fn named_field_list(p: &mut Parser) { |
360 | assert!(p.at(L_CURLY)); | 411 | assert!(p.at(L_CURLY)); |
412 | let m = p.start(); | ||
361 | p.bump(); | 413 | p.bump(); |
362 | while !p.at(EOF) && !p.at(R_CURLY) { | 414 | while !p.at(EOF) && !p.at(R_CURLY) { |
363 | match p.current() { | 415 | match p.current() { |
@@ -367,7 +419,7 @@ fn struct_lit(p: &mut Parser) { | |||
367 | if p.eat(COLON) { | 419 | if p.eat(COLON) { |
368 | expr(p); | 420 | expr(p); |
369 | } | 421 | } |
370 | m.complete(p, STRUCT_LIT_FIELD); | 422 | m.complete(p, NAMED_FIELD); |
371 | } | 423 | } |
372 | DOTDOT => { | 424 | DOTDOT => { |
373 | p.bump(); | 425 | p.bump(); |
@@ -380,4 +432,5 @@ fn struct_lit(p: &mut Parser) { | |||
380 | } | 432 | } |
381 | } | 433 | } |
382 | p.expect(R_CURLY); | 434 | p.expect(R_CURLY); |
435 | m.complete(p, NAMED_FIELD_LIST); | ||
383 | } | 436 | } |
diff --git a/crates/libsyntax2/src/grammar/items/mod.rs b/crates/libsyntax2/src/grammar/items/mod.rs index 18b681ee2..d236fb506 100644 --- a/crates/libsyntax2/src/grammar/items/mod.rs +++ b/crates/libsyntax2/src/grammar/items/mod.rs | |||
@@ -194,8 +194,8 @@ fn items_without_modifiers(p: &mut Parser) -> Option<SyntaxKind> { | |||
194 | // extern {} | 194 | // extern {} |
195 | EXTERN_KW if la == L_CURLY || ((la == STRING || la == RAW_STRING) && p.nth(2) == L_CURLY) => { | 195 | EXTERN_KW if la == L_CURLY || ((la == STRING || la == RAW_STRING) && p.nth(2) == L_CURLY) => { |
196 | abi(p); | 196 | abi(p); |
197 | extern_block(p); | 197 | extern_item_list(p); |
198 | EXTERN_BLOCK_EXPR | 198 | EXTERN_BLOCK |
199 | } | 199 | } |
200 | _ => return None, | 200 | _ => return None, |
201 | }; | 201 | }; |
@@ -212,10 +212,12 @@ fn extern_crate_item(p: &mut Parser) { | |||
212 | p.expect(SEMI); | 212 | p.expect(SEMI); |
213 | } | 213 | } |
214 | 214 | ||
215 | fn extern_block(p: &mut Parser) { | 215 | fn extern_item_list(p: &mut Parser) { |
216 | assert!(p.at(L_CURLY)); | 216 | assert!(p.at(L_CURLY)); |
217 | let m = p.start(); | ||
217 | p.bump(); | 218 | p.bump(); |
218 | p.expect(R_CURLY); | 219 | p.expect(R_CURLY); |
220 | m.complete(p, EXTERN_ITEM_LIST); | ||
219 | } | 221 | } |
220 | 222 | ||
221 | fn function(p: &mut Parser, flavor: ItemFlavor) { | 223 | fn function(p: &mut Parser, flavor: ItemFlavor) { |
@@ -284,14 +286,22 @@ fn mod_item(p: &mut Parser) { | |||
284 | p.bump(); | 286 | p.bump(); |
285 | 287 | ||
286 | name(p); | 288 | name(p); |
287 | if !p.eat(SEMI) { | 289 | if p.at(L_CURLY) { |
288 | if p.expect(L_CURLY) { | 290 | mod_item_list(p); |
289 | mod_contents(p, true); | 291 | } else if !p.eat(SEMI) { |
290 | p.expect(R_CURLY); | 292 | p.error("expected `;` or `{`"); |
291 | } | ||
292 | } | 293 | } |
293 | } | 294 | } |
294 | 295 | ||
296 | fn mod_item_list(p: &mut Parser) { | ||
297 | assert!(p.at(L_CURLY)); | ||
298 | let m = p.start(); | ||
299 | p.bump(); | ||
300 | mod_contents(p, true); | ||
301 | p.expect(R_CURLY); | ||
302 | m.complete(p, ITEM_LIST); | ||
303 | } | ||
304 | |||
295 | fn macro_call(p: &mut Parser) -> BlockLike { | 305 | fn macro_call(p: &mut Parser) -> BlockLike { |
296 | assert!(paths::is_path_start(p)); | 306 | assert!(paths::is_path_start(p)); |
297 | paths::use_path(p); | 307 | paths::use_path(p); |
diff --git a/crates/libsyntax2/src/grammar/items/structs.rs b/crates/libsyntax2/src/grammar/items/structs.rs index cde9d0ae6..ca027d718 100644 --- a/crates/libsyntax2/src/grammar/items/structs.rs +++ b/crates/libsyntax2/src/grammar/items/structs.rs | |||
@@ -14,7 +14,7 @@ pub(super) fn struct_def(p: &mut Parser) { | |||
14 | p.bump(); | 14 | p.bump(); |
15 | return; | 15 | return; |
16 | } | 16 | } |
17 | L_CURLY => named_fields(p), | 17 | L_CURLY => named_field_def_list(p), |
18 | _ => { | 18 | _ => { |
19 | //TODO: special case `(` error message | 19 | //TODO: special case `(` error message |
20 | p.error("expected `;` or `{`"); | 20 | p.error("expected `;` or `{`"); |
@@ -26,9 +26,9 @@ pub(super) fn struct_def(p: &mut Parser) { | |||
26 | p.bump(); | 26 | p.bump(); |
27 | return; | 27 | return; |
28 | } | 28 | } |
29 | L_CURLY => named_fields(p), | 29 | L_CURLY => named_field_def_list(p), |
30 | L_PAREN => { | 30 | L_PAREN => { |
31 | pos_fields(p); | 31 | pos_field_list(p); |
32 | p.expect(SEMI); | 32 | p.expect(SEMI); |
33 | } | 33 | } |
34 | _ => { | 34 | _ => { |
@@ -44,46 +44,58 @@ pub(super) fn enum_def(p: &mut Parser) { | |||
44 | name(p); | 44 | name(p); |
45 | type_params::opt_type_param_list(p); | 45 | type_params::opt_type_param_list(p); |
46 | type_params::opt_where_clause(p); | 46 | type_params::opt_where_clause(p); |
47 | if p.expect(L_CURLY) { | 47 | if p.at(L_CURLY) { |
48 | while !p.at(EOF) && !p.at(R_CURLY) { | 48 | enum_variant_list(p); |
49 | let var = p.start(); | 49 | } else { |
50 | attributes::outer_attributes(p); | 50 | p.error("expected `{`") |
51 | if p.at(IDENT) { | 51 | } |
52 | name(p); | 52 | } |
53 | match p.current() { | 53 | |
54 | L_CURLY => named_fields(p), | 54 | fn enum_variant_list(p: &mut Parser) { |
55 | L_PAREN => pos_fields(p), | 55 | assert!(p.at(L_CURLY)); |
56 | EQ => { | 56 | let m = p.start(); |
57 | p.bump(); | 57 | p.bump(); |
58 | expressions::expr(p); | 58 | while !p.at(EOF) && !p.at(R_CURLY) { |
59 | } | 59 | let var = p.start(); |
60 | _ => (), | 60 | attributes::outer_attributes(p); |
61 | if p.at(IDENT) { | ||
62 | name(p); | ||
63 | match p.current() { | ||
64 | L_CURLY => named_field_def_list(p), | ||
65 | L_PAREN => pos_field_list(p), | ||
66 | EQ => { | ||
67 | p.bump(); | ||
68 | expressions::expr(p); | ||
61 | } | 69 | } |
62 | var.complete(p, ENUM_VARIANT); | 70 | _ => (), |
63 | } else { | ||
64 | var.abandon(p); | ||
65 | p.err_and_bump("expected enum variant"); | ||
66 | } | ||
67 | if !p.at(R_CURLY) { | ||
68 | p.expect(COMMA); | ||
69 | } | 71 | } |
72 | var.complete(p, ENUM_VARIANT); | ||
73 | } else { | ||
74 | var.abandon(p); | ||
75 | p.err_and_bump("expected enum variant"); | ||
76 | } | ||
77 | if !p.at(R_CURLY) { | ||
78 | p.expect(COMMA); | ||
70 | } | 79 | } |
71 | p.expect(R_CURLY); | ||
72 | } | 80 | } |
81 | p.expect(R_CURLY); | ||
82 | m.complete(p, ENUM_VARIANT_LIST); | ||
73 | } | 83 | } |
74 | 84 | ||
75 | fn named_fields(p: &mut Parser) { | 85 | fn named_field_def_list(p: &mut Parser) { |
76 | assert!(p.at(L_CURLY)); | 86 | assert!(p.at(L_CURLY)); |
87 | let m = p.start(); | ||
77 | p.bump(); | 88 | p.bump(); |
78 | while !p.at(R_CURLY) && !p.at(EOF) { | 89 | while !p.at(R_CURLY) && !p.at(EOF) { |
79 | named_field(p); | 90 | named_field_def(p); |
80 | if !p.at(R_CURLY) { | 91 | if !p.at(R_CURLY) { |
81 | p.expect(COMMA); | 92 | p.expect(COMMA); |
82 | } | 93 | } |
83 | } | 94 | } |
84 | p.expect(R_CURLY); | 95 | p.expect(R_CURLY); |
96 | m.complete(p, NAMED_FIELD_DEF_LIST); | ||
85 | 97 | ||
86 | fn named_field(p: &mut Parser) { | 98 | fn named_field_def(p: &mut Parser) { |
87 | let m = p.start(); | 99 | let m = p.start(); |
88 | // test field_attrs | 100 | // test field_attrs |
89 | // struct S { | 101 | // struct S { |
@@ -96,7 +108,7 @@ fn named_fields(p: &mut Parser) { | |||
96 | name(p); | 108 | name(p); |
97 | p.expect(COLON); | 109 | p.expect(COLON); |
98 | types::type_(p); | 110 | types::type_(p); |
99 | m.complete(p, NAMED_FIELD); | 111 | m.complete(p, NAMED_FIELD_DEF); |
100 | } else { | 112 | } else { |
101 | m.abandon(p); | 113 | m.abandon(p); |
102 | p.err_and_bump("expected field declaration"); | 114 | p.err_and_bump("expected field declaration"); |
@@ -104,7 +116,9 @@ fn named_fields(p: &mut Parser) { | |||
104 | } | 116 | } |
105 | } | 117 | } |
106 | 118 | ||
107 | fn pos_fields(p: &mut Parser) { | 119 | fn pos_field_list(p: &mut Parser) { |
120 | assert!(p.at(L_PAREN)); | ||
121 | let m = p.start(); | ||
108 | if !p.expect(L_PAREN) { | 122 | if !p.expect(L_PAREN) { |
109 | return; | 123 | return; |
110 | } | 124 | } |
@@ -119,4 +133,5 @@ fn pos_fields(p: &mut Parser) { | |||
119 | } | 133 | } |
120 | } | 134 | } |
121 | p.expect(R_PAREN); | 135 | p.expect(R_PAREN); |
136 | m.complete(p, POS_FIELD_LIST); | ||
122 | } | 137 | } |
diff --git a/crates/libsyntax2/src/grammar/items/traits.rs b/crates/libsyntax2/src/grammar/items/traits.rs index 73ecd4bef..3853ccaab 100644 --- a/crates/libsyntax2/src/grammar/items/traits.rs +++ b/crates/libsyntax2/src/grammar/items/traits.rs | |||
@@ -11,18 +11,29 @@ pub(super) fn trait_def(p: &mut Parser) { | |||
11 | type_params::bounds(p); | 11 | type_params::bounds(p); |
12 | } | 12 | } |
13 | type_params::opt_where_clause(p); | 13 | type_params::opt_where_clause(p); |
14 | p.expect(L_CURLY); | 14 | if p.at(L_CURLY) { |
15 | // test trait_item_items | 15 | trait_item_list(p); |
16 | // impl F { | 16 | } else { |
17 | // type A: Clone; | 17 | p.error("expected `{`"); |
18 | // const B: i32; | 18 | } |
19 | // fn foo() {} | 19 | } |
20 | // fn bar(&self); | 20 | |
21 | // } | 21 | // test trait_item_list |
22 | // impl F { | ||
23 | // type A: Clone; | ||
24 | // const B: i32; | ||
25 | // fn foo() {} | ||
26 | // fn bar(&self); | ||
27 | // } | ||
28 | fn trait_item_list(p: &mut Parser) { | ||
29 | assert!(p.at(L_CURLY)); | ||
30 | let m = p.start(); | ||
31 | p.bump(); | ||
22 | while !p.at(EOF) && !p.at(R_CURLY) { | 32 | while !p.at(EOF) && !p.at(R_CURLY) { |
23 | item_or_macro(p, true, ItemFlavor::Trait); | 33 | item_or_macro(p, true, ItemFlavor::Trait); |
24 | } | 34 | } |
25 | p.expect(R_CURLY); | 35 | p.expect(R_CURLY); |
36 | m.complete(p, ITEM_LIST); | ||
26 | } | 37 | } |
27 | 38 | ||
28 | // test impl_item | 39 | // test impl_item |
@@ -45,19 +56,30 @@ pub(super) fn impl_item(p: &mut Parser) { | |||
45 | types::type_(p); | 56 | types::type_(p); |
46 | } | 57 | } |
47 | type_params::opt_where_clause(p); | 58 | type_params::opt_where_clause(p); |
48 | p.expect(L_CURLY); | 59 | if p.at(L_CURLY) { |
60 | impl_item_list(p); | ||
61 | } else { | ||
62 | p.error("expected `{`"); | ||
63 | } | ||
64 | } | ||
65 | |||
66 | // test impl_item_list | ||
67 | // impl F { | ||
68 | // type A = i32; | ||
69 | // const B: i32 = 92; | ||
70 | // fn foo() {} | ||
71 | // fn bar(&self) {} | ||
72 | // } | ||
73 | fn impl_item_list(p: &mut Parser) { | ||
74 | assert!(p.at(L_CURLY)); | ||
75 | let m = p.start(); | ||
76 | p.bump(); | ||
49 | 77 | ||
50 | // test impl_item_items | ||
51 | // impl F { | ||
52 | // type A = i32; | ||
53 | // const B: i32 = 92; | ||
54 | // fn foo() {} | ||
55 | // fn bar(&self) {} | ||
56 | // } | ||
57 | while !p.at(EOF) && !p.at(R_CURLY) { | 78 | while !p.at(EOF) && !p.at(R_CURLY) { |
58 | item_or_macro(p, true, ItemFlavor::Mod); | 79 | item_or_macro(p, true, ItemFlavor::Mod); |
59 | } | 80 | } |
60 | p.expect(R_CURLY); | 81 | p.expect(R_CURLY); |
82 | m.complete(p, ITEM_LIST); | ||
61 | } | 83 | } |
62 | 84 | ||
63 | fn choose_type_params_over_qpath(p: &Parser) -> bool { | 85 | fn choose_type_params_over_qpath(p: &Parser) -> bool { |
diff --git a/crates/libsyntax2/src/grammar/items/use_item.rs b/crates/libsyntax2/src/grammar/items/use_item.rs index 3da40a629..2fbf2234a 100644 --- a/crates/libsyntax2/src/grammar/items/use_item.rs +++ b/crates/libsyntax2/src/grammar/items/use_item.rs | |||
@@ -20,7 +20,7 @@ fn use_tree(p: &mut Parser) { | |||
20 | if p.at(COLONCOLON) { | 20 | if p.at(COLONCOLON) { |
21 | p.bump(); | 21 | p.bump(); |
22 | } | 22 | } |
23 | nested_trees(p); | 23 | use_tree_list(p); |
24 | } | 24 | } |
25 | _ if paths::is_path_start(p) => { | 25 | _ if paths::is_path_start(p) => { |
26 | paths::use_path(p); | 26 | paths::use_path(p); |
@@ -34,7 +34,7 @@ fn use_tree(p: &mut Parser) { | |||
34 | STAR => { | 34 | STAR => { |
35 | p.bump(); | 35 | p.bump(); |
36 | } | 36 | } |
37 | L_CURLY => nested_trees(p), | 37 | L_CURLY => use_tree_list(p), |
38 | _ => { | 38 | _ => { |
39 | // is this unreachable? | 39 | // is this unreachable? |
40 | p.error("expected `{` or `*`"); | 40 | p.error("expected `{` or `*`"); |
@@ -53,8 +53,9 @@ fn use_tree(p: &mut Parser) { | |||
53 | m.complete(p, USE_TREE); | 53 | m.complete(p, USE_TREE); |
54 | } | 54 | } |
55 | 55 | ||
56 | fn nested_trees(p: &mut Parser) { | 56 | fn use_tree_list(p: &mut Parser) { |
57 | assert!(p.at(L_CURLY)); | 57 | assert!(p.at(L_CURLY)); |
58 | let m = p.start(); | ||
58 | p.bump(); | 59 | p.bump(); |
59 | while !p.at(EOF) && !p.at(R_CURLY) { | 60 | while !p.at(EOF) && !p.at(R_CURLY) { |
60 | use_tree(p); | 61 | use_tree(p); |
@@ -63,4 +64,5 @@ fn nested_trees(p: &mut Parser) { | |||
63 | } | 64 | } |
64 | } | 65 | } |
65 | p.expect(R_CURLY); | 66 | p.expect(R_CURLY); |
67 | m.complete(p, USE_TREE_LIST); | ||
66 | } | 68 | } |
diff --git a/crates/libsyntax2/src/grammar/mod.rs b/crates/libsyntax2/src/grammar/mod.rs index 25887921b..0f118f12d 100644 --- a/crates/libsyntax2/src/grammar/mod.rs +++ b/crates/libsyntax2/src/grammar/mod.rs | |||
@@ -144,18 +144,21 @@ fn name_ref(p: &mut Parser) { | |||
144 | } | 144 | } |
145 | 145 | ||
146 | fn error_block(p: &mut Parser, message: &str) { | 146 | fn error_block(p: &mut Parser, message: &str) { |
147 | assert!(p.at(L_CURLY)); | 147 | go(p, Some(message)); |
148 | let err = p.start(); | 148 | fn go(p: &mut Parser, message: Option<&str>) { |
149 | p.error(message); | 149 | assert!(p.at(L_CURLY)); |
150 | p.bump(); | 150 | let m = p.start(); |
151 | let mut level: u32 = 1; | 151 | if let Some(message) = message { |
152 | while level > 0 && !p.at(EOF) { | 152 | p.error(message); |
153 | match p.current() { | ||
154 | L_CURLY => level += 1, | ||
155 | R_CURLY => level -= 1, | ||
156 | _ => (), | ||
157 | } | 153 | } |
158 | p.bump(); | 154 | p.bump(); |
155 | while !p.at(EOF) && !p.at(R_CURLY) { | ||
156 | match p.current() { | ||
157 | L_CURLY => go(p, None), | ||
158 | _ => p.bump(), | ||
159 | } | ||
160 | } | ||
161 | p.eat(R_CURLY); | ||
162 | m.complete(p, ERROR); | ||
159 | } | 163 | } |
160 | err.complete(p, ERROR); | ||
161 | } | 164 | } |
diff --git a/crates/libsyntax2/src/grammar/patterns.rs b/crates/libsyntax2/src/grammar/patterns.rs index 71a1d5445..7ddbfa318 100644 --- a/crates/libsyntax2/src/grammar/patterns.rs +++ b/crates/libsyntax2/src/grammar/patterns.rs | |||
@@ -69,7 +69,7 @@ fn path_pat(p: &mut Parser) -> CompletedMarker { | |||
69 | TUPLE_STRUCT_PAT | 69 | TUPLE_STRUCT_PAT |
70 | } | 70 | } |
71 | L_CURLY => { | 71 | L_CURLY => { |
72 | struct_pat_fields(p); | 72 | field_pat_list(p); |
73 | STRUCT_PAT | 73 | STRUCT_PAT |
74 | } | 74 | } |
75 | _ => PATH_PAT | 75 | _ => PATH_PAT |
@@ -99,15 +99,16 @@ fn tuple_pat_fields(p: &mut Parser) { | |||
99 | p.expect(R_PAREN); | 99 | p.expect(R_PAREN); |
100 | } | 100 | } |
101 | 101 | ||
102 | // test struct_pat_fields | 102 | // test field_pat_list |
103 | // fn foo() { | 103 | // fn foo() { |
104 | // let S {} = (); | 104 | // let S {} = (); |
105 | // let S { f, ref mut g } = (); | 105 | // let S { f, ref mut g } = (); |
106 | // let S { h: _, ..} = (); | 106 | // let S { h: _, ..} = (); |
107 | // let S { h: _, } = (); | 107 | // let S { h: _, } = (); |
108 | // } | 108 | // } |
109 | fn struct_pat_fields(p: &mut Parser) { | 109 | fn field_pat_list(p: &mut Parser) { |
110 | assert!(p.at(L_CURLY)); | 110 | assert!(p.at(L_CURLY)); |
111 | let m = p.start(); | ||
111 | p.bump(); | 112 | p.bump(); |
112 | while !p.at(EOF) && !p.at(R_CURLY) { | 113 | while !p.at(EOF) && !p.at(R_CURLY) { |
113 | match p.current() { | 114 | match p.current() { |
@@ -126,6 +127,7 @@ fn struct_pat_fields(p: &mut Parser) { | |||
126 | } | 127 | } |
127 | } | 128 | } |
128 | p.expect(R_CURLY); | 129 | p.expect(R_CURLY); |
130 | m.complete(p, FIELD_PAT_LIST); | ||
129 | } | 131 | } |
130 | 132 | ||
131 | // test placeholder_pat | 133 | // test placeholder_pat |
diff --git a/crates/libsyntax2/src/lib.rs b/crates/libsyntax2/src/lib.rs index 53ae18988..d3ecbe470 100644 --- a/crates/libsyntax2/src/lib.rs +++ b/crates/libsyntax2/src/lib.rs | |||
@@ -53,5 +53,31 @@ pub use { | |||
53 | 53 | ||
54 | pub fn parse(text: &str) -> SyntaxNode { | 54 | pub fn parse(text: &str) -> SyntaxNode { |
55 | let tokens = tokenize(&text); | 55 | let tokens = tokenize(&text); |
56 | parser_impl::parse::<yellow::GreenBuilder>(text, &tokens) | 56 | let res = parser_impl::parse::<yellow::GreenBuilder>(text, &tokens); |
57 | validate_block_structure(res.borrowed()); | ||
58 | res | ||
59 | } | ||
60 | |||
61 | fn validate_block_structure(root: SyntaxNodeRef) { | ||
62 | let mut stack = Vec::new(); | ||
63 | for node in algo::walk::preorder(root) { | ||
64 | match node.kind() { | ||
65 | SyntaxKind::L_CURLY => { | ||
66 | stack.push(node) | ||
67 | } | ||
68 | SyntaxKind::R_CURLY => { | ||
69 | if let Some(pair) = stack.pop() { | ||
70 | assert_eq!(node.parent(), pair.parent()); | ||
71 | assert!( | ||
72 | node.next_sibling().is_none() && pair.prev_sibling().is_none(), | ||
73 | "floating curlys at {:?}\nfile:\n{}\nerror:\n{}\n", | ||
74 | node, | ||
75 | root.text(), | ||
76 | node.text(), | ||
77 | ); | ||
78 | } | ||
79 | } | ||
80 | _ => (), | ||
81 | } | ||
82 | } | ||
57 | } | 83 | } |
diff --git a/crates/libsyntax2/src/syntax_kinds/generated.rs b/crates/libsyntax2/src/syntax_kinds/generated.rs index 61d527f93..6c7f44aee 100644 --- a/crates/libsyntax2/src/syntax_kinds/generated.rs +++ b/crates/libsyntax2/src/syntax_kinds/generated.rs | |||
@@ -147,6 +147,7 @@ pub enum SyntaxKind { | |||
147 | PLACEHOLDER_PAT, | 147 | PLACEHOLDER_PAT, |
148 | PATH_PAT, | 148 | PATH_PAT, |
149 | STRUCT_PAT, | 149 | STRUCT_PAT, |
150 | FIELD_PAT_LIST, | ||
150 | TUPLE_STRUCT_PAT, | 151 | TUPLE_STRUCT_PAT, |
151 | TUPLE_PAT, | 152 | TUPLE_PAT, |
152 | SLICE_PAT, | 153 | SLICE_PAT, |
@@ -166,10 +167,12 @@ pub enum SyntaxKind { | |||
166 | BLOCK_EXPR, | 167 | BLOCK_EXPR, |
167 | RETURN_EXPR, | 168 | RETURN_EXPR, |
168 | MATCH_EXPR, | 169 | MATCH_EXPR, |
170 | MATCH_ARM_LIST, | ||
169 | MATCH_ARM, | 171 | MATCH_ARM, |
170 | MATCH_GUARD, | 172 | MATCH_GUARD, |
171 | STRUCT_LIT, | 173 | STRUCT_LIT, |
172 | STRUCT_LIT_FIELD, | 174 | NAMED_FIELD_LIST, |
175 | NAMED_FIELD, | ||
173 | CALL_EXPR, | 176 | CALL_EXPR, |
174 | INDEX_EXPR, | 177 | INDEX_EXPR, |
175 | METHOD_CALL_EXPR, | 178 | METHOD_CALL_EXPR, |
@@ -180,13 +183,20 @@ pub enum SyntaxKind { | |||
180 | PREFIX_EXPR, | 183 | PREFIX_EXPR, |
181 | RANGE_EXPR, | 184 | RANGE_EXPR, |
182 | BIN_EXPR, | 185 | BIN_EXPR, |
183 | EXTERN_BLOCK_EXPR, | 186 | BLOCK, |
187 | EXTERN_BLOCK, | ||
188 | EXTERN_ITEM_LIST, | ||
184 | ENUM_VARIANT, | 189 | ENUM_VARIANT, |
185 | NAMED_FIELD, | 190 | NAMED_FIELD_DEF_LIST, |
191 | NAMED_FIELD_DEF, | ||
192 | POS_FIELD_LIST, | ||
186 | POS_FIELD, | 193 | POS_FIELD, |
194 | ENUM_VARIANT_LIST, | ||
195 | ITEM_LIST, | ||
187 | ATTR, | 196 | ATTR, |
188 | META_ITEM, | 197 | META_ITEM, |
189 | USE_TREE, | 198 | USE_TREE, |
199 | USE_TREE_LIST, | ||
190 | PATH, | 200 | PATH, |
191 | PATH_SEGMENT, | 201 | PATH_SEGMENT, |
192 | LITERAL, | 202 | LITERAL, |
@@ -397,6 +407,7 @@ impl SyntaxKind { | |||
397 | PLACEHOLDER_PAT => &SyntaxInfo { name: "PLACEHOLDER_PAT" }, | 407 | PLACEHOLDER_PAT => &SyntaxInfo { name: "PLACEHOLDER_PAT" }, |
398 | PATH_PAT => &SyntaxInfo { name: "PATH_PAT" }, | 408 | PATH_PAT => &SyntaxInfo { name: "PATH_PAT" }, |
399 | STRUCT_PAT => &SyntaxInfo { name: "STRUCT_PAT" }, | 409 | STRUCT_PAT => &SyntaxInfo { name: "STRUCT_PAT" }, |
410 | FIELD_PAT_LIST => &SyntaxInfo { name: "FIELD_PAT_LIST" }, | ||
400 | TUPLE_STRUCT_PAT => &SyntaxInfo { name: "TUPLE_STRUCT_PAT" }, | 411 | TUPLE_STRUCT_PAT => &SyntaxInfo { name: "TUPLE_STRUCT_PAT" }, |
401 | TUPLE_PAT => &SyntaxInfo { name: "TUPLE_PAT" }, | 412 | TUPLE_PAT => &SyntaxInfo { name: "TUPLE_PAT" }, |
402 | SLICE_PAT => &SyntaxInfo { name: "SLICE_PAT" }, | 413 | SLICE_PAT => &SyntaxInfo { name: "SLICE_PAT" }, |
@@ -416,10 +427,12 @@ impl SyntaxKind { | |||
416 | BLOCK_EXPR => &SyntaxInfo { name: "BLOCK_EXPR" }, | 427 | BLOCK_EXPR => &SyntaxInfo { name: "BLOCK_EXPR" }, |
417 | RETURN_EXPR => &SyntaxInfo { name: "RETURN_EXPR" }, | 428 | RETURN_EXPR => &SyntaxInfo { name: "RETURN_EXPR" }, |
418 | MATCH_EXPR => &SyntaxInfo { name: "MATCH_EXPR" }, | 429 | MATCH_EXPR => &SyntaxInfo { name: "MATCH_EXPR" }, |
430 | MATCH_ARM_LIST => &SyntaxInfo { name: "MATCH_ARM_LIST" }, | ||
419 | MATCH_ARM => &SyntaxInfo { name: "MATCH_ARM" }, | 431 | MATCH_ARM => &SyntaxInfo { name: "MATCH_ARM" }, |
420 | MATCH_GUARD => &SyntaxInfo { name: "MATCH_GUARD" }, | 432 | MATCH_GUARD => &SyntaxInfo { name: "MATCH_GUARD" }, |
421 | STRUCT_LIT => &SyntaxInfo { name: "STRUCT_LIT" }, | 433 | STRUCT_LIT => &SyntaxInfo { name: "STRUCT_LIT" }, |
422 | STRUCT_LIT_FIELD => &SyntaxInfo { name: "STRUCT_LIT_FIELD" }, | 434 | NAMED_FIELD_LIST => &SyntaxInfo { name: "NAMED_FIELD_LIST" }, |
435 | NAMED_FIELD => &SyntaxInfo { name: "NAMED_FIELD" }, | ||
423 | CALL_EXPR => &SyntaxInfo { name: "CALL_EXPR" }, | 436 | CALL_EXPR => &SyntaxInfo { name: "CALL_EXPR" }, |
424 | INDEX_EXPR => &SyntaxInfo { name: "INDEX_EXPR" }, | 437 | INDEX_EXPR => &SyntaxInfo { name: "INDEX_EXPR" }, |
425 | METHOD_CALL_EXPR => &SyntaxInfo { name: "METHOD_CALL_EXPR" }, | 438 | METHOD_CALL_EXPR => &SyntaxInfo { name: "METHOD_CALL_EXPR" }, |
@@ -430,13 +443,20 @@ impl SyntaxKind { | |||
430 | PREFIX_EXPR => &SyntaxInfo { name: "PREFIX_EXPR" }, | 443 | PREFIX_EXPR => &SyntaxInfo { name: "PREFIX_EXPR" }, |
431 | RANGE_EXPR => &SyntaxInfo { name: "RANGE_EXPR" }, | 444 | RANGE_EXPR => &SyntaxInfo { name: "RANGE_EXPR" }, |
432 | BIN_EXPR => &SyntaxInfo { name: "BIN_EXPR" }, | 445 | BIN_EXPR => &SyntaxInfo { name: "BIN_EXPR" }, |
433 | EXTERN_BLOCK_EXPR => &SyntaxInfo { name: "EXTERN_BLOCK_EXPR" }, | 446 | BLOCK => &SyntaxInfo { name: "BLOCK" }, |
447 | EXTERN_BLOCK => &SyntaxInfo { name: "EXTERN_BLOCK" }, | ||
448 | EXTERN_ITEM_LIST => &SyntaxInfo { name: "EXTERN_ITEM_LIST" }, | ||
434 | ENUM_VARIANT => &SyntaxInfo { name: "ENUM_VARIANT" }, | 449 | ENUM_VARIANT => &SyntaxInfo { name: "ENUM_VARIANT" }, |
435 | NAMED_FIELD => &SyntaxInfo { name: "NAMED_FIELD" }, | 450 | NAMED_FIELD_DEF_LIST => &SyntaxInfo { name: "NAMED_FIELD_DEF_LIST" }, |
451 | NAMED_FIELD_DEF => &SyntaxInfo { name: "NAMED_FIELD_DEF" }, | ||
452 | POS_FIELD_LIST => &SyntaxInfo { name: "POS_FIELD_LIST" }, | ||
436 | POS_FIELD => &SyntaxInfo { name: "POS_FIELD" }, | 453 | POS_FIELD => &SyntaxInfo { name: "POS_FIELD" }, |
454 | ENUM_VARIANT_LIST => &SyntaxInfo { name: "ENUM_VARIANT_LIST" }, | ||
455 | ITEM_LIST => &SyntaxInfo { name: "ITEM_LIST" }, | ||
437 | ATTR => &SyntaxInfo { name: "ATTR" }, | 456 | ATTR => &SyntaxInfo { name: "ATTR" }, |
438 | META_ITEM => &SyntaxInfo { name: "META_ITEM" }, | 457 | META_ITEM => &SyntaxInfo { name: "META_ITEM" }, |
439 | USE_TREE => &SyntaxInfo { name: "USE_TREE" }, | 458 | USE_TREE => &SyntaxInfo { name: "USE_TREE" }, |
459 | USE_TREE_LIST => &SyntaxInfo { name: "USE_TREE_LIST" }, | ||
440 | PATH => &SyntaxInfo { name: "PATH" }, | 460 | PATH => &SyntaxInfo { name: "PATH" }, |
441 | PATH_SEGMENT => &SyntaxInfo { name: "PATH_SEGMENT" }, | 461 | PATH_SEGMENT => &SyntaxInfo { name: "PATH_SEGMENT" }, |
442 | LITERAL => &SyntaxInfo { name: "LITERAL" }, | 462 | LITERAL => &SyntaxInfo { name: "LITERAL" }, |
diff --git a/crates/libsyntax2/tests/data/parser/err/0000_struct_field_missing_comma.txt b/crates/libsyntax2/tests/data/parser/err/0000_struct_field_missing_comma.txt index cd9cf54c6..8ab435821 100644 --- a/crates/libsyntax2/tests/data/parser/err/0000_struct_field_missing_comma.txt +++ b/crates/libsyntax2/tests/data/parser/err/0000_struct_field_missing_comma.txt | |||
@@ -5,29 +5,30 @@ FILE@[0; 34) | |||
5 | NAME@[7; 8) | 5 | NAME@[7; 8) |
6 | IDENT@[7; 8) "S" | 6 | IDENT@[7; 8) "S" |
7 | WHITESPACE@[8; 9) | 7 | WHITESPACE@[8; 9) |
8 | L_CURLY@[9; 10) | 8 | NAMED_FIELD_DEF_LIST@[9; 34) |
9 | WHITESPACE@[10; 15) | 9 | L_CURLY@[9; 10) |
10 | NAMED_FIELD@[15; 21) | 10 | WHITESPACE@[10; 15) |
11 | NAME@[15; 16) | 11 | NAMED_FIELD_DEF@[15; 21) |
12 | IDENT@[15; 16) "a" | 12 | NAME@[15; 16) |
13 | COLON@[16; 17) | 13 | IDENT@[15; 16) "a" |
14 | WHITESPACE@[17; 18) | 14 | COLON@[16; 17) |
15 | PATH_TYPE@[18; 21) | 15 | WHITESPACE@[17; 18) |
16 | PATH@[18; 21) | 16 | PATH_TYPE@[18; 21) |
17 | PATH_SEGMENT@[18; 21) | 17 | PATH@[18; 21) |
18 | NAME_REF@[18; 21) | 18 | PATH_SEGMENT@[18; 21) |
19 | IDENT@[18; 21) "u32" | 19 | NAME_REF@[18; 21) |
20 | err: `expected COMMA` | 20 | IDENT@[18; 21) "u32" |
21 | WHITESPACE@[21; 26) | 21 | err: `expected COMMA` |
22 | NAMED_FIELD@[26; 32) | 22 | WHITESPACE@[21; 26) |
23 | NAME@[26; 27) | 23 | NAMED_FIELD_DEF@[26; 32) |
24 | IDENT@[26; 27) "b" | 24 | NAME@[26; 27) |
25 | COLON@[27; 28) | 25 | IDENT@[26; 27) "b" |
26 | WHITESPACE@[28; 29) | 26 | COLON@[27; 28) |
27 | PATH_TYPE@[29; 32) | 27 | WHITESPACE@[28; 29) |
28 | PATH@[29; 32) | 28 | PATH_TYPE@[29; 32) |
29 | PATH_SEGMENT@[29; 32) | 29 | PATH@[29; 32) |
30 | NAME_REF@[29; 32) | 30 | PATH_SEGMENT@[29; 32) |
31 | IDENT@[29; 32) "u32" | 31 | NAME_REF@[29; 32) |
32 | WHITESPACE@[32; 33) | 32 | IDENT@[29; 32) "u32" |
33 | R_CURLY@[33; 34) | 33 | WHITESPACE@[32; 33) |
34 | R_CURLY@[33; 34) | ||
diff --git a/crates/libsyntax2/tests/data/parser/err/0001_item_recovery_in_file.txt b/crates/libsyntax2/tests/data/parser/err/0001_item_recovery_in_file.txt index e974b6e8c..9c0394e25 100644 --- a/crates/libsyntax2/tests/data/parser/err/0001_item_recovery_in_file.txt +++ b/crates/libsyntax2/tests/data/parser/err/0001_item_recovery_in_file.txt | |||
@@ -13,5 +13,6 @@ FILE@[0; 21) | |||
13 | NAME@[17; 18) | 13 | NAME@[17; 18) |
14 | IDENT@[17; 18) "S" | 14 | IDENT@[17; 18) "S" |
15 | WHITESPACE@[18; 19) | 15 | WHITESPACE@[18; 19) |
16 | L_CURLY@[19; 20) | 16 | NAMED_FIELD_DEF_LIST@[19; 21) |
17 | R_CURLY@[20; 21) | 17 | L_CURLY@[19; 20) |
18 | R_CURLY@[20; 21) | ||
diff --git a/crates/libsyntax2/tests/data/parser/err/0003_C++_semicolon.txt b/crates/libsyntax2/tests/data/parser/err/0003_C++_semicolon.txt index 01d12a646..13558d07e 100644 --- a/crates/libsyntax2/tests/data/parser/err/0003_C++_semicolon.txt +++ b/crates/libsyntax2/tests/data/parser/err/0003_C++_semicolon.txt | |||
@@ -5,34 +5,35 @@ FILE@[0; 40) | |||
5 | NAME@[7; 8) | 5 | NAME@[7; 8) |
6 | IDENT@[7; 8) "S" | 6 | IDENT@[7; 8) "S" |
7 | WHITESPACE@[8; 9) | 7 | WHITESPACE@[8; 9) |
8 | L_CURLY@[9; 10) | 8 | NAMED_FIELD_DEF_LIST@[9; 39) |
9 | WHITESPACE@[10; 15) | 9 | L_CURLY@[9; 10) |
10 | NAMED_FIELD@[15; 21) | 10 | WHITESPACE@[10; 15) |
11 | NAME@[15; 16) | 11 | NAMED_FIELD_DEF@[15; 21) |
12 | IDENT@[15; 16) "a" | 12 | NAME@[15; 16) |
13 | COLON@[16; 17) | 13 | IDENT@[15; 16) "a" |
14 | WHITESPACE@[17; 18) | 14 | COLON@[16; 17) |
15 | PATH_TYPE@[18; 21) | 15 | WHITESPACE@[17; 18) |
16 | PATH@[18; 21) | 16 | PATH_TYPE@[18; 21) |
17 | PATH_SEGMENT@[18; 21) | 17 | PATH@[18; 21) |
18 | NAME_REF@[18; 21) | 18 | PATH_SEGMENT@[18; 21) |
19 | IDENT@[18; 21) "i32" | 19 | NAME_REF@[18; 21) |
20 | COMMA@[21; 22) | 20 | IDENT@[18; 21) "i32" |
21 | WHITESPACE@[22; 27) | 21 | COMMA@[21; 22) |
22 | NAMED_FIELD@[27; 36) | 22 | WHITESPACE@[22; 27) |
23 | NAME@[27; 28) | 23 | NAMED_FIELD_DEF@[27; 36) |
24 | IDENT@[27; 28) "b" | 24 | NAME@[27; 28) |
25 | COLON@[28; 29) | 25 | IDENT@[27; 28) "b" |
26 | WHITESPACE@[29; 30) | 26 | COLON@[28; 29) |
27 | PATH_TYPE@[30; 36) | 27 | WHITESPACE@[29; 30) |
28 | PATH@[30; 36) | 28 | PATH_TYPE@[30; 36) |
29 | PATH_SEGMENT@[30; 36) | 29 | PATH@[30; 36) |
30 | NAME_REF@[30; 36) | 30 | PATH_SEGMENT@[30; 36) |
31 | IDENT@[30; 36) "String" | 31 | NAME_REF@[30; 36) |
32 | COMMA@[36; 37) | 32 | IDENT@[30; 36) "String" |
33 | WHITESPACE@[37; 38) | 33 | COMMA@[36; 37) |
34 | R_CURLY@[38; 39) | 34 | WHITESPACE@[37; 38) |
35 | err: `expected item, found `;` | 35 | R_CURLY@[38; 39) |
36 | err: `expected item, found `;` | ||
36 | consider removing this semicolon` | 37 | consider removing this semicolon` |
37 | ERROR@[39; 40) | 38 | ERROR@[39; 40) |
38 | SEMI@[39; 40) | 39 | SEMI@[39; 40) |
diff --git a/crates/libsyntax2/tests/data/parser/err/0005_attribute_recover.txt b/crates/libsyntax2/tests/data/parser/err/0005_attribute_recover.txt index 12451c892..8843e8372 100644 --- a/crates/libsyntax2/tests/data/parser/err/0005_attribute_recover.txt +++ b/crates/libsyntax2/tests/data/parser/err/0005_attribute_recover.txt | |||
@@ -25,7 +25,7 @@ FILE@[0; 54) | |||
25 | L_PAREN@[25; 26) | 25 | L_PAREN@[25; 26) |
26 | R_PAREN@[26; 27) | 26 | R_PAREN@[26; 27) |
27 | WHITESPACE@[27; 28) | 27 | WHITESPACE@[27; 28) |
28 | BLOCK_EXPR@[28; 31) | 28 | BLOCK@[28; 31) |
29 | L_CURLY@[28; 29) | 29 | L_CURLY@[28; 29) |
30 | WHITESPACE@[29; 30) | 30 | WHITESPACE@[29; 30) |
31 | R_CURLY@[30; 31) | 31 | R_CURLY@[30; 31) |
diff --git a/crates/libsyntax2/tests/data/parser/err/0006_named_field_recovery.txt b/crates/libsyntax2/tests/data/parser/err/0006_named_field_recovery.txt index 0b6fa65df..e6e33cdbd 100644 --- a/crates/libsyntax2/tests/data/parser/err/0006_named_field_recovery.txt +++ b/crates/libsyntax2/tests/data/parser/err/0006_named_field_recovery.txt | |||
@@ -5,69 +5,70 @@ FILE@[0; 74) | |||
5 | NAME@[7; 8) | 5 | NAME@[7; 8) |
6 | IDENT@[7; 8) "S" | 6 | IDENT@[7; 8) "S" |
7 | WHITESPACE@[8; 9) | 7 | WHITESPACE@[8; 9) |
8 | L_CURLY@[9; 10) | 8 | NAMED_FIELD_DEF_LIST@[9; 73) |
9 | WHITESPACE@[10; 15) | 9 | L_CURLY@[9; 10) |
10 | NAMED_FIELD@[15; 21) | 10 | WHITESPACE@[10; 15) |
11 | NAME@[15; 16) | 11 | NAMED_FIELD_DEF@[15; 21) |
12 | IDENT@[15; 16) "f" | 12 | NAME@[15; 16) |
13 | COLON@[16; 17) | 13 | IDENT@[15; 16) "f" |
14 | WHITESPACE@[17; 18) | 14 | COLON@[16; 17) |
15 | PATH_TYPE@[18; 21) | 15 | WHITESPACE@[17; 18) |
16 | PATH@[18; 21) | 16 | PATH_TYPE@[18; 21) |
17 | PATH_SEGMENT@[18; 21) | 17 | PATH@[18; 21) |
18 | NAME_REF@[18; 21) | 18 | PATH_SEGMENT@[18; 21) |
19 | IDENT@[18; 21) "u32" | 19 | NAME_REF@[18; 21) |
20 | COMMA@[21; 22) | 20 | IDENT@[18; 21) "u32" |
21 | WHITESPACE@[22; 27) | 21 | COMMA@[21; 22) |
22 | VISIBILITY@[27; 30) | 22 | WHITESPACE@[22; 27) |
23 | PUB_KW@[27; 30) | 23 | VISIBILITY@[27; 30) |
24 | WHITESPACE@[30; 31) | 24 | PUB_KW@[27; 30) |
25 | err: `expected field declaration` | 25 | WHITESPACE@[30; 31) |
26 | ERROR@[31; 33) | 26 | err: `expected field declaration` |
27 | INT_NUMBER@[31; 33) "92" | 27 | ERROR@[31; 33) |
28 | err: `expected COMMA` | 28 | INT_NUMBER@[31; 33) "92" |
29 | WHITESPACE@[33; 38) | 29 | err: `expected COMMA` |
30 | err: `expected field declaration` | 30 | WHITESPACE@[33; 38) |
31 | ERROR@[38; 39) | 31 | err: `expected field declaration` |
32 | PLUS@[38; 39) | 32 | ERROR@[38; 39) |
33 | err: `expected COMMA` | 33 | PLUS@[38; 39) |
34 | WHITESPACE@[39; 40) | 34 | err: `expected COMMA` |
35 | err: `expected field declaration` | 35 | WHITESPACE@[39; 40) |
36 | ERROR@[40; 41) | 36 | err: `expected field declaration` |
37 | MINUS@[40; 41) | 37 | ERROR@[40; 41) |
38 | err: `expected COMMA` | 38 | MINUS@[40; 41) |
39 | WHITESPACE@[41; 42) | 39 | err: `expected COMMA` |
40 | err: `expected field declaration` | 40 | WHITESPACE@[41; 42) |
41 | ERROR@[42; 43) | 41 | err: `expected field declaration` |
42 | STAR@[42; 43) | 42 | ERROR@[42; 43) |
43 | err: `expected COMMA` | 43 | STAR@[42; 43) |
44 | WHITESPACE@[43; 48) | 44 | err: `expected COMMA` |
45 | NAMED_FIELD@[48; 58) | 45 | WHITESPACE@[43; 48) |
46 | VISIBILITY@[48; 51) | 46 | NAMED_FIELD_DEF@[48; 58) |
47 | PUB_KW@[48; 51) | 47 | VISIBILITY@[48; 51) |
48 | WHITESPACE@[51; 52) | 48 | PUB_KW@[48; 51) |
49 | NAME@[52; 53) | 49 | WHITESPACE@[51; 52) |
50 | IDENT@[52; 53) "x" | 50 | NAME@[52; 53) |
51 | COLON@[53; 54) | 51 | IDENT@[52; 53) "x" |
52 | WHITESPACE@[54; 55) | 52 | COLON@[53; 54) |
53 | PATH_TYPE@[55; 58) | 53 | WHITESPACE@[54; 55) |
54 | PATH@[55; 58) | 54 | PATH_TYPE@[55; 58) |
55 | PATH_SEGMENT@[55; 58) | 55 | PATH@[55; 58) |
56 | NAME_REF@[55; 58) | 56 | PATH_SEGMENT@[55; 58) |
57 | IDENT@[55; 58) "u32" | 57 | NAME_REF@[55; 58) |
58 | COMMA@[58; 59) | 58 | IDENT@[55; 58) "u32" |
59 | WHITESPACE@[59; 64) | 59 | COMMA@[58; 59) |
60 | NAMED_FIELD@[64; 70) | 60 | WHITESPACE@[59; 64) |
61 | NAME@[64; 65) | 61 | NAMED_FIELD_DEF@[64; 70) |
62 | IDENT@[64; 65) "z" | 62 | NAME@[64; 65) |
63 | COLON@[65; 66) | 63 | IDENT@[64; 65) "z" |
64 | WHITESPACE@[66; 67) | 64 | COLON@[65; 66) |
65 | PATH_TYPE@[67; 70) | 65 | WHITESPACE@[66; 67) |
66 | PATH@[67; 70) | 66 | PATH_TYPE@[67; 70) |
67 | PATH_SEGMENT@[67; 70) | 67 | PATH@[67; 70) |
68 | NAME_REF@[67; 70) | 68 | PATH_SEGMENT@[67; 70) |
69 | IDENT@[67; 70) "f64" | 69 | NAME_REF@[67; 70) |
70 | COMMA@[70; 71) | 70 | IDENT@[67; 70) "f64" |
71 | WHITESPACE@[71; 72) | 71 | COMMA@[70; 71) |
72 | R_CURLY@[72; 73) | 72 | WHITESPACE@[71; 72) |
73 | R_CURLY@[72; 73) | ||
73 | WHITESPACE@[73; 74) | 74 | WHITESPACE@[73; 74) |
diff --git a/crates/libsyntax2/tests/data/parser/err/0007_stray_curly_in_file.txt b/crates/libsyntax2/tests/data/parser/err/0007_stray_curly_in_file.txt index cff8353d4..9642ed5bc 100644 --- a/crates/libsyntax2/tests/data/parser/err/0007_stray_curly_in_file.txt +++ b/crates/libsyntax2/tests/data/parser/err/0007_stray_curly_in_file.txt | |||
@@ -22,7 +22,7 @@ FILE@[0; 31) | |||
22 | PARAM_LIST@[23; 25) | 22 | PARAM_LIST@[23; 25) |
23 | L_PAREN@[23; 24) | 23 | L_PAREN@[23; 24) |
24 | R_PAREN@[24; 25) | 24 | R_PAREN@[24; 25) |
25 | BLOCK_EXPR@[25; 27) | 25 | BLOCK@[25; 27) |
26 | L_CURLY@[25; 26) | 26 | L_CURLY@[25; 26) |
27 | R_CURLY@[26; 27) | 27 | R_CURLY@[26; 27) |
28 | WHITESPACE@[27; 29) | 28 | WHITESPACE@[27; 29) |
diff --git a/crates/libsyntax2/tests/data/parser/err/0008_item_block_recovery.txt b/crates/libsyntax2/tests/data/parser/err/0008_item_block_recovery.txt index 68f2b8aa5..5a062acab 100644 --- a/crates/libsyntax2/tests/data/parser/err/0008_item_block_recovery.txt +++ b/crates/libsyntax2/tests/data/parser/err/0008_item_block_recovery.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 95) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 12) | 11 | BLOCK@[9; 12) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 11) | 13 | WHITESPACE@[10; 11) |
14 | R_CURLY@[11; 12) | 14 | R_CURLY@[11; 12) |
@@ -32,23 +32,25 @@ FILE@[0; 95) | |||
32 | WHITESPACE@[28; 29) | 32 | WHITESPACE@[28; 29) |
33 | TRUE_KW@[29; 33) | 33 | TRUE_KW@[29; 33) |
34 | WHITESPACE@[33; 34) | 34 | WHITESPACE@[33; 34) |
35 | L_CURLY@[34; 35) | 35 | ERROR@[34; 51) |
36 | WHITESPACE@[35; 44) | 36 | L_CURLY@[34; 35) |
37 | INT_NUMBER@[44; 45) "1" | 37 | WHITESPACE@[35; 44) |
38 | WHITESPACE@[45; 50) | 38 | INT_NUMBER@[44; 45) "1" |
39 | R_CURLY@[50; 51) | 39 | WHITESPACE@[45; 50) |
40 | R_CURLY@[50; 51) | ||
40 | WHITESPACE@[51; 52) | 41 | WHITESPACE@[51; 52) |
41 | ELSE_KW@[52; 56) | 42 | ELSE_KW@[52; 56) |
42 | WHITESPACE@[56; 57) | 43 | WHITESPACE@[56; 57) |
43 | L_CURLY@[57; 58) | 44 | ERROR@[57; 78) |
44 | WHITESPACE@[58; 67) | 45 | L_CURLY@[57; 58) |
45 | INT_NUMBER@[67; 68) "2" | 46 | WHITESPACE@[58; 67) |
46 | WHITESPACE@[68; 69) | 47 | INT_NUMBER@[67; 68) "2" |
47 | PLUS@[69; 70) | 48 | WHITESPACE@[68; 69) |
48 | WHITESPACE@[70; 71) | 49 | PLUS@[69; 70) |
49 | INT_NUMBER@[71; 72) "3" | 50 | WHITESPACE@[70; 71) |
50 | WHITESPACE@[72; 77) | 51 | INT_NUMBER@[71; 72) "3" |
51 | R_CURLY@[77; 78) | 52 | WHITESPACE@[72; 77) |
53 | R_CURLY@[77; 78) | ||
52 | WHITESPACE@[78; 79) | 54 | WHITESPACE@[78; 79) |
53 | R_CURLY@[79; 80) | 55 | R_CURLY@[79; 80) |
54 | WHITESPACE@[80; 82) | 56 | WHITESPACE@[80; 82) |
@@ -61,7 +63,7 @@ FILE@[0; 95) | |||
61 | L_PAREN@[88; 89) | 63 | L_PAREN@[88; 89) |
62 | R_PAREN@[89; 90) | 64 | R_PAREN@[89; 90) |
63 | WHITESPACE@[90; 91) | 65 | WHITESPACE@[90; 91) |
64 | BLOCK_EXPR@[91; 94) | 66 | BLOCK@[91; 94) |
65 | L_CURLY@[91; 92) | 67 | L_CURLY@[91; 92) |
66 | WHITESPACE@[92; 93) | 68 | WHITESPACE@[92; 93) |
67 | R_CURLY@[93; 94) | 69 | R_CURLY@[93; 94) |
diff --git a/crates/libsyntax2/tests/data/parser/err/0010_unsafe_lambda_block.txt b/crates/libsyntax2/tests/data/parser/err/0010_unsafe_lambda_block.txt index b18de3a9c..e453c3651 100644 --- a/crates/libsyntax2/tests/data/parser/err/0010_unsafe_lambda_block.txt +++ b/crates/libsyntax2/tests/data/parser/err/0010_unsafe_lambda_block.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 42) | |||
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) |
11 | BLOCK_EXPR@[10; 41) | 11 | BLOCK@[10; 41) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) |
13 | WHITESPACE@[11; 16) | 13 | WHITESPACE@[11; 16) |
14 | LAMBDA_EXPR@[16; 24) | 14 | LAMBDA_EXPR@[16; 24) |
@@ -21,19 +21,20 @@ FILE@[0; 42) | |||
21 | TUPLE_TYPE@[22; 24) | 21 | TUPLE_TYPE@[22; 24) |
22 | L_PAREN@[22; 23) | 22 | L_PAREN@[22; 23) |
23 | R_PAREN@[23; 24) | 23 | R_PAREN@[23; 24) |
24 | err: `expected block` | 24 | err: `expected a block` |
25 | WHITESPACE@[24; 25) | 25 | WHITESPACE@[24; 25) |
26 | EXPR_STMT@[25; 39) | 26 | EXPR_STMT@[25; 39) |
27 | BLOCK_EXPR@[25; 38) | 27 | BLOCK_EXPR@[25; 38) |
28 | UNSAFE_KW@[25; 31) | 28 | UNSAFE_KW@[25; 31) |
29 | WHITESPACE@[31; 32) | 29 | WHITESPACE@[31; 32) |
30 | L_CURLY@[32; 33) | 30 | BLOCK@[32; 38) |
31 | WHITESPACE@[33; 34) | 31 | L_CURLY@[32; 33) |
32 | TUPLE_EXPR@[34; 36) | 32 | WHITESPACE@[33; 34) |
33 | L_PAREN@[34; 35) | 33 | TUPLE_EXPR@[34; 36) |
34 | R_PAREN@[35; 36) | 34 | L_PAREN@[34; 35) |
35 | WHITESPACE@[36; 37) | 35 | R_PAREN@[35; 36) |
36 | R_CURLY@[37; 38) | 36 | WHITESPACE@[36; 37) |
37 | R_CURLY@[37; 38) | ||
37 | SEMI@[38; 39) | 38 | SEMI@[38; 39) |
38 | WHITESPACE@[39; 40) | 39 | WHITESPACE@[39; 40) |
39 | R_CURLY@[40; 41) | 40 | R_CURLY@[40; 41) |
diff --git a/crates/libsyntax2/tests/data/parser/err/0013_invalid_type.txt b/crates/libsyntax2/tests/data/parser/err/0013_invalid_type.txt index 3ec4be9fa..7f48502da 100644 --- a/crates/libsyntax2/tests/data/parser/err/0013_invalid_type.txt +++ b/crates/libsyntax2/tests/data/parser/err/0013_invalid_type.txt | |||
@@ -7,76 +7,77 @@ FILE@[0; 86) | |||
7 | WHITESPACE@[10; 11) | 7 | WHITESPACE@[10; 11) |
8 | NAME@[11; 16) | 8 | NAME@[11; 16) |
9 | IDENT@[11; 16) "Cache" | 9 | IDENT@[11; 16) "Cache" |
10 | L_PAREN@[16; 17) | 10 | POS_FIELD_LIST@[16; 83) |
11 | WHITESPACE@[17; 22) | 11 | L_PAREN@[16; 17) |
12 | POS_FIELD@[22; 68) | 12 | WHITESPACE@[17; 22) |
13 | PATH_TYPE@[22; 68) | 13 | POS_FIELD@[22; 68) |
14 | PATH@[22; 68) | 14 | PATH_TYPE@[22; 68) |
15 | PATH_SEGMENT@[22; 68) | 15 | PATH@[22; 68) |
16 | NAME_REF@[22; 29) | 16 | PATH_SEGMENT@[22; 68) |
17 | IDENT@[22; 29) "RefCell" | 17 | NAME_REF@[22; 29) |
18 | TYPE_ARG_LIST@[29; 68) | 18 | IDENT@[22; 29) "RefCell" |
19 | L_ANGLE@[29; 30) | 19 | TYPE_ARG_LIST@[29; 68) |
20 | TYPE_ARG@[30; 68) | 20 | L_ANGLE@[29; 30) |
21 | PATH_TYPE@[30; 68) | 21 | TYPE_ARG@[30; 68) |
22 | PATH@[30; 68) | 22 | PATH_TYPE@[30; 68) |
23 | PATH_SEGMENT@[30; 68) | 23 | PATH@[30; 68) |
24 | NAME_REF@[30; 37) | 24 | PATH_SEGMENT@[30; 68) |
25 | IDENT@[30; 37) "HashMap" | 25 | NAME_REF@[30; 37) |
26 | TYPE_ARG_LIST@[37; 68) | 26 | IDENT@[30; 37) "HashMap" |
27 | L_ANGLE@[37; 38) | 27 | TYPE_ARG_LIST@[37; 68) |
28 | WHITESPACE@[38; 47) | 28 | L_ANGLE@[37; 38) |
29 | TYPE_ARG@[47; 53) | 29 | WHITESPACE@[38; 47) |
30 | PATH_TYPE@[47; 53) | 30 | TYPE_ARG@[47; 53) |
31 | PATH@[47; 53) | 31 | PATH_TYPE@[47; 53) |
32 | PATH_SEGMENT@[47; 53) | 32 | PATH@[47; 53) |
33 | NAME_REF@[47; 53) | 33 | PATH_SEGMENT@[47; 53) |
34 | IDENT@[47; 53) "TypeId" | 34 | NAME_REF@[47; 53) |
35 | COMMA@[53; 54) | 35 | IDENT@[47; 53) "TypeId" |
36 | WHITESPACE@[54; 63) | 36 | COMMA@[53; 54) |
37 | TYPE_ARG@[63; 68) | 37 | WHITESPACE@[54; 63) |
38 | PATH_TYPE@[63; 68) | 38 | TYPE_ARG@[63; 68) |
39 | PATH@[63; 68) | 39 | PATH_TYPE@[63; 68) |
40 | PATH_SEGMENT@[63; 68) | 40 | PATH@[63; 68) |
41 | NAME_REF@[63; 66) | 41 | PATH_SEGMENT@[63; 68) |
42 | IDENT@[63; 66) "Box" | 42 | NAME_REF@[63; 66) |
43 | TYPE_ARG_LIST@[66; 68) | 43 | IDENT@[63; 66) "Box" |
44 | L_ANGLE@[66; 67) | 44 | TYPE_ARG_LIST@[66; 68) |
45 | err: `expected type` | 45 | L_ANGLE@[66; 67) |
46 | TYPE_ARG@[67; 68) | 46 | err: `expected type` |
47 | ERROR@[67; 68) | 47 | TYPE_ARG@[67; 68) |
48 | AT@[67; 68) | 48 | ERROR@[67; 68) |
49 | err: `expected COMMA` | 49 | AT@[67; 68) |
50 | err: `expected R_ANGLE` | 50 | err: `expected COMMA` |
51 | err: `expected COMMA` | 51 | err: `expected R_ANGLE` |
52 | err: `expected R_ANGLE` | 52 | err: `expected COMMA` |
53 | err: `expected COMMA` | 53 | err: `expected R_ANGLE` |
54 | err: `expected R_ANGLE` | 54 | err: `expected COMMA` |
55 | err: `expected COMMA` | 55 | err: `expected R_ANGLE` |
56 | WHITESPACE@[68; 69) | 56 | err: `expected COMMA` |
57 | POS_FIELD@[69; 72) | 57 | WHITESPACE@[68; 69) |
58 | PATH_TYPE@[69; 72) | 58 | POS_FIELD@[69; 72) |
59 | PATH@[69; 72) | 59 | PATH_TYPE@[69; 72) |
60 | PATH_SEGMENT@[69; 72) | 60 | PATH@[69; 72) |
61 | NAME_REF@[69; 72) | 61 | PATH_SEGMENT@[69; 72) |
62 | IDENT@[69; 72) "Any" | 62 | NAME_REF@[69; 72) |
63 | err: `expected COMMA` | 63 | IDENT@[69; 72) "Any" |
64 | err: `expected type` | 64 | err: `expected COMMA` |
65 | POS_FIELD@[72; 73) | 65 | err: `expected type` |
66 | ERROR@[72; 73) | 66 | POS_FIELD@[72; 73) |
67 | R_ANGLE@[72; 73) | 67 | ERROR@[72; 73) |
68 | COMMA@[73; 74) | 68 | R_ANGLE@[72; 73) |
69 | WHITESPACE@[74; 79) | 69 | COMMA@[73; 74) |
70 | err: `expected type` | 70 | WHITESPACE@[74; 79) |
71 | POS_FIELD@[79; 80) | 71 | err: `expected type` |
72 | ERROR@[79; 80) | 72 | POS_FIELD@[79; 80) |
73 | R_ANGLE@[79; 80) | 73 | ERROR@[79; 80) |
74 | err: `expected COMMA` | 74 | R_ANGLE@[79; 80) |
75 | err: `expected type` | 75 | err: `expected COMMA` |
76 | POS_FIELD@[80; 81) | 76 | err: `expected type` |
77 | ERROR@[80; 81) | 77 | POS_FIELD@[80; 81) |
78 | R_ANGLE@[80; 81) | 78 | ERROR@[80; 81) |
79 | WHITESPACE@[81; 82) | 79 | R_ANGLE@[80; 81) |
80 | R_PAREN@[82; 83) | 80 | WHITESPACE@[81; 82) |
81 | R_PAREN@[82; 83) | ||
81 | SEMI@[83; 84) | 82 | SEMI@[83; 84) |
82 | WHITESPACE@[84; 86) | 83 | WHITESPACE@[84; 86) |
diff --git a/crates/libsyntax2/tests/data/parser/err/0014_where_no_bounds.txt b/crates/libsyntax2/tests/data/parser/err/0014_where_no_bounds.txt index 37b16a566..cef20327c 100644 --- a/crates/libsyntax2/tests/data/parser/err/0014_where_no_bounds.txt +++ b/crates/libsyntax2/tests/data/parser/err/0014_where_no_bounds.txt | |||
@@ -25,7 +25,7 @@ FILE@[0; 23) | |||
25 | IDENT@[18; 19) "T" | 25 | IDENT@[18; 19) "T" |
26 | err: `expected colon` | 26 | err: `expected colon` |
27 | WHITESPACE@[19; 20) | 27 | WHITESPACE@[19; 20) |
28 | BLOCK_EXPR@[20; 22) | 28 | BLOCK@[20; 22) |
29 | L_CURLY@[20; 21) | 29 | L_CURLY@[20; 21) |
30 | R_CURLY@[21; 22) | 30 | R_CURLY@[21; 22) |
31 | WHITESPACE@[22; 23) | 31 | WHITESPACE@[22; 23) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0001_const_unsafe_fn.txt b/crates/libsyntax2/tests/data/parser/inline/0001_const_unsafe_fn.txt index 234c3c748..29c479f8b 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0001_const_unsafe_fn.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0001_const_unsafe_fn.txt | |||
@@ -12,7 +12,7 @@ FILE@[0; 25) | |||
12 | L_PAREN@[19; 20) | 12 | L_PAREN@[19; 20) |
13 | R_PAREN@[20; 21) | 13 | R_PAREN@[20; 21) |
14 | WHITESPACE@[21; 22) | 14 | WHITESPACE@[21; 22) |
15 | BLOCK_EXPR@[22; 24) | 15 | BLOCK@[22; 24) |
16 | L_CURLY@[22; 23) | 16 | L_CURLY@[22; 23) |
17 | R_CURLY@[23; 24) | 17 | R_CURLY@[23; 24) |
18 | WHITESPACE@[24; 25) | 18 | WHITESPACE@[24; 25) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0002_const_fn.txt b/crates/libsyntax2/tests/data/parser/inline/0002_const_fn.txt index c7d66b2e1..a2f94eb14 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0002_const_fn.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0002_const_fn.txt | |||
@@ -10,7 +10,7 @@ FILE@[0; 18) | |||
10 | L_PAREN@[12; 13) | 10 | L_PAREN@[12; 13) |
11 | R_PAREN@[13; 14) | 11 | R_PAREN@[13; 14) |
12 | WHITESPACE@[14; 15) | 12 | WHITESPACE@[14; 15) |
13 | BLOCK_EXPR@[15; 17) | 13 | BLOCK@[15; 17) |
14 | L_CURLY@[15; 16) | 14 | L_CURLY@[15; 16) |
15 | R_CURLY@[16; 17) | 15 | R_CURLY@[16; 17) |
16 | WHITESPACE@[17; 18) | 16 | WHITESPACE@[17; 18) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0003_extern_block.txt b/crates/libsyntax2/tests/data/parser/inline/0003_extern_block.txt index cbe9a1ebc..ab9bc0463 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0003_extern_block.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0003_extern_block.txt | |||
@@ -1,8 +1,9 @@ | |||
1 | FILE@[0; 10) | 1 | FILE@[0; 10) |
2 | EXTERN_BLOCK_EXPR@[0; 9) | 2 | EXTERN_BLOCK@[0; 9) |
3 | ABI@[0; 6) | 3 | ABI@[0; 6) |
4 | EXTERN_KW@[0; 6) | 4 | EXTERN_KW@[0; 6) |
5 | WHITESPACE@[6; 7) | 5 | WHITESPACE@[6; 7) |
6 | L_CURLY@[7; 8) | 6 | EXTERN_ITEM_LIST@[7; 9) |
7 | R_CURLY@[8; 9) | 7 | L_CURLY@[7; 8) |
8 | R_CURLY@[8; 9) | ||
8 | WHITESPACE@[9; 10) | 9 | WHITESPACE@[9; 10) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0004_extern_fn.txt b/crates/libsyntax2/tests/data/parser/inline/0004_extern_fn.txt index 161af9c7d..9cf20991a 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0004_extern_fn.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0004_extern_fn.txt | |||
@@ -11,7 +11,7 @@ FILE@[0; 19) | |||
11 | L_PAREN@[13; 14) | 11 | L_PAREN@[13; 14) |
12 | R_PAREN@[14; 15) | 12 | R_PAREN@[14; 15) |
13 | WHITESPACE@[15; 16) | 13 | WHITESPACE@[15; 16) |
14 | BLOCK_EXPR@[16; 18) | 14 | BLOCK@[16; 18) |
15 | L_CURLY@[16; 17) | 15 | L_CURLY@[16; 17) |
16 | R_CURLY@[17; 18) | 16 | R_CURLY@[17; 18) |
17 | WHITESPACE@[18; 19) | 17 | WHITESPACE@[18; 19) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0007_unsafe_trait.txt b/crates/libsyntax2/tests/data/parser/inline/0007_unsafe_trait.txt index e75f18802..d7e20db70 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0007_unsafe_trait.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0007_unsafe_trait.txt | |||
@@ -7,6 +7,7 @@ FILE@[0; 18) | |||
7 | NAME@[13; 14) | 7 | NAME@[13; 14) |
8 | IDENT@[13; 14) "T" | 8 | IDENT@[13; 14) "T" |
9 | WHITESPACE@[14; 15) | 9 | WHITESPACE@[14; 15) |
10 | L_CURLY@[15; 16) | 10 | ITEM_LIST@[15; 17) |
11 | R_CURLY@[16; 17) | 11 | L_CURLY@[15; 16) |
12 | R_CURLY@[16; 17) | ||
12 | WHITESPACE@[17; 18) | 13 | WHITESPACE@[17; 18) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0008_unsafe_impl.txt b/crates/libsyntax2/tests/data/parser/inline/0008_unsafe_impl.txt index 6fd3f868f..20c0c2de4 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0008_unsafe_impl.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0008_unsafe_impl.txt | |||
@@ -10,6 +10,7 @@ FILE@[0; 19) | |||
10 | NAME_REF@[12; 15) | 10 | NAME_REF@[12; 15) |
11 | IDENT@[12; 15) "Foo" | 11 | IDENT@[12; 15) "Foo" |
12 | WHITESPACE@[15; 16) | 12 | WHITESPACE@[15; 16) |
13 | L_CURLY@[16; 17) | 13 | ITEM_LIST@[16; 18) |
14 | R_CURLY@[17; 18) | 14 | L_CURLY@[16; 17) |
15 | R_CURLY@[17; 18) | ||
15 | WHITESPACE@[18; 19) | 16 | WHITESPACE@[18; 19) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0009_unsafe_auto_trait.txt b/crates/libsyntax2/tests/data/parser/inline/0009_unsafe_auto_trait.txt index 78d0331d0..fe296aef6 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0009_unsafe_auto_trait.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0009_unsafe_auto_trait.txt | |||
@@ -9,6 +9,7 @@ FILE@[0; 23) | |||
9 | NAME@[18; 19) | 9 | NAME@[18; 19) |
10 | IDENT@[18; 19) "T" | 10 | IDENT@[18; 19) "T" |
11 | WHITESPACE@[19; 20) | 11 | WHITESPACE@[19; 20) |
12 | L_CURLY@[20; 21) | 12 | ITEM_LIST@[20; 22) |
13 | R_CURLY@[21; 22) | 13 | L_CURLY@[20; 21) |
14 | R_CURLY@[21; 22) | ||
14 | WHITESPACE@[22; 23) | 15 | WHITESPACE@[22; 23) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0010_unsafe_default_impl.txt b/crates/libsyntax2/tests/data/parser/inline/0010_unsafe_default_impl.txt index ab12d5fc0..11e0041f5 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0010_unsafe_default_impl.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0010_unsafe_default_impl.txt | |||
@@ -12,6 +12,7 @@ FILE@[0; 27) | |||
12 | NAME_REF@[20; 23) | 12 | NAME_REF@[20; 23) |
13 | IDENT@[20; 23) "Foo" | 13 | IDENT@[20; 23) "Foo" |
14 | WHITESPACE@[23; 24) | 14 | WHITESPACE@[23; 24) |
15 | L_CURLY@[24; 25) | 15 | ITEM_LIST@[24; 26) |
16 | R_CURLY@[25; 26) | 16 | L_CURLY@[24; 25) |
17 | R_CURLY@[25; 26) | ||
17 | WHITESPACE@[26; 27) | 18 | WHITESPACE@[26; 27) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0011_unsafe_fn.txt b/crates/libsyntax2/tests/data/parser/inline/0011_unsafe_fn.txt index 3f9672f54..54d444182 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0011_unsafe_fn.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0011_unsafe_fn.txt | |||
@@ -10,7 +10,7 @@ FILE@[0; 19) | |||
10 | L_PAREN@[13; 14) | 10 | L_PAREN@[13; 14) |
11 | R_PAREN@[14; 15) | 11 | R_PAREN@[14; 15) |
12 | WHITESPACE@[15; 16) | 12 | WHITESPACE@[15; 16) |
13 | BLOCK_EXPR@[16; 18) | 13 | BLOCK@[16; 18) |
14 | L_CURLY@[16; 17) | 14 | L_CURLY@[16; 17) |
15 | R_CURLY@[17; 18) | 15 | R_CURLY@[17; 18) |
16 | WHITESPACE@[18; 19) | 16 | WHITESPACE@[18; 19) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0012_unsafe_extern_fn.txt b/crates/libsyntax2/tests/data/parser/inline/0012_unsafe_extern_fn.txt index 27c807aea..e71a86d64 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0012_unsafe_extern_fn.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0012_unsafe_extern_fn.txt | |||
@@ -15,7 +15,7 @@ FILE@[0; 30) | |||
15 | L_PAREN@[24; 25) | 15 | L_PAREN@[24; 25) |
16 | R_PAREN@[25; 26) | 16 | R_PAREN@[25; 26) |
17 | WHITESPACE@[26; 27) | 17 | WHITESPACE@[26; 27) |
18 | BLOCK_EXPR@[27; 29) | 18 | BLOCK@[27; 29) |
19 | L_CURLY@[27; 28) | 19 | L_CURLY@[27; 28) |
20 | R_CURLY@[28; 29) | 20 | R_CURLY@[28; 29) |
21 | WHITESPACE@[29; 30) | 21 | WHITESPACE@[29; 30) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0013_unsafe_block_in_mod.txt b/crates/libsyntax2/tests/data/parser/inline/0013_unsafe_block_in_mod.txt index 4cd9b579c..3718caba5 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0013_unsafe_block_in_mod.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0013_unsafe_block_in_mod.txt | |||
@@ -7,7 +7,7 @@ FILE@[0; 33) | |||
7 | PARAM_LIST@[6; 8) | 7 | PARAM_LIST@[6; 8) |
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | BLOCK_EXPR@[8; 10) | 10 | BLOCK@[8; 10) |
11 | L_CURLY@[8; 9) | 11 | L_CURLY@[8; 9) |
12 | R_CURLY@[9; 10) | 12 | R_CURLY@[9; 10) |
13 | WHITESPACE@[10; 11) | 13 | WHITESPACE@[10; 11) |
@@ -29,7 +29,7 @@ FILE@[0; 33) | |||
29 | PARAM_LIST@[28; 30) | 29 | PARAM_LIST@[28; 30) |
30 | L_PAREN@[28; 29) | 30 | L_PAREN@[28; 29) |
31 | R_PAREN@[29; 30) | 31 | R_PAREN@[29; 30) |
32 | BLOCK_EXPR@[30; 32) | 32 | BLOCK@[30; 32) |
33 | L_CURLY@[30; 31) | 33 | L_CURLY@[30; 31) |
34 | R_CURLY@[31; 32) | 34 | R_CURLY@[31; 32) |
35 | WHITESPACE@[32; 33) | 35 | WHITESPACE@[32; 33) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0034_bind_pat.txt b/crates/libsyntax2/tests/data/parser/inline/0034_bind_pat.txt index 54396c247..d9fd29cca 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0034_bind_pat.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0034_bind_pat.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 146) | |||
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) |
11 | BLOCK_EXPR@[10; 145) | 11 | BLOCK@[10; 145) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) |
13 | WHITESPACE@[11; 16) | 13 | WHITESPACE@[11; 16) |
14 | LET_STMT@[16; 27) | 14 | LET_STMT@[16; 27) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0035_ref_pat.txt b/crates/libsyntax2/tests/data/parser/inline/0035_ref_pat.txt index ef2e2e748..01187c363 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0035_ref_pat.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0035_ref_pat.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 52) | |||
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) |
11 | BLOCK_EXPR@[10; 51) | 11 | BLOCK@[10; 51) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) |
13 | WHITESPACE@[11; 16) | 13 | WHITESPACE@[11; 16) |
14 | LET_STMT@[16; 28) | 14 | LET_STMT@[16; 28) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0036_placeholder_pat.txt b/crates/libsyntax2/tests/data/parser/inline/0036_placeholder_pat.txt index 7cf2b43a7..4fff927b5 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0036_placeholder_pat.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0036_placeholder_pat.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 26) | |||
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) |
11 | BLOCK_EXPR@[10; 25) | 11 | BLOCK@[10; 25) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) |
13 | WHITESPACE@[11; 12) | 13 | WHITESPACE@[11; 12) |
14 | LET_STMT@[12; 23) | 14 | LET_STMT@[12; 23) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0038_function_ret_type.txt b/crates/libsyntax2/tests/data/parser/inline/0038_function_ret_type.txt index 66e3e1bba..73e91856d 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0038_function_ret_type.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0038_function_ret_type.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 30) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 11) | 11 | BLOCK@[9; 11) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | R_CURLY@[10; 11) | 13 | R_CURLY@[10; 11) |
14 | WHITESPACE@[11; 12) | 14 | WHITESPACE@[11; 12) |
@@ -27,7 +27,7 @@ FILE@[0; 30) | |||
27 | L_PAREN@[24; 25) | 27 | L_PAREN@[24; 25) |
28 | R_PAREN@[25; 26) | 28 | R_PAREN@[25; 26) |
29 | WHITESPACE@[26; 27) | 29 | WHITESPACE@[26; 27) |
30 | BLOCK_EXPR@[27; 29) | 30 | BLOCK@[27; 29) |
31 | L_CURLY@[27; 28) | 31 | L_CURLY@[27; 28) |
32 | R_CURLY@[28; 29) | 32 | R_CURLY@[28; 29) |
33 | WHITESPACE@[29; 30) | 33 | WHITESPACE@[29; 30) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0039_path_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0039_path_expr.txt index 629a8ec9b..98b4bebd8 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0039_path_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0039_path_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 91) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 90) | 11 | BLOCK@[9; 90) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | LET_STMT@[15; 25) | 14 | LET_STMT@[15; 25) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0040_expr_literals.txt b/crates/libsyntax2/tests/data/parser/inline/0040_expr_literals.txt index 78cd614a7..3948c8fdc 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0040_expr_literals.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0040_expr_literals.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 189) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 188) | 11 | BLOCK@[9; 188) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | LET_STMT@[15; 28) | 14 | LET_STMT@[15; 28) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0043_call_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0043_call_expr.txt index 59b920560..0dedcc0d1 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0043_call_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0043_call_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 57) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 56) | 11 | BLOCK@[9; 56) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | LET_STMT@[15; 27) | 14 | LET_STMT@[15; 27) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0044_ref_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0044_ref_expr.txt index f9e0260d0..b762f8f18 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0044_ref_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0044_ref_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 52) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 51) | 11 | BLOCK@[9; 51) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | LET_STMT@[15; 26) | 14 | LET_STMT@[15; 26) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0045_block.txt b/crates/libsyntax2/tests/data/parser/inline/0045_block.txt index 14e43f481..b2fe68f5d 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0045_block.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0045_block.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 65) | |||
8 | L_PAREN@[4; 5) | 8 | L_PAREN@[4; 5) |
9 | R_PAREN@[5; 6) | 9 | R_PAREN@[5; 6) |
10 | WHITESPACE@[6; 7) | 10 | WHITESPACE@[6; 7) |
11 | BLOCK_EXPR@[7; 9) | 11 | BLOCK@[7; 9) |
12 | L_CURLY@[7; 8) | 12 | L_CURLY@[7; 8) |
13 | R_CURLY@[8; 9) | 13 | R_CURLY@[8; 9) |
14 | WHITESPACE@[9; 10) | 14 | WHITESPACE@[9; 10) |
@@ -21,7 +21,7 @@ FILE@[0; 65) | |||
21 | L_PAREN@[14; 15) | 21 | L_PAREN@[14; 15) |
22 | R_PAREN@[15; 16) | 22 | R_PAREN@[15; 16) |
23 | WHITESPACE@[16; 17) | 23 | WHITESPACE@[16; 17) |
24 | BLOCK_EXPR@[17; 31) | 24 | BLOCK@[17; 31) |
25 | L_CURLY@[17; 18) | 25 | L_CURLY@[17; 18) |
26 | WHITESPACE@[18; 19) | 26 | WHITESPACE@[18; 19) |
27 | LET_STMT@[19; 29) | 27 | LET_STMT@[19; 29) |
@@ -47,7 +47,7 @@ FILE@[0; 65) | |||
47 | L_PAREN@[36; 37) | 47 | L_PAREN@[36; 37) |
48 | R_PAREN@[37; 38) | 48 | R_PAREN@[37; 38) |
49 | WHITESPACE@[38; 39) | 49 | WHITESPACE@[38; 39) |
50 | BLOCK_EXPR@[39; 48) | 50 | BLOCK@[39; 48) |
51 | L_CURLY@[39; 40) | 51 | L_CURLY@[39; 40) |
52 | WHITESPACE@[40; 41) | 52 | WHITESPACE@[40; 41) |
53 | EXPR_STMT@[41; 43) | 53 | EXPR_STMT@[41; 43) |
@@ -71,7 +71,7 @@ FILE@[0; 65) | |||
71 | L_PAREN@[53; 54) | 71 | L_PAREN@[53; 54) |
72 | R_PAREN@[54; 55) | 72 | R_PAREN@[54; 55) |
73 | WHITESPACE@[55; 56) | 73 | WHITESPACE@[55; 56) |
74 | BLOCK_EXPR@[56; 64) | 74 | BLOCK@[56; 64) |
75 | L_CURLY@[56; 57) | 75 | L_CURLY@[56; 57) |
76 | WHITESPACE@[57; 58) | 76 | WHITESPACE@[57; 58) |
77 | EXPR_STMT@[58; 60) | 77 | EXPR_STMT@[58; 60) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0046_default_impl.txt b/crates/libsyntax2/tests/data/parser/inline/0046_default_impl.txt index d5a27baf7..12584a528 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0046_default_impl.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0046_default_impl.txt | |||
@@ -10,6 +10,7 @@ FILE@[0; 20) | |||
10 | NAME_REF@[13; 16) | 10 | NAME_REF@[13; 16) |
11 | IDENT@[13; 16) "Foo" | 11 | IDENT@[13; 16) "Foo" |
12 | WHITESPACE@[16; 17) | 12 | WHITESPACE@[16; 17) |
13 | L_CURLY@[17; 18) | 13 | ITEM_LIST@[17; 19) |
14 | R_CURLY@[18; 19) | 14 | L_CURLY@[17; 18) |
15 | R_CURLY@[18; 19) | ||
15 | WHITESPACE@[19; 20) | 16 | WHITESPACE@[19; 20) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0047_impl_item.txt b/crates/libsyntax2/tests/data/parser/inline/0047_impl_item.txt index 76b29f95d..0850b299e 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0047_impl_item.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0047_impl_item.txt | |||
@@ -8,6 +8,7 @@ FILE@[0; 12) | |||
8 | NAME_REF@[5; 8) | 8 | NAME_REF@[5; 8) |
9 | IDENT@[5; 8) "Foo" | 9 | IDENT@[5; 8) "Foo" |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | L_CURLY@[9; 10) | 11 | ITEM_LIST@[9; 11) |
12 | R_CURLY@[10; 11) | 12 | L_CURLY@[9; 10) |
13 | R_CURLY@[10; 11) | ||
13 | WHITESPACE@[11; 12) | 14 | WHITESPACE@[11; 12) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0048_impl_item_neg.txt b/crates/libsyntax2/tests/data/parser/inline/0048_impl_item_neg.txt index 2d01419c0..b90a0d133 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0048_impl_item_neg.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0048_impl_item_neg.txt | |||
@@ -17,6 +17,7 @@ FILE@[0; 20) | |||
17 | NAME_REF@[15; 16) | 17 | NAME_REF@[15; 16) |
18 | IDENT@[15; 16) "X" | 18 | IDENT@[15; 16) "X" |
19 | WHITESPACE@[16; 17) | 19 | WHITESPACE@[16; 17) |
20 | L_CURLY@[17; 18) | 20 | ITEM_LIST@[17; 19) |
21 | R_CURLY@[18; 19) | 21 | L_CURLY@[17; 18) |
22 | R_CURLY@[18; 19) | ||
22 | WHITESPACE@[19; 20) | 23 | WHITESPACE@[19; 20) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0050_let_stmt;.txt b/crates/libsyntax2/tests/data/parser/inline/0050_let_stmt;.txt index fa7709151..7f99ecb13 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0050_let_stmt;.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0050_let_stmt;.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 77) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 76) | 11 | BLOCK@[9; 76) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | LET_STMT@[15; 21) | 14 | LET_STMT@[15; 21) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0051_method_call_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0051_method_call_expr.txt index 9edfabc64..25a61e848 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0051_method_call_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0051_method_call_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 49) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 48) | 11 | BLOCK@[9; 48) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 23) | 14 | EXPR_STMT@[15; 23) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0052_field_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0052_field_expr.txt index 465f7abba..096ed3211 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0052_field_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0052_field_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 37) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 36) | 11 | BLOCK@[9; 36) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 21) | 14 | EXPR_STMT@[15; 21) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0053_block_items.txt b/crates/libsyntax2/tests/data/parser/inline/0053_block_items.txt index add5eab89..ff432e1d3 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0053_block_items.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0053_block_items.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 21) | |||
8 | L_PAREN@[4; 5) | 8 | L_PAREN@[4; 5) |
9 | R_PAREN@[5; 6) | 9 | R_PAREN@[5; 6) |
10 | WHITESPACE@[6; 7) | 10 | WHITESPACE@[6; 7) |
11 | BLOCK_EXPR@[7; 20) | 11 | BLOCK@[7; 20) |
12 | L_CURLY@[7; 8) | 12 | L_CURLY@[7; 8) |
13 | WHITESPACE@[8; 9) | 13 | WHITESPACE@[8; 9) |
14 | FN_DEF@[9; 18) | 14 | FN_DEF@[9; 18) |
@@ -20,7 +20,7 @@ FILE@[0; 21) | |||
20 | L_PAREN@[13; 14) | 20 | L_PAREN@[13; 14) |
21 | R_PAREN@[14; 15) | 21 | R_PAREN@[14; 15) |
22 | WHITESPACE@[15; 16) | 22 | WHITESPACE@[15; 16) |
23 | BLOCK_EXPR@[16; 18) | 23 | BLOCK@[16; 18) |
24 | L_CURLY@[16; 17) | 24 | L_CURLY@[16; 17) |
25 | R_CURLY@[17; 18) | 25 | R_CURLY@[17; 18) |
26 | WHITESPACE@[18; 19) | 26 | WHITESPACE@[18; 19) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0054_impl_item_items.txt b/crates/libsyntax2/tests/data/parser/inline/0054_impl_item_items.txt index 0b75f6466..e0d5e0107 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0054_impl_item_items.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0054_impl_item_items.txt | |||
@@ -8,70 +8,71 @@ FILE@[0; 89) | |||
8 | NAME_REF@[5; 6) | 8 | NAME_REF@[5; 6) |
9 | IDENT@[5; 6) "F" | 9 | IDENT@[5; 6) "F" |
10 | WHITESPACE@[6; 7) | 10 | WHITESPACE@[6; 7) |
11 | L_CURLY@[7; 8) | 11 | ITEM_LIST@[7; 88) |
12 | WHITESPACE@[8; 13) | 12 | L_CURLY@[7; 8) |
13 | TYPE_DEF@[13; 26) | 13 | WHITESPACE@[8; 13) |
14 | TYPE_KW@[13; 17) | 14 | TYPE_DEF@[13; 26) |
15 | WHITESPACE@[17; 18) | 15 | TYPE_KW@[13; 17) |
16 | NAME@[18; 19) | 16 | WHITESPACE@[17; 18) |
17 | IDENT@[18; 19) "A" | 17 | NAME@[18; 19) |
18 | WHITESPACE@[19; 20) | 18 | IDENT@[18; 19) "A" |
19 | EQ@[20; 21) | 19 | WHITESPACE@[19; 20) |
20 | WHITESPACE@[21; 22) | 20 | EQ@[20; 21) |
21 | PATH_TYPE@[22; 25) | 21 | WHITESPACE@[21; 22) |
22 | PATH@[22; 25) | 22 | PATH_TYPE@[22; 25) |
23 | PATH_SEGMENT@[22; 25) | 23 | PATH@[22; 25) |
24 | NAME_REF@[22; 25) | 24 | PATH_SEGMENT@[22; 25) |
25 | IDENT@[22; 25) "i32" | 25 | NAME_REF@[22; 25) |
26 | SEMI@[25; 26) | 26 | IDENT@[22; 25) "i32" |
27 | WHITESPACE@[26; 31) | 27 | SEMI@[25; 26) |
28 | CONST_DEF@[31; 49) | 28 | WHITESPACE@[26; 31) |
29 | CONST_KW@[31; 36) | 29 | CONST_DEF@[31; 49) |
30 | WHITESPACE@[36; 37) | 30 | CONST_KW@[31; 36) |
31 | NAME@[37; 38) | 31 | WHITESPACE@[36; 37) |
32 | IDENT@[37; 38) "B" | 32 | NAME@[37; 38) |
33 | COLON@[38; 39) | 33 | IDENT@[37; 38) "B" |
34 | WHITESPACE@[39; 40) | 34 | COLON@[38; 39) |
35 | PATH_TYPE@[40; 43) | 35 | WHITESPACE@[39; 40) |
36 | PATH@[40; 43) | 36 | PATH_TYPE@[40; 43) |
37 | PATH_SEGMENT@[40; 43) | 37 | PATH@[40; 43) |
38 | NAME_REF@[40; 43) | 38 | PATH_SEGMENT@[40; 43) |
39 | IDENT@[40; 43) "i32" | 39 | NAME_REF@[40; 43) |
40 | WHITESPACE@[43; 44) | 40 | IDENT@[40; 43) "i32" |
41 | EQ@[44; 45) | 41 | WHITESPACE@[43; 44) |
42 | WHITESPACE@[45; 46) | 42 | EQ@[44; 45) |
43 | LITERAL@[46; 48) | 43 | WHITESPACE@[45; 46) |
44 | INT_NUMBER@[46; 48) "92" | 44 | LITERAL@[46; 48) |
45 | SEMI@[48; 49) | 45 | INT_NUMBER@[46; 48) "92" |
46 | WHITESPACE@[49; 54) | 46 | SEMI@[48; 49) |
47 | FN_DEF@[54; 65) | 47 | WHITESPACE@[49; 54) |
48 | FN_KW@[54; 56) | 48 | FN_DEF@[54; 65) |
49 | WHITESPACE@[56; 57) | 49 | FN_KW@[54; 56) |
50 | NAME@[57; 60) | 50 | WHITESPACE@[56; 57) |
51 | IDENT@[57; 60) "foo" | 51 | NAME@[57; 60) |
52 | PARAM_LIST@[60; 62) | 52 | IDENT@[57; 60) "foo" |
53 | L_PAREN@[60; 61) | 53 | PARAM_LIST@[60; 62) |
54 | R_PAREN@[61; 62) | 54 | L_PAREN@[60; 61) |
55 | WHITESPACE@[62; 63) | 55 | R_PAREN@[61; 62) |
56 | BLOCK_EXPR@[63; 65) | 56 | WHITESPACE@[62; 63) |
57 | L_CURLY@[63; 64) | 57 | BLOCK@[63; 65) |
58 | R_CURLY@[64; 65) | 58 | L_CURLY@[63; 64) |
59 | WHITESPACE@[65; 70) | 59 | R_CURLY@[64; 65) |
60 | FN_DEF@[70; 86) | 60 | WHITESPACE@[65; 70) |
61 | FN_KW@[70; 72) | 61 | FN_DEF@[70; 86) |
62 | WHITESPACE@[72; 73) | 62 | FN_KW@[70; 72) |
63 | NAME@[73; 76) | 63 | WHITESPACE@[72; 73) |
64 | IDENT@[73; 76) "bar" | 64 | NAME@[73; 76) |
65 | PARAM_LIST@[76; 83) | 65 | IDENT@[73; 76) "bar" |
66 | L_PAREN@[76; 77) | 66 | PARAM_LIST@[76; 83) |
67 | SELF_PARAM@[77; 82) | 67 | L_PAREN@[76; 77) |
68 | AMP@[77; 78) | 68 | SELF_PARAM@[77; 82) |
69 | SELF_KW@[78; 82) | 69 | AMP@[77; 78) |
70 | R_PAREN@[82; 83) | 70 | SELF_KW@[78; 82) |
71 | WHITESPACE@[83; 84) | 71 | R_PAREN@[82; 83) |
72 | BLOCK_EXPR@[84; 86) | 72 | WHITESPACE@[83; 84) |
73 | L_CURLY@[84; 85) | 73 | BLOCK@[84; 86) |
74 | R_CURLY@[85; 86) | 74 | L_CURLY@[84; 85) |
75 | WHITESPACE@[86; 87) | 75 | R_CURLY@[85; 86) |
76 | R_CURLY@[87; 88) | 76 | WHITESPACE@[86; 87) |
77 | R_CURLY@[87; 88) | ||
77 | WHITESPACE@[88; 89) | 78 | WHITESPACE@[88; 89) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0055_self_param.txt b/crates/libsyntax2/tests/data/parser/inline/0055_self_param.txt index dd21dfe94..99a9f63ac 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0055_self_param.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0055_self_param.txt | |||
@@ -8,108 +8,109 @@ FILE@[0; 128) | |||
8 | NAME_REF@[5; 6) | 8 | NAME_REF@[5; 6) |
9 | IDENT@[5; 6) "S" | 9 | IDENT@[5; 6) "S" |
10 | WHITESPACE@[6; 7) | 10 | WHITESPACE@[6; 7) |
11 | L_CURLY@[7; 8) | 11 | ITEM_LIST@[7; 127) |
12 | WHITESPACE@[8; 13) | 12 | L_CURLY@[7; 8) |
13 | FN_DEF@[13; 26) | 13 | WHITESPACE@[8; 13) |
14 | FN_KW@[13; 15) | 14 | FN_DEF@[13; 26) |
15 | WHITESPACE@[15; 16) | 15 | FN_KW@[13; 15) |
16 | NAME@[16; 17) | 16 | WHITESPACE@[15; 16) |
17 | IDENT@[16; 17) "a" | 17 | NAME@[16; 17) |
18 | PARAM_LIST@[17; 23) | 18 | IDENT@[16; 17) "a" |
19 | L_PAREN@[17; 18) | 19 | PARAM_LIST@[17; 23) |
20 | SELF_PARAM@[18; 22) | 20 | L_PAREN@[17; 18) |
21 | SELF_KW@[18; 22) | 21 | SELF_PARAM@[18; 22) |
22 | R_PAREN@[22; 23) | 22 | SELF_KW@[18; 22) |
23 | WHITESPACE@[23; 24) | 23 | R_PAREN@[22; 23) |
24 | BLOCK_EXPR@[24; 26) | 24 | WHITESPACE@[23; 24) |
25 | L_CURLY@[24; 25) | 25 | BLOCK@[24; 26) |
26 | R_CURLY@[25; 26) | 26 | L_CURLY@[24; 25) |
27 | WHITESPACE@[26; 31) | 27 | R_CURLY@[25; 26) |
28 | FN_DEF@[31; 46) | 28 | WHITESPACE@[26; 31) |
29 | FN_KW@[31; 33) | 29 | FN_DEF@[31; 46) |
30 | WHITESPACE@[33; 34) | 30 | FN_KW@[31; 33) |
31 | NAME@[34; 35) | 31 | WHITESPACE@[33; 34) |
32 | IDENT@[34; 35) "b" | 32 | NAME@[34; 35) |
33 | PARAM_LIST@[35; 43) | 33 | IDENT@[34; 35) "b" |
34 | L_PAREN@[35; 36) | 34 | PARAM_LIST@[35; 43) |
35 | SELF_PARAM@[36; 41) | 35 | L_PAREN@[35; 36) |
36 | AMP@[36; 37) | 36 | SELF_PARAM@[36; 41) |
37 | SELF_KW@[37; 41) | 37 | AMP@[36; 37) |
38 | COMMA@[41; 42) | 38 | SELF_KW@[37; 41) |
39 | R_PAREN@[42; 43) | 39 | COMMA@[41; 42) |
40 | WHITESPACE@[43; 44) | 40 | R_PAREN@[42; 43) |
41 | BLOCK_EXPR@[44; 46) | 41 | WHITESPACE@[43; 44) |
42 | L_CURLY@[44; 45) | 42 | BLOCK@[44; 46) |
43 | R_CURLY@[45; 46) | 43 | L_CURLY@[44; 45) |
44 | WHITESPACE@[46; 51) | 44 | R_CURLY@[45; 46) |
45 | FN_DEF@[51; 69) | 45 | WHITESPACE@[46; 51) |
46 | FN_KW@[51; 53) | 46 | FN_DEF@[51; 69) |
47 | WHITESPACE@[53; 54) | 47 | FN_KW@[51; 53) |
48 | NAME@[54; 55) | 48 | WHITESPACE@[53; 54) |
49 | IDENT@[54; 55) "c" | 49 | NAME@[54; 55) |
50 | PARAM_LIST@[55; 66) | 50 | IDENT@[54; 55) "c" |
51 | L_PAREN@[55; 56) | 51 | PARAM_LIST@[55; 66) |
52 | SELF_PARAM@[56; 64) | 52 | L_PAREN@[55; 56) |
53 | AMP@[56; 57) | 53 | SELF_PARAM@[56; 64) |
54 | LIFETIME@[57; 59) "'a" | 54 | AMP@[56; 57) |
55 | WHITESPACE@[59; 60) | 55 | LIFETIME@[57; 59) "'a" |
56 | SELF_KW@[60; 64) | 56 | WHITESPACE@[59; 60) |
57 | COMMA@[64; 65) | 57 | SELF_KW@[60; 64) |
58 | R_PAREN@[65; 66) | 58 | COMMA@[64; 65) |
59 | WHITESPACE@[66; 67) | 59 | R_PAREN@[65; 66) |
60 | BLOCK_EXPR@[67; 69) | 60 | WHITESPACE@[66; 67) |
61 | L_CURLY@[67; 68) | 61 | BLOCK@[67; 69) |
62 | R_CURLY@[68; 69) | 62 | L_CURLY@[67; 68) |
63 | WHITESPACE@[69; 74) | 63 | R_CURLY@[68; 69) |
64 | FN_DEF@[74; 103) | 64 | WHITESPACE@[69; 74) |
65 | FN_KW@[74; 76) | 65 | FN_DEF@[74; 103) |
66 | WHITESPACE@[76; 77) | 66 | FN_KW@[74; 76) |
67 | NAME@[77; 78) | 67 | WHITESPACE@[76; 77) |
68 | IDENT@[77; 78) "d" | 68 | NAME@[77; 78) |
69 | PARAM_LIST@[78; 100) | 69 | IDENT@[77; 78) "d" |
70 | L_PAREN@[78; 79) | 70 | PARAM_LIST@[78; 100) |
71 | SELF_PARAM@[79; 91) | 71 | L_PAREN@[78; 79) |
72 | AMP@[79; 80) | 72 | SELF_PARAM@[79; 91) |
73 | LIFETIME@[80; 82) "'a" | 73 | AMP@[79; 80) |
74 | WHITESPACE@[82; 83) | 74 | LIFETIME@[80; 82) "'a" |
75 | MUT_KW@[83; 86) | 75 | WHITESPACE@[82; 83) |
76 | WHITESPACE@[86; 87) | 76 | MUT_KW@[83; 86) |
77 | SELF_KW@[87; 91) | 77 | WHITESPACE@[86; 87) |
78 | COMMA@[91; 92) | 78 | SELF_KW@[87; 91) |
79 | WHITESPACE@[92; 93) | 79 | COMMA@[91; 92) |
80 | PARAM@[93; 99) | 80 | WHITESPACE@[92; 93) |
81 | BIND_PAT@[93; 94) | 81 | PARAM@[93; 99) |
82 | NAME@[93; 94) | 82 | BIND_PAT@[93; 94) |
83 | IDENT@[93; 94) "x" | 83 | NAME@[93; 94) |
84 | COLON@[94; 95) | 84 | IDENT@[93; 94) "x" |
85 | WHITESPACE@[95; 96) | 85 | COLON@[94; 95) |
86 | PATH_TYPE@[96; 99) | 86 | WHITESPACE@[95; 96) |
87 | PATH@[96; 99) | 87 | PATH_TYPE@[96; 99) |
88 | PATH_SEGMENT@[96; 99) | 88 | PATH@[96; 99) |
89 | NAME_REF@[96; 99) | 89 | PATH_SEGMENT@[96; 99) |
90 | IDENT@[96; 99) "i32" | 90 | NAME_REF@[96; 99) |
91 | R_PAREN@[99; 100) | 91 | IDENT@[96; 99) "i32" |
92 | WHITESPACE@[100; 101) | 92 | R_PAREN@[99; 100) |
93 | BLOCK_EXPR@[101; 103) | 93 | WHITESPACE@[100; 101) |
94 | L_CURLY@[101; 102) | 94 | BLOCK@[101; 103) |
95 | R_CURLY@[102; 103) | 95 | L_CURLY@[101; 102) |
96 | WHITESPACE@[103; 108) | 96 | R_CURLY@[102; 103) |
97 | FN_DEF@[108; 125) | 97 | WHITESPACE@[103; 108) |
98 | FN_KW@[108; 110) | 98 | FN_DEF@[108; 125) |
99 | WHITESPACE@[110; 111) | 99 | FN_KW@[108; 110) |
100 | NAME@[111; 112) | 100 | WHITESPACE@[110; 111) |
101 | IDENT@[111; 112) "e" | 101 | NAME@[111; 112) |
102 | PARAM_LIST@[112; 122) | 102 | IDENT@[111; 112) "e" |
103 | L_PAREN@[112; 113) | 103 | PARAM_LIST@[112; 122) |
104 | SELF_PARAM@[113; 121) | 104 | L_PAREN@[112; 113) |
105 | MUT_KW@[113; 116) | 105 | SELF_PARAM@[113; 121) |
106 | WHITESPACE@[116; 117) | 106 | MUT_KW@[113; 116) |
107 | SELF_KW@[117; 121) | 107 | WHITESPACE@[116; 117) |
108 | R_PAREN@[121; 122) | 108 | SELF_KW@[117; 121) |
109 | WHITESPACE@[122; 123) | 109 | R_PAREN@[121; 122) |
110 | BLOCK_EXPR@[123; 125) | 110 | WHITESPACE@[122; 123) |
111 | L_CURLY@[123; 124) | 111 | BLOCK@[123; 125) |
112 | R_CURLY@[124; 125) | 112 | L_CURLY@[123; 124) |
113 | WHITESPACE@[125; 126) | 113 | R_CURLY@[124; 125) |
114 | R_CURLY@[126; 127) | 114 | WHITESPACE@[125; 126) |
115 | R_CURLY@[126; 127) | ||
115 | WHITESPACE@[127; 128) | 116 | WHITESPACE@[127; 128) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0056_trait_item.txt b/crates/libsyntax2/tests/data/parser/inline/0056_trait_item.txt index 40749d12a..5f89a144a 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0056_trait_item.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0056_trait_item.txt | |||
@@ -40,6 +40,7 @@ FILE@[0; 42) | |||
40 | NAME_REF@[34; 38) | 40 | NAME_REF@[34; 38) |
41 | IDENT@[34; 38) "Copy" | 41 | IDENT@[34; 38) "Copy" |
42 | WHITESPACE@[38; 39) | 42 | WHITESPACE@[38; 39) |
43 | L_CURLY@[39; 40) | 43 | ITEM_LIST@[39; 41) |
44 | R_CURLY@[40; 41) | 44 | L_CURLY@[39; 40) |
45 | R_CURLY@[40; 41) | ||
45 | WHITESPACE@[41; 42) | 46 | WHITESPACE@[41; 42) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0057_auto_trait.txt b/crates/libsyntax2/tests/data/parser/inline/0057_auto_trait.txt index 738661e3c..ede098260 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0057_auto_trait.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0057_auto_trait.txt | |||
@@ -7,6 +7,7 @@ FILE@[0; 16) | |||
7 | NAME@[11; 12) | 7 | NAME@[11; 12) |
8 | IDENT@[11; 12) "T" | 8 | IDENT@[11; 12) "T" |
9 | WHITESPACE@[12; 13) | 9 | WHITESPACE@[12; 13) |
10 | L_CURLY@[13; 14) | 10 | ITEM_LIST@[13; 15) |
11 | R_CURLY@[14; 15) | 11 | L_CURLY@[13; 14) |
12 | R_CURLY@[14; 15) | ||
12 | WHITESPACE@[15; 16) | 13 | WHITESPACE@[15; 16) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0059_function_where_clause.txt b/crates/libsyntax2/tests/data/parser/inline/0059_function_where_clause.txt index 36822ac05..1eea49e34 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0059_function_where_clause.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0059_function_where_clause.txt | |||
@@ -30,7 +30,7 @@ FILE@[0; 29) | |||
30 | NAME_REF@[21; 25) | 30 | NAME_REF@[21; 25) |
31 | IDENT@[21; 25) "Copy" | 31 | IDENT@[21; 25) "Copy" |
32 | WHITESPACE@[25; 26) | 32 | WHITESPACE@[25; 26) |
33 | BLOCK_EXPR@[26; 28) | 33 | BLOCK@[26; 28) |
34 | L_CURLY@[26; 27) | 34 | L_CURLY@[26; 27) |
35 | R_CURLY@[27; 28) | 35 | R_CURLY@[27; 28) |
36 | WHITESPACE@[28; 29) | 36 | WHITESPACE@[28; 29) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0060_function_type_params.txt b/crates/libsyntax2/tests/data/parser/inline/0060_function_type_params.txt index c03553c0d..94987753a 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0060_function_type_params.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0060_function_type_params.txt | |||
@@ -26,7 +26,7 @@ FILE@[0; 28) | |||
26 | PARAM_LIST@[23; 25) | 26 | PARAM_LIST@[23; 25) |
27 | L_PAREN@[23; 24) | 27 | L_PAREN@[23; 24) |
28 | R_PAREN@[24; 25) | 28 | R_PAREN@[24; 25) |
29 | BLOCK_EXPR@[25; 27) | 29 | BLOCK@[25; 27) |
30 | L_CURLY@[25; 26) | 30 | L_CURLY@[25; 26) |
31 | R_CURLY@[26; 27) | 31 | R_CURLY@[26; 27) |
32 | WHITESPACE@[27; 28) | 32 | WHITESPACE@[27; 28) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0061_struct_lit.txt b/crates/libsyntax2/tests/data/parser/inline/0061_struct_lit.txt index 2eb04a3c7..35b5d28b4 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0061_struct_lit.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0061_struct_lit.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 86) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 85) | 11 | BLOCK@[9; 85) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 20) | 14 | EXPR_STMT@[15; 20) |
@@ -18,8 +18,9 @@ FILE@[0; 86) | |||
18 | NAME_REF@[15; 16) | 18 | NAME_REF@[15; 16) |
19 | IDENT@[15; 16) "S" | 19 | IDENT@[15; 16) "S" |
20 | WHITESPACE@[16; 17) | 20 | WHITESPACE@[16; 17) |
21 | L_CURLY@[17; 18) | 21 | NAMED_FIELD_LIST@[17; 19) |
22 | R_CURLY@[18; 19) | 22 | L_CURLY@[17; 18) |
23 | R_CURLY@[18; 19) | ||
23 | SEMI@[19; 20) | 24 | SEMI@[19; 20) |
24 | WHITESPACE@[20; 25) | 25 | WHITESPACE@[20; 25) |
25 | EXPR_STMT@[25; 41) | 26 | EXPR_STMT@[25; 41) |
@@ -29,23 +30,24 @@ FILE@[0; 86) | |||
29 | NAME_REF@[25; 26) | 30 | NAME_REF@[25; 26) |
30 | IDENT@[25; 26) "S" | 31 | IDENT@[25; 26) "S" |
31 | WHITESPACE@[26; 27) | 32 | WHITESPACE@[26; 27) |
32 | L_CURLY@[27; 28) | 33 | NAMED_FIELD_LIST@[27; 40) |
33 | WHITESPACE@[28; 29) | 34 | L_CURLY@[27; 28) |
34 | STRUCT_LIT_FIELD@[29; 30) | 35 | WHITESPACE@[28; 29) |
35 | NAME_REF@[29; 30) | 36 | NAMED_FIELD@[29; 30) |
36 | IDENT@[29; 30) "x" | 37 | NAME_REF@[29; 30) |
37 | COMMA@[30; 31) | 38 | IDENT@[29; 30) "x" |
38 | WHITESPACE@[31; 32) | 39 | COMMA@[30; 31) |
39 | STRUCT_LIT_FIELD@[32; 37) | 40 | WHITESPACE@[31; 32) |
40 | NAME_REF@[32; 33) | 41 | NAMED_FIELD@[32; 37) |
41 | IDENT@[32; 33) "y" | 42 | NAME_REF@[32; 33) |
42 | COLON@[33; 34) | 43 | IDENT@[32; 33) "y" |
43 | WHITESPACE@[34; 35) | 44 | COLON@[33; 34) |
44 | LITERAL@[35; 37) | 45 | WHITESPACE@[34; 35) |
45 | INT_NUMBER@[35; 37) "32" | 46 | LITERAL@[35; 37) |
46 | COMMA@[37; 38) | 47 | INT_NUMBER@[35; 37) "32" |
47 | WHITESPACE@[38; 39) | 48 | COMMA@[37; 38) |
48 | R_CURLY@[39; 40) | 49 | WHITESPACE@[38; 39) |
50 | R_CURLY@[39; 40) | ||
49 | SEMI@[40; 41) | 51 | SEMI@[40; 41) |
50 | WHITESPACE@[41; 46) | 52 | WHITESPACE@[41; 46) |
51 | EXPR_STMT@[46; 83) | 53 | EXPR_STMT@[46; 83) |
@@ -55,39 +57,40 @@ FILE@[0; 86) | |||
55 | NAME_REF@[46; 47) | 57 | NAME_REF@[46; 47) |
56 | IDENT@[46; 47) "S" | 58 | IDENT@[46; 47) "S" |
57 | WHITESPACE@[47; 48) | 59 | WHITESPACE@[47; 48) |
58 | L_CURLY@[48; 49) | 60 | NAMED_FIELD_LIST@[48; 82) |
59 | WHITESPACE@[49; 50) | 61 | L_CURLY@[48; 49) |
60 | STRUCT_LIT_FIELD@[50; 51) | 62 | WHITESPACE@[49; 50) |
61 | NAME_REF@[50; 51) | 63 | NAMED_FIELD@[50; 51) |
62 | IDENT@[50; 51) "x" | 64 | NAME_REF@[50; 51) |
63 | COMMA@[51; 52) | 65 | IDENT@[50; 51) "x" |
64 | WHITESPACE@[52; 53) | 66 | COMMA@[51; 52) |
65 | STRUCT_LIT_FIELD@[53; 58) | 67 | WHITESPACE@[52; 53) |
66 | NAME_REF@[53; 54) | 68 | NAMED_FIELD@[53; 58) |
67 | IDENT@[53; 54) "y" | 69 | NAME_REF@[53; 54) |
68 | COLON@[54; 55) | 70 | IDENT@[53; 54) "y" |
69 | WHITESPACE@[55; 56) | 71 | COLON@[54; 55) |
70 | LITERAL@[56; 58) | 72 | WHITESPACE@[55; 56) |
71 | INT_NUMBER@[56; 58) "32" | 73 | LITERAL@[56; 58) |
72 | COMMA@[58; 59) | 74 | INT_NUMBER@[56; 58) "32" |
73 | WHITESPACE@[59; 60) | 75 | COMMA@[58; 59) |
74 | DOTDOT@[60; 62) | 76 | WHITESPACE@[59; 60) |
75 | CALL_EXPR@[62; 80) | 77 | DOTDOT@[60; 62) |
76 | PATH_EXPR@[62; 78) | 78 | CALL_EXPR@[62; 80) |
77 | PATH@[62; 78) | 79 | PATH_EXPR@[62; 78) |
78 | PATH@[62; 69) | 80 | PATH@[62; 78) |
79 | PATH_SEGMENT@[62; 69) | 81 | PATH@[62; 69) |
80 | NAME_REF@[62; 69) | 82 | PATH_SEGMENT@[62; 69) |
81 | IDENT@[62; 69) "Default" | 83 | NAME_REF@[62; 69) |
82 | COLONCOLON@[69; 71) | 84 | IDENT@[62; 69) "Default" |
83 | PATH_SEGMENT@[71; 78) | 85 | COLONCOLON@[69; 71) |
84 | NAME_REF@[71; 78) | 86 | PATH_SEGMENT@[71; 78) |
85 | IDENT@[71; 78) "default" | 87 | NAME_REF@[71; 78) |
86 | ARG_LIST@[78; 80) | 88 | IDENT@[71; 78) "default" |
87 | L_PAREN@[78; 79) | 89 | ARG_LIST@[78; 80) |
88 | R_PAREN@[79; 80) | 90 | L_PAREN@[78; 79) |
89 | WHITESPACE@[80; 81) | 91 | R_PAREN@[79; 80) |
90 | R_CURLY@[81; 82) | 92 | WHITESPACE@[80; 81) |
93 | R_CURLY@[81; 82) | ||
91 | SEMI@[82; 83) | 94 | SEMI@[82; 83) |
92 | WHITESPACE@[83; 84) | 95 | WHITESPACE@[83; 84) |
93 | R_CURLY@[84; 85) | 96 | R_CURLY@[84; 85) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0064_param_list.txt b/crates/libsyntax2/tests/data/parser/inline/0064_param_list.txt index daad3dc73..50c14ceec 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0064_param_list.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0064_param_list.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 67) | |||
8 | L_PAREN@[4; 5) | 8 | L_PAREN@[4; 5) |
9 | R_PAREN@[5; 6) | 9 | R_PAREN@[5; 6) |
10 | WHITESPACE@[6; 7) | 10 | WHITESPACE@[6; 7) |
11 | BLOCK_EXPR@[7; 9) | 11 | BLOCK@[7; 9) |
12 | L_CURLY@[7; 8) | 12 | L_CURLY@[7; 8) |
13 | R_CURLY@[8; 9) | 13 | R_CURLY@[8; 9) |
14 | WHITESPACE@[9; 10) | 14 | WHITESPACE@[9; 10) |
@@ -32,7 +32,7 @@ FILE@[0; 67) | |||
32 | IDENT@[18; 21) "i32" | 32 | IDENT@[18; 21) "i32" |
33 | R_PAREN@[21; 22) | 33 | R_PAREN@[21; 22) |
34 | WHITESPACE@[22; 23) | 34 | WHITESPACE@[22; 23) |
35 | BLOCK_EXPR@[23; 25) | 35 | BLOCK@[23; 25) |
36 | L_CURLY@[23; 24) | 36 | L_CURLY@[23; 24) |
37 | R_CURLY@[24; 25) | 37 | R_CURLY@[24; 25) |
38 | WHITESPACE@[25; 26) | 38 | WHITESPACE@[25; 26) |
@@ -58,7 +58,7 @@ FILE@[0; 67) | |||
58 | WHITESPACE@[38; 39) | 58 | WHITESPACE@[38; 39) |
59 | R_PAREN@[39; 40) | 59 | R_PAREN@[39; 40) |
60 | WHITESPACE@[40; 41) | 60 | WHITESPACE@[40; 41) |
61 | BLOCK_EXPR@[41; 43) | 61 | BLOCK@[41; 43) |
62 | L_CURLY@[41; 42) | 62 | L_CURLY@[41; 42) |
63 | R_CURLY@[42; 43) | 63 | R_CURLY@[42; 43) |
64 | WHITESPACE@[43; 44) | 64 | WHITESPACE@[43; 44) |
@@ -93,7 +93,7 @@ FILE@[0; 67) | |||
93 | R_PAREN@[61; 62) | 93 | R_PAREN@[61; 62) |
94 | R_PAREN@[62; 63) | 94 | R_PAREN@[62; 63) |
95 | WHITESPACE@[63; 64) | 95 | WHITESPACE@[63; 64) |
96 | BLOCK_EXPR@[64; 66) | 96 | BLOCK@[64; 66) |
97 | L_CURLY@[64; 65) | 97 | L_CURLY@[64; 65) |
98 | R_CURLY@[65; 66) | 98 | R_CURLY@[65; 66) |
99 | WHITESPACE@[66; 67) | 99 | WHITESPACE@[66; 67) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0065_if_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0065_if_expr.txt index f6895b4f7..c353a330a 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0065_if_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0065_if_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 107) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 106) | 11 | BLOCK@[9; 106) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 26) | 14 | EXPR_STMT@[15; 26) |
@@ -18,7 +18,7 @@ FILE@[0; 107) | |||
18 | LITERAL@[18; 22) | 18 | LITERAL@[18; 22) |
19 | TRUE_KW@[18; 22) | 19 | TRUE_KW@[18; 22) |
20 | WHITESPACE@[22; 23) | 20 | WHITESPACE@[22; 23) |
21 | BLOCK_EXPR@[23; 25) | 21 | BLOCK@[23; 25) |
22 | L_CURLY@[23; 24) | 22 | L_CURLY@[23; 24) |
23 | R_CURLY@[24; 25) | 23 | R_CURLY@[24; 25) |
24 | SEMI@[25; 26) | 24 | SEMI@[25; 26) |
@@ -30,13 +30,13 @@ FILE@[0; 107) | |||
30 | LITERAL@[34; 38) | 30 | LITERAL@[34; 38) |
31 | TRUE_KW@[34; 38) | 31 | TRUE_KW@[34; 38) |
32 | WHITESPACE@[38; 39) | 32 | WHITESPACE@[38; 39) |
33 | BLOCK_EXPR@[39; 41) | 33 | BLOCK@[39; 41) |
34 | L_CURLY@[39; 40) | 34 | L_CURLY@[39; 40) |
35 | R_CURLY@[40; 41) | 35 | R_CURLY@[40; 41) |
36 | WHITESPACE@[41; 42) | 36 | WHITESPACE@[41; 42) |
37 | ELSE_KW@[42; 46) | 37 | ELSE_KW@[42; 46) |
38 | WHITESPACE@[46; 47) | 38 | WHITESPACE@[46; 47) |
39 | BLOCK_EXPR@[47; 49) | 39 | BLOCK@[47; 49) |
40 | L_CURLY@[47; 48) | 40 | L_CURLY@[47; 48) |
41 | R_CURLY@[48; 49) | 41 | R_CURLY@[48; 49) |
42 | SEMI@[49; 50) | 42 | SEMI@[49; 50) |
@@ -48,7 +48,7 @@ FILE@[0; 107) | |||
48 | LITERAL@[58; 62) | 48 | LITERAL@[58; 62) |
49 | TRUE_KW@[58; 62) | 49 | TRUE_KW@[58; 62) |
50 | WHITESPACE@[62; 63) | 50 | WHITESPACE@[62; 63) |
51 | BLOCK_EXPR@[63; 65) | 51 | BLOCK@[63; 65) |
52 | L_CURLY@[63; 64) | 52 | L_CURLY@[63; 64) |
53 | R_CURLY@[64; 65) | 53 | R_CURLY@[64; 65) |
54 | WHITESPACE@[65; 66) | 54 | WHITESPACE@[65; 66) |
@@ -60,13 +60,13 @@ FILE@[0; 107) | |||
60 | LITERAL@[74; 79) | 60 | LITERAL@[74; 79) |
61 | FALSE_KW@[74; 79) | 61 | FALSE_KW@[74; 79) |
62 | WHITESPACE@[79; 80) | 62 | WHITESPACE@[79; 80) |
63 | BLOCK_EXPR@[80; 82) | 63 | BLOCK@[80; 82) |
64 | L_CURLY@[80; 81) | 64 | L_CURLY@[80; 81) |
65 | R_CURLY@[81; 82) | 65 | R_CURLY@[81; 82) |
66 | WHITESPACE@[82; 83) | 66 | WHITESPACE@[82; 83) |
67 | ELSE_KW@[83; 87) | 67 | ELSE_KW@[83; 87) |
68 | WHITESPACE@[87; 88) | 68 | WHITESPACE@[87; 88) |
69 | BLOCK_EXPR@[88; 90) | 69 | BLOCK@[88; 90) |
70 | L_CURLY@[88; 89) | 70 | L_CURLY@[88; 89) |
71 | R_CURLY@[89; 90) | 71 | R_CURLY@[89; 90) |
72 | SEMI@[90; 91) | 72 | SEMI@[90; 91) |
@@ -81,7 +81,7 @@ FILE@[0; 107) | |||
81 | NAME_REF@[99; 100) | 81 | NAME_REF@[99; 100) |
82 | IDENT@[99; 100) "S" | 82 | IDENT@[99; 100) "S" |
83 | WHITESPACE@[100; 101) | 83 | WHITESPACE@[100; 101) |
84 | BLOCK_EXPR@[101; 103) | 84 | BLOCK@[101; 103) |
85 | L_CURLY@[101; 102) | 85 | L_CURLY@[101; 102) |
86 | R_CURLY@[102; 103) | 86 | R_CURLY@[102; 103) |
87 | SEMI@[103; 104) | 87 | SEMI@[103; 104) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0066_lambda_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0066_lambda_expr.txt index a5acd9d12..0e95f84c4 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0066_lambda_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0066_lambda_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 79) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 78) | 11 | BLOCK@[9; 78) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 21) | 14 | EXPR_STMT@[15; 21) |
@@ -36,7 +36,7 @@ FILE@[0; 79) | |||
36 | NAME_REF@[32; 35) | 36 | NAME_REF@[32; 35) |
37 | IDENT@[32; 35) "i32" | 37 | IDENT@[32; 35) "i32" |
38 | WHITESPACE@[35; 36) | 38 | WHITESPACE@[35; 36) |
39 | BLOCK_EXPR@[36; 42) | 39 | BLOCK@[36; 42) |
40 | L_CURLY@[36; 37) | 40 | L_CURLY@[36; 37) |
41 | WHITESPACE@[37; 38) | 41 | WHITESPACE@[37; 38) |
42 | LITERAL@[38; 40) | 42 | LITERAL@[38; 40) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.txt index 688466a13..e1ad36165 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0067_block_expr.txt | |||
@@ -8,21 +8,23 @@ FILE@[0; 36) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 35) | 11 | BLOCK@[9; 35) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 18) | 14 | EXPR_STMT@[15; 18) |
15 | BLOCK_EXPR@[15; 17) | 15 | BLOCK_EXPR@[15; 17) |
16 | L_CURLY@[15; 16) | 16 | BLOCK@[15; 17) |
17 | R_CURLY@[16; 17) | 17 | L_CURLY@[15; 16) |
18 | R_CURLY@[16; 17) | ||
18 | SEMI@[17; 18) | 19 | SEMI@[17; 18) |
19 | WHITESPACE@[18; 23) | 20 | WHITESPACE@[18; 23) |
20 | EXPR_STMT@[23; 33) | 21 | EXPR_STMT@[23; 33) |
21 | BLOCK_EXPR@[23; 32) | 22 | BLOCK_EXPR@[23; 32) |
22 | UNSAFE_KW@[23; 29) | 23 | UNSAFE_KW@[23; 29) |
23 | WHITESPACE@[29; 30) | 24 | WHITESPACE@[29; 30) |
24 | L_CURLY@[30; 31) | 25 | BLOCK@[30; 32) |
25 | R_CURLY@[31; 32) | 26 | L_CURLY@[30; 31) |
27 | R_CURLY@[31; 32) | ||
26 | SEMI@[32; 33) | 28 | SEMI@[32; 33) |
27 | WHITESPACE@[33; 34) | 29 | WHITESPACE@[33; 34) |
28 | R_CURLY@[34; 35) | 30 | R_CURLY@[34; 35) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0068_pub_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0068_pub_expr.txt index 22d30cf32..7f475745d 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0068_pub_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0068_pub_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 29) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 20) | 11 | BLOCK@[9; 20) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 11) | 13 | WHITESPACE@[10; 11) |
14 | EXPR_STMT@[11; 18) | 14 | EXPR_STMT@[11; 18) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0068_return_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0068_return_expr.txt index fa999bfca..8832d2cff 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0068_return_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0068_return_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 40) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 39) | 11 | BLOCK@[9; 39) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 22) | 14 | EXPR_STMT@[15; 22) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0069_match_arm.txt b/crates/libsyntax2/tests/data/parser/inline/0069_match_arm.txt index a3061cfa2..1fffec7b1 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0069_match_arm.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0069_match_arm.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 78) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 77) | 11 | BLOCK@[9; 77) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 75) | 14 | EXPR_STMT@[15; 75) |
@@ -19,46 +19,47 @@ FILE@[0; 78) | |||
19 | L_PAREN@[21; 22) | 19 | L_PAREN@[21; 22) |
20 | R_PAREN@[22; 23) | 20 | R_PAREN@[22; 23) |
21 | WHITESPACE@[23; 24) | 21 | WHITESPACE@[23; 24) |
22 | L_CURLY@[24; 25) | 22 | MATCH_ARM_LIST@[24; 74) |
23 | WHITESPACE@[25; 34) | 23 | L_CURLY@[24; 25) |
24 | MATCH_ARM@[34; 41) | 24 | WHITESPACE@[25; 34) |
25 | PLACEHOLDER_PAT@[34; 35) | 25 | MATCH_ARM@[34; 41) |
26 | UNDERSCORE@[34; 35) | 26 | PLACEHOLDER_PAT@[34; 35) |
27 | WHITESPACE@[35; 36) | 27 | UNDERSCORE@[34; 35) |
28 | FAT_ARROW@[36; 38) | 28 | WHITESPACE@[35; 36) |
29 | WHITESPACE@[38; 39) | 29 | FAT_ARROW@[36; 38) |
30 | TUPLE_EXPR@[39; 41) | 30 | WHITESPACE@[38; 39) |
31 | L_PAREN@[39; 40) | 31 | TUPLE_EXPR@[39; 41) |
32 | R_PAREN@[40; 41) | 32 | L_PAREN@[39; 40) |
33 | COMMA@[41; 42) | 33 | R_PAREN@[40; 41) |
34 | WHITESPACE@[42; 51) | 34 | COMMA@[41; 42) |
35 | MATCH_ARM@[51; 67) | 35 | WHITESPACE@[42; 51) |
36 | BIND_PAT@[51; 52) | 36 | MATCH_ARM@[51; 67) |
37 | NAME@[51; 52) | 37 | BIND_PAT@[51; 52) |
38 | IDENT@[51; 52) "X" | 38 | NAME@[51; 52) |
39 | WHITESPACE@[52; 53) | 39 | IDENT@[51; 52) "X" |
40 | PIPE@[53; 54) | 40 | WHITESPACE@[52; 53) |
41 | WHITESPACE@[54; 55) | 41 | PIPE@[53; 54) |
42 | BIND_PAT@[55; 56) | 42 | WHITESPACE@[54; 55) |
43 | NAME@[55; 56) | 43 | BIND_PAT@[55; 56) |
44 | IDENT@[55; 56) "Y" | 44 | NAME@[55; 56) |
45 | WHITESPACE@[56; 57) | 45 | IDENT@[55; 56) "Y" |
46 | IF_KW@[57; 59) | 46 | WHITESPACE@[56; 57) |
47 | WHITESPACE@[59; 60) | 47 | IF_KW@[57; 59) |
48 | PATH_EXPR@[60; 61) | 48 | WHITESPACE@[59; 60) |
49 | PATH@[60; 61) | 49 | PATH_EXPR@[60; 61) |
50 | PATH_SEGMENT@[60; 61) | 50 | PATH@[60; 61) |
51 | NAME_REF@[60; 61) | 51 | PATH_SEGMENT@[60; 61) |
52 | IDENT@[60; 61) "Z" | 52 | NAME_REF@[60; 61) |
53 | WHITESPACE@[61; 62) | 53 | IDENT@[60; 61) "Z" |
54 | FAT_ARROW@[62; 64) | 54 | WHITESPACE@[61; 62) |
55 | WHITESPACE@[64; 65) | 55 | FAT_ARROW@[62; 64) |
56 | TUPLE_EXPR@[65; 67) | 56 | WHITESPACE@[64; 65) |
57 | L_PAREN@[65; 66) | 57 | TUPLE_EXPR@[65; 67) |
58 | R_PAREN@[66; 67) | 58 | L_PAREN@[65; 66) |
59 | COMMA@[67; 68) | 59 | R_PAREN@[66; 67) |
60 | WHITESPACE@[68; 73) | 60 | COMMA@[67; 68) |
61 | R_CURLY@[73; 74) | 61 | WHITESPACE@[68; 73) |
62 | R_CURLY@[73; 74) | ||
62 | SEMI@[74; 75) | 63 | SEMI@[74; 75) |
63 | WHITESPACE@[75; 76) | 64 | WHITESPACE@[75; 76) |
64 | R_CURLY@[76; 77) | 65 | R_CURLY@[76; 77) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0070_match_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0070_match_expr.txt index a722766d0..2ffe99c0e 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0070_match_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0070_match_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 47) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 46) | 11 | BLOCK@[9; 46) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 28) | 14 | EXPR_STMT@[15; 28) |
@@ -19,9 +19,10 @@ FILE@[0; 47) | |||
19 | L_PAREN@[21; 22) | 19 | L_PAREN@[21; 22) |
20 | R_PAREN@[22; 23) | 20 | R_PAREN@[22; 23) |
21 | WHITESPACE@[23; 24) | 21 | WHITESPACE@[23; 24) |
22 | L_CURLY@[24; 25) | 22 | MATCH_ARM_LIST@[24; 27) |
23 | WHITESPACE@[25; 26) | 23 | L_CURLY@[24; 25) |
24 | R_CURLY@[26; 27) | 24 | WHITESPACE@[25; 26) |
25 | R_CURLY@[26; 27) | ||
25 | SEMI@[27; 28) | 26 | SEMI@[27; 28) |
26 | WHITESPACE@[28; 33) | 27 | WHITESPACE@[28; 33) |
27 | EXPR_STMT@[33; 44) | 28 | EXPR_STMT@[33; 44) |
@@ -34,8 +35,9 @@ FILE@[0; 47) | |||
34 | NAME_REF@[39; 40) | 35 | NAME_REF@[39; 40) |
35 | IDENT@[39; 40) "S" | 36 | IDENT@[39; 40) "S" |
36 | WHITESPACE@[40; 41) | 37 | WHITESPACE@[40; 41) |
37 | L_CURLY@[41; 42) | 38 | MATCH_ARM_LIST@[41; 43) |
38 | R_CURLY@[42; 43) | 39 | L_CURLY@[41; 42) |
40 | R_CURLY@[42; 43) | ||
39 | SEMI@[43; 44) | 41 | SEMI@[43; 44) |
40 | WHITESPACE@[44; 45) | 42 | WHITESPACE@[44; 45) |
41 | R_CURLY@[45; 46) | 43 | R_CURLY@[45; 46) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0071_tuple_pat_fields.txt b/crates/libsyntax2/tests/data/parser/inline/0071_tuple_pat_fields.txt index 76df989fc..dad7d3e87 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0071_tuple_pat_fields.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0071_tuple_pat_fields.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 97) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 96) | 11 | BLOCK@[9; 96) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | LET_STMT@[15; 28) | 14 | LET_STMT@[15; 28) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0072_path_part.txt b/crates/libsyntax2/tests/data/parser/inline/0072_path_part.txt index dabc64d2b..ae5296580 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0072_path_part.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0072_path_part.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 103) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 102) | 11 | BLOCK@[9; 102) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | LET_STMT@[15; 33) | 14 | LET_STMT@[15; 33) |
@@ -58,11 +58,12 @@ FILE@[0; 103) | |||
58 | NAME_REF@[62; 65) | 58 | NAME_REF@[62; 65) |
59 | IDENT@[62; 65) "Bar" | 59 | IDENT@[62; 65) "Bar" |
60 | WHITESPACE@[65; 66) | 60 | WHITESPACE@[65; 66) |
61 | L_CURLY@[66; 67) | 61 | FIELD_PAT_LIST@[66; 72) |
62 | WHITESPACE@[67; 68) | 62 | L_CURLY@[66; 67) |
63 | DOTDOT@[68; 70) | 63 | WHITESPACE@[67; 68) |
64 | WHITESPACE@[70; 71) | 64 | DOTDOT@[68; 70) |
65 | R_CURLY@[71; 72) | 65 | WHITESPACE@[70; 71) |
66 | R_CURLY@[71; 72) | ||
66 | WHITESPACE@[72; 73) | 67 | WHITESPACE@[72; 73) |
67 | EQ@[73; 74) | 68 | EQ@[73; 74) |
68 | WHITESPACE@[74; 75) | 69 | WHITESPACE@[74; 75) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0073_struct_pat_fields.txt b/crates/libsyntax2/tests/data/parser/inline/0073_struct_pat_fields.txt index 9a0b6dbec..cfe37a15a 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0073_struct_pat_fields.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0073_struct_pat_fields.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 119) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 118) | 11 | BLOCK@[9; 118) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | LET_STMT@[15; 29) | 14 | LET_STMT@[15; 29) |
@@ -20,8 +20,9 @@ FILE@[0; 119) | |||
20 | NAME_REF@[19; 20) | 20 | NAME_REF@[19; 20) |
21 | IDENT@[19; 20) "S" | 21 | IDENT@[19; 20) "S" |
22 | WHITESPACE@[20; 21) | 22 | WHITESPACE@[20; 21) |
23 | L_CURLY@[21; 22) | 23 | FIELD_PAT_LIST@[21; 23) |
24 | R_CURLY@[22; 23) | 24 | L_CURLY@[21; 22) |
25 | R_CURLY@[22; 23) | ||
25 | WHITESPACE@[23; 24) | 26 | WHITESPACE@[23; 24) |
26 | EQ@[24; 25) | 27 | EQ@[24; 25) |
27 | WHITESPACE@[25; 26) | 28 | WHITESPACE@[25; 26) |
@@ -39,22 +40,23 @@ FILE@[0; 119) | |||
39 | NAME_REF@[38; 39) | 40 | NAME_REF@[38; 39) |
40 | IDENT@[38; 39) "S" | 41 | IDENT@[38; 39) "S" |
41 | WHITESPACE@[39; 40) | 42 | WHITESPACE@[39; 40) |
42 | L_CURLY@[40; 41) | 43 | FIELD_PAT_LIST@[40; 56) |
43 | WHITESPACE@[41; 42) | 44 | L_CURLY@[40; 41) |
44 | BIND_PAT@[42; 43) | 45 | WHITESPACE@[41; 42) |
45 | NAME@[42; 43) | 46 | BIND_PAT@[42; 43) |
46 | IDENT@[42; 43) "f" | 47 | NAME@[42; 43) |
47 | COMMA@[43; 44) | 48 | IDENT@[42; 43) "f" |
48 | WHITESPACE@[44; 45) | 49 | COMMA@[43; 44) |
49 | BIND_PAT@[45; 54) | 50 | WHITESPACE@[44; 45) |
50 | REF_KW@[45; 48) | 51 | BIND_PAT@[45; 54) |
51 | WHITESPACE@[48; 49) | 52 | REF_KW@[45; 48) |
52 | MUT_KW@[49; 52) | 53 | WHITESPACE@[48; 49) |
53 | WHITESPACE@[52; 53) | 54 | MUT_KW@[49; 52) |
54 | NAME@[53; 54) | 55 | WHITESPACE@[52; 53) |
55 | IDENT@[53; 54) "g" | 56 | NAME@[53; 54) |
56 | WHITESPACE@[54; 55) | 57 | IDENT@[53; 54) "g" |
57 | R_CURLY@[55; 56) | 58 | WHITESPACE@[54; 55) |
59 | R_CURLY@[55; 56) | ||
58 | WHITESPACE@[56; 57) | 60 | WHITESPACE@[56; 57) |
59 | EQ@[57; 58) | 61 | EQ@[57; 58) |
60 | WHITESPACE@[58; 59) | 62 | WHITESPACE@[58; 59) |
@@ -72,17 +74,18 @@ FILE@[0; 119) | |||
72 | NAME_REF@[71; 72) | 74 | NAME_REF@[71; 72) |
73 | IDENT@[71; 72) "S" | 75 | IDENT@[71; 72) "S" |
74 | WHITESPACE@[72; 73) | 76 | WHITESPACE@[72; 73) |
75 | L_CURLY@[73; 74) | 77 | FIELD_PAT_LIST@[73; 84) |
76 | WHITESPACE@[74; 75) | 78 | L_CURLY@[73; 74) |
77 | IDENT@[75; 76) "h" | 79 | WHITESPACE@[74; 75) |
78 | COLON@[76; 77) | 80 | IDENT@[75; 76) "h" |
79 | WHITESPACE@[77; 78) | 81 | COLON@[76; 77) |
80 | PLACEHOLDER_PAT@[78; 79) | 82 | WHITESPACE@[77; 78) |
81 | UNDERSCORE@[78; 79) | 83 | PLACEHOLDER_PAT@[78; 79) |
82 | COMMA@[79; 80) | 84 | UNDERSCORE@[78; 79) |
83 | WHITESPACE@[80; 81) | 85 | COMMA@[79; 80) |
84 | DOTDOT@[81; 83) | 86 | WHITESPACE@[80; 81) |
85 | R_CURLY@[83; 84) | 87 | DOTDOT@[81; 83) |
88 | R_CURLY@[83; 84) | ||
86 | WHITESPACE@[84; 85) | 89 | WHITESPACE@[84; 85) |
87 | EQ@[85; 86) | 90 | EQ@[85; 86) |
88 | WHITESPACE@[86; 87) | 91 | WHITESPACE@[86; 87) |
@@ -100,16 +103,17 @@ FILE@[0; 119) | |||
100 | NAME_REF@[99; 100) | 103 | NAME_REF@[99; 100) |
101 | IDENT@[99; 100) "S" | 104 | IDENT@[99; 100) "S" |
102 | WHITESPACE@[100; 101) | 105 | WHITESPACE@[100; 101) |
103 | L_CURLY@[101; 102) | 106 | FIELD_PAT_LIST@[101; 110) |
104 | WHITESPACE@[102; 103) | 107 | L_CURLY@[101; 102) |
105 | IDENT@[103; 104) "h" | 108 | WHITESPACE@[102; 103) |
106 | COLON@[104; 105) | 109 | IDENT@[103; 104) "h" |
107 | WHITESPACE@[105; 106) | 110 | COLON@[104; 105) |
108 | PLACEHOLDER_PAT@[106; 107) | 111 | WHITESPACE@[105; 106) |
109 | UNDERSCORE@[106; 107) | 112 | PLACEHOLDER_PAT@[106; 107) |
110 | COMMA@[107; 108) | 113 | UNDERSCORE@[106; 107) |
111 | WHITESPACE@[108; 109) | 114 | COMMA@[107; 108) |
112 | R_CURLY@[109; 110) | 115 | WHITESPACE@[108; 109) |
116 | R_CURLY@[109; 110) | ||
113 | WHITESPACE@[110; 111) | 117 | WHITESPACE@[110; 111) |
114 | EQ@[111; 112) | 118 | EQ@[111; 112) |
115 | WHITESPACE@[112; 113) | 119 | WHITESPACE@[112; 113) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0074_unary_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0074_unary_expr.txt index 4da473a7f..3daf1d777 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0074_unary_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0074_unary_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 44) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 43) | 11 | BLOCK@[9; 43) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 20) | 14 | EXPR_STMT@[15; 20) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0075_try_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0075_try_expr.txt index c97d671d2..104847c82 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0075_try_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0075_try_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 21) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 20) | 11 | BLOCK@[9; 20) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 18) | 14 | EXPR_STMT@[15; 18) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0076_cond.txt b/crates/libsyntax2/tests/data/parser/inline/0076_cond.txt index 2ee8fa78a..6f26b7c0f 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0076_cond.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0076_cond.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 38) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 37) | 11 | BLOCK@[9; 37) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 11) | 13 | WHITESPACE@[10; 11) |
14 | IF_EXPR@[11; 35) | 14 | IF_EXPR@[11; 35) |
@@ -34,7 +34,7 @@ FILE@[0; 38) | |||
34 | NAME_REF@[28; 32) | 34 | NAME_REF@[28; 32) |
35 | IDENT@[28; 32) "None" | 35 | IDENT@[28; 32) "None" |
36 | WHITESPACE@[32; 33) | 36 | WHITESPACE@[32; 33) |
37 | BLOCK_EXPR@[33; 35) | 37 | BLOCK@[33; 35) |
38 | L_CURLY@[33; 34) | 38 | L_CURLY@[33; 34) |
39 | R_CURLY@[34; 35) | 39 | R_CURLY@[34; 35) |
40 | WHITESPACE@[35; 36) | 40 | WHITESPACE@[35; 36) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0077_while_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0077_while_expr.txt index 45a0c92dd..399dbd278 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0077_while_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0077_while_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 70) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 69) | 11 | BLOCK@[9; 69) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 29) | 14 | EXPR_STMT@[15; 29) |
@@ -18,7 +18,7 @@ FILE@[0; 70) | |||
18 | LITERAL@[21; 25) | 18 | LITERAL@[21; 25) |
19 | TRUE_KW@[21; 25) | 19 | TRUE_KW@[21; 25) |
20 | WHITESPACE@[25; 26) | 20 | WHITESPACE@[25; 26) |
21 | BLOCK_EXPR@[26; 28) | 21 | BLOCK@[26; 28) |
22 | L_CURLY@[26; 27) | 22 | L_CURLY@[26; 27) |
23 | R_CURLY@[27; 28) | 23 | R_CURLY@[27; 28) |
24 | SEMI@[28; 29) | 24 | SEMI@[28; 29) |
@@ -55,7 +55,7 @@ FILE@[0; 70) | |||
55 | L_PAREN@[61; 62) | 55 | L_PAREN@[61; 62) |
56 | R_PAREN@[62; 63) | 56 | R_PAREN@[62; 63) |
57 | WHITESPACE@[63; 64) | 57 | WHITESPACE@[63; 64) |
58 | BLOCK_EXPR@[64; 66) | 58 | BLOCK@[64; 66) |
59 | L_CURLY@[64; 65) | 59 | L_CURLY@[64; 65) |
60 | R_CURLY@[65; 66) | 60 | R_CURLY@[65; 66) |
61 | SEMI@[66; 67) | 61 | SEMI@[66; 67) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0078_mod_contents.txt b/crates/libsyntax2/tests/data/parser/inline/0078_mod_contents.txt index 696695eba..9324f2278 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0078_mod_contents.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0078_mod_contents.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 70) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 11) | 11 | BLOCK@[9; 11) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | R_CURLY@[10; 11) | 13 | R_CURLY@[10; 11) |
14 | WHITESPACE@[11; 12) | 14 | WHITESPACE@[11; 12) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0079_cast_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0079_cast_expr.txt index b49926d22..817f7b36e 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0079_cast_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0079_cast_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 28) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 27) | 11 | BLOCK@[9; 27) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 25) | 14 | EXPR_STMT@[15; 25) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0080_tuple_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0080_tuple_expr.txt index d2b4051a3..5e1dd1a62 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0080_tuple_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0080_tuple_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 40) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 39) | 11 | BLOCK@[9; 39) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 18) | 14 | EXPR_STMT@[15; 18) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0081_index_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0081_index_expr.txt index 9da850898..4ebd0e172 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0081_index_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0081_index_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 26) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 25) | 11 | BLOCK@[9; 25) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 23) | 14 | EXPR_STMT@[15; 23) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0082_tuple_pat.txt b/crates/libsyntax2/tests/data/parser/inline/0082_tuple_pat.txt index d47c712db..c498f4fc5 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0082_tuple_pat.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0082_tuple_pat.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 39) | |||
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) |
11 | BLOCK_EXPR@[10; 38) | 11 | BLOCK@[10; 38) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) |
13 | WHITESPACE@[11; 16) | 13 | WHITESPACE@[11; 16) |
14 | LET_STMT@[16; 36) | 14 | LET_STMT@[16; 36) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0083_postfix_range.txt b/crates/libsyntax2/tests/data/parser/inline/0083_postfix_range.txt index 312f8df1e..b4794e3e3 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0083_postfix_range.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0083_postfix_range.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 26) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 25) | 11 | BLOCK@[9; 25) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 11) | 13 | WHITESPACE@[10; 11) |
14 | LET_STMT@[11; 23) | 14 | LET_STMT@[11; 23) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0084_loop_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0084_loop_expr.txt index eba105e64..ce0dfe7a4 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0084_loop_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0084_loop_expr.txt | |||
@@ -8,14 +8,14 @@ FILE@[0; 26) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 25) | 11 | BLOCK@[9; 25) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 23) | 14 | EXPR_STMT@[15; 23) |
15 | LOOP_EXPR@[15; 22) | 15 | LOOP_EXPR@[15; 22) |
16 | LOOP_KW@[15; 19) | 16 | LOOP_KW@[15; 19) |
17 | WHITESPACE@[19; 20) | 17 | WHITESPACE@[19; 20) |
18 | BLOCK_EXPR@[20; 22) | 18 | BLOCK@[20; 22) |
19 | L_CURLY@[20; 21) | 19 | L_CURLY@[20; 21) |
20 | R_CURLY@[21; 22) | 20 | R_CURLY@[21; 22) |
21 | SEMI@[22; 23) | 21 | SEMI@[22; 23) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0085_for_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0085_for_expr.txt index c140b7225..9fb0c63c2 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0085_for_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0085_for_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 33) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 32) | 11 | BLOCK@[9; 32) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 30) | 14 | EXPR_STMT@[15; 30) |
@@ -25,7 +25,7 @@ FILE@[0; 33) | |||
25 | L_BRACK@[24; 25) | 25 | L_BRACK@[24; 25) |
26 | R_BRACK@[25; 26) | 26 | R_BRACK@[25; 26) |
27 | WHITESPACE@[26; 27) | 27 | WHITESPACE@[26; 27) |
28 | BLOCK_EXPR@[27; 29) | 28 | BLOCK@[27; 29) |
29 | L_CURLY@[27; 28) | 29 | L_CURLY@[27; 28) |
30 | R_CURLY@[28; 29) | 30 | R_CURLY@[28; 29) |
31 | SEMI@[29; 30) | 31 | SEMI@[29; 30) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0085_match_arms_commas.txt b/crates/libsyntax2/tests/data/parser/inline/0085_match_arms_commas.txt index fb8f36ec9..361c3d6ac 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0085_match_arms_commas.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0085_match_arms_commas.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 83) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 82) | 11 | BLOCK@[9; 82) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | MATCH_EXPR@[15; 80) | 14 | MATCH_EXPR@[15; 80) |
@@ -18,40 +18,42 @@ FILE@[0; 83) | |||
18 | L_PAREN@[21; 22) | 18 | L_PAREN@[21; 22) |
19 | R_PAREN@[22; 23) | 19 | R_PAREN@[22; 23) |
20 | WHITESPACE@[23; 24) | 20 | WHITESPACE@[23; 24) |
21 | L_CURLY@[24; 25) | 21 | MATCH_ARM_LIST@[24; 80) |
22 | WHITESPACE@[25; 34) | 22 | L_CURLY@[24; 25) |
23 | MATCH_ARM@[34; 41) | 23 | WHITESPACE@[25; 34) |
24 | PLACEHOLDER_PAT@[34; 35) | 24 | MATCH_ARM@[34; 41) |
25 | UNDERSCORE@[34; 35) | 25 | PLACEHOLDER_PAT@[34; 35) |
26 | WHITESPACE@[35; 36) | 26 | UNDERSCORE@[34; 35) |
27 | FAT_ARROW@[36; 38) | 27 | WHITESPACE@[35; 36) |
28 | WHITESPACE@[38; 39) | 28 | FAT_ARROW@[36; 38) |
29 | TUPLE_EXPR@[39; 41) | 29 | WHITESPACE@[38; 39) |
30 | L_PAREN@[39; 40) | 30 | TUPLE_EXPR@[39; 41) |
31 | R_PAREN@[40; 41) | 31 | L_PAREN@[39; 40) |
32 | COMMA@[41; 42) | 32 | R_PAREN@[40; 41) |
33 | WHITESPACE@[42; 51) | 33 | COMMA@[41; 42) |
34 | MATCH_ARM@[51; 58) | 34 | WHITESPACE@[42; 51) |
35 | PLACEHOLDER_PAT@[51; 52) | 35 | MATCH_ARM@[51; 58) |
36 | UNDERSCORE@[51; 52) | 36 | PLACEHOLDER_PAT@[51; 52) |
37 | WHITESPACE@[52; 53) | 37 | UNDERSCORE@[51; 52) |
38 | FAT_ARROW@[53; 55) | 38 | WHITESPACE@[52; 53) |
39 | WHITESPACE@[55; 56) | 39 | FAT_ARROW@[53; 55) |
40 | BLOCK_EXPR@[56; 58) | 40 | WHITESPACE@[55; 56) |
41 | L_CURLY@[56; 57) | 41 | BLOCK_EXPR@[56; 58) |
42 | R_CURLY@[57; 58) | 42 | BLOCK@[56; 58) |
43 | WHITESPACE@[58; 67) | 43 | L_CURLY@[56; 57) |
44 | MATCH_ARM@[67; 74) | 44 | R_CURLY@[57; 58) |
45 | PLACEHOLDER_PAT@[67; 68) | 45 | WHITESPACE@[58; 67) |
46 | UNDERSCORE@[67; 68) | 46 | MATCH_ARM@[67; 74) |
47 | WHITESPACE@[68; 69) | 47 | PLACEHOLDER_PAT@[67; 68) |
48 | FAT_ARROW@[69; 71) | 48 | UNDERSCORE@[67; 68) |
49 | WHITESPACE@[71; 72) | 49 | WHITESPACE@[68; 69) |
50 | TUPLE_EXPR@[72; 74) | 50 | FAT_ARROW@[69; 71) |
51 | L_PAREN@[72; 73) | 51 | WHITESPACE@[71; 72) |
52 | R_PAREN@[73; 74) | 52 | TUPLE_EXPR@[72; 74) |
53 | WHITESPACE@[74; 79) | 53 | L_PAREN@[72; 73) |
54 | R_CURLY@[79; 80) | 54 | R_PAREN@[73; 74) |
55 | WHITESPACE@[74; 79) | ||
56 | R_CURLY@[79; 80) | ||
55 | WHITESPACE@[80; 81) | 57 | WHITESPACE@[80; 81) |
56 | R_CURLY@[81; 82) | 58 | R_CURLY@[81; 82) |
57 | WHITESPACE@[82; 83) | 59 | WHITESPACE@[82; 83) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0086_array_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0086_array_expr.txt index e3b9c0dcd..b954f575d 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0086_array_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0086_array_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 55) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 54) | 11 | BLOCK@[9; 54) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 18) | 14 | EXPR_STMT@[15; 18) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0086_no_semi_after_block.txt b/crates/libsyntax2/tests/data/parser/inline/0086_no_semi_after_block.txt index 3cb9eb11d..34ec269e6 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0086_no_semi_after_block.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0086_no_semi_after_block.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 107) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 106) | 11 | BLOCK@[9; 106) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 25) | 14 | EXPR_STMT@[15; 25) |
@@ -18,7 +18,7 @@ FILE@[0; 107) | |||
18 | LITERAL@[18; 22) | 18 | LITERAL@[18; 22) |
19 | TRUE_KW@[18; 22) | 19 | TRUE_KW@[18; 22) |
20 | WHITESPACE@[22; 23) | 20 | WHITESPACE@[22; 23) |
21 | BLOCK_EXPR@[23; 25) | 21 | BLOCK@[23; 25) |
22 | L_CURLY@[23; 24) | 22 | L_CURLY@[23; 24) |
23 | R_CURLY@[24; 25) | 23 | R_CURLY@[24; 25) |
24 | WHITESPACE@[25; 30) | 24 | WHITESPACE@[25; 30) |
@@ -26,7 +26,7 @@ FILE@[0; 107) | |||
26 | LOOP_EXPR@[30; 37) | 26 | LOOP_EXPR@[30; 37) |
27 | LOOP_KW@[30; 34) | 27 | LOOP_KW@[30; 34) |
28 | WHITESPACE@[34; 35) | 28 | WHITESPACE@[34; 35) |
29 | BLOCK_EXPR@[35; 37) | 29 | BLOCK@[35; 37) |
30 | L_CURLY@[35; 36) | 30 | L_CURLY@[35; 36) |
31 | R_CURLY@[36; 37) | 31 | R_CURLY@[36; 37) |
32 | WHITESPACE@[37; 42) | 32 | WHITESPACE@[37; 42) |
@@ -38,8 +38,9 @@ FILE@[0; 107) | |||
38 | L_PAREN@[48; 49) | 38 | L_PAREN@[48; 49) |
39 | R_PAREN@[49; 50) | 39 | R_PAREN@[49; 50) |
40 | WHITESPACE@[50; 51) | 40 | WHITESPACE@[50; 51) |
41 | L_CURLY@[51; 52) | 41 | MATCH_ARM_LIST@[51; 53) |
42 | R_CURLY@[52; 53) | 42 | L_CURLY@[51; 52) |
43 | R_CURLY@[52; 53) | ||
43 | WHITESPACE@[53; 58) | 44 | WHITESPACE@[53; 58) |
44 | EXPR_STMT@[58; 71) | 45 | EXPR_STMT@[58; 71) |
45 | WHILE_EXPR@[58; 71) | 46 | WHILE_EXPR@[58; 71) |
@@ -48,7 +49,7 @@ FILE@[0; 107) | |||
48 | LITERAL@[64; 68) | 49 | LITERAL@[64; 68) |
49 | TRUE_KW@[64; 68) | 50 | TRUE_KW@[64; 68) |
50 | WHITESPACE@[68; 69) | 51 | WHITESPACE@[68; 69) |
51 | BLOCK_EXPR@[69; 71) | 52 | BLOCK@[69; 71) |
52 | L_CURLY@[69; 70) | 53 | L_CURLY@[69; 70) |
53 | R_CURLY@[70; 71) | 54 | R_CURLY@[70; 71) |
54 | WHITESPACE@[71; 76) | 55 | WHITESPACE@[71; 76) |
@@ -65,18 +66,20 @@ FILE@[0; 107) | |||
65 | L_PAREN@[85; 86) | 66 | L_PAREN@[85; 86) |
66 | R_PAREN@[86; 87) | 67 | R_PAREN@[86; 87) |
67 | WHITESPACE@[87; 88) | 68 | WHITESPACE@[87; 88) |
68 | BLOCK_EXPR@[88; 90) | 69 | BLOCK@[88; 90) |
69 | L_CURLY@[88; 89) | 70 | L_CURLY@[88; 89) |
70 | R_CURLY@[89; 90) | 71 | R_CURLY@[89; 90) |
71 | WHITESPACE@[90; 95) | 72 | WHITESPACE@[90; 95) |
72 | EXPR_STMT@[95; 97) | 73 | EXPR_STMT@[95; 97) |
73 | BLOCK_EXPR@[95; 97) | 74 | BLOCK_EXPR@[95; 97) |
74 | L_CURLY@[95; 96) | 75 | BLOCK@[95; 97) |
75 | R_CURLY@[96; 97) | 76 | L_CURLY@[95; 96) |
77 | R_CURLY@[96; 97) | ||
76 | WHITESPACE@[97; 102) | 78 | WHITESPACE@[97; 102) |
77 | BLOCK_EXPR@[102; 104) | 79 | BLOCK_EXPR@[102; 104) |
78 | L_CURLY@[102; 103) | 80 | BLOCK@[102; 104) |
79 | R_CURLY@[103; 104) | 81 | L_CURLY@[102; 103) |
82 | R_CURLY@[103; 104) | ||
80 | WHITESPACE@[104; 105) | 83 | WHITESPACE@[104; 105) |
81 | R_CURLY@[105; 106) | 84 | R_CURLY@[105; 106) |
82 | WHITESPACE@[106; 107) | 85 | WHITESPACE@[106; 107) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt b/crates/libsyntax2/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt index 17351c87c..1451cdfbc 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 84) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 83) | 11 | BLOCK@[9; 83) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | MATCH_EXPR@[15; 81) | 14 | MATCH_EXPR@[15; 81) |
@@ -18,41 +18,45 @@ FILE@[0; 84) | |||
18 | L_PAREN@[21; 22) | 18 | L_PAREN@[21; 22) |
19 | R_PAREN@[22; 23) | 19 | R_PAREN@[22; 23) |
20 | WHITESPACE@[23; 24) | 20 | WHITESPACE@[23; 24) |
21 | L_CURLY@[24; 25) | 21 | MATCH_ARM_LIST@[24; 81) |
22 | WHITESPACE@[25; 34) | 22 | L_CURLY@[24; 25) |
23 | MATCH_ARM@[34; 41) | 23 | WHITESPACE@[25; 34) |
24 | PLACEHOLDER_PAT@[34; 35) | 24 | MATCH_ARM@[34; 41) |
25 | UNDERSCORE@[34; 35) | 25 | PLACEHOLDER_PAT@[34; 35) |
26 | WHITESPACE@[35; 36) | 26 | UNDERSCORE@[34; 35) |
27 | FAT_ARROW@[36; 38) | 27 | WHITESPACE@[35; 36) |
28 | WHITESPACE@[38; 39) | 28 | FAT_ARROW@[36; 38) |
29 | BLOCK_EXPR@[39; 41) | 29 | WHITESPACE@[38; 39) |
30 | L_CURLY@[39; 40) | 30 | BLOCK_EXPR@[39; 41) |
31 | R_CURLY@[40; 41) | 31 | BLOCK@[39; 41) |
32 | WHITESPACE@[41; 50) | 32 | L_CURLY@[39; 40) |
33 | MATCH_ARM@[50; 58) | 33 | R_CURLY@[40; 41) |
34 | TUPLE_PAT@[50; 52) | 34 | WHITESPACE@[41; 50) |
35 | L_PAREN@[50; 51) | 35 | MATCH_ARM@[50; 58) |
36 | R_PAREN@[51; 52) | 36 | TUPLE_PAT@[50; 52) |
37 | WHITESPACE@[52; 53) | 37 | L_PAREN@[50; 51) |
38 | FAT_ARROW@[53; 55) | 38 | R_PAREN@[51; 52) |
39 | WHITESPACE@[55; 56) | 39 | WHITESPACE@[52; 53) |
40 | BLOCK_EXPR@[56; 58) | 40 | FAT_ARROW@[53; 55) |
41 | L_CURLY@[56; 57) | 41 | WHITESPACE@[55; 56) |
42 | R_CURLY@[57; 58) | 42 | BLOCK_EXPR@[56; 58) |
43 | WHITESPACE@[58; 67) | 43 | BLOCK@[56; 58) |
44 | MATCH_ARM@[67; 75) | 44 | L_CURLY@[56; 57) |
45 | SLICE_PAT@[67; 69) | 45 | R_CURLY@[57; 58) |
46 | L_BRACK@[67; 68) | 46 | WHITESPACE@[58; 67) |
47 | R_BRACK@[68; 69) | 47 | MATCH_ARM@[67; 75) |
48 | WHITESPACE@[69; 70) | 48 | SLICE_PAT@[67; 69) |
49 | FAT_ARROW@[70; 72) | 49 | L_BRACK@[67; 68) |
50 | WHITESPACE@[72; 73) | 50 | R_BRACK@[68; 69) |
51 | BLOCK_EXPR@[73; 75) | 51 | WHITESPACE@[69; 70) |
52 | L_CURLY@[73; 74) | 52 | FAT_ARROW@[70; 72) |
53 | R_CURLY@[74; 75) | 53 | WHITESPACE@[72; 73) |
54 | WHITESPACE@[75; 80) | 54 | BLOCK_EXPR@[73; 75) |
55 | R_CURLY@[80; 81) | 55 | BLOCK@[73; 75) |
56 | L_CURLY@[73; 74) | ||
57 | R_CURLY@[74; 75) | ||
58 | WHITESPACE@[75; 80) | ||
59 | R_CURLY@[80; 81) | ||
56 | WHITESPACE@[81; 82) | 60 | WHITESPACE@[81; 82) |
57 | R_CURLY@[82; 83) | 61 | R_CURLY@[82; 83) |
58 | WHITESPACE@[83; 84) | 62 | WHITESPACE@[83; 84) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt b/crates/libsyntax2/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt index 51db54f15..71e55f570 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 46) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 45) | 11 | BLOCK@[9; 45) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | LET_STMT@[15; 31) | 14 | LET_STMT@[15; 31) |
@@ -21,10 +21,11 @@ FILE@[0; 46) | |||
21 | WHITESPACE@[22; 23) | 21 | WHITESPACE@[22; 23) |
22 | BIN_EXPR@[23; 30) | 22 | BIN_EXPR@[23; 30) |
23 | BLOCK_EXPR@[23; 26) | 23 | BLOCK_EXPR@[23; 26) |
24 | L_CURLY@[23; 24) | 24 | BLOCK@[23; 26) |
25 | LITERAL@[24; 25) | 25 | L_CURLY@[23; 24) |
26 | INT_NUMBER@[24; 25) "1" | 26 | LITERAL@[24; 25) |
27 | R_CURLY@[25; 26) | 27 | INT_NUMBER@[24; 25) "1" |
28 | R_CURLY@[25; 26) | ||
28 | WHITESPACE@[26; 27) | 29 | WHITESPACE@[26; 27) |
29 | AMP@[27; 28) | 30 | AMP@[27; 28) |
30 | WHITESPACE@[28; 29) | 31 | WHITESPACE@[28; 29) |
@@ -34,10 +35,11 @@ FILE@[0; 46) | |||
34 | WHITESPACE@[31; 36) | 35 | WHITESPACE@[31; 36) |
35 | EXPR_STMT@[36; 39) | 36 | EXPR_STMT@[36; 39) |
36 | BLOCK_EXPR@[36; 39) | 37 | BLOCK_EXPR@[36; 39) |
37 | L_CURLY@[36; 37) | 38 | BLOCK@[36; 39) |
38 | LITERAL@[37; 38) | 39 | L_CURLY@[36; 37) |
39 | INT_NUMBER@[37; 38) "1" | 40 | LITERAL@[37; 38) |
40 | R_CURLY@[38; 39) | 41 | INT_NUMBER@[37; 38) "1" |
42 | R_CURLY@[38; 39) | ||
41 | WHITESPACE@[39; 40) | 43 | WHITESPACE@[39; 40) |
42 | EXPR_STMT@[40; 43) | 44 | EXPR_STMT@[40; 43) |
43 | REF_EXPR@[40; 42) | 45 | REF_EXPR@[40; 42) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0089_slice_pat.txt b/crates/libsyntax2/tests/data/parser/inline/0089_slice_pat.txt index 8c3aaf096..b092a4ac4 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0089_slice_pat.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0089_slice_pat.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 39) | |||
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) |
11 | BLOCK_EXPR@[10; 38) | 11 | BLOCK@[10; 38) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) |
13 | WHITESPACE@[11; 16) | 13 | WHITESPACE@[11; 16) |
14 | LET_STMT@[16; 36) | 14 | LET_STMT@[16; 36) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0090_trait_item_items.txt b/crates/libsyntax2/tests/data/parser/inline/0090_trait_item_items.txt index 62d728f21..92ac51781 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0090_trait_item_items.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0090_trait_item_items.txt | |||
@@ -8,60 +8,61 @@ FILE@[0; 83) | |||
8 | NAME_REF@[5; 6) | 8 | NAME_REF@[5; 6) |
9 | IDENT@[5; 6) "F" | 9 | IDENT@[5; 6) "F" |
10 | WHITESPACE@[6; 7) | 10 | WHITESPACE@[6; 7) |
11 | L_CURLY@[7; 8) | 11 | ITEM_LIST@[7; 82) |
12 | WHITESPACE@[8; 13) | 12 | L_CURLY@[7; 8) |
13 | TYPE_DEF@[13; 27) | 13 | WHITESPACE@[8; 13) |
14 | TYPE_KW@[13; 17) | 14 | TYPE_DEF@[13; 27) |
15 | WHITESPACE@[17; 18) | 15 | TYPE_KW@[13; 17) |
16 | NAME@[18; 19) | 16 | WHITESPACE@[17; 18) |
17 | IDENT@[18; 19) "A" | 17 | NAME@[18; 19) |
18 | COLON@[19; 20) | 18 | IDENT@[18; 19) "A" |
19 | WHITESPACE@[20; 21) | 19 | COLON@[19; 20) |
20 | PATH@[21; 26) | 20 | WHITESPACE@[20; 21) |
21 | PATH_SEGMENT@[21; 26) | 21 | PATH@[21; 26) |
22 | NAME_REF@[21; 26) | 22 | PATH_SEGMENT@[21; 26) |
23 | IDENT@[21; 26) "Clone" | 23 | NAME_REF@[21; 26) |
24 | SEMI@[26; 27) | 24 | IDENT@[21; 26) "Clone" |
25 | WHITESPACE@[27; 32) | 25 | SEMI@[26; 27) |
26 | CONST_DEF@[32; 45) | 26 | WHITESPACE@[27; 32) |
27 | CONST_KW@[32; 37) | 27 | CONST_DEF@[32; 45) |
28 | WHITESPACE@[37; 38) | 28 | CONST_KW@[32; 37) |
29 | NAME@[38; 39) | 29 | WHITESPACE@[37; 38) |
30 | IDENT@[38; 39) "B" | 30 | NAME@[38; 39) |
31 | COLON@[39; 40) | 31 | IDENT@[38; 39) "B" |
32 | WHITESPACE@[40; 41) | 32 | COLON@[39; 40) |
33 | PATH_TYPE@[41; 44) | 33 | WHITESPACE@[40; 41) |
34 | PATH@[41; 44) | 34 | PATH_TYPE@[41; 44) |
35 | PATH_SEGMENT@[41; 44) | 35 | PATH@[41; 44) |
36 | NAME_REF@[41; 44) | 36 | PATH_SEGMENT@[41; 44) |
37 | IDENT@[41; 44) "i32" | 37 | NAME_REF@[41; 44) |
38 | SEMI@[44; 45) | 38 | IDENT@[41; 44) "i32" |
39 | WHITESPACE@[45; 50) | 39 | SEMI@[44; 45) |
40 | FN_DEF@[50; 61) | 40 | WHITESPACE@[45; 50) |
41 | FN_KW@[50; 52) | 41 | FN_DEF@[50; 61) |
42 | WHITESPACE@[52; 53) | 42 | FN_KW@[50; 52) |
43 | NAME@[53; 56) | 43 | WHITESPACE@[52; 53) |
44 | IDENT@[53; 56) "foo" | 44 | NAME@[53; 56) |
45 | PARAM_LIST@[56; 58) | 45 | IDENT@[53; 56) "foo" |
46 | L_PAREN@[56; 57) | 46 | PARAM_LIST@[56; 58) |
47 | R_PAREN@[57; 58) | 47 | L_PAREN@[56; 57) |
48 | WHITESPACE@[58; 59) | 48 | R_PAREN@[57; 58) |
49 | BLOCK_EXPR@[59; 61) | 49 | WHITESPACE@[58; 59) |
50 | L_CURLY@[59; 60) | 50 | BLOCK@[59; 61) |
51 | R_CURLY@[60; 61) | 51 | L_CURLY@[59; 60) |
52 | WHITESPACE@[61; 66) | 52 | R_CURLY@[60; 61) |
53 | FN_DEF@[66; 80) | 53 | WHITESPACE@[61; 66) |
54 | FN_KW@[66; 68) | 54 | FN_DEF@[66; 80) |
55 | WHITESPACE@[68; 69) | 55 | FN_KW@[66; 68) |
56 | NAME@[69; 72) | 56 | WHITESPACE@[68; 69) |
57 | IDENT@[69; 72) "bar" | 57 | NAME@[69; 72) |
58 | PARAM_LIST@[72; 79) | 58 | IDENT@[69; 72) "bar" |
59 | L_PAREN@[72; 73) | 59 | PARAM_LIST@[72; 79) |
60 | SELF_PARAM@[73; 78) | 60 | L_PAREN@[72; 73) |
61 | AMP@[73; 74) | 61 | SELF_PARAM@[73; 78) |
62 | SELF_KW@[74; 78) | 62 | AMP@[73; 74) |
63 | R_PAREN@[78; 79) | 63 | SELF_KW@[74; 78) |
64 | SEMI@[79; 80) | 64 | R_PAREN@[78; 79) |
65 | WHITESPACE@[80; 81) | 65 | SEMI@[79; 80) |
66 | R_CURLY@[81; 82) | 66 | WHITESPACE@[80; 81) |
67 | R_CURLY@[81; 82) | ||
67 | WHITESPACE@[82; 83) | 68 | WHITESPACE@[82; 83) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0091_fn_decl.txt b/crates/libsyntax2/tests/data/parser/inline/0091_fn_decl.txt index e5c96aa76..6b6d70150 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0091_fn_decl.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0091_fn_decl.txt | |||
@@ -5,17 +5,18 @@ FILE@[0; 22) | |||
5 | NAME@[6; 7) | 5 | NAME@[6; 7) |
6 | IDENT@[6; 7) "T" | 6 | IDENT@[6; 7) "T" |
7 | WHITESPACE@[7; 8) | 7 | WHITESPACE@[7; 8) |
8 | L_CURLY@[8; 9) | 8 | ITEM_LIST@[8; 21) |
9 | WHITESPACE@[9; 10) | 9 | L_CURLY@[8; 9) |
10 | FN_DEF@[10; 19) | 10 | WHITESPACE@[9; 10) |
11 | FN_KW@[10; 12) | 11 | FN_DEF@[10; 19) |
12 | WHITESPACE@[12; 13) | 12 | FN_KW@[10; 12) |
13 | NAME@[13; 16) | 13 | WHITESPACE@[12; 13) |
14 | IDENT@[13; 16) "foo" | 14 | NAME@[13; 16) |
15 | PARAM_LIST@[16; 18) | 15 | IDENT@[13; 16) "foo" |
16 | L_PAREN@[16; 17) | 16 | PARAM_LIST@[16; 18) |
17 | R_PAREN@[17; 18) | 17 | L_PAREN@[16; 17) |
18 | SEMI@[18; 19) | 18 | R_PAREN@[17; 18) |
19 | WHITESPACE@[19; 20) | 19 | SEMI@[18; 19) |
20 | R_CURLY@[20; 21) | 20 | WHITESPACE@[19; 20) |
21 | R_CURLY@[20; 21) | ||
21 | WHITESPACE@[21; 22) | 22 | WHITESPACE@[21; 22) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0092_literal_pattern.txt b/crates/libsyntax2/tests/data/parser/inline/0092_literal_pattern.txt index 5d49c31fe..e472f1d8f 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0092_literal_pattern.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0092_literal_pattern.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 95) | |||
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) |
11 | BLOCK_EXPR@[10; 94) | 11 | BLOCK@[10; 94) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) |
13 | WHITESPACE@[11; 16) | 13 | WHITESPACE@[11; 16) |
14 | MATCH_EXPR@[16; 92) | 14 | MATCH_EXPR@[16; 92) |
@@ -18,42 +18,43 @@ FILE@[0; 95) | |||
18 | L_PAREN@[22; 23) | 18 | L_PAREN@[22; 23) |
19 | R_PAREN@[23; 24) | 19 | R_PAREN@[23; 24) |
20 | WHITESPACE@[24; 25) | 20 | WHITESPACE@[24; 25) |
21 | L_CURLY@[25; 26) | 21 | MATCH_ARM_LIST@[25; 92) |
22 | WHITESPACE@[26; 35) | 22 | L_CURLY@[25; 26) |
23 | MATCH_ARM@[35; 43) | 23 | WHITESPACE@[26; 35) |
24 | LITERAL@[35; 37) | 24 | MATCH_ARM@[35; 43) |
25 | INT_NUMBER@[35; 37) "92" | 25 | LITERAL@[35; 37) |
26 | WHITESPACE@[37; 38) | 26 | INT_NUMBER@[35; 37) "92" |
27 | FAT_ARROW@[38; 40) | 27 | WHITESPACE@[37; 38) |
28 | WHITESPACE@[40; 41) | 28 | FAT_ARROW@[38; 40) |
29 | TUPLE_EXPR@[41; 43) | 29 | WHITESPACE@[40; 41) |
30 | L_PAREN@[41; 42) | 30 | TUPLE_EXPR@[41; 43) |
31 | R_PAREN@[42; 43) | 31 | L_PAREN@[41; 42) |
32 | COMMA@[43; 44) | 32 | R_PAREN@[42; 43) |
33 | WHITESPACE@[44; 53) | 33 | COMMA@[43; 44) |
34 | MATCH_ARM@[53; 62) | 34 | WHITESPACE@[44; 53) |
35 | LITERAL@[53; 56) | 35 | MATCH_ARM@[53; 62) |
36 | CHAR@[53; 56) | 36 | LITERAL@[53; 56) |
37 | WHITESPACE@[56; 57) | 37 | CHAR@[53; 56) |
38 | FAT_ARROW@[57; 59) | 38 | WHITESPACE@[56; 57) |
39 | WHITESPACE@[59; 60) | 39 | FAT_ARROW@[57; 59) |
40 | TUPLE_EXPR@[60; 62) | 40 | WHITESPACE@[59; 60) |
41 | L_PAREN@[60; 61) | 41 | TUPLE_EXPR@[60; 62) |
42 | R_PAREN@[61; 62) | 42 | L_PAREN@[60; 61) |
43 | COMMA@[62; 63) | 43 | R_PAREN@[61; 62) |
44 | WHITESPACE@[63; 72) | 44 | COMMA@[62; 63) |
45 | MATCH_ARM@[72; 85) | 45 | WHITESPACE@[63; 72) |
46 | LITERAL@[72; 79) | 46 | MATCH_ARM@[72; 85) |
47 | STRING@[72; 79) | 47 | LITERAL@[72; 79) |
48 | WHITESPACE@[79; 80) | 48 | STRING@[72; 79) |
49 | FAT_ARROW@[80; 82) | 49 | WHITESPACE@[79; 80) |
50 | WHITESPACE@[82; 83) | 50 | FAT_ARROW@[80; 82) |
51 | TUPLE_EXPR@[83; 85) | 51 | WHITESPACE@[82; 83) |
52 | L_PAREN@[83; 84) | 52 | TUPLE_EXPR@[83; 85) |
53 | R_PAREN@[84; 85) | 53 | L_PAREN@[83; 84) |
54 | COMMA@[85; 86) | 54 | R_PAREN@[84; 85) |
55 | WHITESPACE@[86; 91) | 55 | COMMA@[85; 86) |
56 | R_CURLY@[91; 92) | 56 | WHITESPACE@[86; 91) |
57 | R_CURLY@[91; 92) | ||
57 | WHITESPACE@[92; 93) | 58 | WHITESPACE@[92; 93) |
58 | R_CURLY@[93; 94) | 59 | R_CURLY@[93; 94) |
59 | WHITESPACE@[94; 95) | 60 | WHITESPACE@[94; 95) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0094_range_pat.txt b/crates/libsyntax2/tests/data/parser/inline/0094_range_pat.txt index 8b174b908..4a008e2f7 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0094_range_pat.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0094_range_pat.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 47) | |||
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) |
11 | BLOCK_EXPR@[10; 46) | 11 | BLOCK@[10; 46) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) |
13 | WHITESPACE@[11; 16) | 13 | WHITESPACE@[11; 16) |
14 | MATCH_EXPR@[16; 44) | 14 | MATCH_EXPR@[16; 44) |
@@ -17,25 +17,26 @@ FILE@[0; 47) | |||
17 | LITERAL@[22; 24) | 17 | LITERAL@[22; 24) |
18 | INT_NUMBER@[22; 24) "92" | 18 | INT_NUMBER@[22; 24) "92" |
19 | WHITESPACE@[24; 25) | 19 | WHITESPACE@[24; 25) |
20 | L_CURLY@[25; 26) | 20 | MATCH_ARM_LIST@[25; 44) |
21 | WHITESPACE@[26; 27) | 21 | L_CURLY@[25; 26) |
22 | MATCH_ARM@[27; 42) | 22 | WHITESPACE@[26; 27) |
23 | RANGE_PAT@[27; 36) | 23 | MATCH_ARM@[27; 42) |
24 | LITERAL@[27; 28) | 24 | RANGE_PAT@[27; 36) |
25 | INT_NUMBER@[27; 28) "0" | 25 | LITERAL@[27; 28) |
26 | WHITESPACE@[28; 29) | 26 | INT_NUMBER@[27; 28) "0" |
27 | DOTDOTDOT@[29; 32) | 27 | WHITESPACE@[28; 29) |
28 | WHITESPACE@[32; 33) | 28 | DOTDOTDOT@[29; 32) |
29 | LITERAL@[33; 36) | 29 | WHITESPACE@[32; 33) |
30 | INT_NUMBER@[33; 36) "100" | 30 | LITERAL@[33; 36) |
31 | WHITESPACE@[36; 37) | 31 | INT_NUMBER@[33; 36) "100" |
32 | FAT_ARROW@[37; 39) | 32 | WHITESPACE@[36; 37) |
33 | WHITESPACE@[39; 40) | 33 | FAT_ARROW@[37; 39) |
34 | TUPLE_EXPR@[40; 42) | 34 | WHITESPACE@[39; 40) |
35 | L_PAREN@[40; 41) | 35 | TUPLE_EXPR@[40; 42) |
36 | R_PAREN@[41; 42) | 36 | L_PAREN@[40; 41) |
37 | WHITESPACE@[42; 43) | 37 | R_PAREN@[41; 42) |
38 | R_CURLY@[43; 44) | 38 | WHITESPACE@[42; 43) |
39 | R_CURLY@[43; 44) | ||
39 | WHITESPACE@[44; 45) | 40 | WHITESPACE@[44; 45) |
40 | R_CURLY@[45; 46) | 41 | R_CURLY@[45; 46) |
41 | WHITESPACE@[46; 47) | 42 | WHITESPACE@[46; 47) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0095_path_type_with_bounds.txt b/crates/libsyntax2/tests/data/parser/inline/0095_path_type_with_bounds.txt index 5b6252d0e..0e3041e38 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0095_path_type_with_bounds.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0095_path_type_with_bounds.txt | |||
@@ -29,7 +29,7 @@ FILE@[0; 27) | |||
29 | LIFETIME@[20; 22) "'f" | 29 | LIFETIME@[20; 22) "'f" |
30 | R_ANGLE@[22; 23) | 30 | R_ANGLE@[22; 23) |
31 | WHITESPACE@[23; 24) | 31 | WHITESPACE@[23; 24) |
32 | BLOCK_EXPR@[24; 26) | 32 | BLOCK@[24; 26) |
33 | L_CURLY@[24; 25) | 33 | L_CURLY@[24; 25) |
34 | R_CURLY@[25; 26) | 34 | R_CURLY@[25; 26) |
35 | WHITESPACE@[26; 27) | 35 | WHITESPACE@[26; 27) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0097_param_list_opt_patterns.txt b/crates/libsyntax2/tests/data/parser/inline/0097_param_list_opt_patterns.txt index bed6e9881..5f296504d 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0097_param_list_opt_patterns.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0097_param_list_opt_patterns.txt | |||
@@ -37,7 +37,7 @@ FILE@[0; 35) | |||
37 | PARAM_LIST@[30; 32) | 37 | PARAM_LIST@[30; 32) |
38 | L_PAREN@[30; 31) | 38 | L_PAREN@[30; 31) |
39 | R_PAREN@[31; 32) | 39 | R_PAREN@[31; 32) |
40 | BLOCK_EXPR@[32; 34) | 40 | BLOCK@[32; 34) |
41 | L_CURLY@[32; 33) | 41 | L_CURLY@[32; 33) |
42 | R_CURLY@[33; 34) | 42 | R_CURLY@[33; 34) |
43 | WHITESPACE@[34; 35) | 43 | WHITESPACE@[34; 35) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0098_where_clause.txt b/crates/libsyntax2/tests/data/parser/inline/0098_where_clause.txt index 21c5ea958..983545ca2 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0098_where_clause.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0098_where_clause.txt | |||
@@ -63,7 +63,7 @@ FILE@[0; 87) | |||
63 | LIFETIME@[80; 82) "'a" | 63 | LIFETIME@[80; 82) "'a" |
64 | COMMA@[82; 83) | 64 | COMMA@[82; 83) |
65 | WHITESPACE@[83; 84) | 65 | WHITESPACE@[83; 84) |
66 | BLOCK_EXPR@[84; 86) | 66 | BLOCK@[84; 86) |
67 | L_CURLY@[84; 85) | 67 | L_CURLY@[84; 85) |
68 | R_CURLY@[85; 86) | 68 | R_CURLY@[85; 86) |
69 | WHITESPACE@[86; 87) | 69 | WHITESPACE@[86; 87) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0099_crate_keyword_vis.txt b/crates/libsyntax2/tests/data/parser/inline/0099_crate_keyword_vis.txt index 7916bf834..39b9409fe 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0099_crate_keyword_vis.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0099_crate_keyword_vis.txt | |||
@@ -11,7 +11,7 @@ FILE@[0; 20) | |||
11 | L_PAREN@[13; 14) | 11 | L_PAREN@[13; 14) |
12 | R_PAREN@[14; 15) | 12 | R_PAREN@[14; 15) |
13 | WHITESPACE@[15; 16) | 13 | WHITESPACE@[15; 16) |
14 | BLOCK_EXPR@[16; 19) | 14 | BLOCK@[16; 19) |
15 | L_CURLY@[16; 17) | 15 | L_CURLY@[16; 17) |
16 | WHITESPACE@[17; 18) | 16 | WHITESPACE@[17; 18) |
17 | R_CURLY@[18; 19) | 17 | R_CURLY@[18; 19) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0101_qual_paths.txt b/crates/libsyntax2/tests/data/parser/inline/0101_qual_paths.txt index 58b545bdd..3be8ce9de 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0101_qual_paths.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0101_qual_paths.txt | |||
@@ -41,7 +41,7 @@ FILE@[0; 71) | |||
41 | L_PAREN@[33; 34) | 41 | L_PAREN@[33; 34) |
42 | R_PAREN@[34; 35) | 42 | R_PAREN@[34; 35) |
43 | WHITESPACE@[35; 36) | 43 | WHITESPACE@[35; 36) |
44 | BLOCK_EXPR@[36; 70) | 44 | BLOCK@[36; 70) |
45 | L_CURLY@[36; 37) | 45 | L_CURLY@[36; 37) |
46 | WHITESPACE@[37; 38) | 46 | WHITESPACE@[37; 38) |
47 | EXPR_STMT@[38; 68) | 47 | EXPR_STMT@[38; 68) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0102_full_range_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0102_full_range_expr.txt index 8e7b403c5..7ffa0e0f7 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0102_full_range_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0102_full_range_expr.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 21) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 20) | 11 | BLOCK@[9; 20) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 11) | 13 | WHITESPACE@[10; 11) |
14 | EXPR_STMT@[11; 18) | 14 | EXPR_STMT@[11; 18) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0103_field_attrs.txt b/crates/libsyntax2/tests/data/parser/inline/0103_field_attrs.txt index f4e2d9716..0834a408f 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0103_field_attrs.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0103_field_attrs.txt | |||
@@ -5,37 +5,38 @@ FILE@[0; 64) | |||
5 | NAME@[7; 8) | 5 | NAME@[7; 8) |
6 | IDENT@[7; 8) "S" | 6 | IDENT@[7; 8) "S" |
7 | WHITESPACE@[8; 9) | 7 | WHITESPACE@[8; 9) |
8 | L_CURLY@[9; 10) | 8 | NAMED_FIELD_DEF_LIST@[9; 63) |
9 | WHITESPACE@[10; 15) | 9 | L_CURLY@[9; 10) |
10 | NAMED_FIELD@[15; 60) | 10 | WHITESPACE@[10; 15) |
11 | ATTR@[15; 43) | 11 | NAMED_FIELD_DEF@[15; 60) |
12 | POUND@[15; 16) | 12 | ATTR@[15; 43) |
13 | TOKEN_TREE@[16; 43) | 13 | POUND@[15; 16) |
14 | L_BRACK@[16; 17) | 14 | TOKEN_TREE@[16; 43) |
15 | IDENT@[17; 22) "serde" | 15 | L_BRACK@[16; 17) |
16 | TOKEN_TREE@[22; 42) | 16 | IDENT@[17; 22) "serde" |
17 | L_PAREN@[22; 23) | 17 | TOKEN_TREE@[22; 42) |
18 | IDENT@[23; 27) "with" | 18 | L_PAREN@[22; 23) |
19 | WHITESPACE@[27; 28) | 19 | IDENT@[23; 27) "with" |
20 | EQ@[28; 29) | 20 | WHITESPACE@[27; 28) |
21 | WHITESPACE@[29; 30) | 21 | EQ@[28; 29) |
22 | STRING@[30; 41) | 22 | WHITESPACE@[29; 30) |
23 | R_PAREN@[41; 42) | 23 | STRING@[30; 41) |
24 | R_BRACK@[42; 43) | 24 | R_PAREN@[41; 42) |
25 | WHITESPACE@[43; 48) | 25 | R_BRACK@[42; 43) |
26 | VISIBILITY@[48; 51) | 26 | WHITESPACE@[43; 48) |
27 | PUB_KW@[48; 51) | 27 | VISIBILITY@[48; 51) |
28 | WHITESPACE@[51; 52) | 28 | PUB_KW@[48; 51) |
29 | NAME@[52; 55) | 29 | WHITESPACE@[51; 52) |
30 | IDENT@[52; 55) "uri" | 30 | NAME@[52; 55) |
31 | COLON@[55; 56) | 31 | IDENT@[52; 55) "uri" |
32 | WHITESPACE@[56; 57) | 32 | COLON@[55; 56) |
33 | PATH_TYPE@[57; 60) | 33 | WHITESPACE@[56; 57) |
34 | PATH@[57; 60) | 34 | PATH_TYPE@[57; 60) |
35 | PATH_SEGMENT@[57; 60) | 35 | PATH@[57; 60) |
36 | NAME_REF@[57; 60) | 36 | PATH_SEGMENT@[57; 60) |
37 | IDENT@[57; 60) "Uri" | 37 | NAME_REF@[57; 60) |
38 | COMMA@[60; 61) | 38 | IDENT@[57; 60) "Uri" |
39 | WHITESPACE@[61; 62) | 39 | COMMA@[60; 61) |
40 | R_CURLY@[62; 63) | 40 | WHITESPACE@[61; 62) |
41 | R_CURLY@[62; 63) | ||
41 | WHITESPACE@[63; 64) | 42 | WHITESPACE@[63; 64) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0104_arb_self_types.txt b/crates/libsyntax2/tests/data/parser/inline/0104_arb_self_types.txt index de94b4c63..da5c0100b 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0104_arb_self_types.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0104_arb_self_types.txt | |||
@@ -8,64 +8,65 @@ FILE@[0; 69) | |||
8 | NAME_REF@[5; 6) | 8 | NAME_REF@[5; 6) |
9 | IDENT@[5; 6) "S" | 9 | IDENT@[5; 6) "S" |
10 | WHITESPACE@[6; 7) | 10 | WHITESPACE@[6; 7) |
11 | L_CURLY@[7; 8) | 11 | ITEM_LIST@[7; 68) |
12 | WHITESPACE@[8; 13) | 12 | L_CURLY@[7; 8) |
13 | FN_DEF@[13; 33) | 13 | WHITESPACE@[8; 13) |
14 | FN_KW@[13; 15) | 14 | FN_DEF@[13; 33) |
15 | WHITESPACE@[15; 16) | 15 | FN_KW@[13; 15) |
16 | NAME@[16; 17) | 16 | WHITESPACE@[15; 16) |
17 | IDENT@[16; 17) "a" | 17 | NAME@[16; 17) |
18 | PARAM_LIST@[17; 30) | 18 | IDENT@[16; 17) "a" |
19 | L_PAREN@[17; 18) | 19 | PARAM_LIST@[17; 30) |
20 | SELF_PARAM@[18; 29) | 20 | L_PAREN@[17; 18) |
21 | SELF_KW@[18; 22) | 21 | SELF_PARAM@[18; 29) |
22 | COLON@[22; 23) | 22 | SELF_KW@[18; 22) |
23 | WHITESPACE@[23; 24) | 23 | COLON@[22; 23) |
24 | REFERENCE_TYPE@[24; 29) | 24 | WHITESPACE@[23; 24) |
25 | AMP@[24; 25) | 25 | REFERENCE_TYPE@[24; 29) |
26 | PATH_TYPE@[25; 29) | 26 | AMP@[24; 25) |
27 | PATH@[25; 29) | 27 | PATH_TYPE@[25; 29) |
28 | PATH_SEGMENT@[25; 29) | 28 | PATH@[25; 29) |
29 | NAME_REF@[25; 29) | 29 | PATH_SEGMENT@[25; 29) |
30 | IDENT@[25; 29) "Self" | 30 | NAME_REF@[25; 29) |
31 | R_PAREN@[29; 30) | 31 | IDENT@[25; 29) "Self" |
32 | WHITESPACE@[30; 31) | 32 | R_PAREN@[29; 30) |
33 | BLOCK_EXPR@[31; 33) | 33 | WHITESPACE@[30; 31) |
34 | L_CURLY@[31; 32) | 34 | BLOCK@[31; 33) |
35 | R_CURLY@[32; 33) | 35 | L_CURLY@[31; 32) |
36 | WHITESPACE@[33; 38) | 36 | R_CURLY@[32; 33) |
37 | FN_DEF@[38; 66) | 37 | WHITESPACE@[33; 38) |
38 | FN_KW@[38; 40) | 38 | FN_DEF@[38; 66) |
39 | WHITESPACE@[40; 41) | 39 | FN_KW@[38; 40) |
40 | NAME@[41; 42) | 40 | WHITESPACE@[40; 41) |
41 | IDENT@[41; 42) "b" | 41 | NAME@[41; 42) |
42 | PARAM_LIST@[42; 63) | 42 | IDENT@[41; 42) "b" |
43 | L_PAREN@[42; 43) | 43 | PARAM_LIST@[42; 63) |
44 | SELF_PARAM@[43; 62) | 44 | L_PAREN@[42; 43) |
45 | MUT_KW@[43; 46) | 45 | SELF_PARAM@[43; 62) |
46 | WHITESPACE@[46; 47) | 46 | MUT_KW@[43; 46) |
47 | SELF_KW@[47; 51) | 47 | WHITESPACE@[46; 47) |
48 | COLON@[51; 52) | 48 | SELF_KW@[47; 51) |
49 | WHITESPACE@[52; 53) | 49 | COLON@[51; 52) |
50 | PATH_TYPE@[53; 62) | 50 | WHITESPACE@[52; 53) |
51 | PATH@[53; 62) | 51 | PATH_TYPE@[53; 62) |
52 | PATH_SEGMENT@[53; 62) | 52 | PATH@[53; 62) |
53 | NAME_REF@[53; 56) | 53 | PATH_SEGMENT@[53; 62) |
54 | IDENT@[53; 56) "Box" | 54 | NAME_REF@[53; 56) |
55 | TYPE_ARG_LIST@[56; 62) | 55 | IDENT@[53; 56) "Box" |
56 | L_ANGLE@[56; 57) | 56 | TYPE_ARG_LIST@[56; 62) |
57 | TYPE_ARG@[57; 61) | 57 | L_ANGLE@[56; 57) |
58 | PATH_TYPE@[57; 61) | 58 | TYPE_ARG@[57; 61) |
59 | PATH@[57; 61) | 59 | PATH_TYPE@[57; 61) |
60 | PATH_SEGMENT@[57; 61) | 60 | PATH@[57; 61) |
61 | NAME_REF@[57; 61) | 61 | PATH_SEGMENT@[57; 61) |
62 | IDENT@[57; 61) "Self" | 62 | NAME_REF@[57; 61) |
63 | R_ANGLE@[61; 62) | 63 | IDENT@[57; 61) "Self" |
64 | R_PAREN@[62; 63) | 64 | R_ANGLE@[61; 62) |
65 | WHITESPACE@[63; 64) | 65 | R_PAREN@[62; 63) |
66 | BLOCK_EXPR@[64; 66) | 66 | WHITESPACE@[63; 64) |
67 | L_CURLY@[64; 65) | 67 | BLOCK@[64; 66) |
68 | R_CURLY@[65; 66) | 68 | L_CURLY@[64; 65) |
69 | WHITESPACE@[66; 67) | 69 | R_CURLY@[65; 66) |
70 | R_CURLY@[67; 68) | 70 | WHITESPACE@[66; 67) |
71 | R_CURLY@[67; 68) | ||
71 | WHITESPACE@[68; 69) | 72 | WHITESPACE@[68; 69) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0105_continue_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0105_continue_expr.txt index 05526fda6..7185ee1b4 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0105_continue_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0105_continue_expr.txt | |||
@@ -8,13 +8,13 @@ FILE@[0; 69) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 68) | 11 | BLOCK@[9; 68) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | LOOP_EXPR@[15; 66) | 14 | LOOP_EXPR@[15; 66) |
15 | LOOP_KW@[15; 19) | 15 | LOOP_KW@[15; 19) |
16 | WHITESPACE@[19; 20) | 16 | WHITESPACE@[19; 20) |
17 | BLOCK_EXPR@[20; 66) | 17 | BLOCK@[20; 66) |
18 | L_CURLY@[20; 21) | 18 | L_CURLY@[20; 21) |
19 | WHITESPACE@[21; 30) | 19 | WHITESPACE@[21; 30) |
20 | EXPR_STMT@[30; 39) | 20 | EXPR_STMT@[30; 39) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0106_break_expr.txt b/crates/libsyntax2/tests/data/parser/inline/0106_break_expr.txt index bb490e441..0b82c468f 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0106_break_expr.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0106_break_expr.txt | |||
@@ -8,13 +8,13 @@ FILE@[0; 102) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 101) | 11 | BLOCK@[9; 101) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | LOOP_EXPR@[15; 99) | 14 | LOOP_EXPR@[15; 99) |
15 | LOOP_KW@[15; 19) | 15 | LOOP_KW@[15; 19) |
16 | WHITESPACE@[19; 20) | 16 | WHITESPACE@[19; 20) |
17 | BLOCK_EXPR@[20; 99) | 17 | BLOCK@[20; 99) |
18 | L_CURLY@[20; 21) | 18 | L_CURLY@[20; 21) |
19 | WHITESPACE@[21; 30) | 19 | WHITESPACE@[21; 30) |
20 | EXPR_STMT@[30; 36) | 20 | EXPR_STMT@[30; 36) |
diff --git a/crates/libsyntax2/tests/data/parser/inline/0107_label.txt b/crates/libsyntax2/tests/data/parser/inline/0107_label.txt index 66ba792b8..5761e80ea 100644 --- a/crates/libsyntax2/tests/data/parser/inline/0107_label.txt +++ b/crates/libsyntax2/tests/data/parser/inline/0107_label.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 74) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 73) | 11 | BLOCK@[9; 73) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 26) | 14 | EXPR_STMT@[15; 26) |
@@ -19,7 +19,7 @@ FILE@[0; 74) | |||
19 | WHITESPACE@[18; 19) | 19 | WHITESPACE@[18; 19) |
20 | LOOP_KW@[19; 23) | 20 | LOOP_KW@[19; 23) |
21 | WHITESPACE@[23; 24) | 21 | WHITESPACE@[23; 24) |
22 | BLOCK_EXPR@[24; 26) | 22 | BLOCK@[24; 26) |
23 | L_CURLY@[24; 25) | 23 | L_CURLY@[24; 25) |
24 | R_CURLY@[25; 26) | 24 | R_CURLY@[25; 26) |
25 | WHITESPACE@[26; 31) | 25 | WHITESPACE@[26; 31) |
@@ -34,7 +34,7 @@ FILE@[0; 74) | |||
34 | LITERAL@[41; 45) | 34 | LITERAL@[41; 45) |
35 | TRUE_KW@[41; 45) | 35 | TRUE_KW@[41; 45) |
36 | WHITESPACE@[45; 46) | 36 | WHITESPACE@[45; 46) |
37 | BLOCK_EXPR@[46; 48) | 37 | BLOCK@[46; 48) |
38 | L_CURLY@[46; 47) | 38 | L_CURLY@[46; 47) |
39 | R_CURLY@[47; 48) | 39 | R_CURLY@[47; 48) |
40 | WHITESPACE@[48; 53) | 40 | WHITESPACE@[48; 53) |
@@ -55,7 +55,7 @@ FILE@[0; 74) | |||
55 | L_PAREN@[66; 67) | 55 | L_PAREN@[66; 67) |
56 | R_PAREN@[67; 68) | 56 | R_PAREN@[67; 68) |
57 | WHITESPACE@[68; 69) | 57 | WHITESPACE@[68; 69) |
58 | BLOCK_EXPR@[69; 71) | 58 | BLOCK@[69; 71) |
59 | L_CURLY@[69; 70) | 59 | L_CURLY@[69; 70) |
60 | R_CURLY@[70; 71) | 60 | R_CURLY@[70; 71) |
61 | WHITESPACE@[71; 72) | 61 | WHITESPACE@[71; 72) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0001_struct_item.txt b/crates/libsyntax2/tests/data/parser/ok/0001_struct_item.txt index cfe128971..bc74d52b2 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0001_struct_item.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0001_struct_item.txt | |||
@@ -17,19 +17,20 @@ FILE@[0; 32) | |||
17 | IDENT@[12; 16) "Copy" | 17 | IDENT@[12; 16) "Copy" |
18 | R_ANGLE@[16; 17) | 18 | R_ANGLE@[16; 17) |
19 | WHITESPACE@[17; 18) | 19 | WHITESPACE@[17; 18) |
20 | L_CURLY@[18; 19) | 20 | NAMED_FIELD_DEF_LIST@[18; 31) |
21 | WHITESPACE@[19; 24) | 21 | L_CURLY@[18; 19) |
22 | NAMED_FIELD@[24; 28) | 22 | WHITESPACE@[19; 24) |
23 | NAME@[24; 25) | 23 | NAMED_FIELD_DEF@[24; 28) |
24 | IDENT@[24; 25) "f" | 24 | NAME@[24; 25) |
25 | COLON@[25; 26) | 25 | IDENT@[24; 25) "f" |
26 | WHITESPACE@[26; 27) | 26 | COLON@[25; 26) |
27 | PATH_TYPE@[27; 28) | 27 | WHITESPACE@[26; 27) |
28 | PATH@[27; 28) | 28 | PATH_TYPE@[27; 28) |
29 | PATH_SEGMENT@[27; 28) | 29 | PATH@[27; 28) |
30 | NAME_REF@[27; 28) | 30 | PATH_SEGMENT@[27; 28) |
31 | IDENT@[27; 28) "T" | 31 | NAME_REF@[27; 28) |
32 | COMMA@[28; 29) | 32 | IDENT@[27; 28) "T" |
33 | WHITESPACE@[29; 30) | 33 | COMMA@[28; 29) |
34 | R_CURLY@[30; 31) | 34 | WHITESPACE@[29; 30) |
35 | R_CURLY@[30; 31) | ||
35 | WHITESPACE@[31; 32) | 36 | WHITESPACE@[31; 32) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0002_struct_item_field.txt b/crates/libsyntax2/tests/data/parser/ok/0002_struct_item_field.txt index d8c68e89b..69da10900 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0002_struct_item_field.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0002_struct_item_field.txt | |||
@@ -5,17 +5,18 @@ FILE@[0; 25) | |||
5 | NAME@[7; 8) | 5 | NAME@[7; 8) |
6 | IDENT@[7; 8) "S" | 6 | IDENT@[7; 8) "S" |
7 | WHITESPACE@[8; 9) | 7 | WHITESPACE@[8; 9) |
8 | L_CURLY@[9; 10) | 8 | NAMED_FIELD_DEF_LIST@[9; 25) |
9 | WHITESPACE@[10; 15) | 9 | L_CURLY@[9; 10) |
10 | NAMED_FIELD@[15; 23) | 10 | WHITESPACE@[10; 15) |
11 | NAME@[15; 18) | 11 | NAMED_FIELD_DEF@[15; 23) |
12 | IDENT@[15; 18) "foo" | 12 | NAME@[15; 18) |
13 | COLON@[18; 19) | 13 | IDENT@[15; 18) "foo" |
14 | WHITESPACE@[19; 20) | 14 | COLON@[18; 19) |
15 | PATH_TYPE@[20; 23) | 15 | WHITESPACE@[19; 20) |
16 | PATH@[20; 23) | 16 | PATH_TYPE@[20; 23) |
17 | PATH_SEGMENT@[20; 23) | 17 | PATH@[20; 23) |
18 | NAME_REF@[20; 23) | 18 | PATH_SEGMENT@[20; 23) |
19 | IDENT@[20; 23) "u32" | 19 | NAME_REF@[20; 23) |
20 | WHITESPACE@[23; 24) | 20 | IDENT@[20; 23) "u32" |
21 | R_CURLY@[24; 25) | 21 | WHITESPACE@[23; 24) |
22 | R_CURLY@[24; 25) | ||
diff --git a/crates/libsyntax2/tests/data/parser/ok/0005_fn_item.txt b/crates/libsyntax2/tests/data/parser/ok/0005_fn_item.txt index e5bdf4852..2dc8c85d6 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0005_fn_item.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0005_fn_item.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 13) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 12) | 11 | BLOCK@[9; 12) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 11) | 13 | WHITESPACE@[10; 11) |
14 | R_CURLY@[11; 12) | 14 | R_CURLY@[11; 12) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0008_mod_item.txt b/crates/libsyntax2/tests/data/parser/ok/0008_mod_item.txt index 54fe69baf..a2b4f6495 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0008_mod_item.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0008_mod_item.txt | |||
@@ -12,9 +12,10 @@ FILE@[0; 118) | |||
12 | NAME@[12; 13) | 12 | NAME@[12; 13) |
13 | IDENT@[12; 13) "b" | 13 | IDENT@[12; 13) "b" |
14 | WHITESPACE@[13; 14) | 14 | WHITESPACE@[13; 14) |
15 | L_CURLY@[14; 15) | 15 | ITEM_LIST@[14; 17) |
16 | WHITESPACE@[15; 16) | 16 | L_CURLY@[14; 15) |
17 | R_CURLY@[16; 17) | 17 | WHITESPACE@[15; 16) |
18 | R_CURLY@[16; 17) | ||
18 | WHITESPACE@[17; 19) | 19 | WHITESPACE@[17; 19) |
19 | MODULE@[19; 65) | 20 | MODULE@[19; 65) |
20 | MOD_KW@[19; 22) | 21 | MOD_KW@[19; 22) |
@@ -22,32 +23,34 @@ FILE@[0; 118) | |||
22 | NAME@[23; 24) | 23 | NAME@[23; 24) |
23 | IDENT@[23; 24) "c" | 24 | IDENT@[23; 24) "c" |
24 | WHITESPACE@[24; 25) | 25 | WHITESPACE@[24; 25) |
25 | L_CURLY@[25; 26) | 26 | ITEM_LIST@[25; 65) |
26 | WHITESPACE@[26; 31) | 27 | L_CURLY@[25; 26) |
27 | FN_DEF@[31; 47) | 28 | WHITESPACE@[26; 31) |
28 | FN_KW@[31; 33) | 29 | FN_DEF@[31; 47) |
29 | WHITESPACE@[33; 34) | 30 | FN_KW@[31; 33) |
30 | NAME@[34; 37) | 31 | WHITESPACE@[33; 34) |
31 | IDENT@[34; 37) "foo" | 32 | NAME@[34; 37) |
32 | PARAM_LIST@[37; 39) | 33 | IDENT@[34; 37) "foo" |
33 | L_PAREN@[37; 38) | 34 | PARAM_LIST@[37; 39) |
34 | R_PAREN@[38; 39) | 35 | L_PAREN@[37; 38) |
35 | WHITESPACE@[39; 40) | 36 | R_PAREN@[38; 39) |
36 | BLOCK_EXPR@[40; 47) | 37 | WHITESPACE@[39; 40) |
37 | L_CURLY@[40; 41) | 38 | BLOCK@[40; 47) |
38 | WHITESPACE@[41; 46) | 39 | L_CURLY@[40; 41) |
39 | R_CURLY@[46; 47) | 40 | WHITESPACE@[41; 46) |
40 | WHITESPACE@[47; 52) | 41 | R_CURLY@[46; 47) |
41 | STRUCT_DEF@[52; 63) | 42 | WHITESPACE@[47; 52) |
42 | STRUCT_KW@[52; 58) | 43 | STRUCT_DEF@[52; 63) |
43 | WHITESPACE@[58; 59) | 44 | STRUCT_KW@[52; 58) |
44 | NAME@[59; 60) | 45 | WHITESPACE@[58; 59) |
45 | IDENT@[59; 60) "S" | 46 | NAME@[59; 60) |
46 | WHITESPACE@[60; 61) | 47 | IDENT@[59; 60) "S" |
47 | L_CURLY@[61; 62) | 48 | WHITESPACE@[60; 61) |
48 | R_CURLY@[62; 63) | 49 | NAMED_FIELD_DEF_LIST@[61; 63) |
49 | WHITESPACE@[63; 64) | 50 | L_CURLY@[61; 62) |
50 | R_CURLY@[64; 65) | 51 | R_CURLY@[62; 63) |
52 | WHITESPACE@[63; 64) | ||
53 | R_CURLY@[64; 65) | ||
51 | WHITESPACE@[65; 67) | 54 | WHITESPACE@[65; 67) |
52 | MODULE@[67; 118) | 55 | MODULE@[67; 118) |
53 | MOD_KW@[67; 70) | 56 | MOD_KW@[67; 70) |
@@ -55,31 +58,33 @@ FILE@[0; 118) | |||
55 | NAME@[71; 72) | 58 | NAME@[71; 72) |
56 | IDENT@[71; 72) "d" | 59 | IDENT@[71; 72) "d" |
57 | WHITESPACE@[72; 73) | 60 | WHITESPACE@[72; 73) |
58 | L_CURLY@[73; 74) | 61 | ITEM_LIST@[73; 118) |
59 | WHITESPACE@[74; 79) | 62 | L_CURLY@[73; 74) |
60 | ATTR@[79; 87) | 63 | WHITESPACE@[74; 79) |
61 | POUND@[79; 80) | 64 | ATTR@[79; 87) |
62 | EXCL@[80; 81) | 65 | POUND@[79; 80) |
63 | TOKEN_TREE@[81; 87) | 66 | EXCL@[80; 81) |
64 | L_BRACK@[81; 82) | 67 | TOKEN_TREE@[81; 87) |
65 | IDENT@[82; 86) "attr" | 68 | L_BRACK@[81; 82) |
66 | R_BRACK@[86; 87) | 69 | IDENT@[82; 86) "attr" |
67 | WHITESPACE@[87; 92) | 70 | R_BRACK@[86; 87) |
68 | MODULE@[92; 98) | 71 | WHITESPACE@[87; 92) |
69 | MOD_KW@[92; 95) | 72 | MODULE@[92; 98) |
70 | WHITESPACE@[95; 96) | 73 | MOD_KW@[92; 95) |
71 | NAME@[96; 97) | 74 | WHITESPACE@[95; 96) |
72 | IDENT@[96; 97) "e" | 75 | NAME@[96; 97) |
73 | SEMI@[97; 98) | 76 | IDENT@[96; 97) "e" |
74 | WHITESPACE@[98; 103) | 77 | SEMI@[97; 98) |
75 | MODULE@[103; 116) | 78 | WHITESPACE@[98; 103) |
76 | MOD_KW@[103; 106) | 79 | MODULE@[103; 116) |
77 | WHITESPACE@[106; 107) | 80 | MOD_KW@[103; 106) |
78 | NAME@[107; 108) | 81 | WHITESPACE@[106; 107) |
79 | IDENT@[107; 108) "f" | 82 | NAME@[107; 108) |
80 | WHITESPACE@[108; 109) | 83 | IDENT@[107; 108) "f" |
81 | L_CURLY@[109; 110) | 84 | WHITESPACE@[108; 109) |
82 | WHITESPACE@[110; 115) | 85 | ITEM_LIST@[109; 116) |
83 | R_CURLY@[115; 116) | 86 | L_CURLY@[109; 110) |
84 | WHITESPACE@[116; 117) | 87 | WHITESPACE@[110; 115) |
85 | R_CURLY@[117; 118) | 88 | R_CURLY@[115; 116) |
89 | WHITESPACE@[116; 117) | ||
90 | R_CURLY@[117; 118) | ||
diff --git a/crates/libsyntax2/tests/data/parser/ok/0011_outer_attribute.txt b/crates/libsyntax2/tests/data/parser/ok/0011_outer_attribute.txt index 24647fb06..af4b55aed 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0011_outer_attribute.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0011_outer_attribute.txt | |||
@@ -26,7 +26,7 @@ FILE@[0; 35) | |||
26 | L_PAREN@[29; 30) | 26 | L_PAREN@[29; 30) |
27 | R_PAREN@[30; 31) | 27 | R_PAREN@[30; 31) |
28 | WHITESPACE@[31; 32) | 28 | WHITESPACE@[31; 32) |
29 | BLOCK_EXPR@[32; 34) | 29 | BLOCK@[32; 34) |
30 | L_CURLY@[32; 33) | 30 | L_CURLY@[32; 33) |
31 | R_CURLY@[33; 34) | 31 | R_CURLY@[33; 34) |
32 | WHITESPACE@[34; 35) | 32 | WHITESPACE@[34; 35) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0012_visibility.txt b/crates/libsyntax2/tests/data/parser/ok/0012_visibility.txt index 0fa76480a..940721f8b 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0012_visibility.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0012_visibility.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 98) | |||
8 | L_PAREN@[4; 5) | 8 | L_PAREN@[4; 5) |
9 | R_PAREN@[5; 6) | 9 | R_PAREN@[5; 6) |
10 | WHITESPACE@[6; 7) | 10 | WHITESPACE@[6; 7) |
11 | BLOCK_EXPR@[7; 9) | 11 | BLOCK@[7; 9) |
12 | L_CURLY@[7; 8) | 12 | L_CURLY@[7; 8) |
13 | R_CURLY@[8; 9) | 13 | R_CURLY@[8; 9) |
14 | WHITESPACE@[9; 10) | 14 | WHITESPACE@[9; 10) |
@@ -24,7 +24,7 @@ FILE@[0; 98) | |||
24 | L_PAREN@[18; 19) | 24 | L_PAREN@[18; 19) |
25 | R_PAREN@[19; 20) | 25 | R_PAREN@[19; 20) |
26 | WHITESPACE@[20; 21) | 26 | WHITESPACE@[20; 21) |
27 | BLOCK_EXPR@[21; 23) | 27 | BLOCK@[21; 23) |
28 | L_CURLY@[21; 22) | 28 | L_CURLY@[21; 22) |
29 | R_CURLY@[22; 23) | 29 | R_CURLY@[22; 23) |
30 | WHITESPACE@[23; 24) | 30 | WHITESPACE@[23; 24) |
@@ -43,7 +43,7 @@ FILE@[0; 98) | |||
43 | L_PAREN@[39; 40) | 43 | L_PAREN@[39; 40) |
44 | R_PAREN@[40; 41) | 44 | R_PAREN@[40; 41) |
45 | WHITESPACE@[41; 42) | 45 | WHITESPACE@[41; 42) |
46 | BLOCK_EXPR@[42; 44) | 46 | BLOCK@[42; 44) |
47 | L_CURLY@[42; 43) | 47 | L_CURLY@[42; 43) |
48 | R_CURLY@[43; 44) | 48 | R_CURLY@[43; 44) |
49 | WHITESPACE@[44; 45) | 49 | WHITESPACE@[44; 45) |
@@ -62,7 +62,7 @@ FILE@[0; 98) | |||
62 | L_PAREN@[60; 61) | 62 | L_PAREN@[60; 61) |
63 | R_PAREN@[61; 62) | 63 | R_PAREN@[61; 62) |
64 | WHITESPACE@[62; 63) | 64 | WHITESPACE@[62; 63) |
65 | BLOCK_EXPR@[63; 65) | 65 | BLOCK@[63; 65) |
66 | L_CURLY@[63; 64) | 66 | L_CURLY@[63; 64) |
67 | R_CURLY@[64; 65) | 67 | R_CURLY@[64; 65) |
68 | WHITESPACE@[65; 66) | 68 | WHITESPACE@[65; 66) |
@@ -96,7 +96,7 @@ FILE@[0; 98) | |||
96 | L_PAREN@[92; 93) | 96 | L_PAREN@[92; 93) |
97 | R_PAREN@[93; 94) | 97 | R_PAREN@[93; 94) |
98 | WHITESPACE@[94; 95) | 98 | WHITESPACE@[94; 95) |
99 | BLOCK_EXPR@[95; 97) | 99 | BLOCK@[95; 97) |
100 | L_CURLY@[95; 96) | 100 | L_CURLY@[95; 96) |
101 | R_CURLY@[96; 97) | 101 | R_CURLY@[96; 97) |
102 | WHITESPACE@[97; 98) | 102 | WHITESPACE@[97; 98) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0014_use_tree.txt b/crates/libsyntax2/tests/data/parser/ok/0014_use_tree.txt index 730d5539b..86bafc853 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0014_use_tree.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0014_use_tree.txt | |||
@@ -19,16 +19,18 @@ FILE@[0; 81) | |||
19 | WHITESPACE@[19; 20) | 19 | WHITESPACE@[19; 20) |
20 | USE_TREE@[20; 24) | 20 | USE_TREE@[20; 24) |
21 | COLONCOLON@[20; 22) | 21 | COLONCOLON@[20; 22) |
22 | L_CURLY@[22; 23) | 22 | USE_TREE_LIST@[22; 24) |
23 | R_CURLY@[23; 24) | 23 | L_CURLY@[22; 23) |
24 | R_CURLY@[23; 24) | ||
24 | SEMI@[24; 25) | 25 | SEMI@[24; 25) |
25 | WHITESPACE@[25; 26) | 26 | WHITESPACE@[25; 26) |
26 | USE_ITEM@[26; 33) | 27 | USE_ITEM@[26; 33) |
27 | USE_KW@[26; 29) | 28 | USE_KW@[26; 29) |
28 | WHITESPACE@[29; 30) | 29 | WHITESPACE@[29; 30) |
29 | USE_TREE@[30; 32) | 30 | USE_TREE@[30; 32) |
30 | L_CURLY@[30; 31) | 31 | USE_TREE_LIST@[30; 32) |
31 | R_CURLY@[31; 32) | 32 | L_CURLY@[30; 31) |
33 | R_CURLY@[31; 32) | ||
32 | SEMI@[32; 33) | 34 | SEMI@[32; 33) |
33 | WHITESPACE@[33; 34) | 35 | WHITESPACE@[33; 34) |
34 | USE_ITEM@[34; 45) | 36 | USE_ITEM@[34; 45) |
@@ -52,8 +54,9 @@ FILE@[0; 81) | |||
52 | NAME_REF@[50; 53) | 54 | NAME_REF@[50; 53) |
53 | IDENT@[50; 53) "foo" | 55 | IDENT@[50; 53) "foo" |
54 | COLONCOLON@[53; 55) | 56 | COLONCOLON@[53; 55) |
55 | L_CURLY@[55; 56) | 57 | USE_TREE_LIST@[55; 57) |
56 | R_CURLY@[56; 57) | 58 | L_CURLY@[55; 56) |
59 | R_CURLY@[56; 57) | ||
57 | SEMI@[57; 58) | 60 | SEMI@[57; 58) |
58 | WHITESPACE@[58; 59) | 61 | WHITESPACE@[58; 59) |
59 | USE_ITEM@[59; 80) | 62 | USE_ITEM@[59; 80) |
@@ -66,26 +69,27 @@ FILE@[0; 81) | |||
66 | NAME_REF@[65; 68) | 69 | NAME_REF@[65; 68) |
67 | IDENT@[65; 68) "foo" | 70 | IDENT@[65; 68) "foo" |
68 | COLONCOLON@[68; 70) | 71 | COLONCOLON@[68; 70) |
69 | L_CURLY@[70; 71) | 72 | USE_TREE_LIST@[70; 79) |
70 | USE_TREE@[71; 72) | 73 | L_CURLY@[70; 71) |
71 | PATH@[71; 72) | 74 | USE_TREE@[71; 72) |
72 | PATH_SEGMENT@[71; 72) | 75 | PATH@[71; 72) |
73 | NAME_REF@[71; 72) | 76 | PATH_SEGMENT@[71; 72) |
74 | IDENT@[71; 72) "a" | 77 | NAME_REF@[71; 72) |
75 | COMMA@[72; 73) | 78 | IDENT@[71; 72) "a" |
76 | WHITESPACE@[73; 74) | 79 | COMMA@[72; 73) |
77 | USE_TREE@[74; 75) | 80 | WHITESPACE@[73; 74) |
78 | PATH@[74; 75) | 81 | USE_TREE@[74; 75) |
79 | PATH_SEGMENT@[74; 75) | 82 | PATH@[74; 75) |
80 | NAME_REF@[74; 75) | 83 | PATH_SEGMENT@[74; 75) |
81 | IDENT@[74; 75) "b" | 84 | NAME_REF@[74; 75) |
82 | COMMA@[75; 76) | 85 | IDENT@[74; 75) "b" |
83 | WHITESPACE@[76; 77) | 86 | COMMA@[75; 76) |
84 | USE_TREE@[77; 78) | 87 | WHITESPACE@[76; 77) |
85 | PATH@[77; 78) | 88 | USE_TREE@[77; 78) |
86 | PATH_SEGMENT@[77; 78) | 89 | PATH@[77; 78) |
87 | NAME_REF@[77; 78) | 90 | PATH_SEGMENT@[77; 78) |
88 | IDENT@[77; 78) "c" | 91 | NAME_REF@[77; 78) |
89 | R_CURLY@[78; 79) | 92 | IDENT@[77; 78) "c" |
93 | R_CURLY@[78; 79) | ||
90 | SEMI@[79; 80) | 94 | SEMI@[79; 80) |
91 | WHITESPACE@[80; 81) | 95 | WHITESPACE@[80; 81) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0015_use_tree.txt b/crates/libsyntax2/tests/data/parser/ok/0015_use_tree.txt index 4438e417b..2e39766cf 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0015_use_tree.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0015_use_tree.txt | |||
@@ -24,41 +24,42 @@ FILE@[0; 55) | |||
24 | NAME_REF@[20; 23) | 24 | NAME_REF@[20; 23) |
25 | IDENT@[20; 23) "foo" | 25 | IDENT@[20; 23) "foo" |
26 | COLONCOLON@[23; 25) | 26 | COLONCOLON@[23; 25) |
27 | L_CURLY@[25; 26) | 27 | USE_TREE_LIST@[25; 53) |
28 | USE_TREE@[26; 32) | 28 | L_CURLY@[25; 26) |
29 | PATH@[26; 27) | 29 | USE_TREE@[26; 32) |
30 | PATH_SEGMENT@[26; 27) | 30 | PATH@[26; 27) |
31 | NAME_REF@[26; 27) | 31 | PATH_SEGMENT@[26; 27) |
32 | IDENT@[26; 27) "a" | 32 | NAME_REF@[26; 27) |
33 | WHITESPACE@[27; 28) | 33 | IDENT@[26; 27) "a" |
34 | ALIAS@[28; 32) | 34 | WHITESPACE@[27; 28) |
35 | AS_KW@[28; 30) | 35 | ALIAS@[28; 32) |
36 | WHITESPACE@[30; 31) | 36 | AS_KW@[28; 30) |
37 | NAME@[31; 32) | 37 | WHITESPACE@[30; 31) |
38 | IDENT@[31; 32) "b" | 38 | NAME@[31; 32) |
39 | COMMA@[32; 33) | 39 | IDENT@[31; 32) "b" |
40 | WHITESPACE@[33; 34) | 40 | COMMA@[32; 33) |
41 | USE_TREE@[34; 35) | 41 | WHITESPACE@[33; 34) |
42 | STAR@[34; 35) | 42 | USE_TREE@[34; 35) |
43 | COMMA@[35; 36) | 43 | STAR@[34; 35) |
44 | WHITESPACE@[36; 37) | 44 | COMMA@[35; 36) |
45 | USE_TREE@[37; 40) | 45 | WHITESPACE@[36; 37) |
46 | COLONCOLON@[37; 39) | 46 | USE_TREE@[37; 40) |
47 | STAR@[39; 40) | 47 | COLONCOLON@[37; 39) |
48 | COMMA@[40; 41) | 48 | STAR@[39; 40) |
49 | WHITESPACE@[41; 42) | 49 | COMMA@[40; 41) |
50 | USE_TREE@[42; 52) | 50 | WHITESPACE@[41; 42) |
51 | PATH@[42; 47) | 51 | USE_TREE@[42; 52) |
52 | PATH_SEGMENT@[42; 47) | 52 | PATH@[42; 47) |
53 | COLONCOLON@[42; 44) | 53 | PATH_SEGMENT@[42; 47) |
54 | NAME_REF@[44; 47) | 54 | COLONCOLON@[42; 44) |
55 | IDENT@[44; 47) "foo" | 55 | NAME_REF@[44; 47) |
56 | WHITESPACE@[47; 48) | 56 | IDENT@[44; 47) "foo" |
57 | ALIAS@[48; 52) | 57 | WHITESPACE@[47; 48) |
58 | AS_KW@[48; 50) | 58 | ALIAS@[48; 52) |
59 | WHITESPACE@[50; 51) | 59 | AS_KW@[48; 50) |
60 | NAME@[51; 52) | 60 | WHITESPACE@[50; 51) |
61 | IDENT@[51; 52) "x" | 61 | NAME@[51; 52) |
62 | R_CURLY@[52; 53) | 62 | IDENT@[51; 52) "x" |
63 | R_CURLY@[52; 53) | ||
63 | SEMI@[53; 54) | 64 | SEMI@[53; 54) |
64 | WHITESPACE@[54; 55) | 65 | WHITESPACE@[54; 55) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0016_struct_flavors.txt b/crates/libsyntax2/tests/data/parser/ok/0016_struct_flavors.txt index fd777673d..5bf3a1794 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0016_struct_flavors.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0016_struct_flavors.txt | |||
@@ -12,16 +12,18 @@ FILE@[0; 97) | |||
12 | NAME@[17; 18) | 12 | NAME@[17; 18) |
13 | IDENT@[17; 18) "B" | 13 | IDENT@[17; 18) "B" |
14 | WHITESPACE@[18; 19) | 14 | WHITESPACE@[18; 19) |
15 | L_CURLY@[19; 20) | 15 | NAMED_FIELD_DEF_LIST@[19; 21) |
16 | R_CURLY@[20; 21) | 16 | L_CURLY@[19; 20) |
17 | R_CURLY@[20; 21) | ||
17 | WHITESPACE@[21; 22) | 18 | WHITESPACE@[21; 22) |
18 | STRUCT_DEF@[22; 33) | 19 | STRUCT_DEF@[22; 33) |
19 | STRUCT_KW@[22; 28) | 20 | STRUCT_KW@[22; 28) |
20 | WHITESPACE@[28; 29) | 21 | WHITESPACE@[28; 29) |
21 | NAME@[29; 30) | 22 | NAME@[29; 30) |
22 | IDENT@[29; 30) "C" | 23 | IDENT@[29; 30) "C" |
23 | L_PAREN@[30; 31) | 24 | POS_FIELD_LIST@[30; 32) |
24 | R_PAREN@[31; 32) | 25 | L_PAREN@[30; 31) |
26 | R_PAREN@[31; 32) | ||
25 | SEMI@[32; 33) | 27 | SEMI@[32; 33) |
26 | WHITESPACE@[33; 35) | 28 | WHITESPACE@[33; 35) |
27 | STRUCT_DEF@[35; 74) | 29 | STRUCT_DEF@[35; 74) |
@@ -30,60 +32,62 @@ FILE@[0; 97) | |||
30 | NAME@[42; 43) | 32 | NAME@[42; 43) |
31 | IDENT@[42; 43) "D" | 33 | IDENT@[42; 43) "D" |
32 | WHITESPACE@[43; 44) | 34 | WHITESPACE@[43; 44) |
33 | L_CURLY@[44; 45) | 35 | NAMED_FIELD_DEF_LIST@[44; 74) |
34 | WHITESPACE@[45; 50) | 36 | L_CURLY@[44; 45) |
35 | NAMED_FIELD@[50; 56) | 37 | WHITESPACE@[45; 50) |
36 | NAME@[50; 51) | 38 | NAMED_FIELD_DEF@[50; 56) |
37 | IDENT@[50; 51) "a" | 39 | NAME@[50; 51) |
38 | COLON@[51; 52) | 40 | IDENT@[50; 51) "a" |
39 | WHITESPACE@[52; 53) | 41 | COLON@[51; 52) |
40 | PATH_TYPE@[53; 56) | 42 | WHITESPACE@[52; 53) |
41 | PATH@[53; 56) | 43 | PATH_TYPE@[53; 56) |
42 | PATH_SEGMENT@[53; 56) | 44 | PATH@[53; 56) |
43 | NAME_REF@[53; 56) | 45 | PATH_SEGMENT@[53; 56) |
44 | IDENT@[53; 56) "u32" | 46 | NAME_REF@[53; 56) |
45 | COMMA@[56; 57) | 47 | IDENT@[53; 56) "u32" |
46 | WHITESPACE@[57; 62) | 48 | COMMA@[56; 57) |
47 | NAMED_FIELD@[62; 72) | 49 | WHITESPACE@[57; 62) |
48 | VISIBILITY@[62; 65) | 50 | NAMED_FIELD_DEF@[62; 72) |
49 | PUB_KW@[62; 65) | 51 | VISIBILITY@[62; 65) |
50 | WHITESPACE@[65; 66) | 52 | PUB_KW@[62; 65) |
51 | NAME@[66; 67) | 53 | WHITESPACE@[65; 66) |
52 | IDENT@[66; 67) "b" | 54 | NAME@[66; 67) |
53 | COLON@[67; 68) | 55 | IDENT@[66; 67) "b" |
54 | WHITESPACE@[68; 69) | 56 | COLON@[67; 68) |
55 | PATH_TYPE@[69; 72) | 57 | WHITESPACE@[68; 69) |
56 | PATH@[69; 72) | 58 | PATH_TYPE@[69; 72) |
57 | PATH_SEGMENT@[69; 72) | 59 | PATH@[69; 72) |
58 | NAME_REF@[69; 72) | 60 | PATH_SEGMENT@[69; 72) |
59 | IDENT@[69; 72) "u32" | 61 | NAME_REF@[69; 72) |
60 | WHITESPACE@[72; 73) | 62 | IDENT@[69; 72) "u32" |
61 | R_CURLY@[73; 74) | 63 | WHITESPACE@[72; 73) |
64 | R_CURLY@[73; 74) | ||
62 | WHITESPACE@[74; 76) | 65 | WHITESPACE@[74; 76) |
63 | STRUCT_DEF@[76; 96) | 66 | STRUCT_DEF@[76; 96) |
64 | STRUCT_KW@[76; 82) | 67 | STRUCT_KW@[76; 82) |
65 | WHITESPACE@[82; 83) | 68 | WHITESPACE@[82; 83) |
66 | NAME@[83; 84) | 69 | NAME@[83; 84) |
67 | IDENT@[83; 84) "E" | 70 | IDENT@[83; 84) "E" |
68 | L_PAREN@[84; 85) | 71 | POS_FIELD_LIST@[84; 95) |
69 | POS_FIELD@[85; 90) | 72 | L_PAREN@[84; 85) |
70 | VISIBILITY@[85; 88) | 73 | POS_FIELD@[85; 90) |
71 | PUB_KW@[85; 88) | 74 | VISIBILITY@[85; 88) |
72 | WHITESPACE@[88; 89) | 75 | PUB_KW@[85; 88) |
73 | PATH_TYPE@[89; 90) | 76 | WHITESPACE@[88; 89) |
74 | PATH@[89; 90) | 77 | PATH_TYPE@[89; 90) |
75 | PATH_SEGMENT@[89; 90) | 78 | PATH@[89; 90) |
76 | NAME_REF@[89; 90) | 79 | PATH_SEGMENT@[89; 90) |
77 | IDENT@[89; 90) "x" | 80 | NAME_REF@[89; 90) |
78 | COMMA@[90; 91) | 81 | IDENT@[89; 90) "x" |
79 | WHITESPACE@[91; 92) | 82 | COMMA@[90; 91) |
80 | POS_FIELD@[92; 93) | 83 | WHITESPACE@[91; 92) |
81 | PATH_TYPE@[92; 93) | 84 | POS_FIELD@[92; 93) |
82 | PATH@[92; 93) | 85 | PATH_TYPE@[92; 93) |
83 | PATH_SEGMENT@[92; 93) | 86 | PATH@[92; 93) |
84 | NAME_REF@[92; 93) | 87 | PATH_SEGMENT@[92; 93) |
85 | IDENT@[92; 93) "y" | 88 | NAME_REF@[92; 93) |
86 | COMMA@[93; 94) | 89 | IDENT@[92; 93) "y" |
87 | R_PAREN@[94; 95) | 90 | COMMA@[93; 94) |
91 | R_PAREN@[94; 95) | ||
88 | SEMI@[95; 96) | 92 | SEMI@[95; 96) |
89 | WHITESPACE@[96; 97) | 93 | WHITESPACE@[96; 97) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0017_attr_trailing_comma.txt b/crates/libsyntax2/tests/data/parser/ok/0017_attr_trailing_comma.txt index 6acd842c6..02e64c0d5 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0017_attr_trailing_comma.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0017_attr_trailing_comma.txt | |||
@@ -20,7 +20,7 @@ FILE@[0; 23) | |||
20 | L_PAREN@[17; 18) | 20 | L_PAREN@[17; 18) |
21 | R_PAREN@[18; 19) | 21 | R_PAREN@[18; 19) |
22 | WHITESPACE@[19; 20) | 22 | WHITESPACE@[19; 20) |
23 | BLOCK_EXPR@[20; 22) | 23 | BLOCK@[20; 22) |
24 | L_CURLY@[20; 21) | 24 | L_CURLY@[20; 21) |
25 | R_CURLY@[21; 22) | 25 | R_CURLY@[21; 22) |
26 | WHITESPACE@[22; 23) | 26 | WHITESPACE@[22; 23) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0018_struct_type_params.txt b/crates/libsyntax2/tests/data/parser/ok/0018_struct_type_params.txt index 64aaa7599..fb61096f6 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0018_struct_type_params.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0018_struct_type_params.txt | |||
@@ -23,14 +23,15 @@ FILE@[0; 290) | |||
23 | NAME@[24; 25) | 23 | NAME@[24; 25) |
24 | IDENT@[24; 25) "T" | 24 | IDENT@[24; 25) "T" |
25 | R_ANGLE@[25; 26) | 25 | R_ANGLE@[25; 26) |
26 | L_PAREN@[26; 27) | 26 | POS_FIELD_LIST@[26; 31) |
27 | POS_FIELD@[27; 30) | 27 | L_PAREN@[26; 27) |
28 | PATH_TYPE@[27; 30) | 28 | POS_FIELD@[27; 30) |
29 | PATH@[27; 30) | 29 | PATH_TYPE@[27; 30) |
30 | PATH_SEGMENT@[27; 30) | 30 | PATH@[27; 30) |
31 | NAME_REF@[27; 30) | 31 | PATH_SEGMENT@[27; 30) |
32 | IDENT@[27; 30) "u32" | 32 | NAME_REF@[27; 30) |
33 | R_PAREN@[30; 31) | 33 | IDENT@[27; 30) "u32" |
34 | R_PAREN@[30; 31) | ||
34 | SEMI@[31; 32) | 35 | SEMI@[31; 32) |
35 | WHITESPACE@[32; 33) | 36 | WHITESPACE@[32; 33) |
36 | STRUCT_DEF@[33; 56) | 37 | STRUCT_DEF@[33; 56) |
@@ -45,20 +46,21 @@ FILE@[0; 290) | |||
45 | IDENT@[43; 44) "T" | 46 | IDENT@[43; 44) "T" |
46 | R_ANGLE@[44; 45) | 47 | R_ANGLE@[44; 45) |
47 | WHITESPACE@[45; 46) | 48 | WHITESPACE@[45; 46) |
48 | L_CURLY@[46; 47) | 49 | NAMED_FIELD_DEF_LIST@[46; 56) |
49 | WHITESPACE@[47; 48) | 50 | L_CURLY@[46; 47) |
50 | NAMED_FIELD@[48; 54) | 51 | WHITESPACE@[47; 48) |
51 | NAME@[48; 49) | 52 | NAMED_FIELD_DEF@[48; 54) |
52 | IDENT@[48; 49) "u" | 53 | NAME@[48; 49) |
53 | COLON@[49; 50) | 54 | IDENT@[48; 49) "u" |
54 | WHITESPACE@[50; 51) | 55 | COLON@[49; 50) |
55 | PATH_TYPE@[51; 54) | 56 | WHITESPACE@[50; 51) |
56 | PATH@[51; 54) | 57 | PATH_TYPE@[51; 54) |
57 | PATH_SEGMENT@[51; 54) | 58 | PATH@[51; 54) |
58 | NAME_REF@[51; 54) | 59 | PATH_SEGMENT@[51; 54) |
59 | IDENT@[51; 54) "u32" | 60 | NAME_REF@[51; 54) |
60 | WHITESPACE@[54; 55) | 61 | IDENT@[51; 54) "u32" |
61 | R_CURLY@[55; 56) | 62 | WHITESPACE@[54; 55) |
63 | R_CURLY@[55; 56) | ||
62 | WHITESPACE@[56; 58) | 64 | WHITESPACE@[56; 58) |
63 | STRUCT_DEF@[58; 70) | 65 | STRUCT_DEF@[58; 70) |
64 | STRUCT_KW@[58; 64) | 66 | STRUCT_KW@[58; 64) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0019_enums.txt b/crates/libsyntax2/tests/data/parser/ok/0019_enums.txt index f6f653615..0eca75cd8 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0019_enums.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0019_enums.txt | |||
@@ -5,9 +5,10 @@ FILE@[0; 182) | |||
5 | NAME@[5; 7) | 5 | NAME@[5; 7) |
6 | IDENT@[5; 7) "E1" | 6 | IDENT@[5; 7) "E1" |
7 | WHITESPACE@[7; 8) | 7 | WHITESPACE@[7; 8) |
8 | L_CURLY@[8; 9) | 8 | ENUM_VARIANT_LIST@[8; 11) |
9 | WHITESPACE@[9; 10) | 9 | L_CURLY@[8; 9) |
10 | R_CURLY@[10; 11) | 10 | WHITESPACE@[9; 10) |
11 | R_CURLY@[10; 11) | ||
11 | WHITESPACE@[11; 13) | 12 | WHITESPACE@[11; 13) |
12 | ENUM_DEF@[13; 27) | 13 | ENUM_DEF@[13; 27) |
13 | ENUM_KW@[13; 17) | 14 | ENUM_KW@[13; 17) |
@@ -21,9 +22,10 @@ FILE@[0; 182) | |||
21 | IDENT@[21; 22) "T" | 22 | IDENT@[21; 22) "T" |
22 | R_ANGLE@[22; 23) | 23 | R_ANGLE@[22; 23) |
23 | WHITESPACE@[23; 24) | 24 | WHITESPACE@[23; 24) |
24 | L_CURLY@[24; 25) | 25 | ENUM_VARIANT_LIST@[24; 27) |
25 | WHITESPACE@[25; 26) | 26 | L_CURLY@[24; 25) |
26 | R_CURLY@[26; 27) | 27 | WHITESPACE@[25; 26) |
28 | R_CURLY@[26; 27) | ||
27 | WHITESPACE@[27; 29) | 29 | WHITESPACE@[27; 29) |
28 | ENUM_DEF@[29; 46) | 30 | ENUM_DEF@[29; 46) |
29 | ENUM_KW@[29; 33) | 31 | ENUM_KW@[29; 33) |
@@ -31,13 +33,14 @@ FILE@[0; 182) | |||
31 | NAME@[34; 36) | 33 | NAME@[34; 36) |
32 | IDENT@[34; 36) "E3" | 34 | IDENT@[34; 36) "E3" |
33 | WHITESPACE@[36; 37) | 35 | WHITESPACE@[36; 37) |
34 | L_CURLY@[37; 38) | 36 | ENUM_VARIANT_LIST@[37; 46) |
35 | WHITESPACE@[38; 43) | 37 | L_CURLY@[37; 38) |
36 | ENUM_VARIANT@[43; 44) | 38 | WHITESPACE@[38; 43) |
37 | NAME@[43; 44) | 39 | ENUM_VARIANT@[43; 44) |
38 | IDENT@[43; 44) "X" | 40 | NAME@[43; 44) |
39 | WHITESPACE@[44; 45) | 41 | IDENT@[43; 44) "X" |
40 | R_CURLY@[45; 46) | 42 | WHITESPACE@[44; 45) |
43 | R_CURLY@[45; 46) | ||
41 | WHITESPACE@[46; 48) | 44 | WHITESPACE@[46; 48) |
42 | ENUM_DEF@[48; 66) | 45 | ENUM_DEF@[48; 66) |
43 | ENUM_KW@[48; 52) | 46 | ENUM_KW@[48; 52) |
@@ -45,14 +48,15 @@ FILE@[0; 182) | |||
45 | NAME@[53; 55) | 48 | NAME@[53; 55) |
46 | IDENT@[53; 55) "E4" | 49 | IDENT@[53; 55) "E4" |
47 | WHITESPACE@[55; 56) | 50 | WHITESPACE@[55; 56) |
48 | L_CURLY@[56; 57) | 51 | ENUM_VARIANT_LIST@[56; 66) |
49 | WHITESPACE@[57; 62) | 52 | L_CURLY@[56; 57) |
50 | ENUM_VARIANT@[62; 63) | 53 | WHITESPACE@[57; 62) |
51 | NAME@[62; 63) | 54 | ENUM_VARIANT@[62; 63) |
52 | IDENT@[62; 63) "X" | 55 | NAME@[62; 63) |
53 | COMMA@[63; 64) | 56 | IDENT@[62; 63) "X" |
54 | WHITESPACE@[64; 65) | 57 | COMMA@[63; 64) |
55 | R_CURLY@[65; 66) | 58 | WHITESPACE@[64; 65) |
59 | R_CURLY@[65; 66) | ||
56 | WHITESPACE@[66; 68) | 60 | WHITESPACE@[66; 68) |
57 | ENUM_DEF@[68; 181) | 61 | ENUM_DEF@[68; 181) |
58 | ENUM_KW@[68; 72) | 62 | ENUM_KW@[68; 72) |
@@ -60,87 +64,92 @@ FILE@[0; 182) | |||
60 | NAME@[73; 75) | 64 | NAME@[73; 75) |
61 | IDENT@[73; 75) "E5" | 65 | IDENT@[73; 75) "E5" |
62 | WHITESPACE@[75; 76) | 66 | WHITESPACE@[75; 76) |
63 | L_CURLY@[76; 77) | 67 | ENUM_VARIANT_LIST@[76; 181) |
64 | WHITESPACE@[77; 82) | 68 | L_CURLY@[76; 77) |
65 | ENUM_VARIANT@[82; 83) | 69 | WHITESPACE@[77; 82) |
66 | NAME@[82; 83) | 70 | ENUM_VARIANT@[82; 83) |
67 | IDENT@[82; 83) "A" | 71 | NAME@[82; 83) |
68 | COMMA@[83; 84) | 72 | IDENT@[82; 83) "A" |
69 | WHITESPACE@[84; 89) | 73 | COMMA@[83; 84) |
70 | ENUM_VARIANT@[89; 95) | 74 | WHITESPACE@[84; 89) |
71 | NAME@[89; 90) | 75 | ENUM_VARIANT@[89; 95) |
72 | IDENT@[89; 90) "B" | 76 | NAME@[89; 90) |
73 | WHITESPACE@[90; 91) | 77 | IDENT@[89; 90) "B" |
74 | EQ@[91; 92) | 78 | WHITESPACE@[90; 91) |
75 | WHITESPACE@[92; 93) | 79 | EQ@[91; 92) |
76 | LITERAL@[93; 95) | 80 | WHITESPACE@[92; 93) |
77 | INT_NUMBER@[93; 95) "92" | 81 | LITERAL@[93; 95) |
78 | COMMA@[95; 96) | 82 | INT_NUMBER@[93; 95) "92" |
79 | WHITESPACE@[96; 101) | 83 | COMMA@[95; 96) |
80 | ENUM_VARIANT@[101; 146) | 84 | WHITESPACE@[96; 101) |
81 | NAME@[101; 102) | 85 | ENUM_VARIANT@[101; 146) |
82 | IDENT@[101; 102) "C" | 86 | NAME@[101; 102) |
83 | WHITESPACE@[102; 103) | 87 | IDENT@[101; 102) "C" |
84 | L_CURLY@[103; 104) | 88 | WHITESPACE@[102; 103) |
85 | WHITESPACE@[104; 113) | 89 | NAMED_FIELD_DEF_LIST@[103; 146) |
86 | NAMED_FIELD@[113; 119) | 90 | L_CURLY@[103; 104) |
87 | NAME@[113; 114) | 91 | WHITESPACE@[104; 113) |
88 | IDENT@[113; 114) "a" | 92 | NAMED_FIELD_DEF@[113; 119) |
89 | COLON@[114; 115) | 93 | NAME@[113; 114) |
90 | WHITESPACE@[115; 116) | 94 | IDENT@[113; 114) "a" |
91 | PATH_TYPE@[116; 119) | 95 | COLON@[114; 115) |
92 | PATH@[116; 119) | 96 | WHITESPACE@[115; 116) |
93 | PATH_SEGMENT@[116; 119) | 97 | PATH_TYPE@[116; 119) |
94 | NAME_REF@[116; 119) | 98 | PATH@[116; 119) |
95 | IDENT@[116; 119) "u32" | 99 | PATH_SEGMENT@[116; 119) |
96 | COMMA@[119; 120) | 100 | NAME_REF@[116; 119) |
97 | WHITESPACE@[120; 129) | 101 | IDENT@[116; 119) "u32" |
98 | NAMED_FIELD@[129; 139) | 102 | COMMA@[119; 120) |
99 | VISIBILITY@[129; 132) | 103 | WHITESPACE@[120; 129) |
100 | PUB_KW@[129; 132) | 104 | NAMED_FIELD_DEF@[129; 139) |
101 | WHITESPACE@[132; 133) | 105 | VISIBILITY@[129; 132) |
102 | NAME@[133; 134) | 106 | PUB_KW@[129; 132) |
103 | IDENT@[133; 134) "b" | 107 | WHITESPACE@[132; 133) |
104 | COLON@[134; 135) | 108 | NAME@[133; 134) |
105 | WHITESPACE@[135; 136) | 109 | IDENT@[133; 134) "b" |
106 | PATH_TYPE@[136; 139) | 110 | COLON@[134; 135) |
107 | PATH@[136; 139) | 111 | WHITESPACE@[135; 136) |
108 | PATH_SEGMENT@[136; 139) | 112 | PATH_TYPE@[136; 139) |
109 | NAME_REF@[136; 139) | 113 | PATH@[136; 139) |
110 | IDENT@[136; 139) "f64" | 114 | PATH_SEGMENT@[136; 139) |
111 | COMMA@[139; 140) | 115 | NAME_REF@[136; 139) |
112 | WHITESPACE@[140; 145) | 116 | IDENT@[136; 139) "f64" |
113 | R_CURLY@[145; 146) | 117 | COMMA@[139; 140) |
114 | COMMA@[146; 147) | 118 | WHITESPACE@[140; 145) |
115 | WHITESPACE@[147; 152) | 119 | R_CURLY@[145; 146) |
116 | ENUM_VARIANT@[152; 156) | 120 | COMMA@[146; 147) |
117 | NAME@[152; 153) | 121 | WHITESPACE@[147; 152) |
118 | IDENT@[152; 153) "F" | 122 | ENUM_VARIANT@[152; 156) |
119 | WHITESPACE@[153; 154) | 123 | NAME@[152; 153) |
120 | L_CURLY@[154; 155) | 124 | IDENT@[152; 153) "F" |
121 | R_CURLY@[155; 156) | 125 | WHITESPACE@[153; 154) |
122 | COMMA@[156; 157) | 126 | NAMED_FIELD_DEF_LIST@[154; 156) |
123 | WHITESPACE@[157; 162) | 127 | L_CURLY@[154; 155) |
124 | ENUM_VARIANT@[162; 169) | 128 | R_CURLY@[155; 156) |
125 | NAME@[162; 163) | 129 | COMMA@[156; 157) |
126 | IDENT@[162; 163) "D" | 130 | WHITESPACE@[157; 162) |
127 | L_PAREN@[163; 164) | 131 | ENUM_VARIANT@[162; 169) |
128 | POS_FIELD@[164; 167) | 132 | NAME@[162; 163) |
129 | PATH_TYPE@[164; 167) | 133 | IDENT@[162; 163) "D" |
130 | PATH@[164; 167) | 134 | POS_FIELD_LIST@[163; 169) |
131 | PATH_SEGMENT@[164; 167) | 135 | L_PAREN@[163; 164) |
132 | NAME_REF@[164; 167) | 136 | POS_FIELD@[164; 167) |
133 | IDENT@[164; 167) "u32" | 137 | PATH_TYPE@[164; 167) |
134 | COMMA@[167; 168) | 138 | PATH@[164; 167) |
135 | R_PAREN@[168; 169) | 139 | PATH_SEGMENT@[164; 167) |
136 | COMMA@[169; 170) | 140 | NAME_REF@[164; 167) |
137 | WHITESPACE@[170; 175) | 141 | IDENT@[164; 167) "u32" |
138 | ENUM_VARIANT@[175; 178) | 142 | COMMA@[167; 168) |
139 | NAME@[175; 176) | 143 | R_PAREN@[168; 169) |
140 | IDENT@[175; 176) "E" | 144 | COMMA@[169; 170) |
141 | L_PAREN@[176; 177) | 145 | WHITESPACE@[170; 175) |
142 | R_PAREN@[177; 178) | 146 | ENUM_VARIANT@[175; 178) |
143 | COMMA@[178; 179) | 147 | NAME@[175; 176) |
144 | WHITESPACE@[179; 180) | 148 | IDENT@[175; 176) "E" |
145 | R_CURLY@[180; 181) | 149 | POS_FIELD_LIST@[176; 178) |
150 | L_PAREN@[176; 177) | ||
151 | R_PAREN@[177; 178) | ||
152 | COMMA@[178; 179) | ||
153 | WHITESPACE@[179; 180) | ||
154 | R_CURLY@[180; 181) | ||
146 | WHITESPACE@[181; 182) | 155 | WHITESPACE@[181; 182) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0021_extern_fn.txt b/crates/libsyntax2/tests/data/parser/ok/0021_extern_fn.txt index 3a153c358..c3f377857 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0021_extern_fn.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0021_extern_fn.txt | |||
@@ -11,7 +11,7 @@ FILE@[0; 71) | |||
11 | L_PAREN@[13; 14) | 11 | L_PAREN@[13; 14) |
12 | R_PAREN@[14; 15) | 12 | R_PAREN@[14; 15) |
13 | WHITESPACE@[15; 16) | 13 | WHITESPACE@[15; 16) |
14 | BLOCK_EXPR@[16; 19) | 14 | BLOCK@[16; 19) |
15 | L_CURLY@[16; 17) | 15 | L_CURLY@[16; 17) |
16 | WHITESPACE@[17; 18) | 16 | WHITESPACE@[17; 18) |
17 | R_CURLY@[18; 19) | 17 | R_CURLY@[18; 19) |
@@ -30,7 +30,7 @@ FILE@[0; 71) | |||
30 | L_PAREN@[38; 39) | 30 | L_PAREN@[38; 39) |
31 | R_PAREN@[39; 40) | 31 | R_PAREN@[39; 40) |
32 | WHITESPACE@[40; 41) | 32 | WHITESPACE@[40; 41) |
33 | BLOCK_EXPR@[41; 44) | 33 | BLOCK@[41; 44) |
34 | L_CURLY@[41; 42) | 34 | L_CURLY@[41; 42) |
35 | WHITESPACE@[42; 43) | 35 | WHITESPACE@[42; 43) |
36 | R_CURLY@[43; 44) | 36 | R_CURLY@[43; 44) |
@@ -49,7 +49,7 @@ FILE@[0; 71) | |||
49 | L_PAREN@[64; 65) | 49 | L_PAREN@[64; 65) |
50 | R_PAREN@[65; 66) | 50 | R_PAREN@[65; 66) |
51 | WHITESPACE@[66; 67) | 51 | WHITESPACE@[66; 67) |
52 | BLOCK_EXPR@[67; 70) | 52 | BLOCK@[67; 70) |
53 | L_CURLY@[67; 68) | 53 | L_CURLY@[67; 68) |
54 | WHITESPACE@[68; 69) | 54 | WHITESPACE@[68; 69) |
55 | R_CURLY@[69; 70) | 55 | R_CURLY@[69; 70) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0022_empty_extern_block.txt b/crates/libsyntax2/tests/data/parser/ok/0022_empty_extern_block.txt index 81b92d394..075055bfe 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0022_empty_extern_block.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0022_empty_extern_block.txt | |||
@@ -1,19 +1,21 @@ | |||
1 | FILE@[0; 27) | 1 | FILE@[0; 27) |
2 | EXTERN_BLOCK_EXPR@[0; 10) | 2 | EXTERN_BLOCK@[0; 10) |
3 | ABI@[0; 6) | 3 | ABI@[0; 6) |
4 | EXTERN_KW@[0; 6) | 4 | EXTERN_KW@[0; 6) |
5 | WHITESPACE@[6; 7) | 5 | WHITESPACE@[6; 7) |
6 | L_CURLY@[7; 8) | 6 | EXTERN_ITEM_LIST@[7; 10) |
7 | WHITESPACE@[8; 9) | 7 | L_CURLY@[7; 8) |
8 | R_CURLY@[9; 10) | 8 | WHITESPACE@[8; 9) |
9 | R_CURLY@[9; 10) | ||
9 | WHITESPACE@[10; 12) | 10 | WHITESPACE@[10; 12) |
10 | EXTERN_BLOCK_EXPR@[12; 26) | 11 | EXTERN_BLOCK@[12; 26) |
11 | ABI@[12; 22) | 12 | ABI@[12; 22) |
12 | EXTERN_KW@[12; 18) | 13 | EXTERN_KW@[12; 18) |
13 | WHITESPACE@[18; 19) | 14 | WHITESPACE@[18; 19) |
14 | STRING@[19; 22) | 15 | STRING@[19; 22) |
15 | WHITESPACE@[22; 23) | 16 | WHITESPACE@[22; 23) |
16 | L_CURLY@[23; 24) | 17 | EXTERN_ITEM_LIST@[23; 26) |
17 | WHITESPACE@[24; 25) | 18 | L_CURLY@[23; 24) |
18 | R_CURLY@[25; 26) | 19 | WHITESPACE@[24; 25) |
20 | R_CURLY@[25; 26) | ||
19 | WHITESPACE@[26; 27) | 21 | WHITESPACE@[26; 27) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0025_extern_fn_in_block.txt b/crates/libsyntax2/tests/data/parser/ok/0025_extern_fn_in_block.txt index 82736af91..088c6b54c 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0025_extern_fn_in_block.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0025_extern_fn_in_block.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 35) | |||
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) |
11 | BLOCK_EXPR@[10; 34) | 11 | BLOCK@[10; 34) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) |
13 | WHITESPACE@[11; 16) | 13 | WHITESPACE@[11; 16) |
14 | FN_DEF@[16; 32) | 14 | FN_DEF@[16; 32) |
@@ -23,7 +23,7 @@ FILE@[0; 35) | |||
23 | L_PAREN@[27; 28) | 23 | L_PAREN@[27; 28) |
24 | R_PAREN@[28; 29) | 24 | R_PAREN@[28; 29) |
25 | WHITESPACE@[29; 30) | 25 | WHITESPACE@[29; 30) |
26 | BLOCK_EXPR@[30; 32) | 26 | BLOCK@[30; 32) |
27 | L_CURLY@[30; 31) | 27 | L_CURLY@[30; 31) |
28 | R_CURLY@[31; 32) | 28 | R_CURLY@[31; 32) |
29 | WHITESPACE@[32; 33) | 29 | WHITESPACE@[32; 33) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0026_const_fn_in_block.txt b/crates/libsyntax2/tests/data/parser/ok/0026_const_fn_in_block.txt index 5e5430680..246ea583f 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0026_const_fn_in_block.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0026_const_fn_in_block.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 34) | |||
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) |
11 | BLOCK_EXPR@[10; 33) | 11 | BLOCK@[10; 33) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) |
13 | WHITESPACE@[11; 16) | 13 | WHITESPACE@[11; 16) |
14 | FN_DEF@[16; 31) | 14 | FN_DEF@[16; 31) |
@@ -22,7 +22,7 @@ FILE@[0; 34) | |||
22 | L_PAREN@[26; 27) | 22 | L_PAREN@[26; 27) |
23 | R_PAREN@[27; 28) | 23 | R_PAREN@[27; 28) |
24 | WHITESPACE@[28; 29) | 24 | WHITESPACE@[28; 29) |
25 | BLOCK_EXPR@[29; 31) | 25 | BLOCK@[29; 31) |
26 | L_CURLY@[29; 30) | 26 | L_CURLY@[29; 30) |
27 | R_CURLY@[30; 31) | 27 | R_CURLY@[30; 31) |
28 | WHITESPACE@[31; 32) | 28 | WHITESPACE@[31; 32) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0027_unsafe_fn_in_block.txt b/crates/libsyntax2/tests/data/parser/ok/0027_unsafe_fn_in_block.txt index 848df9b9b..03acfd891 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0027_unsafe_fn_in_block.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0027_unsafe_fn_in_block.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 53) | |||
8 | L_PAREN@[7; 8) | 8 | L_PAREN@[7; 8) |
9 | R_PAREN@[8; 9) | 9 | R_PAREN@[8; 9) |
10 | WHITESPACE@[9; 10) | 10 | WHITESPACE@[9; 10) |
11 | BLOCK_EXPR@[10; 52) | 11 | BLOCK@[10; 52) |
12 | L_CURLY@[10; 11) | 12 | L_CURLY@[10; 11) |
13 | WHITESPACE@[11; 16) | 13 | WHITESPACE@[11; 16) |
14 | FN_DEF@[16; 32) | 14 | FN_DEF@[16; 32) |
@@ -22,19 +22,20 @@ FILE@[0; 53) | |||
22 | L_PAREN@[27; 28) | 22 | L_PAREN@[27; 28) |
23 | R_PAREN@[28; 29) | 23 | R_PAREN@[28; 29) |
24 | WHITESPACE@[29; 30) | 24 | WHITESPACE@[29; 30) |
25 | BLOCK_EXPR@[30; 32) | 25 | BLOCK@[30; 32) |
26 | L_CURLY@[30; 31) | 26 | L_CURLY@[30; 31) |
27 | R_CURLY@[31; 32) | 27 | R_CURLY@[31; 32) |
28 | WHITESPACE@[32; 37) | 28 | WHITESPACE@[32; 37) |
29 | BLOCK_EXPR@[37; 50) | 29 | BLOCK_EXPR@[37; 50) |
30 | UNSAFE_KW@[37; 43) | 30 | UNSAFE_KW@[37; 43) |
31 | WHITESPACE@[43; 44) | 31 | WHITESPACE@[43; 44) |
32 | L_CURLY@[44; 45) | 32 | BLOCK@[44; 50) |
33 | WHITESPACE@[45; 46) | 33 | L_CURLY@[44; 45) |
34 | LITERAL@[46; 48) | 34 | WHITESPACE@[45; 46) |
35 | INT_NUMBER@[46; 48) "92" | 35 | LITERAL@[46; 48) |
36 | WHITESPACE@[48; 49) | 36 | INT_NUMBER@[46; 48) "92" |
37 | R_CURLY@[49; 50) | 37 | WHITESPACE@[48; 49) |
38 | R_CURLY@[49; 50) | ||
38 | WHITESPACE@[50; 51) | 39 | WHITESPACE@[50; 51) |
39 | R_CURLY@[51; 52) | 40 | R_CURLY@[51; 52) |
40 | WHITESPACE@[52; 53) | 41 | WHITESPACE@[52; 53) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0028_operator_binding_power.txt b/crates/libsyntax2/tests/data/parser/ok/0028_operator_binding_power.txt index a446066d3..aa1fa0a81 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0028_operator_binding_power.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0028_operator_binding_power.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 248) | |||
8 | L_PAREN@[16; 17) | 8 | L_PAREN@[16; 17) |
9 | R_PAREN@[17; 18) | 9 | R_PAREN@[17; 18) |
10 | WHITESPACE@[18; 19) | 10 | WHITESPACE@[18; 19) |
11 | BLOCK_EXPR@[19; 247) | 11 | BLOCK@[19; 247) |
12 | L_CURLY@[19; 20) | 12 | L_CURLY@[19; 20) |
13 | WHITESPACE@[20; 25) | 13 | WHITESPACE@[20; 25) |
14 | LET_STMT@[25; 55) | 14 | LET_STMT@[25; 55) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0029_range_forms.txt b/crates/libsyntax2/tests/data/parser/ok/0029_range_forms.txt index 619582dfc..28fd89ca4 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0029_range_forms.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0029_range_forms.txt | |||
@@ -8,7 +8,7 @@ FILE@[0; 79) | |||
8 | L_PAREN@[6; 7) | 8 | L_PAREN@[6; 7) |
9 | R_PAREN@[7; 8) | 9 | R_PAREN@[7; 8) |
10 | WHITESPACE@[8; 9) | 10 | WHITESPACE@[8; 9) |
11 | BLOCK_EXPR@[9; 78) | 11 | BLOCK@[9; 78) |
12 | L_CURLY@[9; 10) | 12 | L_CURLY@[9; 10) |
13 | WHITESPACE@[10; 15) | 13 | WHITESPACE@[10; 15) |
14 | EXPR_STMT@[15; 23) | 14 | EXPR_STMT@[15; 23) |
diff --git a/crates/libsyntax2/tests/data/parser/ok/0030_traits.txt b/crates/libsyntax2/tests/data/parser/ok/0030_traits.txt index 88282ca1a..ab87864fc 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0030_traits.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0030_traits.txt | |||
@@ -8,27 +8,28 @@ FILE@[0; 164) | |||
8 | NAME@[10; 22) | 8 | NAME@[10; 22) |
9 | IDENT@[10; 22) "WriteMessage" | 9 | IDENT@[10; 22) "WriteMessage" |
10 | WHITESPACE@[22; 23) | 10 | WHITESPACE@[22; 23) |
11 | L_CURLY@[23; 24) | 11 | ITEM_LIST@[23; 66) |
12 | WHITESPACE@[24; 29) | 12 | L_CURLY@[23; 24) |
13 | FN_DEF@[29; 64) | 13 | WHITESPACE@[24; 29) |
14 | FN_KW@[29; 31) | 14 | FN_DEF@[29; 64) |
15 | WHITESPACE@[31; 32) | 15 | FN_KW@[29; 31) |
16 | NAME@[32; 45) | 16 | WHITESPACE@[31; 32) |
17 | IDENT@[32; 45) "write_message" | 17 | NAME@[32; 45) |
18 | PARAM_LIST@[45; 63) | 18 | IDENT@[32; 45) "write_message" |
19 | L_PAREN@[45; 46) | 19 | PARAM_LIST@[45; 63) |
20 | PARAM@[46; 62) | 20 | L_PAREN@[45; 46) |
21 | REFERENCE_TYPE@[46; 62) | 21 | PARAM@[46; 62) |
22 | AMP@[46; 47) | 22 | REFERENCE_TYPE@[46; 62) |
23 | PATH_TYPE@[47; 62) | 23 | AMP@[46; 47) |
24 | PATH@[47; 62) | 24 | PATH_TYPE@[47; 62) |
25 | PATH_SEGMENT@[47; 62) | 25 | PATH@[47; 62) |
26 | NAME_REF@[47; 62) | 26 | PATH_SEGMENT@[47; 62) |
27 | IDENT@[47; 62) "FrontendMessage" | 27 | NAME_REF@[47; 62) |
28 | R_PAREN@[62; 63) | 28 | IDENT@[47; 62) "FrontendMessage" |
29 | SEMI@[63; 64) | 29 | R_PAREN@[62; 63) |
30 | WHITESPACE@[64; 65) | 30 | SEMI@[63; 64) |
31 | R_CURLY@[65; 66) | 31 | WHITESPACE@[64; 65) |
32 | R_CURLY@[65; 66) | ||
32 | WHITESPACE@[66; 68) | 33 | WHITESPACE@[66; 68) |
33 | TRAIT_DEF@[68; 104) | 34 | TRAIT_DEF@[68; 104) |
34 | TRAIT_KW@[68; 73) | 35 | TRAIT_KW@[68; 73) |
@@ -36,19 +37,20 @@ FILE@[0; 164) | |||
36 | NAME@[74; 82) | 37 | NAME@[74; 82) |
37 | IDENT@[74; 82) "Runnable" | 38 | IDENT@[74; 82) "Runnable" |
38 | WHITESPACE@[82; 83) | 39 | WHITESPACE@[82; 83) |
39 | L_CURLY@[83; 84) | 40 | ITEM_LIST@[83; 104) |
40 | WHITESPACE@[84; 89) | 41 | L_CURLY@[83; 84) |
41 | FN_DEF@[89; 102) | 42 | WHITESPACE@[84; 89) |
42 | FN_KW@[89; 91) | 43 | FN_DEF@[89; 102) |
43 | WHITESPACE@[91; 92) | 44 | FN_KW@[89; 91) |
44 | NAME@[92; 99) | 45 | WHITESPACE@[91; 92) |
45 | IDENT@[92; 99) "handler" | 46 | NAME@[92; 99) |
46 | PARAM_LIST@[99; 101) | 47 | IDENT@[92; 99) "handler" |
47 | L_PAREN@[99; 100) | 48 | PARAM_LIST@[99; 101) |
48 | R_PAREN@[100; 101) | 49 | L_PAREN@[99; 100) |
49 | SEMI@[101; 102) | 50 | R_PAREN@[100; 101) |
50 | WHITESPACE@[102; 103) | 51 | SEMI@[101; 102) |
51 | R_CURLY@[103; 104) | 52 | WHITESPACE@[102; 103) |
53 | R_CURLY@[103; 104) | ||
52 | WHITESPACE@[104; 106) | 54 | WHITESPACE@[104; 106) |
53 | TRAIT_DEF@[106; 163) | 55 | TRAIT_DEF@[106; 163) |
54 | TRAIT_KW@[106; 111) | 56 | TRAIT_KW@[106; 111) |
@@ -56,35 +58,36 @@ FILE@[0; 164) | |||
56 | NAME@[112; 125) | 58 | NAME@[112; 125) |
57 | IDENT@[112; 125) "TraitWithExpr" | 59 | IDENT@[112; 125) "TraitWithExpr" |
58 | WHITESPACE@[125; 126) | 60 | WHITESPACE@[125; 126) |
59 | L_CURLY@[126; 127) | 61 | ITEM_LIST@[126; 163) |
60 | WHITESPACE@[127; 132) | 62 | L_CURLY@[126; 127) |
61 | FN_DEF@[132; 161) | 63 | WHITESPACE@[127; 132) |
62 | FN_KW@[132; 134) | 64 | FN_DEF@[132; 161) |
63 | WHITESPACE@[134; 135) | 65 | FN_KW@[132; 134) |
64 | NAME@[135; 147) | 66 | WHITESPACE@[134; 135) |
65 | IDENT@[135; 147) "fn_with_expr" | 67 | NAME@[135; 147) |
66 | PARAM_LIST@[147; 160) | 68 | IDENT@[135; 147) "fn_with_expr" |
67 | L_PAREN@[147; 148) | 69 | PARAM_LIST@[147; 160) |
68 | PARAM@[148; 159) | 70 | L_PAREN@[147; 148) |
69 | BIND_PAT@[148; 149) | 71 | PARAM@[148; 159) |
70 | NAME@[148; 149) | 72 | BIND_PAT@[148; 149) |
71 | IDENT@[148; 149) "x" | 73 | NAME@[148; 149) |
72 | COLON@[149; 150) | 74 | IDENT@[148; 149) "x" |
73 | WHITESPACE@[150; 151) | 75 | COLON@[149; 150) |
74 | ARRAY_TYPE@[151; 159) | 76 | WHITESPACE@[150; 151) |
75 | L_BRACK@[151; 152) | 77 | ARRAY_TYPE@[151; 159) |
76 | PATH_TYPE@[152; 155) | 78 | L_BRACK@[151; 152) |
77 | PATH@[152; 155) | 79 | PATH_TYPE@[152; 155) |
78 | PATH_SEGMENT@[152; 155) | 80 | PATH@[152; 155) |
79 | NAME_REF@[152; 155) | 81 | PATH_SEGMENT@[152; 155) |
80 | IDENT@[152; 155) "i32" | 82 | NAME_REF@[152; 155) |
81 | SEMI@[155; 156) | 83 | IDENT@[152; 155) "i32" |
82 | WHITESPACE@[156; 157) | 84 | SEMI@[155; 156) |
83 | LITERAL@[157; 158) | 85 | WHITESPACE@[156; 157) |
84 | INT_NUMBER@[157; 158) "1" | 86 | LITERAL@[157; 158) |
85 | R_BRACK@[158; 159) | 87 | INT_NUMBER@[157; 158) "1" |
86 | R_PAREN@[159; 160) | 88 | R_BRACK@[158; 159) |
87 | SEMI@[160; 161) | 89 | R_PAREN@[159; 160) |
88 | WHITESPACE@[161; 162) | 90 | SEMI@[160; 161) |
89 | R_CURLY@[162; 163) | 91 | WHITESPACE@[161; 162) |
92 | R_CURLY@[162; 163) | ||
90 | WHITESPACE@[163; 164) | 93 | WHITESPACE@[163; 164) |