diff options
author | Edwin Cheng <[email protected]> | 2019-05-03 05:18:35 +0100 |
---|---|---|
committer | Edwin Cheng <[email protected]> | 2019-05-03 05:18:35 +0100 |
commit | 9e4fee8b41b1ff4cf2b36d550c6cdb689b914f15 (patch) | |
tree | 93d332078c551141d1d9418fc6c68e8306ed3eb5 /crates | |
parent | 9901f3e45efebafbd0e9f53951346f171792b169 (diff) |
Add default type param in TypeParam Node
Diffstat (limited to 'crates')
-rw-r--r-- | crates/ra_syntax/src/ast/generated.rs | 1 | ||||
-rw-r--r-- | crates/ra_syntax/src/ast/traits.rs | 6 | ||||
-rw-r--r-- | crates/ra_syntax/src/grammar.ron | 2 |
3 files changed, 8 insertions, 1 deletions
diff --git a/crates/ra_syntax/src/ast/generated.rs b/crates/ra_syntax/src/ast/generated.rs index fae371509..19a3362ca 100644 --- a/crates/ra_syntax/src/ast/generated.rs +++ b/crates/ra_syntax/src/ast/generated.rs | |||
@@ -4038,6 +4038,7 @@ impl ToOwned for TypeParam { | |||
4038 | impl ast::NameOwner for TypeParam {} | 4038 | impl ast::NameOwner for TypeParam {} |
4039 | impl ast::AttrsOwner for TypeParam {} | 4039 | impl ast::AttrsOwner for TypeParam {} |
4040 | impl ast::TypeBoundsOwner for TypeParam {} | 4040 | impl ast::TypeBoundsOwner for TypeParam {} |
4041 | impl ast::DefaultTypeParamOwner for TypeParam {} | ||
4041 | impl TypeParam {} | 4042 | impl TypeParam {} |
4042 | 4043 | ||
4043 | // TypeParamList | 4044 | // TypeParamList |
diff --git a/crates/ra_syntax/src/ast/traits.rs b/crates/ra_syntax/src/ast/traits.rs index aaf07d731..1c90cf148 100644 --- a/crates/ra_syntax/src/ast/traits.rs +++ b/crates/ra_syntax/src/ast/traits.rs | |||
@@ -152,3 +152,9 @@ impl<'a> Iterator for CommentIter<'a> { | |||
152 | self.iter.by_ref().find_map(|el| el.as_token().and_then(ast::Comment::cast)) | 152 | self.iter.by_ref().find_map(|el| el.as_token().and_then(ast::Comment::cast)) |
153 | } | 153 | } |
154 | } | 154 | } |
155 | |||
156 | pub trait DefaultTypeParamOwner: AstNode { | ||
157 | fn default_type(&self) -> Option<&ast::PathType> { | ||
158 | child_opt(self) | ||
159 | } | ||
160 | } | ||
diff --git a/crates/ra_syntax/src/grammar.ron b/crates/ra_syntax/src/grammar.ron index 5bdcf9c84..011ef0616 100644 --- a/crates/ra_syntax/src/grammar.ron +++ b/crates/ra_syntax/src/grammar.ron | |||
@@ -563,7 +563,7 @@ Grammar( | |||
563 | ["lifetime_params", "LifetimeParam" ], | 563 | ["lifetime_params", "LifetimeParam" ], |
564 | ] | 564 | ] |
565 | ), | 565 | ), |
566 | "TypeParam": ( traits: ["NameOwner", "AttrsOwner", "TypeBoundsOwner"] ), | 566 | "TypeParam": ( traits: ["NameOwner", "AttrsOwner", "TypeBoundsOwner", "DefaultTypeParamOwner"] ), |
567 | "LifetimeParam": ( | 567 | "LifetimeParam": ( |
568 | traits: ["AttrsOwner"], | 568 | traits: ["AttrsOwner"], |
569 | ), | 569 | ), |