diff options
| author | Igor Matuszewski <Xanewok@gmail.com> | 2018-09-24 16:53:49 +0200 |
|---|---|---|
| committer | Igor Matuszewski <Xanewok@gmail.com> | 2018-09-28 01:54:01 +0200 |
| commit | 3ceae8db47ec82774df29c45b2d89d379bfd1676 (patch) | |
| tree | cc12befd50606f36e9ae9c7639ea6dcd200ff3be | |
| parent | 24123ddea90411851fa69a33369f3e4130ccf831 (diff) | |
| download | rust-3ceae8db47ec82774df29c45b2d89d379bfd1676.tar.gz rust-3ceae8db47ec82774df29c45b2d89d379bfd1676.zip | |
Also remap absolute source names in save-analysis
| -rw-r--r-- | src/librustc_save_analysis/span_utils.rs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/librustc_save_analysis/span_utils.rs b/src/librustc_save_analysis/span_utils.rs index 56728aed769..47677a75171 100644 --- a/src/librustc_save_analysis/span_utils.rs +++ b/src/librustc_save_analysis/span_utils.rs @@ -37,11 +37,18 @@ impl<'a> SpanUtils<'a> { pub fn make_filename_string(&self, file: &SourceFile) -> String { match &file.name { - FileName::Real(path) if !path.is_absolute() && !file.name_was_remapped => { - self.sess.working_dir.0 - .join(&path) - .display() - .to_string() + FileName::Real(path) if !file.name_was_remapped => { + if path.is_absolute() { + self.sess.source_map().path_mapping() + .map_prefix(path.clone()).0 + .display() + .to_string() + } else { + self.sess.working_dir.0 + .join(&path) + .display() + .to_string() + } }, // If the file name is already remapped, we assume the user // configured it the way they wanted to, so use that directly |
