about summary refs log tree commit diff
path: root/src/comp/syntax/parse/parser.rs
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-08-27 00:07:03 -0700
committerBrian Anderson <banderson@mozilla.com>2011-08-27 15:54:45 -0700
commit58dedcd090f4dba25430e0a02060e6658634299e (patch)
treeb2b42412a9a93ca9009daf049e628a5c2628a8c1 /src/comp/syntax/parse/parser.rs
parentd2ae28fc99328ab1b7176560ed643a84a8883403 (diff)
downloadrust-58dedcd090f4dba25430e0a02060e6658634299e.tar.gz
rust-58dedcd090f4dba25430e0a02060e6658634299e.zip
Convert lexer to istrs. Issue #855
Diffstat (limited to 'src/comp/syntax/parse/parser.rs')
-rw-r--r--src/comp/syntax/parse/parser.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/comp/syntax/parse/parser.rs b/src/comp/syntax/parse/parser.rs
index ce3b917118e..7e163751cd1 100644
--- a/src/comp/syntax/parse/parser.rs
+++ b/src/comp/syntax/parse/parser.rs
@@ -63,10 +63,10 @@ type parser =
 fn new_parser_from_file(sess: parse_sess, cfg: ast::crate_cfg, path: str,
                         chpos: uint, byte_pos: uint, ftype: file_type) ->
    parser {
-    let src = istr::to_estr(io::read_whole_file_str(istr::from_estr(path)));
+    let src = io::read_whole_file_str(istr::from_estr(path));
     let filemap = codemap::new_filemap(path, chpos, byte_pos);
     sess.cm.files += [filemap];
-    let itr = @interner::mk(str::hash, str::eq);
+    let itr = @interner::mk(istr::hash, istr::eq);
     let rdr = lexer::new_reader(sess.cm, src, filemap, itr);
 
     ret new_parser(sess, cfg, rdr, ftype);
@@ -128,7 +128,7 @@ fn new_parser(sess: parse_sess, cfg: ast::crate_cfg, rdr: lexer::reader,
         fn get_cfg() -> ast::crate_cfg { ret cfg; }
         fn get_prec_table() -> @[op_spec] { ret precs; }
         fn get_str(i: token::str_num) -> str {
-            ret interner::get(*rdr.get_interner(), i);
+            ret istr::to_estr(interner::get(*rdr.get_interner(), i));
         }
         fn get_reader() -> lexer::reader { ret rdr; }
         fn get_filemap() -> codemap::filemap { ret rdr.get_filemap(); }
@@ -2434,8 +2434,9 @@ fn parse_crate_from_source_str(name: &str, source: &str, cfg: &ast::crate_cfg,
     let ftype = SOURCE_FILE;
     let filemap = codemap::new_filemap(name, 0u, 0u);
     sess.cm.files += [filemap];
-    let itr = @interner::mk(str::hash, str::eq);
-    let rdr = lexer::new_reader(sess.cm, source, filemap, itr);
+    let itr = @interner::mk(istr::hash, istr::eq);
+    let rdr = lexer::new_reader(sess.cm, istr::from_estr(source),
+                                filemap, itr);
     let p = new_parser(sess, cfg, rdr, ftype);
     ret parse_crate_mod(p, cfg);
 }