diff options
author | Aleksey Kladov <[email protected]> | 2019-06-11 15:47:24 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-06-11 16:28:51 +0100 |
commit | 0145d06515d990f8b7bf45e261674c265c52d858 (patch) | |
tree | bddaf6d176e9d903503fbf2cd406f60f61dce2df /crates/ra_ide_api/src | |
parent | 178d8e96b5c810f40e7dd282ab06bb25d1fc8a2a (diff) |
use Source for module, part 1
Diffstat (limited to 'crates/ra_ide_api/src')
-rw-r--r-- | crates/ra_ide_api/src/display/navigation_target.rs | 6 | ||||
-rw-r--r-- | crates/ra_ide_api/src/hover.rs | 3 | ||||
-rw-r--r-- | crates/ra_ide_api/src/references.rs | 6 |
3 files changed, 7 insertions, 8 deletions
diff --git a/crates/ra_ide_api/src/display/navigation_target.rs b/crates/ra_ide_api/src/display/navigation_target.rs index efba122b1..4a92be710 100644 --- a/crates/ra_ide_api/src/display/navigation_target.rs +++ b/crates/ra_ide_api/src/display/navigation_target.rs | |||
@@ -129,10 +129,10 @@ impl NavigationTarget { | |||
129 | } | 129 | } |
130 | 130 | ||
131 | pub(crate) fn from_module(db: &RootDatabase, module: hir::Module) -> NavigationTarget { | 131 | pub(crate) fn from_module(db: &RootDatabase, module: hir::Module) -> NavigationTarget { |
132 | let (file_id, source) = module.definition_source(db); | 132 | let src = module.definition_source(db); |
133 | let file_id = file_id.as_original_file(); | 133 | let file_id = src.file_id.as_original_file(); |
134 | let name = module.name(db).map(|it| it.to_string().into()).unwrap_or_default(); | 134 | let name = module.name(db).map(|it| it.to_string().into()).unwrap_or_default(); |
135 | match source { | 135 | match src.ast { |
136 | ModuleSource::SourceFile(node) => { | 136 | ModuleSource::SourceFile(node) => { |
137 | NavigationTarget::from_syntax(file_id, name, None, node.syntax(), None, None) | 137 | NavigationTarget::from_syntax(file_id, name, None, node.syntax(), None, None) |
138 | } | 138 | } |
diff --git a/crates/ra_ide_api/src/hover.rs b/crates/ra_ide_api/src/hover.rs index e43c1d8e5..77657607b 100644 --- a/crates/ra_ide_api/src/hover.rs +++ b/crates/ra_ide_api/src/hover.rs | |||
@@ -115,8 +115,7 @@ pub(crate) fn hover(db: &RootDatabase, position: FilePosition) -> Option<RangeIn | |||
115 | Some(Def(it)) => { | 115 | Some(Def(it)) => { |
116 | match it { | 116 | match it { |
117 | hir::ModuleDef::Module(it) => { | 117 | hir::ModuleDef::Module(it) => { |
118 | let it = it.definition_source(db).1; | 118 | if let hir::ModuleSource::Module(it) = it.definition_source(db).ast { |
119 | if let hir::ModuleSource::Module(it) = it { | ||
120 | res.extend(hover_text(it.doc_comment_text(), it.short_label())) | 119 | res.extend(hover_text(it.doc_comment_text(), it.short_label())) |
121 | } | 120 | } |
122 | } | 121 | } |
diff --git a/crates/ra_ide_api/src/references.rs b/crates/ra_ide_api/src/references.rs index a75042b76..12cdc6a6d 100644 --- a/crates/ra_ide_api/src/references.rs +++ b/crates/ra_ide_api/src/references.rs | |||
@@ -148,9 +148,9 @@ fn rename_mod( | |||
148 | let mut file_system_edits = Vec::new(); | 148 | let mut file_system_edits = Vec::new(); |
149 | if let Some(module) = source_binder::module_from_declaration(db, position.file_id, &ast_module) | 149 | if let Some(module) = source_binder::module_from_declaration(db, position.file_id, &ast_module) |
150 | { | 150 | { |
151 | let (file_id, module_source) = module.definition_source(db); | 151 | let src = module.definition_source(db); |
152 | let file_id = file_id.as_original_file(); | 152 | let file_id = src.file_id.as_original_file(); |
153 | match module_source { | 153 | match src.ast { |
154 | ModuleSource::SourceFile(..) => { | 154 | ModuleSource::SourceFile(..) => { |
155 | let mod_path: RelativePathBuf = db.file_relative_path(file_id); | 155 | let mod_path: RelativePathBuf = db.file_relative_path(file_id); |
156 | // mod is defined in path/to/dir/mod.rs | 156 | // mod is defined in path/to/dir/mod.rs |