diff options
author | Aleksey Kladov <[email protected]> | 2019-11-18 13:08:41 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-11-18 13:08:41 +0000 |
commit | 2b6f1ab0e2303dce8e6e424514fd2a9e74566c89 (patch) | |
tree | c4eb2e0d8dce47d503d1ed063a6b3e0fadba1c1f /crates/ra_hir_expand | |
parent | 789a0d2a6474f924a0c3239a085b5e8579b1e7f6 (diff) |
Collapse TokenMap and RevTokenMap
Diffstat (limited to 'crates/ra_hir_expand')
-rw-r--r-- | crates/ra_hir_expand/src/db.rs | 8 | ||||
-rw-r--r-- | crates/ra_hir_expand/src/lib.rs | 4 |
2 files changed, 5 insertions, 7 deletions
diff --git a/crates/ra_hir_expand/src/db.rs b/crates/ra_hir_expand/src/db.rs index 9de7c1ea8..3c11c8a22 100644 --- a/crates/ra_hir_expand/src/db.rs +++ b/crates/ra_hir_expand/src/db.rs | |||
@@ -59,10 +59,8 @@ pub trait AstDatabase: SourceDatabase { | |||
59 | fn intern_macro(&self, macro_call: MacroCallLoc) -> MacroCallId; | 59 | fn intern_macro(&self, macro_call: MacroCallLoc) -> MacroCallId; |
60 | fn macro_arg(&self, id: MacroCallId) -> Option<Arc<(tt::Subtree, mbe::TokenMap)>>; | 60 | fn macro_arg(&self, id: MacroCallId) -> Option<Arc<(tt::Subtree, mbe::TokenMap)>>; |
61 | fn macro_def(&self, id: MacroDefId) -> Option<Arc<(TokenExpander, mbe::TokenMap)>>; | 61 | fn macro_def(&self, id: MacroDefId) -> Option<Arc<(TokenExpander, mbe::TokenMap)>>; |
62 | fn parse_macro( | 62 | fn parse_macro(&self, macro_file: MacroFile) |
63 | &self, | 63 | -> Option<(Parse<SyntaxNode>, Arc<mbe::TokenMap>)>; |
64 | macro_file: MacroFile, | ||
65 | ) -> Option<(Parse<SyntaxNode>, Arc<mbe::RevTokenMap>)>; | ||
66 | fn macro_expand(&self, macro_call: MacroCallId) -> Result<Arc<tt::Subtree>, String>; | 64 | fn macro_expand(&self, macro_call: MacroCallId) -> Result<Arc<tt::Subtree>, String>; |
67 | } | 65 | } |
68 | 66 | ||
@@ -136,7 +134,7 @@ pub(crate) fn parse_or_expand(db: &dyn AstDatabase, file_id: HirFileId) -> Optio | |||
136 | pub(crate) fn parse_macro( | 134 | pub(crate) fn parse_macro( |
137 | db: &dyn AstDatabase, | 135 | db: &dyn AstDatabase, |
138 | macro_file: MacroFile, | 136 | macro_file: MacroFile, |
139 | ) -> Option<(Parse<SyntaxNode>, Arc<mbe::RevTokenMap>)> { | 137 | ) -> Option<(Parse<SyntaxNode>, Arc<mbe::TokenMap>)> { |
140 | let _p = profile("parse_macro_query"); | 138 | let _p = profile("parse_macro_query"); |
141 | 139 | ||
142 | let macro_call_id = macro_file.macro_call_id; | 140 | let macro_call_id = macro_file.macro_call_id; |
diff --git a/crates/ra_hir_expand/src/lib.rs b/crates/ra_hir_expand/src/lib.rs index 73ec1688c..cfe7e6d15 100644 --- a/crates/ra_hir_expand/src/lib.rs +++ b/crates/ra_hir_expand/src/lib.rs | |||
@@ -159,7 +159,7 @@ pub struct ExpansionInfo { | |||
159 | 159 | ||
160 | macro_def: Arc<(db::TokenExpander, mbe::TokenMap)>, | 160 | macro_def: Arc<(db::TokenExpander, mbe::TokenMap)>, |
161 | macro_arg: Arc<(tt::Subtree, mbe::TokenMap)>, | 161 | macro_arg: Arc<(tt::Subtree, mbe::TokenMap)>, |
162 | exp_map: Arc<mbe::RevTokenMap>, | 162 | exp_map: Arc<mbe::TokenMap>, |
163 | } | 163 | } |
164 | 164 | ||
165 | impl ExpansionInfo { | 165 | impl ExpansionInfo { |
@@ -186,7 +186,7 @@ impl ExpansionInfo { | |||
186 | mbe::Origin::Def => (&self.macro_def.1, &self.def), | 186 | mbe::Origin::Def => (&self.macro_def.1, &self.def), |
187 | }; | 187 | }; |
188 | 188 | ||
189 | let range = token_map.relative_range_of(token_id)?; | 189 | let range = token_map.range_by_token(token_id)?; |
190 | let token = algo::find_covering_element( | 190 | let token = algo::find_covering_element( |
191 | tt.ast.syntax(), | 191 | tt.ast.syntax(), |
192 | range + tt.ast.syntax().text_range().start(), | 192 | range + tt.ast.syntax().text_range().start(), |