about summary refs log tree commit diff
path: root/src/comp/syntax/parse
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-08-27 00:23:12 -0700
committerBrian Anderson <banderson@mozilla.com>2011-08-27 15:54:45 -0700
commit427d42228f89b52c761d91834754382637d79925 (patch)
treef643222164bdc268e2dfaa285eb297ef35ebb02b /src/comp/syntax/parse
parent26516dc8d2e530574e466195cc9375e492a21b99 (diff)
downloadrust-427d42228f89b52c761d91834754382637d79925.tar.gz
rust-427d42228f89b52c761d91834754382637d79925.zip
Convert rustc::syntax::eval to istrs. Issue #855
Diffstat (limited to 'src/comp/syntax/parse')
-rw-r--r--src/comp/syntax/parse/eval.rs23
-rw-r--r--src/comp/syntax/parse/parser.rs6
2 files changed, 15 insertions, 14 deletions
diff --git a/src/comp/syntax/parse/eval.rs b/src/comp/syntax/parse/eval.rs
index ccb7f0cfde2..04fffb70c37 100644
--- a/src/comp/syntax/parse/eval.rs
+++ b/src/comp/syntax/parse/eval.rs
@@ -20,14 +20,15 @@ tag eval_mode { mode_depend; mode_parse; }
 type ctx =
     @{p: parser,
       mode: eval_mode,
-      mutable deps: [str],
+      mutable deps: [istr],
       sess: parser::parse_sess,
       mutable chpos: uint,
       mutable byte_pos: uint,
       cfg: ast::crate_cfg};
 
 fn eval_crate_directives(cx: ctx, cdirs: &[@ast::crate_directive],
-                         prefix: str, view_items: &mutable [@ast::view_item],
+                         prefix: &istr,
+                         view_items: &mutable [@ast::view_item],
                          items: &mutable [@ast::item]) {
     for sub_cdir: @ast::crate_directive in cdirs {
         eval_crate_directive(cx, sub_cdir, prefix, view_items, items);
@@ -35,14 +36,14 @@ fn eval_crate_directives(cx: ctx, cdirs: &[@ast::crate_directive],
 }
 
 fn eval_crate_directives_to_mod(cx: ctx, cdirs: &[@ast::crate_directive],
-                                prefix: str) -> ast::_mod {
+                                prefix: &istr) -> ast::_mod {
     let view_items: [@ast::view_item] = [];
     let items: [@ast::item] = [];
     eval_crate_directives(cx, cdirs, prefix, view_items, items);
     ret {view_items: view_items, items: items};
 }
 
-fn eval_crate_directive(cx: ctx, cdir: @ast::crate_directive, prefix: str,
+fn eval_crate_directive(cx: ctx, cdir: @ast::crate_directive, prefix: &istr,
                         view_items: &mutable [@ast::view_item],
                         items: &mutable [@ast::item]) {
     alt cdir.node {
@@ -54,15 +55,15 @@ fn eval_crate_directive(cx: ctx, cdir: @ast::crate_directive, prefix: str,
           }
           none. { }
         }
-        let full_path = if std::fs::path_is_absolute(
-            file_path) {
-            istr::to_estr(file_path)
+        let full_path = if std::fs::path_is_absolute(file_path) {
+            file_path
         } else {
-            prefix + istr::to_estr(std::fs::path_sep() + file_path)
+            prefix + std::fs::path_sep() + file_path
         };
         if cx.mode == mode_depend { cx.deps += [full_path]; ret; }
         let p0 =
-            new_parser_from_file(cx.sess, cx.cfg, full_path, cx.chpos,
+            new_parser_from_file(cx.sess, cx.cfg,
+                                 istr::to_estr(full_path), cx.chpos,
                                  cx.byte_pos, SOURCE_FILE);
         let inner_attrs = parse_inner_attrs_and_next(p0);
         let mod_attrs = attrs + inner_attrs.inner;
@@ -87,9 +88,9 @@ fn eval_crate_directive(cx: ctx, cdir: @ast::crate_directive, prefix: str,
         }
         let full_path =
             if std::fs::path_is_absolute(path) {
-                istr::to_estr(path)
+                path
             } else {
-            prefix + istr::to_estr(std::fs::path_sep() + path)
+            prefix + std::fs::path_sep() + path
         };
         let m0 = eval_crate_directives_to_mod(cx, cdirs, full_path);
         let i =
diff --git a/src/comp/syntax/parse/parser.rs b/src/comp/syntax/parse/parser.rs
index 8549cb0aa48..2ae591de181 100644
--- a/src/comp/syntax/parse/parser.rs
+++ b/src/comp/syntax/parse/parser.rs
@@ -2549,13 +2549,13 @@ fn parse_crate_from_crate_file(input: &str, cfg: &ast::crate_cfg,
                                sess: &parse_sess) -> @ast::crate {
     let p = new_parser_from_file(sess, cfg, input, 0u, 0u, CRATE_FILE);
     let lo = p.get_lo_pos();
-    let prefix = istr::to_estr(
-        std::fs::dirname(istr::from_estr(p.get_filemap().name)));
+    let prefix =
+        std::fs::dirname(istr::from_estr(p.get_filemap().name));
     let leading_attrs = parse_inner_attrs_and_next(p);
     let crate_attrs = leading_attrs.inner;
     let first_cdir_attr = leading_attrs.next;
     let cdirs = parse_crate_directives(p, token::EOF, first_cdir_attr);
-    let deps: [str] = [];
+    let deps: [istr] = [];
     let cx =
         @{p: p,
           mode: eval::mode_parse,