diff options
Diffstat (limited to 'crates/ra_hir/src/source_binder.rs')
-rw-r--r-- | crates/ra_hir/src/source_binder.rs | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/crates/ra_hir/src/source_binder.rs b/crates/ra_hir/src/source_binder.rs index 75ed2de6c..6a5799622 100644 --- a/crates/ra_hir/src/source_binder.rs +++ b/crates/ra_hir/src/source_binder.rs | |||
@@ -48,8 +48,8 @@ pub fn module_from_declaration( | |||
48 | pub fn module_from_position(db: &impl HirDatabase, position: FilePosition) -> Option<Module> { | 48 | pub fn module_from_position(db: &impl HirDatabase, position: FilePosition) -> Option<Module> { |
49 | let file = db.parse(position.file_id).tree; | 49 | let file = db.parse(position.file_id).tree; |
50 | match find_node_at_offset::<ast::Module>(file.syntax(), position.offset) { | 50 | match find_node_at_offset::<ast::Module>(file.syntax(), position.offset) { |
51 | Some(m) if !m.has_semi() => module_from_inline(db, position.file_id.into(), m), | 51 | Some(m) if !m.has_semi() => module_from_inline(db, position.file_id, m), |
52 | _ => module_from_file_id(db, position.file_id.into()), | 52 | _ => module_from_file_id(db, position.file_id), |
53 | } | 53 | } |
54 | } | 54 | } |
55 | 55 | ||
@@ -72,9 +72,9 @@ pub fn module_from_child_node( | |||
72 | child: &SyntaxNode, | 72 | child: &SyntaxNode, |
73 | ) -> Option<Module> { | 73 | ) -> Option<Module> { |
74 | if let Some(m) = child.ancestors().filter_map(ast::Module::cast).find(|it| !it.has_semi()) { | 74 | if let Some(m) = child.ancestors().filter_map(ast::Module::cast).find(|it| !it.has_semi()) { |
75 | module_from_inline(db, file_id.into(), m) | 75 | module_from_inline(db, file_id, m) |
76 | } else { | 76 | } else { |
77 | module_from_file_id(db, file_id.into()) | 77 | module_from_file_id(db, file_id) |
78 | } | 78 | } |
79 | } | 79 | } |
80 | 80 | ||
@@ -99,14 +99,12 @@ pub fn struct_from_module( | |||
99 | struct_def: &ast::StructDef, | 99 | struct_def: &ast::StructDef, |
100 | ) -> Struct { | 100 | ) -> Struct { |
101 | let (file_id, _) = module.definition_source(db); | 101 | let (file_id, _) = module.definition_source(db); |
102 | let file_id = file_id.into(); | ||
103 | let ctx = LocationCtx::new(db, module, file_id); | 102 | let ctx = LocationCtx::new(db, module, file_id); |
104 | Struct { id: ctx.to_def(struct_def) } | 103 | Struct { id: ctx.to_def(struct_def) } |
105 | } | 104 | } |
106 | 105 | ||
107 | pub fn enum_from_module(db: &impl HirDatabase, module: Module, enum_def: &ast::EnumDef) -> Enum { | 106 | pub fn enum_from_module(db: &impl HirDatabase, module: Module, enum_def: &ast::EnumDef) -> Enum { |
108 | let (file_id, _) = module.definition_source(db); | 107 | let (file_id, _) = module.definition_source(db); |
109 | let file_id = file_id.into(); | ||
110 | let ctx = LocationCtx::new(db, module, file_id); | 108 | let ctx = LocationCtx::new(db, module, file_id); |
111 | Enum { id: ctx.to_def(enum_def) } | 109 | Enum { id: ctx.to_def(enum_def) } |
112 | } | 110 | } |
@@ -117,7 +115,6 @@ pub fn trait_from_module( | |||
117 | trait_def: &ast::TraitDef, | 115 | trait_def: &ast::TraitDef, |
118 | ) -> Trait { | 116 | ) -> Trait { |
119 | let (file_id, _) = module.definition_source(db); | 117 | let (file_id, _) = module.definition_source(db); |
120 | let file_id = file_id.into(); | ||
121 | let ctx = LocationCtx::new(db, module, file_id); | 118 | let ctx = LocationCtx::new(db, module, file_id); |
122 | Trait { id: ctx.to_def(trait_def) } | 119 | Trait { id: ctx.to_def(trait_def) } |
123 | } | 120 | } |