@@ -92,15 +92,16 @@ impl NavigationTarget {
92
92
let name = module. name ( db) . map ( |it| it. to_string ( ) . into ( ) ) . unwrap_or_default ( ) ;
93
93
if let Some ( src) = module. declaration_source ( db) {
94
94
let frange = original_range ( db, src. as_ref ( ) . map ( |it| it. syntax ( ) ) ) ;
95
- return NavigationTarget :: from_syntax (
95
+ let mut res = NavigationTarget :: from_syntax (
96
96
frange. file_id ,
97
97
name,
98
98
None ,
99
99
frange. range ,
100
100
src. value . syntax ( ) . kind ( ) ,
101
- src. value . doc_comment_text ( ) ,
102
- src. value . short_label ( ) ,
103
101
) ;
102
+ res. docs = src. value . doc_comment_text ( ) ;
103
+ res. description = src. value . short_label ( ) ;
104
+ return res;
104
105
}
105
106
module. to_nav ( db)
106
107
}
@@ -130,11 +131,9 @@ impl NavigationTarget {
130
131
}
131
132
132
133
/// Allows `NavigationTarget` to be created from a `NameOwner`
133
- fn from_named (
134
+ pub ( crate ) fn from_named (
134
135
db : & RootDatabase ,
135
136
node : InFile < & dyn ast:: NameOwner > ,
136
- docs : Option < String > ,
137
- description : Option < String > ,
138
137
) -> NavigationTarget {
139
138
//FIXME: use `_` instead of empty string
140
139
let name = node. value . name ( ) . map ( |it| it. text ( ) . clone ( ) ) . unwrap_or_default ( ) ;
@@ -148,8 +147,6 @@ impl NavigationTarget {
148
147
focus_range,
149
148
frange. range ,
150
149
node. value . syntax ( ) . kind ( ) ,
151
- docs,
152
- description,
153
150
)
154
151
}
155
152
@@ -159,8 +156,6 @@ impl NavigationTarget {
159
156
focus_range : Option < TextRange > ,
160
157
full_range : TextRange ,
161
158
kind : SyntaxKind ,
162
- docs : Option < String > ,
163
- description : Option < String > ,
164
159
) -> NavigationTarget {
165
160
NavigationTarget {
166
161
file_id,
@@ -169,8 +164,8 @@ impl NavigationTarget {
169
164
full_range,
170
165
focus_range,
171
166
container_name : None ,
172
- description,
173
- docs,
167
+ description : None ,
168
+ docs : None ,
174
169
}
175
170
}
176
171
}
@@ -238,12 +233,11 @@ where
238
233
{
239
234
fn to_nav ( & self , db : & RootDatabase ) -> NavigationTarget {
240
235
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
247
241
}
248
242
}
249
243
@@ -258,15 +252,7 @@ impl ToNav for hir::Module {
258
252
}
259
253
} ;
260
254
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 ( ) )
270
256
}
271
257
}
272
258
@@ -285,8 +271,6 @@ impl ToNav for hir::ImplDef {
285
271
None ,
286
272
frange. range ,
287
273
src. value . syntax ( ) . kind ( ) ,
288
- None ,
289
- None ,
290
274
)
291
275
}
292
276
}
@@ -296,12 +280,12 @@ impl ToNav for hir::Field {
296
280
let src = self . source ( db) ;
297
281
298
282
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
+ }
305
289
FieldSource :: Pos ( it) => {
306
290
let frange = original_range ( db, src. with_value ( it. syntax ( ) ) ) ;
307
291
NavigationTarget :: from_syntax (
@@ -310,8 +294,6 @@ impl ToNav for hir::Field {
310
294
None ,
311
295
frange. range ,
312
296
it. syntax ( ) . kind ( ) ,
313
- None ,
314
- None ,
315
297
)
316
298
}
317
299
}
@@ -322,12 +304,10 @@ impl ToNav for hir::MacroDef {
322
304
fn to_nav ( & self , db : & RootDatabase ) -> NavigationTarget {
323
305
let src = self . source ( db) ;
324
306
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
331
311
}
332
312
}
333
313
0 commit comments