From de85f1e94740d9a19066f7fda2e57d26973e472c Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 1 Feb 2019 10:52:36 +0300 Subject: remove hard-coded support for ctry macro It was used mainly to prevent HirFileId infra from bitroting, but the `vec![]` macro can serve that just as well! --- crates/ra_hir/src/macros.rs | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) (limited to 'crates/ra_hir/src') diff --git a/crates/ra_hir/src/macros.rs b/crates/ra_hir/src/macros.rs index 7ca34d434..cf7220875 100644 --- a/crates/ra_hir/src/macros.rs +++ b/crates/ra_hir/src/macros.rs @@ -19,7 +19,6 @@ use crate::{HirDatabase, MacroCallId}; // Hard-coded defs for now :-( #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum MacroDef { - CTry, Vec, QueryGroup, } @@ -38,9 +37,7 @@ impl MacroDef { let def = { let path = macro_call.path()?; let name_ref = path.segment()?.name_ref()?; - if name_ref.text() == "ctry" { - MacroDef::CTry - } else if name_ref.text() == "vec" { + if name_ref.text() == "vec" { MacroDef::Vec } else if name_ref.text() == "query_group" { MacroDef::QueryGroup @@ -60,35 +57,10 @@ impl MacroDef { fn expand(self, input: MacroInput) -> Option { match self { - MacroDef::CTry => self.expand_ctry(input), MacroDef::Vec => self.expand_vec(input), MacroDef::QueryGroup => self.expand_query_group(input), } } - fn expand_ctry(self, input: MacroInput) -> Option { - let text = format!( - r" - fn dummy() {{ - match {} {{ - None => return Ok(None), - Some(it) => it, - }} - }}", - input.text - ); - let file = SourceFile::parse(&text); - let match_expr = file.syntax().descendants().find_map(ast::MatchExpr::cast)?; - let match_arg = match_expr.expr()?; - let ptr = SyntaxNodePtr::new(match_arg.syntax()); - let src_range = TextRange::offset_len(0.into(), TextUnit::of_str(&input.text)); - let ranges_map = vec![(src_range, match_arg.syntax().range())]; - let res = MacroExpansion { - text, - ranges_map, - ptr, - }; - Some(res) - } fn expand_vec(self, input: MacroInput) -> Option { let text = format!(r"fn dummy() {{ {}; }}", input.text); let file = SourceFile::parse(&text); -- cgit v1.2.3