aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/code_model_api.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-04-11 14:22:10 +0100
committerAleksey Kladov <[email protected]>2019-04-11 14:37:29 +0100
commit5471c1ef4b2fda2fbaa63f7d8404abf04a3e9da4 (patch)
treeb5a77b6b7474e728f5884969b41f53f0c2ebceb2 /crates/ra_hir/src/code_model_api.rs
parent07cc047b4ffe3049dfe95fc5cd59383336976e2d (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.rs8
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 {