diff options
Diffstat (limited to 'crates/ra_hir/src/code_model_api.rs')
-rw-r--r-- | crates/ra_hir/src/code_model_api.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/crates/ra_hir/src/code_model_api.rs b/crates/ra_hir/src/code_model_api.rs index 11e919c1a..88eda5ed0 100644 --- a/crates/ra_hir/src/code_model_api.rs +++ b/crates/ra_hir/src/code_model_api.rs | |||
@@ -12,6 +12,7 @@ use crate::{ | |||
12 | expr::BodySyntaxMapping, | 12 | expr::BodySyntaxMapping, |
13 | ty::InferenceResult, | 13 | ty::InferenceResult, |
14 | adt::VariantData, | 14 | adt::VariantData, |
15 | generics::GenericParams, | ||
15 | code_model_impl::def_id_to_ast, | 16 | code_model_impl::def_id_to_ast, |
16 | }; | 17 | }; |
17 | 18 | ||
@@ -201,6 +202,10 @@ impl Struct { | |||
201 | pub fn source(&self, db: &impl HirDatabase) -> (HirFileId, TreeArc<ast::StructDef>) { | 202 | pub fn source(&self, db: &impl HirDatabase) -> (HirFileId, TreeArc<ast::StructDef>) { |
202 | def_id_to_ast(db, self.def_id) | 203 | def_id_to_ast(db, self.def_id) |
203 | } | 204 | } |
205 | |||
206 | pub fn generic_params(&self, db: &impl HirDatabase) -> Arc<GenericParams> { | ||
207 | db.generic_params(self.def_id) | ||
208 | } | ||
204 | } | 209 | } |
205 | 210 | ||
206 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | 211 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] |
@@ -228,6 +233,10 @@ impl Enum { | |||
228 | pub fn source(&self, db: &impl HirDatabase) -> (HirFileId, TreeArc<ast::EnumDef>) { | 233 | pub fn source(&self, db: &impl HirDatabase) -> (HirFileId, TreeArc<ast::EnumDef>) { |
229 | def_id_to_ast(db, self.def_id) | 234 | def_id_to_ast(db, self.def_id) |
230 | } | 235 | } |
236 | |||
237 | pub fn generic_params(&self, db: &impl HirDatabase) -> Arc<GenericParams> { | ||
238 | db.generic_params(self.def_id) | ||
239 | } | ||
231 | } | 240 | } |
232 | 241 | ||
233 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | 242 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] |
@@ -339,6 +348,10 @@ impl Function { | |||
339 | pub fn infer(&self, db: &impl HirDatabase) -> Arc<InferenceResult> { | 348 | pub fn infer(&self, db: &impl HirDatabase) -> Arc<InferenceResult> { |
340 | db.infer(self.def_id) | 349 | db.infer(self.def_id) |
341 | } | 350 | } |
351 | |||
352 | pub fn generic_params(&self, db: &impl HirDatabase) -> Arc<GenericParams> { | ||
353 | db.generic_params(self.def_id) | ||
354 | } | ||
342 | } | 355 | } |
343 | 356 | ||
344 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | 357 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] |
@@ -384,6 +397,10 @@ impl Trait { | |||
384 | pub fn source(&self, db: &impl HirDatabase) -> (HirFileId, TreeArc<ast::TraitDef>) { | 397 | pub fn source(&self, db: &impl HirDatabase) -> (HirFileId, TreeArc<ast::TraitDef>) { |
385 | def_id_to_ast(db, self.def_id) | 398 | def_id_to_ast(db, self.def_id) |
386 | } | 399 | } |
400 | |||
401 | pub fn generic_params(&self, db: &impl HirDatabase) -> Arc<GenericParams> { | ||
402 | db.generic_params(self.def_id) | ||
403 | } | ||
387 | } | 404 | } |
388 | 405 | ||
389 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | 406 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] |
@@ -399,4 +416,8 @@ impl Type { | |||
399 | pub fn source(&self, db: &impl HirDatabase) -> (HirFileId, TreeArc<ast::TypeDef>) { | 416 | pub fn source(&self, db: &impl HirDatabase) -> (HirFileId, TreeArc<ast::TypeDef>) { |
400 | def_id_to_ast(db, self.def_id) | 417 | def_id_to_ast(db, self.def_id) |
401 | } | 418 | } |
419 | |||
420 | pub fn generic_params(&self, db: &impl HirDatabase) -> Arc<GenericParams> { | ||
421 | db.generic_params(self.def_id) | ||
422 | } | ||
402 | } | 423 | } |