aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_expand/src/db.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-10-29 13:12:54 +0000
committerAleksey Kladov <[email protected]>2019-10-29 13:12:54 +0000
commit99b6ecfab061396613c5f459fae43ea17b5675b8 (patch)
treee77386081251b4150049810ad5e6f2a3b538afb9 /crates/ra_hir_expand/src/db.rs
parent3260639608112738089d134c47c1d575515c9cb7 (diff)
switch expand to dyn Trait
Diffstat (limited to 'crates/ra_hir_expand/src/db.rs')
-rw-r--r--crates/ra_hir_expand/src/db.rs12
1 files changed, 6 insertions, 6 deletions
diff --git a/crates/ra_hir_expand/src/db.rs b/crates/ra_hir_expand/src/db.rs
index dc4944c05..a4ee9a529 100644
--- a/crates/ra_hir_expand/src/db.rs
+++ b/crates/ra_hir_expand/src/db.rs
@@ -28,13 +28,13 @@ pub trait AstDatabase: SourceDatabase {
28 fn macro_expand(&self, macro_call: MacroCallId) -> Result<Arc<tt::Subtree>, String>; 28 fn macro_expand(&self, macro_call: MacroCallId) -> Result<Arc<tt::Subtree>, String>;
29} 29}
30 30
31pub(crate) fn ast_id_map(db: &impl AstDatabase, file_id: HirFileId) -> Arc<AstIdMap> { 31pub(crate) fn ast_id_map(db: &dyn AstDatabase, file_id: HirFileId) -> Arc<AstIdMap> {
32 let map = 32 let map =
33 db.parse_or_expand(file_id).map_or_else(AstIdMap::default, |it| AstIdMap::from_source(&it)); 33 db.parse_or_expand(file_id).map_or_else(AstIdMap::default, |it| AstIdMap::from_source(&it));
34 Arc::new(map) 34 Arc::new(map)
35} 35}
36 36
37pub(crate) fn macro_def(db: &impl AstDatabase, id: MacroDefId) -> Option<Arc<MacroRules>> { 37pub(crate) fn macro_def(db: &dyn AstDatabase, id: MacroDefId) -> Option<Arc<MacroRules>> {
38 let macro_call = id.ast_id.to_node(db); 38 let macro_call = id.ast_id.to_node(db);
39 let arg = macro_call.token_tree()?; 39 let arg = macro_call.token_tree()?;
40 let (tt, _) = mbe::ast_to_token_tree(&arg).or_else(|| { 40 let (tt, _) = mbe::ast_to_token_tree(&arg).or_else(|| {
@@ -48,7 +48,7 @@ pub(crate) fn macro_def(db: &impl AstDatabase, id: MacroDefId) -> Option<Arc<Mac
48 Some(Arc::new(rules)) 48 Some(Arc::new(rules))
49} 49}
50 50
51pub(crate) fn macro_arg(db: &impl AstDatabase, id: MacroCallId) -> Option<Arc<tt::Subtree>> { 51pub(crate) fn macro_arg(db: &dyn AstDatabase, id: MacroCallId) -> Option<Arc<tt::Subtree>> {
52 let loc = db.lookup_intern_macro(id); 52 let loc = db.lookup_intern_macro(id);
53 let macro_call = loc.ast_id.to_node(db); 53 let macro_call = loc.ast_id.to_node(db);
54 let arg = macro_call.token_tree()?; 54 let arg = macro_call.token_tree()?;
@@ -57,7 +57,7 @@ pub(crate) fn macro_arg(db: &impl AstDatabase, id: MacroCallId) -> Option<Arc<tt
57} 57}
58 58
59pub(crate) fn macro_expand( 59pub(crate) fn macro_expand(
60 db: &impl AstDatabase, 60 db: &dyn AstDatabase,
61 id: MacroCallId, 61 id: MacroCallId,
62) -> Result<Arc<tt::Subtree>, String> { 62) -> Result<Arc<tt::Subtree>, String> {
63 let loc = db.lookup_intern_macro(id); 63 let loc = db.lookup_intern_macro(id);
@@ -73,7 +73,7 @@ pub(crate) fn macro_expand(
73 Ok(Arc::new(tt)) 73 Ok(Arc::new(tt))
74} 74}
75 75
76pub(crate) fn parse_or_expand(db: &impl AstDatabase, file_id: HirFileId) -> Option<SyntaxNode> { 76pub(crate) fn parse_or_expand(db: &dyn AstDatabase, file_id: HirFileId) -> Option<SyntaxNode> {
77 match file_id.0 { 77 match file_id.0 {
78 HirFileIdRepr::FileId(file_id) => Some(db.parse(file_id).tree().syntax().clone()), 78 HirFileIdRepr::FileId(file_id) => Some(db.parse(file_id).tree().syntax().clone()),
79 HirFileIdRepr::MacroFile(macro_file) => { 79 HirFileIdRepr::MacroFile(macro_file) => {
@@ -83,7 +83,7 @@ pub(crate) fn parse_or_expand(db: &impl AstDatabase, file_id: HirFileId) -> Opti
83} 83}
84 84
85pub(crate) fn parse_macro( 85pub(crate) fn parse_macro(
86 db: &impl AstDatabase, 86 db: &dyn AstDatabase,
87 macro_file: MacroFile, 87 macro_file: MacroFile,
88) -> Option<Parse<SyntaxNode>> { 88) -> Option<Parse<SyntaxNode>> {
89 let _p = profile("parse_macro_query"); 89 let _p = profile("parse_macro_query");