diff options
author | Aleksey Kladov <[email protected]> | 2019-04-11 14:22:10 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-04-11 14:37:29 +0100 |
commit | 5471c1ef4b2fda2fbaa63f7d8404abf04a3e9da4 (patch) | |
tree | b5a77b6b7474e728f5884969b41f53f0c2ebceb2 /crates/ra_hir/src/code_model_api.rs | |
parent | 07cc047b4ffe3049dfe95fc5cd59383336976e2d (diff) |
generalize SourceAnalyzer to handle all defs with bodies
Diffstat (limited to 'crates/ra_hir/src/code_model_api.rs')
-rw-r--r-- | crates/ra_hir/src/code_model_api.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/crates/ra_hir/src/code_model_api.rs b/crates/ra_hir/src/code_model_api.rs index 660edf006..40bfd5faf 100644 --- a/crates/ra_hir/src/code_model_api.rs +++ b/crates/ra_hir/src/code_model_api.rs | |||
@@ -454,6 +454,14 @@ impl DefWithBody { | |||
454 | db.body_hir(*self) | 454 | db.body_hir(*self) |
455 | } | 455 | } |
456 | 456 | ||
457 | pub fn body_source_map(&self, db: &impl HirDatabase) -> Arc<BodySourceMap> { | ||
458 | match *self { | ||
459 | DefWithBody::Const(ref c) => c.body_source_map(db), | ||
460 | DefWithBody::Function(ref f) => f.body_source_map(db), | ||
461 | DefWithBody::Static(ref s) => s.body_source_map(db), | ||
462 | } | ||
463 | } | ||
464 | |||
457 | /// Builds a resolver for code inside this item. | 465 | /// Builds a resolver for code inside this item. |
458 | pub fn resolver(&self, db: &impl HirDatabase) -> Resolver { | 466 | pub fn resolver(&self, db: &impl HirDatabase) -> Resolver { |
459 | match *self { | 467 | match *self { |