From 2b6c2b6e348407ceaac749209e26f0dbf67227fd Mon Sep 17 00:00:00 2001 From: Nick Cameron Date: Mon, 3 Nov 2014 18:30:29 +1300 Subject: [PATCH] Dump char and byte positions in save_analysis --- src/librustc/middle/save/span_utils.rs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/librustc/middle/save/span_utils.rs b/src/librustc/middle/save/span_utils.rs index 44cad4551902..14d8bf0cfed5 100644 --- a/src/librustc/middle/save/span_utils.rs +++ b/src/librustc/middle/save/span_utils.rs @@ -31,13 +31,16 @@ impl<'a> SpanUtils<'a> { pub fn extent_str(&self, span: Span) -> String { let lo_loc = self.sess.codemap().lookup_char_pos(span.lo); let hi_loc = self.sess.codemap().lookup_char_pos(span.hi); - let lo_pos = self.sess.codemap().lookup_byte_offset(span.lo).pos; - let hi_pos = self.sess.codemap().lookup_byte_offset(span.hi).pos; + let lo_pos = self.sess.codemap().bytepos_to_file_charpos(span.lo); + let hi_pos = self.sess.codemap().bytepos_to_file_charpos(span.hi); + let lo_pos_byte = self.sess.codemap().lookup_byte_offset(span.lo).pos; + let hi_pos_byte = self.sess.codemap().lookup_byte_offset(span.hi).pos; - format!("file_name,{},file_line,{},file_col,{},extent_start,{},\ - file_line_end,{},file_col_end,{},extent_end,{}", - lo_loc.file.name, lo_loc.line, lo_loc.col.to_uint(), lo_pos.to_uint(), - hi_loc.line, hi_loc.col.to_uint(), hi_pos.to_uint()) + format!("file_name,{},file_line,{},file_col,{},extent_start,{},extent_start_bytes,{},\ + file_line_end,{},file_col_end,{},extent_end,{},extent_end_bytes,{}", + lo_loc.file.name, + lo_loc.line, lo_loc.col.to_uint(), lo_pos.to_uint(), lo_pos_byte.to_uint(), + hi_loc.line, hi_loc.col.to_uint(), hi_pos.to_uint(), hi_pos_byte.to_uint()) } // sub_span starts at span.lo, so we need to adjust the positions etc.