aboutsummaryrefslogtreecommitdiff
path: root/crates
diff options
context:
space:
mode:
authorEdwin Cheng <[email protected]>2019-05-03 05:18:35 +0100
committerEdwin Cheng <[email protected]>2019-05-03 05:18:35 +0100
commit9e4fee8b41b1ff4cf2b36d550c6cdb689b914f15 (patch)
tree93d332078c551141d1d9418fc6c68e8306ed3eb5 /crates
parent9901f3e45efebafbd0e9f53951346f171792b169 (diff)
Add default type param in TypeParam Node
Diffstat (limited to 'crates')
-rw-r--r--crates/ra_syntax/src/ast/generated.rs1
-rw-r--r--crates/ra_syntax/src/ast/traits.rs6
-rw-r--r--crates/ra_syntax/src/grammar.ron2
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 {
4038impl ast::NameOwner for TypeParam {} 4038impl ast::NameOwner for TypeParam {}
4039impl ast::AttrsOwner for TypeParam {} 4039impl ast::AttrsOwner for TypeParam {}
4040impl ast::TypeBoundsOwner for TypeParam {} 4040impl ast::TypeBoundsOwner for TypeParam {}
4041impl ast::DefaultTypeParamOwner for TypeParam {}
4041impl TypeParam {} 4042impl 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
156pub 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 ),