diff options
Diffstat (limited to 'crates/hir/src/code_model.rs')
-rw-r--r-- | crates/hir/src/code_model.rs | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/crates/hir/src/code_model.rs b/crates/hir/src/code_model.rs index 97b7a8b5f..3c83231cf 100644 --- a/crates/hir/src/code_model.rs +++ b/crates/hir/src/code_model.rs | |||
@@ -983,13 +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 | self.source(db).value.name().map(|it| it.as_name()) | ||
993 | } | 987 | } |
994 | 988 | ||
995 | /// Indicate it is a proc-macro | 989 | /// Indicate it is a proc-macro |
@@ -1378,7 +1372,7 @@ impl Impl { | |||
1378 | } | 1372 | } |
1379 | 1373 | ||
1380 | pub fn is_builtin_derive(self, db: &dyn HirDatabase) -> Option<InFile<ast::Attr>> { | 1374 | pub fn is_builtin_derive(self, db: &dyn HirDatabase) -> Option<InFile<ast::Attr>> { |
1381 | let src = self.source(db); | 1375 | let src = self.source(db)?; |
1382 | let item = src.file_id.is_builtin_derive(db.upcast())?; | 1376 | let item = src.file_id.is_builtin_derive(db.upcast())?; |
1383 | let hygenic = hir_expand::hygiene::Hygiene::new(db.upcast(), item.file_id); | 1377 | let hygenic = hir_expand::hygiene::Hygiene::new(db.upcast(), item.file_id); |
1384 | 1378 | ||