@@ -14,6 +14,7 @@ use ra_syntax::{
14
14
ast:: { self , AstNode , VisibilityOwner } ,
15
15
match_ast,
16
16
} ;
17
+ use test_utils:: tested_by;
17
18
18
19
use crate :: RootDatabase ;
19
20
@@ -217,18 +218,22 @@ pub fn classify_name_ref(
217
218
let parent = name_ref. syntax ( ) . parent ( ) ?;
218
219
219
220
if let Some ( method_call) = ast:: MethodCallExpr :: cast ( parent. clone ( ) ) {
221
+ tested_by ! ( goto_def_for_methods; force) ;
220
222
if let Some ( func) = sema. resolve_method_call ( & method_call) {
221
223
return Some ( NameRefClass :: Definition ( Definition :: ModuleDef ( func. into ( ) ) ) ) ;
222
224
}
223
225
}
224
226
225
227
if let Some ( field_expr) = ast:: FieldExpr :: cast ( parent. clone ( ) ) {
228
+ tested_by ! ( goto_def_for_fields; force) ;
226
229
if let Some ( field) = sema. resolve_field ( & field_expr) {
227
230
return Some ( NameRefClass :: Definition ( Definition :: StructField ( field) ) ) ;
228
231
}
229
232
}
230
233
231
234
if let Some ( record_field) = ast:: RecordField :: cast ( parent. clone ( ) ) {
235
+ tested_by ! ( goto_def_for_record_fields; force) ;
236
+ tested_by ! ( goto_def_for_field_init_shorthand; force) ;
232
237
if let Some ( ( field, local) ) = sema. resolve_record_field ( & record_field) {
233
238
let field = Definition :: StructField ( field) ;
234
239
let res = match local {
@@ -240,6 +245,7 @@ pub fn classify_name_ref(
240
245
}
241
246
242
247
if let Some ( macro_call) = parent. ancestors ( ) . find_map ( ast:: MacroCall :: cast) {
248
+ tested_by ! ( goto_def_for_macros; force) ;
243
249
if let Some ( macro_def) = sema. resolve_macro_call ( & macro_call) {
244
250
return Some ( NameRefClass :: Definition ( Definition :: Macro ( macro_def) ) ) ;
245
251
}
0 commit comments