aboutsummaryrefslogtreecommitdiff
path: root/crates/hir
diff options
context:
space:
mode:
authorNick Spain <[email protected]>2021-01-01 03:14:09 +0000
committerNick Spain <[email protected]>2021-01-02 10:53:52 +0000
commit14d0db0759c5b8e1d085ebab03a8b944a8921f2e (patch)
tree8dfb49f723094cc92d86e6d902309e5bc7ecf239 /crates/hir
parentea4708c444509449b86c50b7b1b23f9ff5af4e97 (diff)
HasSource::source_old -> HasSource::source for places where proc-macros were special cased
In #6901 some special case handling for proc-macros was introduced to prevent panicing as they have no AST. Now the new HasSource::source method is used that returns an option. Generally this was a pretty trivial change, the only thing of much interest is that `hir::MacroDef` now implements `TryToNav` not `ToNav` as this allows us to handle `HasSource::source` now returning an option.
Diffstat (limited to 'crates/hir')
-rw-r--r--crates/hir/src/code_model.rs9
1 files changed, 1 insertions, 8 deletions
diff --git a/crates/hir/src/code_model.rs b/crates/hir/src/code_model.rs
index 285905e96..62237f481 100644
--- a/crates/hir/src/code_model.rs
+++ b/crates/hir/src/code_model.rs
@@ -983,14 +983,7 @@ impl MacroDef {
983 983
984 /// XXX: this parses the file 984 /// XXX: this parses the file
985 pub fn name(self, db: &dyn HirDatabase) -> Option<Name> { 985 pub fn name(self, db: &dyn HirDatabase) -> Option<Name> {
986 // FIXME: Currently proc-macro do not have ast-node, 986 self.source(db)?.value.name().map(|it| it.as_name())
987 // such that it does not have source
988 // more discussion: https://github.com/rust-analyzer/rust-analyzer/issues/6913
989 if self.is_proc_macro() {
990 return None;
991 }
992 #[allow(deprecated)]
993 self.source_old(db).value.name().map(|it| it.as_name())
994 } 987 }
995 988
996 /// Indicate it is a proc-macro 989 /// Indicate it is a proc-macro