Skip to content

Commit cb482e6

Browse files
committed
Merge remote-tracking branch 'upstream/master' into compute-lazy-assits
# Conflicts: # crates/rust-analyzer/src/to_proto.rs
2 parents 57cd936 + 2f6ab77 commit cb482e6

File tree

15 files changed

+546
-343
lines changed

15 files changed

+546
-343
lines changed

crates/ra_ide/src/display/navigation_target.rs

Lines changed: 23 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,16 @@ impl NavigationTarget {
9292
let name = module.name(db).map(|it| it.to_string().into()).unwrap_or_default();
9393
if let Some(src) = module.declaration_source(db) {
9494
let frange = original_range(db, src.as_ref().map(|it| it.syntax()));
95-
return NavigationTarget::from_syntax(
95+
let mut res = NavigationTarget::from_syntax(
9696
frange.file_id,
9797
name,
9898
None,
9999
frange.range,
100100
src.value.syntax().kind(),
101-
src.value.doc_comment_text(),
102-
src.value.short_label(),
103101
);
102+
res.docs = src.value.doc_comment_text();
103+
res.description = src.value.short_label();
104+
return res;
104105
}
105106
module.to_nav(db)
106107
}
@@ -130,11 +131,9 @@ impl NavigationTarget {
130131
}
131132

132133
/// Allows `NavigationTarget` to be created from a `NameOwner`
133-
fn from_named(
134+
pub(crate) fn from_named(
134135
db: &RootDatabase,
135136
node: InFile<&dyn ast::NameOwner>,
136-
docs: Option<String>,
137-
description: Option<String>,
138137
) -> NavigationTarget {
139138
//FIXME: use `_` instead of empty string
140139
let name = node.value.name().map(|it| it.text().clone()).unwrap_or_default();
@@ -148,8 +147,6 @@ impl NavigationTarget {
148147
focus_range,
149148
frange.range,
150149
node.value.syntax().kind(),
151-
docs,
152-
description,
153150
)
154151
}
155152

@@ -159,8 +156,6 @@ impl NavigationTarget {
159156
focus_range: Option<TextRange>,
160157
full_range: TextRange,
161158
kind: SyntaxKind,
162-
docs: Option<String>,
163-
description: Option<String>,
164159
) -> NavigationTarget {
165160
NavigationTarget {
166161
file_id,
@@ -169,8 +164,8 @@ impl NavigationTarget {
169164
full_range,
170165
focus_range,
171166
container_name: None,
172-
description,
173-
docs,
167+
description: None,
168+
docs: None,
174169
}
175170
}
176171
}
@@ -238,12 +233,11 @@ where
238233
{
239234
fn to_nav(&self, db: &RootDatabase) -> NavigationTarget {
240235
let src = self.source(db);
241-
NavigationTarget::from_named(
242-
db,
243-
src.as_ref().map(|it| it as &dyn ast::NameOwner),
244-
src.value.doc_comment_text(),
245-
src.value.short_label(),
246-
)
236+
let mut res =
237+
NavigationTarget::from_named(db, src.as_ref().map(|it| it as &dyn ast::NameOwner));
238+
res.docs = src.value.doc_comment_text();
239+
res.description = src.value.short_label();
240+
res
247241
}
248242
}
249243

@@ -258,15 +252,7 @@ impl ToNav for hir::Module {
258252
}
259253
};
260254
let frange = original_range(db, src.with_value(syntax));
261-
NavigationTarget::from_syntax(
262-
frange.file_id,
263-
name,
264-
focus,
265-
frange.range,
266-
syntax.kind(),
267-
None,
268-
None,
269-
)
255+
NavigationTarget::from_syntax(frange.file_id, name, focus, frange.range, syntax.kind())
270256
}
271257
}
272258

@@ -285,8 +271,6 @@ impl ToNav for hir::ImplDef {
285271
None,
286272
frange.range,
287273
src.value.syntax().kind(),
288-
None,
289-
None,
290274
)
291275
}
292276
}
@@ -296,12 +280,12 @@ impl ToNav for hir::Field {
296280
let src = self.source(db);
297281

298282
match &src.value {
299-
FieldSource::Named(it) => NavigationTarget::from_named(
300-
db,
301-
src.with_value(it),
302-
it.doc_comment_text(),
303-
it.short_label(),
304-
),
283+
FieldSource::Named(it) => {
284+
let mut res = NavigationTarget::from_named(db, src.with_value(it));
285+
res.docs = it.doc_comment_text();
286+
res.description = it.short_label();
287+
res
288+
}
305289
FieldSource::Pos(it) => {
306290
let frange = original_range(db, src.with_value(it.syntax()));
307291
NavigationTarget::from_syntax(
@@ -310,8 +294,6 @@ impl ToNav for hir::Field {
310294
None,
311295
frange.range,
312296
it.syntax().kind(),
313-
None,
314-
None,
315297
)
316298
}
317299
}
@@ -322,12 +304,10 @@ impl ToNav for hir::MacroDef {
322304
fn to_nav(&self, db: &RootDatabase) -> NavigationTarget {
323305
let src = self.source(db);
324306
log::debug!("nav target {:#?}", src.value.syntax());
325-
NavigationTarget::from_named(
326-
db,
327-
src.as_ref().map(|it| it as &dyn ast::NameOwner),
328-
src.value.doc_comment_text(),
329-
None,
330-
)
307+
let mut res =
308+
NavigationTarget::from_named(db, src.as_ref().map(|it| it as &dyn ast::NameOwner));
309+
res.docs = src.value.doc_comment_text();
310+
res
331311
}
332312
}
333313

0 commit comments

Comments
 (0)