Skip to content

Commit d56c879

Browse files
Merge #10532
10532: Rename `descend_into_macros` Function per FIXME comment r=Veykril a=mirkoRainer This renames `descend_into_macros` to `descend_into_macros_single` and `descend_into_macros_many` into `descend_into_macros`. However, this does not touch a function in `SemanticsImpl` of same name. I was prompted to do this per a FIXME comment, which is removed in this PR. Co-authored-by: Mirko Rainer <[email protected]>
2 parents 5e8f4dc + eccfa16 commit d56c879

16 files changed

+20
-22
lines changed

crates/hir/src/semantics.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,13 +175,11 @@ impl<'db, DB: HirDatabase> Semantics<'db, DB> {
175175
self.imp.speculative_expand_attr(actual_macro_call, speculative_args, token_to_map)
176176
}
177177

178-
// FIXME: Rename to descend_into_macros_single
179-
pub fn descend_into_macros(&self, token: SyntaxToken) -> SyntaxToken {
178+
pub fn descend_into_macros_single(&self, token: SyntaxToken) -> SyntaxToken {
180179
self.imp.descend_into_macros(token).pop().unwrap()
181180
}
182181

183-
// FIXME: Rename to descend_into_macros
184-
pub fn descend_into_macros_many(&self, token: SyntaxToken) -> SmallVec<[SyntaxToken; 1]> {
182+
pub fn descend_into_macros(&self, token: SyntaxToken) -> SmallVec<[SyntaxToken; 1]> {
185183
self.imp.descend_into_macros(token)
186184
}
187185

crates/ide/src/call_hierarchy.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ pub(crate) fn outgoing_calls(db: &RootDatabase, position: FilePosition) -> Optio
9090
})?;
9191
let mut calls = CallLocations::default();
9292

93-
sema.descend_into_macros_many(token)
93+
sema.descend_into_macros(token)
9494
.into_iter()
9595
.filter_map(|it| it.ancestors().nth(1).and_then(ast::Item::cast))
9696
.filter_map(|item| match item {

crates/ide/src/doc_links.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ pub(crate) fn external_docs(
124124
kind if kind.is_trivia() => 0,
125125
_ => 1,
126126
})?;
127-
let token = sema.descend_into_macros(token);
127+
let token = sema.descend_into_macros_single(token);
128128

129129
let node = token.parent()?;
130130
let definition = match_ast! {
@@ -254,7 +254,7 @@ impl DocCommentToken {
254254
let original_start = doc_token.text_range().start();
255255
let relative_comment_offset = offset - original_start - prefix_len;
256256

257-
sema.descend_into_macros_many(doc_token).into_iter().find_map(|t| {
257+
sema.descend_into_macros(doc_token).into_iter().find_map(|t| {
258258
let (node, descended_prefix_len) = match_ast! {
259259
match t {
260260
ast::Comment(comment) => (t.parent()?, TextSize::try_from(comment.prefix().len()).ok()?),

crates/ide/src/expand_macro.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ pub(crate) fn expand_macro(db: &RootDatabase, position: FilePosition) -> Option<
3232
_ => 0,
3333
})?;
3434

35-
let descended = sema.descend_into_macros(tok.clone());
35+
let descended = sema.descend_into_macros_single(tok.clone());
3636
if let Some(attr) = descended.ancestors().find_map(ast::Attr::cast) {
3737
if let Some((path, tt)) = attr.as_simple_call() {
3838
if path == "derive" {

crates/ide/src/extend_selection.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,8 @@ fn extend_tokens_from_range(
142142

143143
// compute original mapped token range
144144
let extended = {
145-
let fst_expanded = sema.descend_into_macros(first_token.clone());
146-
let lst_expanded = sema.descend_into_macros(last_token.clone());
145+
let fst_expanded = sema.descend_into_macros_single(first_token.clone());
146+
let lst_expanded = sema.descend_into_macros_single(last_token.clone());
147147
let mut lca =
148148
algo::least_common_ancestor(&fst_expanded.parent()?, &lst_expanded.parent()?)?;
149149
lca = shallowest_node(&lca);
@@ -155,7 +155,7 @@ fn extend_tokens_from_range(
155155

156156
// Compute parent node range
157157
let validate = |token: &SyntaxToken| -> bool {
158-
let expanded = sema.descend_into_macros(token.clone());
158+
let expanded = sema.descend_into_macros_single(token.clone());
159159
let parent = match expanded.parent() {
160160
Some(it) => it,
161161
None => return false,

crates/ide/src/goto_declaration.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ pub(crate) fn goto_declaration(
1919
let original_token = file
2020
.token_at_offset(position.offset)
2121
.find(|it| matches!(it.kind(), IDENT | T![self] | T![super] | T![crate]))?;
22-
let token = sema.descend_into_macros(original_token.clone());
22+
let token = sema.descend_into_macros_single(original_token.clone());
2323
let parent = token.parent()?;
2424
let def = match_ast! {
2525
match parent {

crates/ide/src/goto_definition.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ pub(crate) fn goto_definition(
4343
});
4444
}
4545
let navs = sema
46-
.descend_into_macros_many(original_token.clone())
46+
.descend_into_macros(original_token.clone())
4747
.into_iter()
4848
.filter_map(|token| {
4949
let parent = token.parent()?;

crates/ide/src/goto_implementation.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ pub(crate) fn goto_implementation(
3535
})?;
3636
let range = original_token.text_range();
3737
let navs =
38-
sema.descend_into_macros_many(original_token)
38+
sema.descend_into_macros(original_token)
3939
.into_iter()
4040
.filter_map(|token| token.parent().and_then(ast::NameLike::cast))
4141
.filter_map(|node| {

crates/ide/src/goto_type_definition.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ pub(crate) fn goto_type_definition(
2727
kind if kind.is_trivia() => 0,
2828
_ => 1,
2929
})?;
30-
let token: SyntaxToken = sema.descend_into_macros(token);
30+
let token: SyntaxToken = sema.descend_into_macros_single(token);
3131

3232
let (ty, node) = sema.token_ancestors_with_macros(token).find_map(|node| {
3333
let ty = match_ast! {

crates/ide/src/hover.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ pub(crate) fn hover(
116116
});
117117
}
118118

119-
let descended = sema.descend_into_macros_many(original_token.clone());
119+
let descended = sema.descend_into_macros(original_token.clone());
120120

121121
// FIXME: Definition should include known lints and the like instead of having this special case here
122122
if let Some(res) = descended.iter().find_map(|token| {

crates/ide/src/runnables.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ fn find_related_tests(
233233
// create flattened vec of tokens
234234
let tokens = refs.iter().flat_map(|(range, _)| {
235235
match file.token_at_offset(range.start()).next() {
236-
Some(token) => sema.descend_into_macros_many(token),
236+
Some(token) => sema.descend_into_macros(token),
237237
None => Default::default(),
238238
}
239239
});

crates/ide/src/static_index.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ impl StaticIndex<'_> {
162162
}
163163

164164
fn get_definition(sema: &Semantics<RootDatabase>, token: SyntaxToken) -> Option<Definition> {
165-
for token in sema.descend_into_macros_many(token) {
165+
for token in sema.descend_into_macros(token) {
166166
let def = Definition::from_token(&sema, &token);
167167
if let [x] = def.as_slice() {
168168
return Some(*x);

crates/ide/src/syntax_highlighting.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ fn traverse(
303303
Some(it) => it,
304304
_ => continue,
305305
};
306-
let token = sema.descend_into_macros(token);
306+
let token = sema.descend_into_macros_single(token);
307307
match token.parent() {
308308
Some(parent) => {
309309
// We only care Name and Name_ref

crates/ide_assists/src/handlers/extract_function.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -623,7 +623,7 @@ impl FunctionBody {
623623
.children_with_tokens()
624624
.flat_map(SyntaxElement::into_token)
625625
.filter(|it| it.kind() == SyntaxKind::IDENT)
626-
.flat_map(|t| sema.descend_into_macros_many(t))
626+
.flat_map(|t| sema.descend_into_macros(t))
627627
.for_each(|t| cb(t.parent().and_then(ast::NameRef::cast)));
628628
}
629629
}

crates/ide_completion/src/context.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ impl<'a> CompletionContext<'a> {
138138

139139
let original_token =
140140
original_file.syntax().token_at_offset(position.offset).left_biased()?;
141-
let token = sema.descend_into_macros(original_token.clone());
141+
let token = sema.descend_into_macros_single(original_token.clone());
142142
let scope = sema.scope_at_offset(&token, position.offset);
143143
let krate = scope.krate();
144144
let mut locals = vec![];

crates/ide_db/src/call_info.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ pub fn call_info(db: &RootDatabase, position: FilePosition) -> Option<CallInfo>
5252
// if the cursor is sandwiched between two space tokens and the call is unclosed
5353
// this prevents us from leaving the CallExpression
5454
.and_then(|tok| algo::skip_trivia_token(tok, Direction::Prev))?;
55-
let token = sema.descend_into_macros(token);
55+
let token = sema.descend_into_macros_single(token);
5656

5757
let (callable, active_parameter) = call_info_impl(&sema, token)?;
5858

0 commit comments

Comments
 (0)