diff options
-rw-r--r-- | crates/ra_syntax/src/ast.rs | 5 | ||||
-rw-r--r-- | crates/ra_syntax/src/ast/generated.rs | 496 | ||||
-rw-r--r-- | crates/ra_syntax/src/ast/generated.rs.tera | 8 | ||||
-rw-r--r-- | crates/ra_syntax/src/yellow.rs | 22 |
4 files changed, 523 insertions, 8 deletions
diff --git a/crates/ra_syntax/src/ast.rs b/crates/ra_syntax/src/ast.rs index bcbd4c60c..b92cc082e 100644 --- a/crates/ra_syntax/src/ast.rs +++ b/crates/ra_syntax/src/ast.rs | |||
@@ -15,12 +15,13 @@ use crate::{ | |||
15 | /// conversion itself has zero runtime cost: ast and syntax nodes have exactly | 15 | /// conversion itself has zero runtime cost: ast and syntax nodes have exactly |
16 | /// the same representation: a pointer to the tree root and a pointer to the | 16 | /// the same representation: a pointer to the tree root and a pointer to the |
17 | /// node itself. | 17 | /// node itself. |
18 | pub trait AstNode: rowan::TransparentNewType<Repr = rowan::SyntaxNode<RaTypes>> { | 18 | pub trait AstNode: |
19 | rowan::TransparentNewType<Repr = rowan::SyntaxNode<RaTypes>> + ToOwned<Owned = TreeArc<Self>> | ||
20 | { | ||
19 | fn cast(syntax: &SyntaxNode) -> Option<&Self> | 21 | fn cast(syntax: &SyntaxNode) -> Option<&Self> |
20 | where | 22 | where |
21 | Self: Sized; | 23 | Self: Sized; |
22 | fn syntax(&self) -> &SyntaxNode; | 24 | fn syntax(&self) -> &SyntaxNode; |
23 | fn to_owned(&self) -> TreeArc<Self>; | ||
24 | } | 25 | } |
25 | 26 | ||
26 | pub trait AstToken: AstNode { | 27 | pub trait AstToken: AstNode { |
diff --git a/crates/ra_syntax/src/ast/generated.rs b/crates/ra_syntax/src/ast/generated.rs index ac6c8a835..e39b58827 100644 --- a/crates/ra_syntax/src/ast/generated.rs +++ b/crates/ra_syntax/src/ast/generated.rs | |||
@@ -35,6 +35,10 @@ impl AstNode for ArgList { | |||
35 | } | 35 | } |
36 | } | 36 | } |
37 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 37 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
38 | } | ||
39 | |||
40 | impl ToOwned for ArgList { | ||
41 | type Owned = TreeArc<ArgList>; | ||
38 | fn to_owned(&self) -> TreeArc<ArgList> { TreeArc::cast(self.syntax.to_owned()) } | 42 | fn to_owned(&self) -> TreeArc<ArgList> { TreeArc::cast(self.syntax.to_owned()) } |
39 | } | 43 | } |
40 | 44 | ||
@@ -63,6 +67,10 @@ impl AstNode for ArrayExpr { | |||
63 | } | 67 | } |
64 | } | 68 | } |
65 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 69 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
70 | } | ||
71 | |||
72 | impl ToOwned for ArrayExpr { | ||
73 | type Owned = TreeArc<ArrayExpr>; | ||
66 | fn to_owned(&self) -> TreeArc<ArrayExpr> { TreeArc::cast(self.syntax.to_owned()) } | 74 | fn to_owned(&self) -> TreeArc<ArrayExpr> { TreeArc::cast(self.syntax.to_owned()) } |
67 | } | 75 | } |
68 | 76 | ||
@@ -91,6 +99,10 @@ impl AstNode for ArrayType { | |||
91 | } | 99 | } |
92 | } | 100 | } |
93 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 101 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
102 | } | ||
103 | |||
104 | impl ToOwned for ArrayType { | ||
105 | type Owned = TreeArc<ArrayType>; | ||
94 | fn to_owned(&self) -> TreeArc<ArrayType> { TreeArc::cast(self.syntax.to_owned()) } | 106 | fn to_owned(&self) -> TreeArc<ArrayType> { TreeArc::cast(self.syntax.to_owned()) } |
95 | } | 107 | } |
96 | 108 | ||
@@ -123,6 +135,10 @@ impl AstNode for AssocTypeArg { | |||
123 | } | 135 | } |
124 | } | 136 | } |
125 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 137 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
138 | } | ||
139 | |||
140 | impl ToOwned for AssocTypeArg { | ||
141 | type Owned = TreeArc<AssocTypeArg>; | ||
126 | fn to_owned(&self) -> TreeArc<AssocTypeArg> { TreeArc::cast(self.syntax.to_owned()) } | 142 | fn to_owned(&self) -> TreeArc<AssocTypeArg> { TreeArc::cast(self.syntax.to_owned()) } |
127 | } | 143 | } |
128 | 144 | ||
@@ -155,6 +171,10 @@ impl AstNode for Attr { | |||
155 | } | 171 | } |
156 | } | 172 | } |
157 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 173 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
174 | } | ||
175 | |||
176 | impl ToOwned for Attr { | ||
177 | type Owned = TreeArc<Attr>; | ||
158 | fn to_owned(&self) -> TreeArc<Attr> { TreeArc::cast(self.syntax.to_owned()) } | 178 | fn to_owned(&self) -> TreeArc<Attr> { TreeArc::cast(self.syntax.to_owned()) } |
159 | } | 179 | } |
160 | 180 | ||
@@ -183,6 +203,10 @@ impl AstNode for BinExpr { | |||
183 | } | 203 | } |
184 | } | 204 | } |
185 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 205 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
206 | } | ||
207 | |||
208 | impl ToOwned for BinExpr { | ||
209 | type Owned = TreeArc<BinExpr>; | ||
186 | fn to_owned(&self) -> TreeArc<BinExpr> { TreeArc::cast(self.syntax.to_owned()) } | 210 | fn to_owned(&self) -> TreeArc<BinExpr> { TreeArc::cast(self.syntax.to_owned()) } |
187 | } | 211 | } |
188 | 212 | ||
@@ -207,6 +231,10 @@ impl AstNode for BindPat { | |||
207 | } | 231 | } |
208 | } | 232 | } |
209 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 233 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
234 | } | ||
235 | |||
236 | impl ToOwned for BindPat { | ||
237 | type Owned = TreeArc<BindPat>; | ||
210 | fn to_owned(&self) -> TreeArc<BindPat> { TreeArc::cast(self.syntax.to_owned()) } | 238 | fn to_owned(&self) -> TreeArc<BindPat> { TreeArc::cast(self.syntax.to_owned()) } |
211 | } | 239 | } |
212 | 240 | ||
@@ -236,6 +264,10 @@ impl AstNode for Block { | |||
236 | } | 264 | } |
237 | } | 265 | } |
238 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 266 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
267 | } | ||
268 | |||
269 | impl ToOwned for Block { | ||
270 | type Owned = TreeArc<Block>; | ||
239 | fn to_owned(&self) -> TreeArc<Block> { TreeArc::cast(self.syntax.to_owned()) } | 271 | fn to_owned(&self) -> TreeArc<Block> { TreeArc::cast(self.syntax.to_owned()) } |
240 | } | 272 | } |
241 | 273 | ||
@@ -268,6 +300,10 @@ impl AstNode for BlockExpr { | |||
268 | } | 300 | } |
269 | } | 301 | } |
270 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 302 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
303 | } | ||
304 | |||
305 | impl ToOwned for BlockExpr { | ||
306 | type Owned = TreeArc<BlockExpr>; | ||
271 | fn to_owned(&self) -> TreeArc<BlockExpr> { TreeArc::cast(self.syntax.to_owned()) } | 307 | fn to_owned(&self) -> TreeArc<BlockExpr> { TreeArc::cast(self.syntax.to_owned()) } |
272 | } | 308 | } |
273 | 309 | ||
@@ -296,6 +332,10 @@ impl AstNode for BreakExpr { | |||
296 | } | 332 | } |
297 | } | 333 | } |
298 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 334 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
335 | } | ||
336 | |||
337 | impl ToOwned for BreakExpr { | ||
338 | type Owned = TreeArc<BreakExpr>; | ||
299 | fn to_owned(&self) -> TreeArc<BreakExpr> { TreeArc::cast(self.syntax.to_owned()) } | 339 | fn to_owned(&self) -> TreeArc<BreakExpr> { TreeArc::cast(self.syntax.to_owned()) } |
300 | } | 340 | } |
301 | 341 | ||
@@ -324,6 +364,10 @@ impl AstNode for Byte { | |||
324 | } | 364 | } |
325 | } | 365 | } |
326 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 366 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
367 | } | ||
368 | |||
369 | impl ToOwned for Byte { | ||
370 | type Owned = TreeArc<Byte>; | ||
327 | fn to_owned(&self) -> TreeArc<Byte> { TreeArc::cast(self.syntax.to_owned()) } | 371 | fn to_owned(&self) -> TreeArc<Byte> { TreeArc::cast(self.syntax.to_owned()) } |
328 | } | 372 | } |
329 | 373 | ||
@@ -349,6 +393,10 @@ impl AstNode for ByteString { | |||
349 | } | 393 | } |
350 | } | 394 | } |
351 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 395 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
396 | } | ||
397 | |||
398 | impl ToOwned for ByteString { | ||
399 | type Owned = TreeArc<ByteString>; | ||
352 | fn to_owned(&self) -> TreeArc<ByteString> { TreeArc::cast(self.syntax.to_owned()) } | 400 | fn to_owned(&self) -> TreeArc<ByteString> { TreeArc::cast(self.syntax.to_owned()) } |
353 | } | 401 | } |
354 | 402 | ||
@@ -374,6 +422,10 @@ impl AstNode for CallExpr { | |||
374 | } | 422 | } |
375 | } | 423 | } |
376 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 424 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
425 | } | ||
426 | |||
427 | impl ToOwned for CallExpr { | ||
428 | type Owned = TreeArc<CallExpr>; | ||
377 | fn to_owned(&self) -> TreeArc<CallExpr> { TreeArc::cast(self.syntax.to_owned()) } | 429 | fn to_owned(&self) -> TreeArc<CallExpr> { TreeArc::cast(self.syntax.to_owned()) } |
378 | } | 430 | } |
379 | 431 | ||
@@ -403,6 +455,10 @@ impl AstNode for CastExpr { | |||
403 | } | 455 | } |
404 | } | 456 | } |
405 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 457 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
458 | } | ||
459 | |||
460 | impl ToOwned for CastExpr { | ||
461 | type Owned = TreeArc<CastExpr>; | ||
406 | fn to_owned(&self) -> TreeArc<CastExpr> { TreeArc::cast(self.syntax.to_owned()) } | 462 | fn to_owned(&self) -> TreeArc<CastExpr> { TreeArc::cast(self.syntax.to_owned()) } |
407 | } | 463 | } |
408 | 464 | ||
@@ -435,6 +491,10 @@ impl AstNode for Char { | |||
435 | } | 491 | } |
436 | } | 492 | } |
437 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 493 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
494 | } | ||
495 | |||
496 | impl ToOwned for Char { | ||
497 | type Owned = TreeArc<Char>; | ||
438 | fn to_owned(&self) -> TreeArc<Char> { TreeArc::cast(self.syntax.to_owned()) } | 498 | fn to_owned(&self) -> TreeArc<Char> { TreeArc::cast(self.syntax.to_owned()) } |
439 | } | 499 | } |
440 | 500 | ||
@@ -460,6 +520,10 @@ impl AstNode for Comment { | |||
460 | } | 520 | } |
461 | } | 521 | } |
462 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 522 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
523 | } | ||
524 | |||
525 | impl ToOwned for Comment { | ||
526 | type Owned = TreeArc<Comment>; | ||
463 | fn to_owned(&self) -> TreeArc<Comment> { TreeArc::cast(self.syntax.to_owned()) } | 527 | fn to_owned(&self) -> TreeArc<Comment> { TreeArc::cast(self.syntax.to_owned()) } |
464 | } | 528 | } |
465 | 529 | ||
@@ -485,6 +549,10 @@ impl AstNode for Condition { | |||
485 | } | 549 | } |
486 | } | 550 | } |
487 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 551 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
552 | } | ||
553 | |||
554 | impl ToOwned for Condition { | ||
555 | type Owned = TreeArc<Condition>; | ||
488 | fn to_owned(&self) -> TreeArc<Condition> { TreeArc::cast(self.syntax.to_owned()) } | 556 | fn to_owned(&self) -> TreeArc<Condition> { TreeArc::cast(self.syntax.to_owned()) } |
489 | } | 557 | } |
490 | 558 | ||
@@ -517,6 +585,10 @@ impl AstNode for ConstDef { | |||
517 | } | 585 | } |
518 | } | 586 | } |
519 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 587 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
588 | } | ||
589 | |||
590 | impl ToOwned for ConstDef { | ||
591 | type Owned = TreeArc<ConstDef>; | ||
520 | fn to_owned(&self) -> TreeArc<ConstDef> { TreeArc::cast(self.syntax.to_owned()) } | 592 | fn to_owned(&self) -> TreeArc<ConstDef> { TreeArc::cast(self.syntax.to_owned()) } |
521 | } | 593 | } |
522 | 594 | ||
@@ -546,6 +618,10 @@ impl AstNode for ContinueExpr { | |||
546 | } | 618 | } |
547 | } | 619 | } |
548 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 620 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
621 | } | ||
622 | |||
623 | impl ToOwned for ContinueExpr { | ||
624 | type Owned = TreeArc<ContinueExpr>; | ||
549 | fn to_owned(&self) -> TreeArc<ContinueExpr> { TreeArc::cast(self.syntax.to_owned()) } | 625 | fn to_owned(&self) -> TreeArc<ContinueExpr> { TreeArc::cast(self.syntax.to_owned()) } |
550 | } | 626 | } |
551 | 627 | ||
@@ -570,6 +646,10 @@ impl AstNode for DynTraitType { | |||
570 | } | 646 | } |
571 | } | 647 | } |
572 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 648 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
649 | } | ||
650 | |||
651 | impl ToOwned for DynTraitType { | ||
652 | type Owned = TreeArc<DynTraitType>; | ||
573 | fn to_owned(&self) -> TreeArc<DynTraitType> { TreeArc::cast(self.syntax.to_owned()) } | 653 | fn to_owned(&self) -> TreeArc<DynTraitType> { TreeArc::cast(self.syntax.to_owned()) } |
574 | } | 654 | } |
575 | 655 | ||
@@ -594,6 +674,10 @@ impl AstNode for EnumDef { | |||
594 | } | 674 | } |
595 | } | 675 | } |
596 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 676 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
677 | } | ||
678 | |||
679 | impl ToOwned for EnumDef { | ||
680 | type Owned = TreeArc<EnumDef>; | ||
597 | fn to_owned(&self) -> TreeArc<EnumDef> { TreeArc::cast(self.syntax.to_owned()) } | 681 | fn to_owned(&self) -> TreeArc<EnumDef> { TreeArc::cast(self.syntax.to_owned()) } |
598 | } | 682 | } |
599 | 683 | ||
@@ -627,6 +711,10 @@ impl AstNode for EnumVariant { | |||
627 | } | 711 | } |
628 | } | 712 | } |
629 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 713 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
714 | } | ||
715 | |||
716 | impl ToOwned for EnumVariant { | ||
717 | type Owned = TreeArc<EnumVariant>; | ||
630 | fn to_owned(&self) -> TreeArc<EnumVariant> { TreeArc::cast(self.syntax.to_owned()) } | 718 | fn to_owned(&self) -> TreeArc<EnumVariant> { TreeArc::cast(self.syntax.to_owned()) } |
631 | } | 719 | } |
632 | 720 | ||
@@ -657,6 +745,10 @@ impl AstNode for EnumVariantList { | |||
657 | } | 745 | } |
658 | } | 746 | } |
659 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 747 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
748 | } | ||
749 | |||
750 | impl ToOwned for EnumVariantList { | ||
751 | type Owned = TreeArc<EnumVariantList>; | ||
660 | fn to_owned(&self) -> TreeArc<EnumVariantList> { TreeArc::cast(self.syntax.to_owned()) } | 752 | fn to_owned(&self) -> TreeArc<EnumVariantList> { TreeArc::cast(self.syntax.to_owned()) } |
661 | } | 753 | } |
662 | 754 | ||
@@ -742,6 +834,10 @@ impl AstNode for Expr { | |||
742 | } | 834 | } |
743 | } | 835 | } |
744 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 836 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
837 | } | ||
838 | |||
839 | impl ToOwned for Expr { | ||
840 | type Owned = TreeArc<Expr>; | ||
745 | fn to_owned(&self) -> TreeArc<Expr> { TreeArc::cast(self.syntax.to_owned()) } | 841 | fn to_owned(&self) -> TreeArc<Expr> { TreeArc::cast(self.syntax.to_owned()) } |
746 | } | 842 | } |
747 | 843 | ||
@@ -800,6 +896,10 @@ impl AstNode for ExprStmt { | |||
800 | } | 896 | } |
801 | } | 897 | } |
802 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 898 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
899 | } | ||
900 | |||
901 | impl ToOwned for ExprStmt { | ||
902 | type Owned = TreeArc<ExprStmt>; | ||
803 | fn to_owned(&self) -> TreeArc<ExprStmt> { TreeArc::cast(self.syntax.to_owned()) } | 903 | fn to_owned(&self) -> TreeArc<ExprStmt> { TreeArc::cast(self.syntax.to_owned()) } |
804 | } | 904 | } |
805 | 905 | ||
@@ -828,6 +928,10 @@ impl AstNode for ExternCrateItem { | |||
828 | } | 928 | } |
829 | } | 929 | } |
830 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 930 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
931 | } | ||
932 | |||
933 | impl ToOwned for ExternCrateItem { | ||
934 | type Owned = TreeArc<ExternCrateItem>; | ||
831 | fn to_owned(&self) -> TreeArc<ExternCrateItem> { TreeArc::cast(self.syntax.to_owned()) } | 935 | fn to_owned(&self) -> TreeArc<ExternCrateItem> { TreeArc::cast(self.syntax.to_owned()) } |
832 | } | 936 | } |
833 | 937 | ||
@@ -852,6 +956,10 @@ impl AstNode for FalseKw { | |||
852 | } | 956 | } |
853 | } | 957 | } |
854 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 958 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
959 | } | ||
960 | |||
961 | impl ToOwned for FalseKw { | ||
962 | type Owned = TreeArc<FalseKw>; | ||
855 | fn to_owned(&self) -> TreeArc<FalseKw> { TreeArc::cast(self.syntax.to_owned()) } | 963 | fn to_owned(&self) -> TreeArc<FalseKw> { TreeArc::cast(self.syntax.to_owned()) } |
856 | } | 964 | } |
857 | 965 | ||
@@ -877,6 +985,10 @@ impl AstNode for FieldExpr { | |||
877 | } | 985 | } |
878 | } | 986 | } |
879 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 987 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
988 | } | ||
989 | |||
990 | impl ToOwned for FieldExpr { | ||
991 | type Owned = TreeArc<FieldExpr>; | ||
880 | fn to_owned(&self) -> TreeArc<FieldExpr> { TreeArc::cast(self.syntax.to_owned()) } | 992 | fn to_owned(&self) -> TreeArc<FieldExpr> { TreeArc::cast(self.syntax.to_owned()) } |
881 | } | 993 | } |
882 | 994 | ||
@@ -909,6 +1021,10 @@ impl AstNode for FieldPat { | |||
909 | } | 1021 | } |
910 | } | 1022 | } |
911 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1023 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1024 | } | ||
1025 | |||
1026 | impl ToOwned for FieldPat { | ||
1027 | type Owned = TreeArc<FieldPat>; | ||
912 | fn to_owned(&self) -> TreeArc<FieldPat> { TreeArc::cast(self.syntax.to_owned()) } | 1028 | fn to_owned(&self) -> TreeArc<FieldPat> { TreeArc::cast(self.syntax.to_owned()) } |
913 | } | 1029 | } |
914 | 1030 | ||
@@ -938,6 +1054,10 @@ impl AstNode for FieldPatList { | |||
938 | } | 1054 | } |
939 | } | 1055 | } |
940 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1056 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1057 | } | ||
1058 | |||
1059 | impl ToOwned for FieldPatList { | ||
1060 | type Owned = TreeArc<FieldPatList>; | ||
941 | fn to_owned(&self) -> TreeArc<FieldPatList> { TreeArc::cast(self.syntax.to_owned()) } | 1061 | fn to_owned(&self) -> TreeArc<FieldPatList> { TreeArc::cast(self.syntax.to_owned()) } |
942 | } | 1062 | } |
943 | 1063 | ||
@@ -970,6 +1090,10 @@ impl AstNode for FloatNumber { | |||
970 | } | 1090 | } |
971 | } | 1091 | } |
972 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1092 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1093 | } | ||
1094 | |||
1095 | impl ToOwned for FloatNumber { | ||
1096 | type Owned = TreeArc<FloatNumber>; | ||
973 | fn to_owned(&self) -> TreeArc<FloatNumber> { TreeArc::cast(self.syntax.to_owned()) } | 1097 | fn to_owned(&self) -> TreeArc<FloatNumber> { TreeArc::cast(self.syntax.to_owned()) } |
974 | } | 1098 | } |
975 | 1099 | ||
@@ -995,6 +1119,10 @@ impl AstNode for FnDef { | |||
995 | } | 1119 | } |
996 | } | 1120 | } |
997 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1121 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1122 | } | ||
1123 | |||
1124 | impl ToOwned for FnDef { | ||
1125 | type Owned = TreeArc<FnDef>; | ||
998 | fn to_owned(&self) -> TreeArc<FnDef> { TreeArc::cast(self.syntax.to_owned()) } | 1126 | fn to_owned(&self) -> TreeArc<FnDef> { TreeArc::cast(self.syntax.to_owned()) } |
999 | } | 1127 | } |
1000 | 1128 | ||
@@ -1036,6 +1164,10 @@ impl AstNode for FnPointerType { | |||
1036 | } | 1164 | } |
1037 | } | 1165 | } |
1038 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1166 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1167 | } | ||
1168 | |||
1169 | impl ToOwned for FnPointerType { | ||
1170 | type Owned = TreeArc<FnPointerType>; | ||
1039 | fn to_owned(&self) -> TreeArc<FnPointerType> { TreeArc::cast(self.syntax.to_owned()) } | 1171 | fn to_owned(&self) -> TreeArc<FnPointerType> { TreeArc::cast(self.syntax.to_owned()) } |
1040 | } | 1172 | } |
1041 | 1173 | ||
@@ -1068,6 +1200,10 @@ impl AstNode for ForExpr { | |||
1068 | } | 1200 | } |
1069 | } | 1201 | } |
1070 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1202 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1203 | } | ||
1204 | |||
1205 | impl ToOwned for ForExpr { | ||
1206 | type Owned = TreeArc<ForExpr>; | ||
1071 | fn to_owned(&self) -> TreeArc<ForExpr> { TreeArc::cast(self.syntax.to_owned()) } | 1207 | fn to_owned(&self) -> TreeArc<ForExpr> { TreeArc::cast(self.syntax.to_owned()) } |
1072 | } | 1208 | } |
1073 | 1209 | ||
@@ -1101,6 +1237,10 @@ impl AstNode for ForType { | |||
1101 | } | 1237 | } |
1102 | } | 1238 | } |
1103 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1239 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1240 | } | ||
1241 | |||
1242 | impl ToOwned for ForType { | ||
1243 | type Owned = TreeArc<ForType>; | ||
1104 | fn to_owned(&self) -> TreeArc<ForType> { TreeArc::cast(self.syntax.to_owned()) } | 1244 | fn to_owned(&self) -> TreeArc<ForType> { TreeArc::cast(self.syntax.to_owned()) } |
1105 | } | 1245 | } |
1106 | 1246 | ||
@@ -1129,6 +1269,10 @@ impl AstNode for IfExpr { | |||
1129 | } | 1269 | } |
1130 | } | 1270 | } |
1131 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1271 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1272 | } | ||
1273 | |||
1274 | impl ToOwned for IfExpr { | ||
1275 | type Owned = TreeArc<IfExpr>; | ||
1132 | fn to_owned(&self) -> TreeArc<IfExpr> { TreeArc::cast(self.syntax.to_owned()) } | 1276 | fn to_owned(&self) -> TreeArc<IfExpr> { TreeArc::cast(self.syntax.to_owned()) } |
1133 | } | 1277 | } |
1134 | 1278 | ||
@@ -1157,6 +1301,10 @@ impl AstNode for ImplBlock { | |||
1157 | } | 1301 | } |
1158 | } | 1302 | } |
1159 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1303 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1304 | } | ||
1305 | |||
1306 | impl ToOwned for ImplBlock { | ||
1307 | type Owned = TreeArc<ImplBlock>; | ||
1160 | fn to_owned(&self) -> TreeArc<ImplBlock> { TreeArc::cast(self.syntax.to_owned()) } | 1308 | fn to_owned(&self) -> TreeArc<ImplBlock> { TreeArc::cast(self.syntax.to_owned()) } |
1161 | } | 1309 | } |
1162 | 1310 | ||
@@ -1194,6 +1342,10 @@ impl AstNode for ImplItem { | |||
1194 | } | 1342 | } |
1195 | } | 1343 | } |
1196 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1344 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1345 | } | ||
1346 | |||
1347 | impl ToOwned for ImplItem { | ||
1348 | type Owned = TreeArc<ImplItem>; | ||
1197 | fn to_owned(&self) -> TreeArc<ImplItem> { TreeArc::cast(self.syntax.to_owned()) } | 1349 | fn to_owned(&self) -> TreeArc<ImplItem> { TreeArc::cast(self.syntax.to_owned()) } |
1198 | } | 1350 | } |
1199 | 1351 | ||
@@ -1228,6 +1380,10 @@ impl AstNode for ImplTraitType { | |||
1228 | } | 1380 | } |
1229 | } | 1381 | } |
1230 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1382 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1383 | } | ||
1384 | |||
1385 | impl ToOwned for ImplTraitType { | ||
1386 | type Owned = TreeArc<ImplTraitType>; | ||
1231 | fn to_owned(&self) -> TreeArc<ImplTraitType> { TreeArc::cast(self.syntax.to_owned()) } | 1387 | fn to_owned(&self) -> TreeArc<ImplTraitType> { TreeArc::cast(self.syntax.to_owned()) } |
1232 | } | 1388 | } |
1233 | 1389 | ||
@@ -1252,6 +1408,10 @@ impl AstNode for IndexExpr { | |||
1252 | } | 1408 | } |
1253 | } | 1409 | } |
1254 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1410 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1411 | } | ||
1412 | |||
1413 | impl ToOwned for IndexExpr { | ||
1414 | type Owned = TreeArc<IndexExpr>; | ||
1255 | fn to_owned(&self) -> TreeArc<IndexExpr> { TreeArc::cast(self.syntax.to_owned()) } | 1415 | fn to_owned(&self) -> TreeArc<IndexExpr> { TreeArc::cast(self.syntax.to_owned()) } |
1256 | } | 1416 | } |
1257 | 1417 | ||
@@ -1276,6 +1436,10 @@ impl AstNode for IntNumber { | |||
1276 | } | 1436 | } |
1277 | } | 1437 | } |
1278 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1438 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1439 | } | ||
1440 | |||
1441 | impl ToOwned for IntNumber { | ||
1442 | type Owned = TreeArc<IntNumber>; | ||
1279 | fn to_owned(&self) -> TreeArc<IntNumber> { TreeArc::cast(self.syntax.to_owned()) } | 1443 | fn to_owned(&self) -> TreeArc<IntNumber> { TreeArc::cast(self.syntax.to_owned()) } |
1280 | } | 1444 | } |
1281 | 1445 | ||
@@ -1301,6 +1465,10 @@ impl AstNode for ItemList { | |||
1301 | } | 1465 | } |
1302 | } | 1466 | } |
1303 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1467 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1468 | } | ||
1469 | |||
1470 | impl ToOwned for ItemList { | ||
1471 | type Owned = TreeArc<ItemList>; | ||
1304 | fn to_owned(&self) -> TreeArc<ItemList> { TreeArc::cast(self.syntax.to_owned()) } | 1472 | fn to_owned(&self) -> TreeArc<ItemList> { TreeArc::cast(self.syntax.to_owned()) } |
1305 | } | 1473 | } |
1306 | 1474 | ||
@@ -1331,6 +1499,10 @@ impl AstNode for Label { | |||
1331 | } | 1499 | } |
1332 | } | 1500 | } |
1333 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1501 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1502 | } | ||
1503 | |||
1504 | impl ToOwned for Label { | ||
1505 | type Owned = TreeArc<Label>; | ||
1334 | fn to_owned(&self) -> TreeArc<Label> { TreeArc::cast(self.syntax.to_owned()) } | 1506 | fn to_owned(&self) -> TreeArc<Label> { TreeArc::cast(self.syntax.to_owned()) } |
1335 | } | 1507 | } |
1336 | 1508 | ||
@@ -1355,6 +1527,10 @@ impl AstNode for LambdaExpr { | |||
1355 | } | 1527 | } |
1356 | } | 1528 | } |
1357 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1529 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1530 | } | ||
1531 | |||
1532 | impl ToOwned for LambdaExpr { | ||
1533 | type Owned = TreeArc<LambdaExpr>; | ||
1358 | fn to_owned(&self) -> TreeArc<LambdaExpr> { TreeArc::cast(self.syntax.to_owned()) } | 1534 | fn to_owned(&self) -> TreeArc<LambdaExpr> { TreeArc::cast(self.syntax.to_owned()) } |
1359 | } | 1535 | } |
1360 | 1536 | ||
@@ -1387,6 +1563,10 @@ impl AstNode for LetStmt { | |||
1387 | } | 1563 | } |
1388 | } | 1564 | } |
1389 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1565 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1566 | } | ||
1567 | |||
1568 | impl ToOwned for LetStmt { | ||
1569 | type Owned = TreeArc<LetStmt>; | ||
1390 | fn to_owned(&self) -> TreeArc<LetStmt> { TreeArc::cast(self.syntax.to_owned()) } | 1570 | fn to_owned(&self) -> TreeArc<LetStmt> { TreeArc::cast(self.syntax.to_owned()) } |
1391 | } | 1571 | } |
1392 | 1572 | ||
@@ -1423,6 +1603,10 @@ impl AstNode for Lifetime { | |||
1423 | } | 1603 | } |
1424 | } | 1604 | } |
1425 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1605 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1606 | } | ||
1607 | |||
1608 | impl ToOwned for Lifetime { | ||
1609 | type Owned = TreeArc<Lifetime>; | ||
1426 | fn to_owned(&self) -> TreeArc<Lifetime> { TreeArc::cast(self.syntax.to_owned()) } | 1610 | fn to_owned(&self) -> TreeArc<Lifetime> { TreeArc::cast(self.syntax.to_owned()) } |
1427 | } | 1611 | } |
1428 | 1612 | ||
@@ -1448,6 +1632,10 @@ impl AstNode for LifetimeArg { | |||
1448 | } | 1632 | } |
1449 | } | 1633 | } |
1450 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1634 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1635 | } | ||
1636 | |||
1637 | impl ToOwned for LifetimeArg { | ||
1638 | type Owned = TreeArc<LifetimeArg>; | ||
1451 | fn to_owned(&self) -> TreeArc<LifetimeArg> { TreeArc::cast(self.syntax.to_owned()) } | 1639 | fn to_owned(&self) -> TreeArc<LifetimeArg> { TreeArc::cast(self.syntax.to_owned()) } |
1452 | } | 1640 | } |
1453 | 1641 | ||
@@ -1476,6 +1664,10 @@ impl AstNode for LifetimeParam { | |||
1476 | } | 1664 | } |
1477 | } | 1665 | } |
1478 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1666 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1667 | } | ||
1668 | |||
1669 | impl ToOwned for LifetimeParam { | ||
1670 | type Owned = TreeArc<LifetimeParam>; | ||
1479 | fn to_owned(&self) -> TreeArc<LifetimeParam> { TreeArc::cast(self.syntax.to_owned()) } | 1671 | fn to_owned(&self) -> TreeArc<LifetimeParam> { TreeArc::cast(self.syntax.to_owned()) } |
1480 | } | 1672 | } |
1481 | 1673 | ||
@@ -1504,6 +1696,10 @@ impl AstNode for Literal { | |||
1504 | } | 1696 | } |
1505 | } | 1697 | } |
1506 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1698 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1699 | } | ||
1700 | |||
1701 | impl ToOwned for Literal { | ||
1702 | type Owned = TreeArc<Literal>; | ||
1507 | fn to_owned(&self) -> TreeArc<Literal> { TreeArc::cast(self.syntax.to_owned()) } | 1703 | fn to_owned(&self) -> TreeArc<Literal> { TreeArc::cast(self.syntax.to_owned()) } |
1508 | } | 1704 | } |
1509 | 1705 | ||
@@ -1555,6 +1751,10 @@ impl AstNode for LiteralExpr { | |||
1555 | } | 1751 | } |
1556 | } | 1752 | } |
1557 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1753 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1754 | } | ||
1755 | |||
1756 | impl ToOwned for LiteralExpr { | ||
1757 | type Owned = TreeArc<LiteralExpr>; | ||
1558 | fn to_owned(&self) -> TreeArc<LiteralExpr> { TreeArc::cast(self.syntax.to_owned()) } | 1758 | fn to_owned(&self) -> TreeArc<LiteralExpr> { TreeArc::cast(self.syntax.to_owned()) } |
1559 | } | 1759 | } |
1560 | 1760 | ||
@@ -1596,6 +1796,10 @@ impl AstNode for LoopExpr { | |||
1596 | } | 1796 | } |
1597 | } | 1797 | } |
1598 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1798 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1799 | } | ||
1800 | |||
1801 | impl ToOwned for LoopExpr { | ||
1802 | type Owned = TreeArc<LoopExpr>; | ||
1599 | fn to_owned(&self) -> TreeArc<LoopExpr> { TreeArc::cast(self.syntax.to_owned()) } | 1803 | fn to_owned(&self) -> TreeArc<LoopExpr> { TreeArc::cast(self.syntax.to_owned()) } |
1600 | } | 1804 | } |
1601 | 1805 | ||
@@ -1621,6 +1825,10 @@ impl AstNode for MacroCall { | |||
1621 | } | 1825 | } |
1622 | } | 1826 | } |
1623 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1827 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1828 | } | ||
1829 | |||
1830 | impl ToOwned for MacroCall { | ||
1831 | type Owned = TreeArc<MacroCall>; | ||
1624 | fn to_owned(&self) -> TreeArc<MacroCall> { TreeArc::cast(self.syntax.to_owned()) } | 1832 | fn to_owned(&self) -> TreeArc<MacroCall> { TreeArc::cast(self.syntax.to_owned()) } |
1625 | } | 1833 | } |
1626 | 1834 | ||
@@ -1653,6 +1861,10 @@ impl AstNode for MatchArm { | |||
1653 | } | 1861 | } |
1654 | } | 1862 | } |
1655 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1863 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1864 | } | ||
1865 | |||
1866 | impl ToOwned for MatchArm { | ||
1867 | type Owned = TreeArc<MatchArm>; | ||
1656 | fn to_owned(&self) -> TreeArc<MatchArm> { TreeArc::cast(self.syntax.to_owned()) } | 1868 | fn to_owned(&self) -> TreeArc<MatchArm> { TreeArc::cast(self.syntax.to_owned()) } |
1657 | } | 1869 | } |
1658 | 1870 | ||
@@ -1689,6 +1901,10 @@ impl AstNode for MatchArmList { | |||
1689 | } | 1901 | } |
1690 | } | 1902 | } |
1691 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1903 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1904 | } | ||
1905 | |||
1906 | impl ToOwned for MatchArmList { | ||
1907 | type Owned = TreeArc<MatchArmList>; | ||
1692 | fn to_owned(&self) -> TreeArc<MatchArmList> { TreeArc::cast(self.syntax.to_owned()) } | 1908 | fn to_owned(&self) -> TreeArc<MatchArmList> { TreeArc::cast(self.syntax.to_owned()) } |
1693 | } | 1909 | } |
1694 | 1910 | ||
@@ -1717,6 +1933,10 @@ impl AstNode for MatchExpr { | |||
1717 | } | 1933 | } |
1718 | } | 1934 | } |
1719 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1935 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1936 | } | ||
1937 | |||
1938 | impl ToOwned for MatchExpr { | ||
1939 | type Owned = TreeArc<MatchExpr>; | ||
1720 | fn to_owned(&self) -> TreeArc<MatchExpr> { TreeArc::cast(self.syntax.to_owned()) } | 1940 | fn to_owned(&self) -> TreeArc<MatchExpr> { TreeArc::cast(self.syntax.to_owned()) } |
1721 | } | 1941 | } |
1722 | 1942 | ||
@@ -1749,6 +1969,10 @@ impl AstNode for MatchGuard { | |||
1749 | } | 1969 | } |
1750 | } | 1970 | } |
1751 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1971 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
1972 | } | ||
1973 | |||
1974 | impl ToOwned for MatchGuard { | ||
1975 | type Owned = TreeArc<MatchGuard>; | ||
1752 | fn to_owned(&self) -> TreeArc<MatchGuard> { TreeArc::cast(self.syntax.to_owned()) } | 1976 | fn to_owned(&self) -> TreeArc<MatchGuard> { TreeArc::cast(self.syntax.to_owned()) } |
1753 | } | 1977 | } |
1754 | 1978 | ||
@@ -1773,6 +1997,10 @@ impl AstNode for MethodCallExpr { | |||
1773 | } | 1997 | } |
1774 | } | 1998 | } |
1775 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 1999 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2000 | } | ||
2001 | |||
2002 | impl ToOwned for MethodCallExpr { | ||
2003 | type Owned = TreeArc<MethodCallExpr>; | ||
1776 | fn to_owned(&self) -> TreeArc<MethodCallExpr> { TreeArc::cast(self.syntax.to_owned()) } | 2004 | fn to_owned(&self) -> TreeArc<MethodCallExpr> { TreeArc::cast(self.syntax.to_owned()) } |
1777 | } | 2005 | } |
1778 | 2006 | ||
@@ -1806,6 +2034,10 @@ impl AstNode for Module { | |||
1806 | } | 2034 | } |
1807 | } | 2035 | } |
1808 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2036 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2037 | } | ||
2038 | |||
2039 | impl ToOwned for Module { | ||
2040 | type Owned = TreeArc<Module>; | ||
1809 | fn to_owned(&self) -> TreeArc<Module> { TreeArc::cast(self.syntax.to_owned()) } | 2041 | fn to_owned(&self) -> TreeArc<Module> { TreeArc::cast(self.syntax.to_owned()) } |
1810 | } | 2042 | } |
1811 | 2043 | ||
@@ -1863,6 +2095,10 @@ impl AstNode for ModuleItem { | |||
1863 | } | 2095 | } |
1864 | } | 2096 | } |
1865 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2097 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2098 | } | ||
2099 | |||
2100 | impl ToOwned for ModuleItem { | ||
2101 | type Owned = TreeArc<ModuleItem>; | ||
1866 | fn to_owned(&self) -> TreeArc<ModuleItem> { TreeArc::cast(self.syntax.to_owned()) } | 2102 | fn to_owned(&self) -> TreeArc<ModuleItem> { TreeArc::cast(self.syntax.to_owned()) } |
1867 | } | 2103 | } |
1868 | 2104 | ||
@@ -1905,6 +2141,10 @@ impl AstNode for Name { | |||
1905 | } | 2141 | } |
1906 | } | 2142 | } |
1907 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2143 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2144 | } | ||
2145 | |||
2146 | impl ToOwned for Name { | ||
2147 | type Owned = TreeArc<Name>; | ||
1908 | fn to_owned(&self) -> TreeArc<Name> { TreeArc::cast(self.syntax.to_owned()) } | 2148 | fn to_owned(&self) -> TreeArc<Name> { TreeArc::cast(self.syntax.to_owned()) } |
1909 | } | 2149 | } |
1910 | 2150 | ||
@@ -1929,6 +2169,10 @@ impl AstNode for NameRef { | |||
1929 | } | 2169 | } |
1930 | } | 2170 | } |
1931 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2171 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2172 | } | ||
2173 | |||
2174 | impl ToOwned for NameRef { | ||
2175 | type Owned = TreeArc<NameRef>; | ||
1932 | fn to_owned(&self) -> TreeArc<NameRef> { TreeArc::cast(self.syntax.to_owned()) } | 2176 | fn to_owned(&self) -> TreeArc<NameRef> { TreeArc::cast(self.syntax.to_owned()) } |
1933 | } | 2177 | } |
1934 | 2178 | ||
@@ -1953,6 +2197,10 @@ impl AstNode for NamedField { | |||
1953 | } | 2197 | } |
1954 | } | 2198 | } |
1955 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2199 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2200 | } | ||
2201 | |||
2202 | impl ToOwned for NamedField { | ||
2203 | type Owned = TreeArc<NamedField>; | ||
1956 | fn to_owned(&self) -> TreeArc<NamedField> { TreeArc::cast(self.syntax.to_owned()) } | 2204 | fn to_owned(&self) -> TreeArc<NamedField> { TreeArc::cast(self.syntax.to_owned()) } |
1957 | } | 2205 | } |
1958 | 2206 | ||
@@ -1985,6 +2233,10 @@ impl AstNode for NamedFieldDef { | |||
1985 | } | 2233 | } |
1986 | } | 2234 | } |
1987 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2235 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2236 | } | ||
2237 | |||
2238 | impl ToOwned for NamedFieldDef { | ||
2239 | type Owned = TreeArc<NamedFieldDef>; | ||
1988 | fn to_owned(&self) -> TreeArc<NamedFieldDef> { TreeArc::cast(self.syntax.to_owned()) } | 2240 | fn to_owned(&self) -> TreeArc<NamedFieldDef> { TreeArc::cast(self.syntax.to_owned()) } |
1989 | } | 2241 | } |
1990 | 2242 | ||
@@ -2016,6 +2268,10 @@ impl AstNode for NamedFieldDefList { | |||
2016 | } | 2268 | } |
2017 | } | 2269 | } |
2018 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2270 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2271 | } | ||
2272 | |||
2273 | impl ToOwned for NamedFieldDefList { | ||
2274 | type Owned = TreeArc<NamedFieldDefList>; | ||
2019 | fn to_owned(&self) -> TreeArc<NamedFieldDefList> { TreeArc::cast(self.syntax.to_owned()) } | 2275 | fn to_owned(&self) -> TreeArc<NamedFieldDefList> { TreeArc::cast(self.syntax.to_owned()) } |
2020 | } | 2276 | } |
2021 | 2277 | ||
@@ -2044,6 +2300,10 @@ impl AstNode for NamedFieldList { | |||
2044 | } | 2300 | } |
2045 | } | 2301 | } |
2046 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2302 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2303 | } | ||
2304 | |||
2305 | impl ToOwned for NamedFieldList { | ||
2306 | type Owned = TreeArc<NamedFieldList>; | ||
2047 | fn to_owned(&self) -> TreeArc<NamedFieldList> { TreeArc::cast(self.syntax.to_owned()) } | 2307 | fn to_owned(&self) -> TreeArc<NamedFieldList> { TreeArc::cast(self.syntax.to_owned()) } |
2048 | } | 2308 | } |
2049 | 2309 | ||
@@ -2072,6 +2332,10 @@ impl AstNode for NeverType { | |||
2072 | } | 2332 | } |
2073 | } | 2333 | } |
2074 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2334 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2335 | } | ||
2336 | |||
2337 | impl ToOwned for NeverType { | ||
2338 | type Owned = TreeArc<NeverType>; | ||
2075 | fn to_owned(&self) -> TreeArc<NeverType> { TreeArc::cast(self.syntax.to_owned()) } | 2339 | fn to_owned(&self) -> TreeArc<NeverType> { TreeArc::cast(self.syntax.to_owned()) } |
2076 | } | 2340 | } |
2077 | 2341 | ||
@@ -2103,6 +2367,10 @@ impl AstNode for NominalDef { | |||
2103 | } | 2367 | } |
2104 | } | 2368 | } |
2105 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2369 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2370 | } | ||
2371 | |||
2372 | impl ToOwned for NominalDef { | ||
2373 | type Owned = TreeArc<NominalDef>; | ||
2106 | fn to_owned(&self) -> TreeArc<NominalDef> { TreeArc::cast(self.syntax.to_owned()) } | 2374 | fn to_owned(&self) -> TreeArc<NominalDef> { TreeArc::cast(self.syntax.to_owned()) } |
2107 | } | 2375 | } |
2108 | 2376 | ||
@@ -2139,6 +2407,10 @@ impl AstNode for Param { | |||
2139 | } | 2407 | } |
2140 | } | 2408 | } |
2141 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2409 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2410 | } | ||
2411 | |||
2412 | impl ToOwned for Param { | ||
2413 | type Owned = TreeArc<Param>; | ||
2142 | fn to_owned(&self) -> TreeArc<Param> { TreeArc::cast(self.syntax.to_owned()) } | 2414 | fn to_owned(&self) -> TreeArc<Param> { TreeArc::cast(self.syntax.to_owned()) } |
2143 | } | 2415 | } |
2144 | 2416 | ||
@@ -2171,6 +2443,10 @@ impl AstNode for ParamList { | |||
2171 | } | 2443 | } |
2172 | } | 2444 | } |
2173 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2445 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2446 | } | ||
2447 | |||
2448 | impl ToOwned for ParamList { | ||
2449 | type Owned = TreeArc<ParamList>; | ||
2174 | fn to_owned(&self) -> TreeArc<ParamList> { TreeArc::cast(self.syntax.to_owned()) } | 2450 | fn to_owned(&self) -> TreeArc<ParamList> { TreeArc::cast(self.syntax.to_owned()) } |
2175 | } | 2451 | } |
2176 | 2452 | ||
@@ -2203,6 +2479,10 @@ impl AstNode for ParenExpr { | |||
2203 | } | 2479 | } |
2204 | } | 2480 | } |
2205 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2481 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2482 | } | ||
2483 | |||
2484 | impl ToOwned for ParenExpr { | ||
2485 | type Owned = TreeArc<ParenExpr>; | ||
2206 | fn to_owned(&self) -> TreeArc<ParenExpr> { TreeArc::cast(self.syntax.to_owned()) } | 2486 | fn to_owned(&self) -> TreeArc<ParenExpr> { TreeArc::cast(self.syntax.to_owned()) } |
2207 | } | 2487 | } |
2208 | 2488 | ||
@@ -2231,6 +2511,10 @@ impl AstNode for ParenType { | |||
2231 | } | 2511 | } |
2232 | } | 2512 | } |
2233 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2513 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2514 | } | ||
2515 | |||
2516 | impl ToOwned for ParenType { | ||
2517 | type Owned = TreeArc<ParenType>; | ||
2234 | fn to_owned(&self) -> TreeArc<ParenType> { TreeArc::cast(self.syntax.to_owned()) } | 2518 | fn to_owned(&self) -> TreeArc<ParenType> { TreeArc::cast(self.syntax.to_owned()) } |
2235 | } | 2519 | } |
2236 | 2520 | ||
@@ -2280,6 +2564,10 @@ impl AstNode for Pat { | |||
2280 | } | 2564 | } |
2281 | } | 2565 | } |
2282 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2566 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2567 | } | ||
2568 | |||
2569 | impl ToOwned for Pat { | ||
2570 | type Owned = TreeArc<Pat>; | ||
2283 | fn to_owned(&self) -> TreeArc<Pat> { TreeArc::cast(self.syntax.to_owned()) } | 2571 | fn to_owned(&self) -> TreeArc<Pat> { TreeArc::cast(self.syntax.to_owned()) } |
2284 | } | 2572 | } |
2285 | 2573 | ||
@@ -2320,6 +2608,10 @@ impl AstNode for Path { | |||
2320 | } | 2608 | } |
2321 | } | 2609 | } |
2322 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2610 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2611 | } | ||
2612 | |||
2613 | impl ToOwned for Path { | ||
2614 | type Owned = TreeArc<Path>; | ||
2323 | fn to_owned(&self) -> TreeArc<Path> { TreeArc::cast(self.syntax.to_owned()) } | 2615 | fn to_owned(&self) -> TreeArc<Path> { TreeArc::cast(self.syntax.to_owned()) } |
2324 | } | 2616 | } |
2325 | 2617 | ||
@@ -2352,6 +2644,10 @@ impl AstNode for PathExpr { | |||
2352 | } | 2644 | } |
2353 | } | 2645 | } |
2354 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2646 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2647 | } | ||
2648 | |||
2649 | impl ToOwned for PathExpr { | ||
2650 | type Owned = TreeArc<PathExpr>; | ||
2355 | fn to_owned(&self) -> TreeArc<PathExpr> { TreeArc::cast(self.syntax.to_owned()) } | 2651 | fn to_owned(&self) -> TreeArc<PathExpr> { TreeArc::cast(self.syntax.to_owned()) } |
2356 | } | 2652 | } |
2357 | 2653 | ||
@@ -2380,6 +2676,10 @@ impl AstNode for PathPat { | |||
2380 | } | 2676 | } |
2381 | } | 2677 | } |
2382 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2678 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2679 | } | ||
2680 | |||
2681 | impl ToOwned for PathPat { | ||
2682 | type Owned = TreeArc<PathPat>; | ||
2383 | fn to_owned(&self) -> TreeArc<PathPat> { TreeArc::cast(self.syntax.to_owned()) } | 2683 | fn to_owned(&self) -> TreeArc<PathPat> { TreeArc::cast(self.syntax.to_owned()) } |
2384 | } | 2684 | } |
2385 | 2685 | ||
@@ -2408,6 +2708,10 @@ impl AstNode for PathSegment { | |||
2408 | } | 2708 | } |
2409 | } | 2709 | } |
2410 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2710 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2711 | } | ||
2712 | |||
2713 | impl ToOwned for PathSegment { | ||
2714 | type Owned = TreeArc<PathSegment>; | ||
2411 | fn to_owned(&self) -> TreeArc<PathSegment> { TreeArc::cast(self.syntax.to_owned()) } | 2715 | fn to_owned(&self) -> TreeArc<PathSegment> { TreeArc::cast(self.syntax.to_owned()) } |
2412 | } | 2716 | } |
2413 | 2717 | ||
@@ -2440,6 +2744,10 @@ impl AstNode for PathType { | |||
2440 | } | 2744 | } |
2441 | } | 2745 | } |
2442 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2746 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2747 | } | ||
2748 | |||
2749 | impl ToOwned for PathType { | ||
2750 | type Owned = TreeArc<PathType>; | ||
2443 | fn to_owned(&self) -> TreeArc<PathType> { TreeArc::cast(self.syntax.to_owned()) } | 2751 | fn to_owned(&self) -> TreeArc<PathType> { TreeArc::cast(self.syntax.to_owned()) } |
2444 | } | 2752 | } |
2445 | 2753 | ||
@@ -2468,6 +2776,10 @@ impl AstNode for PlaceholderPat { | |||
2468 | } | 2776 | } |
2469 | } | 2777 | } |
2470 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2778 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2779 | } | ||
2780 | |||
2781 | impl ToOwned for PlaceholderPat { | ||
2782 | type Owned = TreeArc<PlaceholderPat>; | ||
2471 | fn to_owned(&self) -> TreeArc<PlaceholderPat> { TreeArc::cast(self.syntax.to_owned()) } | 2783 | fn to_owned(&self) -> TreeArc<PlaceholderPat> { TreeArc::cast(self.syntax.to_owned()) } |
2472 | } | 2784 | } |
2473 | 2785 | ||
@@ -2492,6 +2804,10 @@ impl AstNode for PlaceholderType { | |||
2492 | } | 2804 | } |
2493 | } | 2805 | } |
2494 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2806 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2807 | } | ||
2808 | |||
2809 | impl ToOwned for PlaceholderType { | ||
2810 | type Owned = TreeArc<PlaceholderType>; | ||
2495 | fn to_owned(&self) -> TreeArc<PlaceholderType> { TreeArc::cast(self.syntax.to_owned()) } | 2811 | fn to_owned(&self) -> TreeArc<PlaceholderType> { TreeArc::cast(self.syntax.to_owned()) } |
2496 | } | 2812 | } |
2497 | 2813 | ||
@@ -2516,6 +2832,10 @@ impl AstNode for PointerType { | |||
2516 | } | 2832 | } |
2517 | } | 2833 | } |
2518 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2834 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2835 | } | ||
2836 | |||
2837 | impl ToOwned for PointerType { | ||
2838 | type Owned = TreeArc<PointerType>; | ||
2519 | fn to_owned(&self) -> TreeArc<PointerType> { TreeArc::cast(self.syntax.to_owned()) } | 2839 | fn to_owned(&self) -> TreeArc<PointerType> { TreeArc::cast(self.syntax.to_owned()) } |
2520 | } | 2840 | } |
2521 | 2841 | ||
@@ -2544,6 +2864,10 @@ impl AstNode for PosField { | |||
2544 | } | 2864 | } |
2545 | } | 2865 | } |
2546 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2866 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2867 | } | ||
2868 | |||
2869 | impl ToOwned for PosField { | ||
2870 | type Owned = TreeArc<PosField>; | ||
2547 | fn to_owned(&self) -> TreeArc<PosField> { TreeArc::cast(self.syntax.to_owned()) } | 2871 | fn to_owned(&self) -> TreeArc<PosField> { TreeArc::cast(self.syntax.to_owned()) } |
2548 | } | 2872 | } |
2549 | 2873 | ||
@@ -2574,6 +2898,10 @@ impl AstNode for PosFieldList { | |||
2574 | } | 2898 | } |
2575 | } | 2899 | } |
2576 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2900 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2901 | } | ||
2902 | |||
2903 | impl ToOwned for PosFieldList { | ||
2904 | type Owned = TreeArc<PosFieldList>; | ||
2577 | fn to_owned(&self) -> TreeArc<PosFieldList> { TreeArc::cast(self.syntax.to_owned()) } | 2905 | fn to_owned(&self) -> TreeArc<PosFieldList> { TreeArc::cast(self.syntax.to_owned()) } |
2578 | } | 2906 | } |
2579 | 2907 | ||
@@ -2602,6 +2930,10 @@ impl AstNode for PrefixExpr { | |||
2602 | } | 2930 | } |
2603 | } | 2931 | } |
2604 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2932 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2933 | } | ||
2934 | |||
2935 | impl ToOwned for PrefixExpr { | ||
2936 | type Owned = TreeArc<PrefixExpr>; | ||
2605 | fn to_owned(&self) -> TreeArc<PrefixExpr> { TreeArc::cast(self.syntax.to_owned()) } | 2937 | fn to_owned(&self) -> TreeArc<PrefixExpr> { TreeArc::cast(self.syntax.to_owned()) } |
2606 | } | 2938 | } |
2607 | 2939 | ||
@@ -2630,6 +2962,10 @@ impl AstNode for RangeExpr { | |||
2630 | } | 2962 | } |
2631 | } | 2963 | } |
2632 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2964 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2965 | } | ||
2966 | |||
2967 | impl ToOwned for RangeExpr { | ||
2968 | type Owned = TreeArc<RangeExpr>; | ||
2633 | fn to_owned(&self) -> TreeArc<RangeExpr> { TreeArc::cast(self.syntax.to_owned()) } | 2969 | fn to_owned(&self) -> TreeArc<RangeExpr> { TreeArc::cast(self.syntax.to_owned()) } |
2634 | } | 2970 | } |
2635 | 2971 | ||
@@ -2654,6 +2990,10 @@ impl AstNode for RangePat { | |||
2654 | } | 2990 | } |
2655 | } | 2991 | } |
2656 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 2992 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
2993 | } | ||
2994 | |||
2995 | impl ToOwned for RangePat { | ||
2996 | type Owned = TreeArc<RangePat>; | ||
2657 | fn to_owned(&self) -> TreeArc<RangePat> { TreeArc::cast(self.syntax.to_owned()) } | 2997 | fn to_owned(&self) -> TreeArc<RangePat> { TreeArc::cast(self.syntax.to_owned()) } |
2658 | } | 2998 | } |
2659 | 2999 | ||
@@ -2678,6 +3018,10 @@ impl AstNode for RawByteString { | |||
2678 | } | 3018 | } |
2679 | } | 3019 | } |
2680 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3020 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3021 | } | ||
3022 | |||
3023 | impl ToOwned for RawByteString { | ||
3024 | type Owned = TreeArc<RawByteString>; | ||
2681 | fn to_owned(&self) -> TreeArc<RawByteString> { TreeArc::cast(self.syntax.to_owned()) } | 3025 | fn to_owned(&self) -> TreeArc<RawByteString> { TreeArc::cast(self.syntax.to_owned()) } |
2682 | } | 3026 | } |
2683 | 3027 | ||
@@ -2703,6 +3047,10 @@ impl AstNode for RawString { | |||
2703 | } | 3047 | } |
2704 | } | 3048 | } |
2705 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3049 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3050 | } | ||
3051 | |||
3052 | impl ToOwned for RawString { | ||
3053 | type Owned = TreeArc<RawString>; | ||
2706 | fn to_owned(&self) -> TreeArc<RawString> { TreeArc::cast(self.syntax.to_owned()) } | 3054 | fn to_owned(&self) -> TreeArc<RawString> { TreeArc::cast(self.syntax.to_owned()) } |
2707 | } | 3055 | } |
2708 | 3056 | ||
@@ -2728,6 +3076,10 @@ impl AstNode for RefExpr { | |||
2728 | } | 3076 | } |
2729 | } | 3077 | } |
2730 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3078 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3079 | } | ||
3080 | |||
3081 | impl ToOwned for RefExpr { | ||
3082 | type Owned = TreeArc<RefExpr>; | ||
2731 | fn to_owned(&self) -> TreeArc<RefExpr> { TreeArc::cast(self.syntax.to_owned()) } | 3083 | fn to_owned(&self) -> TreeArc<RefExpr> { TreeArc::cast(self.syntax.to_owned()) } |
2732 | } | 3084 | } |
2733 | 3085 | ||
@@ -2756,6 +3108,10 @@ impl AstNode for RefPat { | |||
2756 | } | 3108 | } |
2757 | } | 3109 | } |
2758 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3110 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3111 | } | ||
3112 | |||
3113 | impl ToOwned for RefPat { | ||
3114 | type Owned = TreeArc<RefPat>; | ||
2759 | fn to_owned(&self) -> TreeArc<RefPat> { TreeArc::cast(self.syntax.to_owned()) } | 3115 | fn to_owned(&self) -> TreeArc<RefPat> { TreeArc::cast(self.syntax.to_owned()) } |
2760 | } | 3116 | } |
2761 | 3117 | ||
@@ -2784,6 +3140,10 @@ impl AstNode for ReferenceType { | |||
2784 | } | 3140 | } |
2785 | } | 3141 | } |
2786 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3142 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3143 | } | ||
3144 | |||
3145 | impl ToOwned for ReferenceType { | ||
3146 | type Owned = TreeArc<ReferenceType>; | ||
2787 | fn to_owned(&self) -> TreeArc<ReferenceType> { TreeArc::cast(self.syntax.to_owned()) } | 3147 | fn to_owned(&self) -> TreeArc<ReferenceType> { TreeArc::cast(self.syntax.to_owned()) } |
2788 | } | 3148 | } |
2789 | 3149 | ||
@@ -2812,6 +3172,10 @@ impl AstNode for RetType { | |||
2812 | } | 3172 | } |
2813 | } | 3173 | } |
2814 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3174 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3175 | } | ||
3176 | |||
3177 | impl ToOwned for RetType { | ||
3178 | type Owned = TreeArc<RetType>; | ||
2815 | fn to_owned(&self) -> TreeArc<RetType> { TreeArc::cast(self.syntax.to_owned()) } | 3179 | fn to_owned(&self) -> TreeArc<RetType> { TreeArc::cast(self.syntax.to_owned()) } |
2816 | } | 3180 | } |
2817 | 3181 | ||
@@ -2840,6 +3204,10 @@ impl AstNode for ReturnExpr { | |||
2840 | } | 3204 | } |
2841 | } | 3205 | } |
2842 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3206 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3207 | } | ||
3208 | |||
3209 | impl ToOwned for ReturnExpr { | ||
3210 | type Owned = TreeArc<ReturnExpr>; | ||
2843 | fn to_owned(&self) -> TreeArc<ReturnExpr> { TreeArc::cast(self.syntax.to_owned()) } | 3211 | fn to_owned(&self) -> TreeArc<ReturnExpr> { TreeArc::cast(self.syntax.to_owned()) } |
2844 | } | 3212 | } |
2845 | 3213 | ||
@@ -2868,6 +3236,10 @@ impl AstNode for SelfKw { | |||
2868 | } | 3236 | } |
2869 | } | 3237 | } |
2870 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3238 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3239 | } | ||
3240 | |||
3241 | impl ToOwned for SelfKw { | ||
3242 | type Owned = TreeArc<SelfKw>; | ||
2871 | fn to_owned(&self) -> TreeArc<SelfKw> { TreeArc::cast(self.syntax.to_owned()) } | 3243 | fn to_owned(&self) -> TreeArc<SelfKw> { TreeArc::cast(self.syntax.to_owned()) } |
2872 | } | 3244 | } |
2873 | 3245 | ||
@@ -2892,6 +3264,10 @@ impl AstNode for SelfParam { | |||
2892 | } | 3264 | } |
2893 | } | 3265 | } |
2894 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3266 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3267 | } | ||
3268 | |||
3269 | impl ToOwned for SelfParam { | ||
3270 | type Owned = TreeArc<SelfParam>; | ||
2895 | fn to_owned(&self) -> TreeArc<SelfParam> { TreeArc::cast(self.syntax.to_owned()) } | 3271 | fn to_owned(&self) -> TreeArc<SelfParam> { TreeArc::cast(self.syntax.to_owned()) } |
2896 | } | 3272 | } |
2897 | 3273 | ||
@@ -2924,6 +3300,10 @@ impl AstNode for SlicePat { | |||
2924 | } | 3300 | } |
2925 | } | 3301 | } |
2926 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3302 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3303 | } | ||
3304 | |||
3305 | impl ToOwned for SlicePat { | ||
3306 | type Owned = TreeArc<SlicePat>; | ||
2927 | fn to_owned(&self) -> TreeArc<SlicePat> { TreeArc::cast(self.syntax.to_owned()) } | 3307 | fn to_owned(&self) -> TreeArc<SlicePat> { TreeArc::cast(self.syntax.to_owned()) } |
2928 | } | 3308 | } |
2929 | 3309 | ||
@@ -2948,6 +3328,10 @@ impl AstNode for SliceType { | |||
2948 | } | 3328 | } |
2949 | } | 3329 | } |
2950 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3330 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3331 | } | ||
3332 | |||
3333 | impl ToOwned for SliceType { | ||
3334 | type Owned = TreeArc<SliceType>; | ||
2951 | fn to_owned(&self) -> TreeArc<SliceType> { TreeArc::cast(self.syntax.to_owned()) } | 3335 | fn to_owned(&self) -> TreeArc<SliceType> { TreeArc::cast(self.syntax.to_owned()) } |
2952 | } | 3336 | } |
2953 | 3337 | ||
@@ -2976,6 +3360,10 @@ impl AstNode for SourceFile { | |||
2976 | } | 3360 | } |
2977 | } | 3361 | } |
2978 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3362 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3363 | } | ||
3364 | |||
3365 | impl ToOwned for SourceFile { | ||
3366 | type Owned = TreeArc<SourceFile>; | ||
2979 | fn to_owned(&self) -> TreeArc<SourceFile> { TreeArc::cast(self.syntax.to_owned()) } | 3367 | fn to_owned(&self) -> TreeArc<SourceFile> { TreeArc::cast(self.syntax.to_owned()) } |
2980 | } | 3368 | } |
2981 | 3369 | ||
@@ -3006,6 +3394,10 @@ impl AstNode for StaticDef { | |||
3006 | } | 3394 | } |
3007 | } | 3395 | } |
3008 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3396 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3397 | } | ||
3398 | |||
3399 | impl ToOwned for StaticDef { | ||
3400 | type Owned = TreeArc<StaticDef>; | ||
3009 | fn to_owned(&self) -> TreeArc<StaticDef> { TreeArc::cast(self.syntax.to_owned()) } | 3401 | fn to_owned(&self) -> TreeArc<StaticDef> { TreeArc::cast(self.syntax.to_owned()) } |
3010 | } | 3402 | } |
3011 | 3403 | ||
@@ -3042,6 +3434,10 @@ impl AstNode for Stmt { | |||
3042 | } | 3434 | } |
3043 | } | 3435 | } |
3044 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3436 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3437 | } | ||
3438 | |||
3439 | impl ToOwned for Stmt { | ||
3440 | type Owned = TreeArc<Stmt>; | ||
3045 | fn to_owned(&self) -> TreeArc<Stmt> { TreeArc::cast(self.syntax.to_owned()) } | 3441 | fn to_owned(&self) -> TreeArc<Stmt> { TreeArc::cast(self.syntax.to_owned()) } |
3046 | } | 3442 | } |
3047 | 3443 | ||
@@ -3075,6 +3471,10 @@ impl AstNode for String { | |||
3075 | } | 3471 | } |
3076 | } | 3472 | } |
3077 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3473 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3474 | } | ||
3475 | |||
3476 | impl ToOwned for String { | ||
3477 | type Owned = TreeArc<String>; | ||
3078 | fn to_owned(&self) -> TreeArc<String> { TreeArc::cast(self.syntax.to_owned()) } | 3478 | fn to_owned(&self) -> TreeArc<String> { TreeArc::cast(self.syntax.to_owned()) } |
3079 | } | 3479 | } |
3080 | 3480 | ||
@@ -3100,6 +3500,10 @@ impl AstNode for StructDef { | |||
3100 | } | 3500 | } |
3101 | } | 3501 | } |
3102 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3502 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3503 | } | ||
3504 | |||
3505 | impl ToOwned for StructDef { | ||
3506 | type Owned = TreeArc<StructDef>; | ||
3103 | fn to_owned(&self) -> TreeArc<StructDef> { TreeArc::cast(self.syntax.to_owned()) } | 3507 | fn to_owned(&self) -> TreeArc<StructDef> { TreeArc::cast(self.syntax.to_owned()) } |
3104 | } | 3508 | } |
3105 | 3509 | ||
@@ -3129,6 +3533,10 @@ impl AstNode for StructLit { | |||
3129 | } | 3533 | } |
3130 | } | 3534 | } |
3131 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3535 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3536 | } | ||
3537 | |||
3538 | impl ToOwned for StructLit { | ||
3539 | type Owned = TreeArc<StructLit>; | ||
3132 | fn to_owned(&self) -> TreeArc<StructLit> { TreeArc::cast(self.syntax.to_owned()) } | 3540 | fn to_owned(&self) -> TreeArc<StructLit> { TreeArc::cast(self.syntax.to_owned()) } |
3133 | } | 3541 | } |
3134 | 3542 | ||
@@ -3165,6 +3573,10 @@ impl AstNode for StructPat { | |||
3165 | } | 3573 | } |
3166 | } | 3574 | } |
3167 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3575 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3576 | } | ||
3577 | |||
3578 | impl ToOwned for StructPat { | ||
3579 | type Owned = TreeArc<StructPat>; | ||
3168 | fn to_owned(&self) -> TreeArc<StructPat> { TreeArc::cast(self.syntax.to_owned()) } | 3580 | fn to_owned(&self) -> TreeArc<StructPat> { TreeArc::cast(self.syntax.to_owned()) } |
3169 | } | 3581 | } |
3170 | 3582 | ||
@@ -3197,6 +3609,10 @@ impl AstNode for TokenTree { | |||
3197 | } | 3609 | } |
3198 | } | 3610 | } |
3199 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3611 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3612 | } | ||
3613 | |||
3614 | impl ToOwned for TokenTree { | ||
3615 | type Owned = TreeArc<TokenTree>; | ||
3200 | fn to_owned(&self) -> TreeArc<TokenTree> { TreeArc::cast(self.syntax.to_owned()) } | 3616 | fn to_owned(&self) -> TreeArc<TokenTree> { TreeArc::cast(self.syntax.to_owned()) } |
3201 | } | 3617 | } |
3202 | 3618 | ||
@@ -3221,6 +3637,10 @@ impl AstNode for TraitDef { | |||
3221 | } | 3637 | } |
3222 | } | 3638 | } |
3223 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3639 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3640 | } | ||
3641 | |||
3642 | impl ToOwned for TraitDef { | ||
3643 | type Owned = TreeArc<TraitDef>; | ||
3224 | fn to_owned(&self) -> TreeArc<TraitDef> { TreeArc::cast(self.syntax.to_owned()) } | 3644 | fn to_owned(&self) -> TreeArc<TraitDef> { TreeArc::cast(self.syntax.to_owned()) } |
3225 | } | 3645 | } |
3226 | 3646 | ||
@@ -3249,6 +3669,10 @@ impl AstNode for TrueKw { | |||
3249 | } | 3669 | } |
3250 | } | 3670 | } |
3251 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3671 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3672 | } | ||
3673 | |||
3674 | impl ToOwned for TrueKw { | ||
3675 | type Owned = TreeArc<TrueKw>; | ||
3252 | fn to_owned(&self) -> TreeArc<TrueKw> { TreeArc::cast(self.syntax.to_owned()) } | 3676 | fn to_owned(&self) -> TreeArc<TrueKw> { TreeArc::cast(self.syntax.to_owned()) } |
3253 | } | 3677 | } |
3254 | 3678 | ||
@@ -3274,6 +3698,10 @@ impl AstNode for TryExpr { | |||
3274 | } | 3698 | } |
3275 | } | 3699 | } |
3276 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3700 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3701 | } | ||
3702 | |||
3703 | impl ToOwned for TryExpr { | ||
3704 | type Owned = TreeArc<TryExpr>; | ||
3277 | fn to_owned(&self) -> TreeArc<TryExpr> { TreeArc::cast(self.syntax.to_owned()) } | 3705 | fn to_owned(&self) -> TreeArc<TryExpr> { TreeArc::cast(self.syntax.to_owned()) } |
3278 | } | 3706 | } |
3279 | 3707 | ||
@@ -3302,6 +3730,10 @@ impl AstNode for TupleExpr { | |||
3302 | } | 3730 | } |
3303 | } | 3731 | } |
3304 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3732 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3733 | } | ||
3734 | |||
3735 | impl ToOwned for TupleExpr { | ||
3736 | type Owned = TreeArc<TupleExpr>; | ||
3305 | fn to_owned(&self) -> TreeArc<TupleExpr> { TreeArc::cast(self.syntax.to_owned()) } | 3737 | fn to_owned(&self) -> TreeArc<TupleExpr> { TreeArc::cast(self.syntax.to_owned()) } |
3306 | } | 3738 | } |
3307 | 3739 | ||
@@ -3330,6 +3762,10 @@ impl AstNode for TuplePat { | |||
3330 | } | 3762 | } |
3331 | } | 3763 | } |
3332 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3764 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3765 | } | ||
3766 | |||
3767 | impl ToOwned for TuplePat { | ||
3768 | type Owned = TreeArc<TuplePat>; | ||
3333 | fn to_owned(&self) -> TreeArc<TuplePat> { TreeArc::cast(self.syntax.to_owned()) } | 3769 | fn to_owned(&self) -> TreeArc<TuplePat> { TreeArc::cast(self.syntax.to_owned()) } |
3334 | } | 3770 | } |
3335 | 3771 | ||
@@ -3358,6 +3794,10 @@ impl AstNode for TupleStructPat { | |||
3358 | } | 3794 | } |
3359 | } | 3795 | } |
3360 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3796 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3797 | } | ||
3798 | |||
3799 | impl ToOwned for TupleStructPat { | ||
3800 | type Owned = TreeArc<TupleStructPat>; | ||
3361 | fn to_owned(&self) -> TreeArc<TupleStructPat> { TreeArc::cast(self.syntax.to_owned()) } | 3801 | fn to_owned(&self) -> TreeArc<TupleStructPat> { TreeArc::cast(self.syntax.to_owned()) } |
3362 | } | 3802 | } |
3363 | 3803 | ||
@@ -3390,6 +3830,10 @@ impl AstNode for TupleType { | |||
3390 | } | 3830 | } |
3391 | } | 3831 | } |
3392 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3832 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3833 | } | ||
3834 | |||
3835 | impl ToOwned for TupleType { | ||
3836 | type Owned = TreeArc<TupleType>; | ||
3393 | fn to_owned(&self) -> TreeArc<TupleType> { TreeArc::cast(self.syntax.to_owned()) } | 3837 | fn to_owned(&self) -> TreeArc<TupleType> { TreeArc::cast(self.syntax.to_owned()) } |
3394 | } | 3838 | } |
3395 | 3839 | ||
@@ -3418,6 +3862,10 @@ impl AstNode for TypeArg { | |||
3418 | } | 3862 | } |
3419 | } | 3863 | } |
3420 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3864 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3865 | } | ||
3866 | |||
3867 | impl ToOwned for TypeArg { | ||
3868 | type Owned = TreeArc<TypeArg>; | ||
3421 | fn to_owned(&self) -> TreeArc<TypeArg> { TreeArc::cast(self.syntax.to_owned()) } | 3869 | fn to_owned(&self) -> TreeArc<TypeArg> { TreeArc::cast(self.syntax.to_owned()) } |
3422 | } | 3870 | } |
3423 | 3871 | ||
@@ -3446,6 +3894,10 @@ impl AstNode for TypeArgList { | |||
3446 | } | 3894 | } |
3447 | } | 3895 | } |
3448 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3896 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3897 | } | ||
3898 | |||
3899 | impl ToOwned for TypeArgList { | ||
3900 | type Owned = TreeArc<TypeArgList>; | ||
3449 | fn to_owned(&self) -> TreeArc<TypeArgList> { TreeArc::cast(self.syntax.to_owned()) } | 3901 | fn to_owned(&self) -> TreeArc<TypeArgList> { TreeArc::cast(self.syntax.to_owned()) } |
3450 | } | 3902 | } |
3451 | 3903 | ||
@@ -3482,6 +3934,10 @@ impl AstNode for TypeDef { | |||
3482 | } | 3934 | } |
3483 | } | 3935 | } |
3484 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3936 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3937 | } | ||
3938 | |||
3939 | impl ToOwned for TypeDef { | ||
3940 | type Owned = TreeArc<TypeDef>; | ||
3485 | fn to_owned(&self) -> TreeArc<TypeDef> { TreeArc::cast(self.syntax.to_owned()) } | 3941 | fn to_owned(&self) -> TreeArc<TypeDef> { TreeArc::cast(self.syntax.to_owned()) } |
3486 | } | 3942 | } |
3487 | 3943 | ||
@@ -3511,6 +3967,10 @@ impl AstNode for TypeParam { | |||
3511 | } | 3967 | } |
3512 | } | 3968 | } |
3513 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3969 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3970 | } | ||
3971 | |||
3972 | impl ToOwned for TypeParam { | ||
3973 | type Owned = TreeArc<TypeParam>; | ||
3514 | fn to_owned(&self) -> TreeArc<TypeParam> { TreeArc::cast(self.syntax.to_owned()) } | 3974 | fn to_owned(&self) -> TreeArc<TypeParam> { TreeArc::cast(self.syntax.to_owned()) } |
3515 | } | 3975 | } |
3516 | 3976 | ||
@@ -3536,6 +3996,10 @@ impl AstNode for TypeParamList { | |||
3536 | } | 3996 | } |
3537 | } | 3997 | } |
3538 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 3998 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
3999 | } | ||
4000 | |||
4001 | impl ToOwned for TypeParamList { | ||
4002 | type Owned = TreeArc<TypeParamList>; | ||
3539 | fn to_owned(&self) -> TreeArc<TypeParamList> { TreeArc::cast(self.syntax.to_owned()) } | 4003 | fn to_owned(&self) -> TreeArc<TypeParamList> { TreeArc::cast(self.syntax.to_owned()) } |
3540 | } | 4004 | } |
3541 | 4005 | ||
@@ -3597,6 +4061,10 @@ impl AstNode for TypeRef { | |||
3597 | } | 4061 | } |
3598 | } | 4062 | } |
3599 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 4063 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
4064 | } | ||
4065 | |||
4066 | impl ToOwned for TypeRef { | ||
4067 | type Owned = TreeArc<TypeRef>; | ||
3600 | fn to_owned(&self) -> TreeArc<TypeRef> { TreeArc::cast(self.syntax.to_owned()) } | 4068 | fn to_owned(&self) -> TreeArc<TypeRef> { TreeArc::cast(self.syntax.to_owned()) } |
3601 | } | 4069 | } |
3602 | 4070 | ||
@@ -3641,6 +4109,10 @@ impl AstNode for UseItem { | |||
3641 | } | 4109 | } |
3642 | } | 4110 | } |
3643 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 4111 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
4112 | } | ||
4113 | |||
4114 | impl ToOwned for UseItem { | ||
4115 | type Owned = TreeArc<UseItem>; | ||
3644 | fn to_owned(&self) -> TreeArc<UseItem> { TreeArc::cast(self.syntax.to_owned()) } | 4116 | fn to_owned(&self) -> TreeArc<UseItem> { TreeArc::cast(self.syntax.to_owned()) } |
3645 | } | 4117 | } |
3646 | 4118 | ||
@@ -3669,6 +4141,10 @@ impl AstNode for UseTree { | |||
3669 | } | 4141 | } |
3670 | } | 4142 | } |
3671 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 4143 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
4144 | } | ||
4145 | |||
4146 | impl ToOwned for UseTree { | ||
4147 | type Owned = TreeArc<UseTree>; | ||
3672 | fn to_owned(&self) -> TreeArc<UseTree> { TreeArc::cast(self.syntax.to_owned()) } | 4148 | fn to_owned(&self) -> TreeArc<UseTree> { TreeArc::cast(self.syntax.to_owned()) } |
3673 | } | 4149 | } |
3674 | 4150 | ||
@@ -3701,6 +4177,10 @@ impl AstNode for UseTreeList { | |||
3701 | } | 4177 | } |
3702 | } | 4178 | } |
3703 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 4179 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
4180 | } | ||
4181 | |||
4182 | impl ToOwned for UseTreeList { | ||
4183 | type Owned = TreeArc<UseTreeList>; | ||
3704 | fn to_owned(&self) -> TreeArc<UseTreeList> { TreeArc::cast(self.syntax.to_owned()) } | 4184 | fn to_owned(&self) -> TreeArc<UseTreeList> { TreeArc::cast(self.syntax.to_owned()) } |
3705 | } | 4185 | } |
3706 | 4186 | ||
@@ -3729,6 +4209,10 @@ impl AstNode for Visibility { | |||
3729 | } | 4209 | } |
3730 | } | 4210 | } |
3731 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 4211 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
4212 | } | ||
4213 | |||
4214 | impl ToOwned for Visibility { | ||
4215 | type Owned = TreeArc<Visibility>; | ||
3732 | fn to_owned(&self) -> TreeArc<Visibility> { TreeArc::cast(self.syntax.to_owned()) } | 4216 | fn to_owned(&self) -> TreeArc<Visibility> { TreeArc::cast(self.syntax.to_owned()) } |
3733 | } | 4217 | } |
3734 | 4218 | ||
@@ -3753,6 +4237,10 @@ impl AstNode for WhereClause { | |||
3753 | } | 4237 | } |
3754 | } | 4238 | } |
3755 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 4239 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
4240 | } | ||
4241 | |||
4242 | impl ToOwned for WhereClause { | ||
4243 | type Owned = TreeArc<WhereClause>; | ||
3756 | fn to_owned(&self) -> TreeArc<WhereClause> { TreeArc::cast(self.syntax.to_owned()) } | 4244 | fn to_owned(&self) -> TreeArc<WhereClause> { TreeArc::cast(self.syntax.to_owned()) } |
3757 | } | 4245 | } |
3758 | 4246 | ||
@@ -3777,6 +4265,10 @@ impl AstNode for WhileExpr { | |||
3777 | } | 4265 | } |
3778 | } | 4266 | } |
3779 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 4267 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
4268 | } | ||
4269 | |||
4270 | impl ToOwned for WhileExpr { | ||
4271 | type Owned = TreeArc<WhileExpr>; | ||
3780 | fn to_owned(&self) -> TreeArc<WhileExpr> { TreeArc::cast(self.syntax.to_owned()) } | 4272 | fn to_owned(&self) -> TreeArc<WhileExpr> { TreeArc::cast(self.syntax.to_owned()) } |
3781 | } | 4273 | } |
3782 | 4274 | ||
@@ -3806,6 +4298,10 @@ impl AstNode for Whitespace { | |||
3806 | } | 4298 | } |
3807 | } | 4299 | } |
3808 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 4300 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
4301 | } | ||
4302 | |||
4303 | impl ToOwned for Whitespace { | ||
4304 | type Owned = TreeArc<Whitespace>; | ||
3809 | fn to_owned(&self) -> TreeArc<Whitespace> { TreeArc::cast(self.syntax.to_owned()) } | 4305 | fn to_owned(&self) -> TreeArc<Whitespace> { TreeArc::cast(self.syntax.to_owned()) } |
3810 | } | 4306 | } |
3811 | 4307 | ||
diff --git a/crates/ra_syntax/src/ast/generated.rs.tera b/crates/ra_syntax/src/ast/generated.rs.tera index bf9db4ee8..ea0fc35fd 100644 --- a/crates/ra_syntax/src/ast/generated.rs.tera +++ b/crates/ra_syntax/src/ast/generated.rs.tera | |||
@@ -48,6 +48,10 @@ impl AstNode for {{ node }} { | |||
48 | } | 48 | } |
49 | } | 49 | } |
50 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 50 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
51 | } | ||
52 | |||
53 | impl ToOwned for {{ node }} { | ||
54 | type Owned = TreeArc<{{ node }}>; | ||
51 | fn to_owned(&self) -> TreeArc<{{ node }}> { TreeArc::cast(self.syntax.to_owned()) } | 55 | fn to_owned(&self) -> TreeArc<{{ node }}> { TreeArc::cast(self.syntax.to_owned()) } |
52 | } | 56 | } |
53 | 57 | ||
@@ -79,6 +83,10 @@ impl AstNode for {{ node }} { | |||
79 | } | 83 | } |
80 | } | 84 | } |
81 | fn syntax(&self) -> &SyntaxNode { &self.syntax } | 85 | fn syntax(&self) -> &SyntaxNode { &self.syntax } |
86 | } | ||
87 | |||
88 | impl ToOwned for {{ node }} { | ||
89 | type Owned = TreeArc<{{ node }}>; | ||
82 | fn to_owned(&self) -> TreeArc<{{ node }}> { TreeArc::cast(self.syntax.to_owned()) } | 90 | fn to_owned(&self) -> TreeArc<{{ node }}> { TreeArc::cast(self.syntax.to_owned()) } |
83 | } | 91 | } |
84 | 92 | ||
diff --git a/crates/ra_syntax/src/yellow.rs b/crates/ra_syntax/src/yellow.rs index a7bfb80e2..ed48739f8 100644 --- a/crates/ra_syntax/src/yellow.rs +++ b/crates/ra_syntax/src/yellow.rs | |||
@@ -2,10 +2,11 @@ mod builder; | |||
2 | pub mod syntax_error; | 2 | pub mod syntax_error; |
3 | mod syntax_text; | 3 | mod syntax_text; |
4 | 4 | ||
5 | use std::{fmt, borrow::Borrow}; | ||
6 | |||
5 | use self::syntax_text::SyntaxText; | 7 | use self::syntax_text::SyntaxText; |
6 | use crate::{SmolStr, SyntaxKind, TextRange}; | 8 | use crate::{SmolStr, SyntaxKind, TextRange}; |
7 | use rowan::{Types, TransparentNewType}; | 9 | use rowan::{Types, TransparentNewType}; |
8 | use std::fmt; | ||
9 | 10 | ||
10 | pub(crate) use self::builder::GreenBuilder; | 11 | pub(crate) use self::builder::GreenBuilder; |
11 | pub use self::syntax_error::{SyntaxError, SyntaxErrorKind, Location}; | 12 | pub use self::syntax_error::{SyntaxError, SyntaxErrorKind, Location}; |
@@ -25,6 +26,12 @@ pub struct TreeArc<T: TransparentNewType<Repr = rowan::SyntaxNode<RaTypes>>>( | |||
25 | pub(crate) rowan::TreeArc<RaTypes, T>, | 26 | pub(crate) rowan::TreeArc<RaTypes, T>, |
26 | ); | 27 | ); |
27 | 28 | ||
29 | impl<T: TransparentNewType<Repr = rowan::SyntaxNode<RaTypes>>> Borrow<T> for TreeArc<T> { | ||
30 | fn borrow(&self) -> &T { | ||
31 | &*self | ||
32 | } | ||
33 | } | ||
34 | |||
28 | impl<T> TreeArc<T> | 35 | impl<T> TreeArc<T> |
29 | where | 36 | where |
30 | T: TransparentNewType<Repr = rowan::SyntaxNode<RaTypes>>, | 37 | T: TransparentNewType<Repr = rowan::SyntaxNode<RaTypes>>, |
@@ -124,6 +131,14 @@ impl SyntaxNode { | |||
124 | } | 131 | } |
125 | } | 132 | } |
126 | 133 | ||
134 | impl ToOwned for SyntaxNode { | ||
135 | type Owned = TreeArc<SyntaxNode>; | ||
136 | fn to_owned(&self) -> TreeArc<SyntaxNode> { | ||
137 | let ptr = TreeArc(self.0.to_owned()); | ||
138 | TreeArc::cast(ptr) | ||
139 | } | ||
140 | } | ||
141 | |||
127 | impl SyntaxNode { | 142 | impl SyntaxNode { |
128 | pub(crate) fn root_data(&self) -> &Vec<SyntaxError> { | 143 | pub(crate) fn root_data(&self) -> &Vec<SyntaxError> { |
129 | self.0.root_data() | 144 | self.0.root_data() |
@@ -133,11 +148,6 @@ impl SyntaxNode { | |||
133 | self.0.replace_self(replacement) | 148 | self.0.replace_self(replacement) |
134 | } | 149 | } |
135 | 150 | ||
136 | pub fn to_owned(&self) -> TreeArc<SyntaxNode> { | ||
137 | let ptr = TreeArc(self.0.to_owned()); | ||
138 | TreeArc::cast(ptr) | ||
139 | } | ||
140 | |||
141 | pub fn kind(&self) -> SyntaxKind { | 151 | pub fn kind(&self) -> SyntaxKind { |
142 | self.0.kind() | 152 | self.0.kind() |
143 | } | 153 | } |