syntax: lexer doesn't need a codemap
This commit is contained in:
parent
aa8dc0175d
commit
2319c2d1ba
4 changed files with 7 additions and 11 deletions
|
@ -155,14 +155,13 @@ fn is_lit(t: token::token) -> bool {
|
|||
|
||||
type lit = {lit: str, pos: uint};
|
||||
|
||||
fn gather_comments_and_literals(cm: codemap::codemap,
|
||||
span_diagnostic: diagnostic::span_handler,
|
||||
fn gather_comments_and_literals(span_diagnostic: diagnostic::span_handler,
|
||||
path: str,
|
||||
srdr: io::reader) ->
|
||||
{cmnts: [cmnt], lits: [lit]} {
|
||||
let src = @str::from_bytes(srdr.read_whole_stream());
|
||||
let itr = @interner::mk::<str>(str::hash, str::eq);
|
||||
let rdr = new_reader(cm, span_diagnostic,
|
||||
let rdr = new_reader(span_diagnostic,
|
||||
codemap::new_filemap(path, src, 0u, 0u), itr);
|
||||
let mut comments: [cmnt] = [];
|
||||
let mut literals: [lit] = [];
|
||||
|
|
|
@ -5,7 +5,6 @@ import diagnostic;
|
|||
export reader, new_reader, next_token, is_whitespace;
|
||||
|
||||
type reader = @{
|
||||
cm: codemap::codemap,
|
||||
span_diagnostic: diagnostic::span_handler,
|
||||
src: @str,
|
||||
len: uint,
|
||||
|
@ -57,12 +56,10 @@ impl reader for reader {
|
|||
}
|
||||
}
|
||||
|
||||
fn new_reader(cm: codemap::codemap,
|
||||
span_diagnostic: diagnostic::span_handler,
|
||||
fn new_reader(span_diagnostic: diagnostic::span_handler,
|
||||
filemap: codemap::filemap,
|
||||
itr: @interner::interner<str>) -> reader {
|
||||
let r = @{cm: cm,
|
||||
span_diagnostic: span_diagnostic,
|
||||
let r = @{span_diagnostic: span_diagnostic,
|
||||
src: filemap.src, len: str::len(*filemap.src),
|
||||
mut col: 0u, mut pos: 0u, mut curr: -1 as char,
|
||||
mut chpos: filemap.start_pos.ch, mut strs: [],
|
||||
|
|
|
@ -104,7 +104,7 @@ fn new_parser_from_file(sess: parse_sess, cfg: ast::crate_cfg, path: str,
|
|||
sess.chpos, sess.byte_pos);
|
||||
sess.cm.files += [filemap];
|
||||
let itr = @interner::mk(str::hash, str::eq);
|
||||
let rdr = lexer::new_reader(sess.cm, sess.span_diagnostic, filemap, itr);
|
||||
let rdr = lexer::new_reader(sess.span_diagnostic, filemap, itr);
|
||||
ret new_parser(sess, cfg, rdr, ftype);
|
||||
}
|
||||
|
||||
|
@ -116,7 +116,7 @@ fn new_parser_from_source_str(sess: parse_sess, cfg: ast::crate_cfg,
|
|||
(name, ss, source, sess.chpos, sess.byte_pos);
|
||||
sess.cm.files += [filemap];
|
||||
let itr = @interner::mk(str::hash, str::eq);
|
||||
let rdr = lexer::new_reader(sess.cm, sess.span_diagnostic,
|
||||
let rdr = lexer::new_reader(sess.span_diagnostic,
|
||||
filemap, itr);
|
||||
ret new_parser(sess, cfg, rdr, ftype);
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ fn print_crate(cm: codemap, span_diagnostic: diagnostic::span_handler,
|
|||
crate: @ast::crate, filename: str, in: io::reader,
|
||||
out: io::writer, ann: pp_ann) {
|
||||
let boxes: [pp::breaks] = [];
|
||||
let r = comments::gather_comments_and_literals(cm, span_diagnostic,
|
||||
let r = comments::gather_comments_and_literals(span_diagnostic,
|
||||
filename, in);
|
||||
let s =
|
||||
@{s: pp::mk_printer(out, default_columns),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue