Correctly increment sess.byte_pos.

This commit is contained in:
Kevin Atkinson 2012-01-25 00:39:07 -07:00
parent c5e03e0e59
commit 60a146bf0f
2 changed files with 6 additions and 6 deletions

View file

@ -79,7 +79,7 @@ fn parse_companion_mod(cx: ctx, prefix: str, suffix: option::t<str>)
let first_item_outer_attrs = inner_attrs.next; let first_item_outer_attrs = inner_attrs.next;
let m0 = parse_mod_items(p0, token::EOF, first_item_outer_attrs); let m0 = parse_mod_items(p0, token::EOF, first_item_outer_attrs);
cx.sess.chpos = p0.reader.chpos; cx.sess.chpos = p0.reader.chpos;
cx.sess.byte_pos = p0.reader.pos; cx.sess.byte_pos = cx.sess.byte_pos + p0.reader.pos;
ret (m0.view_items, m0.items, inner_attrs.inner); ret (m0.view_items, m0.items, inner_attrs.inner);
} else { } else {
ret ([], [], []); ret ([], [], []);
@ -117,7 +117,7 @@ fn eval_crate_directive(cx: ctx, cdir: @ast::crate_directive, prefix: str,
ast::item_mod(m0), mod_attrs); ast::item_mod(m0), mod_attrs);
// Thread defids, chpos and byte_pos through the parsers // Thread defids, chpos and byte_pos through the parsers
cx.sess.chpos = p0.reader.chpos; cx.sess.chpos = p0.reader.chpos;
cx.sess.byte_pos = p0.reader.pos; cx.sess.byte_pos = cx.sess.byte_pos + p0.reader.pos;
items += [i]; items += [i];
} }
ast::cdir_dir_mod(id, cdirs, attrs) { ast::cdir_dir_mod(id, cdirs, attrs) {

View file

@ -2458,7 +2458,7 @@ fn parse_crate_from_source_file(input: str, cfg: ast::crate_cfg,
let p = new_parser_from_file(sess, cfg, input, SOURCE_FILE); let p = new_parser_from_file(sess, cfg, input, SOURCE_FILE);
let r = parse_crate_mod(p, cfg); let r = parse_crate_mod(p, cfg);
sess.chpos = p.reader.chpos; sess.chpos = p.reader.chpos;
sess.byte_pos = p.reader.pos; sess.byte_pos = sess.byte_pos + p.reader.pos;
ret r; ret r;
} }
@ -2468,7 +2468,7 @@ fn parse_expr_from_source_str(name: str, source: @str, cfg: ast::crate_cfg,
let p = new_parser_from_source_str(sess, cfg, name, source); let p = new_parser_from_source_str(sess, cfg, name, source);
let r = parse_expr(p); let r = parse_expr(p);
sess.chpos = p.reader.chpos; sess.chpos = p.reader.chpos;
sess.byte_pos = p.reader.pos; sess.byte_pos = sess.byte_pos + p.reader.pos;
ret r; ret r;
} }
@ -2477,7 +2477,7 @@ fn parse_crate_from_source_str(name: str, source: @str, cfg: ast::crate_cfg,
let p = new_parser_from_source_str(sess, cfg, name, source); let p = new_parser_from_source_str(sess, cfg, name, source);
let r = parse_crate_mod(p, cfg); let r = parse_crate_mod(p, cfg);
sess.chpos = p.reader.chpos; sess.chpos = p.reader.chpos;
sess.byte_pos = p.reader.pos; sess.byte_pos = sess.byte_pos + p.reader.pos;
ret r; ret r;
} }
@ -2579,7 +2579,7 @@ fn parse_crate_from_crate_file(input: str, cfg: ast::crate_cfg,
let first_cdir_attr = leading_attrs.next; let first_cdir_attr = leading_attrs.next;
let cdirs = parse_crate_directives(p, token::EOF, first_cdir_attr); let cdirs = parse_crate_directives(p, token::EOF, first_cdir_attr);
sess.chpos = p.reader.chpos; sess.chpos = p.reader.chpos;
sess.byte_pos = p.reader.pos; sess.byte_pos = sess.byte_pos + p.reader.pos;
let cx = let cx =
@{p: p, @{p: p,
sess: sess, sess: sess,