aboutsummaryrefslogtreecommitdiff
path: root/crates/hir/src
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2020-12-18 02:30:51 +0000
committerGitHub <[email protected]>2020-12-18 02:30:51 +0000
commitf4929fa9ccd0eda65c2b77fef163c31e33bfb89a (patch)
tree9c0a7983908c81e13dbc4526f910e89360bb1ce8 /crates/hir/src
parent37e5f19373d6e4d639d0ee1125741f7b5c5c5b1a (diff)
parent60a3785ac27d7361617977bd53e11f2859e97c7c (diff)
Merge #6901
6901: Temp fixes panic caused by no ast for proc-macro r=maklad a=edwin0cheng There are some panic when hover/goto definition for proc-macro. It is because in current design, we don't have `ast-node` for proc-macro and then it trigger [this](https://github.com/rust-analyzer/rust-analyzer/blob/479d1f7eec22c3564867223e2093f14774092528/crates/hir/src/has_source.rs#L116) line to panic. This PR is a temp fix for all of these similar to https://github.com/rust-analyzer/rust-analyzer/blob/bd4c352831662762ee7a66da77ec9adf623b0a0a/crates/completion/src/render/macro_.rs#L42 Co-authored-by: Edwin Cheng <[email protected]>
Diffstat (limited to 'crates/hir/src')
-rw-r--r--crates/hir/src/code_model.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/crates/hir/src/code_model.rs b/crates/hir/src/code_model.rs
index f17734e41..3248f6d20 100644
--- a/crates/hir/src/code_model.rs
+++ b/crates/hir/src/code_model.rs
@@ -983,6 +983,12 @@ 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,
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 }
986 self.source(db).value.name().map(|it| it.as_name()) 992 self.source(db).value.name().map(|it| it.as_name())
987 } 993 }
988 994