about summary refs log tree commit diff
path: root/src/rustc/back
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-06-10 00:49:59 -0700
committerBrian Anderson <banderson@mozilla.com>2012-06-13 11:30:45 -0700
commitce750a7dbcd2dc68db6de89956b1de3ecf9f2d0a (patch)
tree55c2ee5be0986c2489879022d4788d6c3ac2c964 /src/rustc/back
parentbdd20000665a35e14b4ec2c54f893fc80fe451ef (diff)
downloadrust-ce750a7dbcd2dc68db6de89956b1de3ecf9f2d0a.tar.gz
rust-ce750a7dbcd2dc68db6de89956b1de3ecf9f2d0a.zip
Box AST idents
Diffstat (limited to 'src/rustc/back')
-rw-r--r--src/rustc/back/link.rs55
1 files changed, 28 insertions, 27 deletions
diff --git a/src/rustc/back/link.rs b/src/rustc/back/link.rs
index c9f1b706893..4eccfa80247 100644
--- a/src/rustc/back/link.rs
+++ b/src/rustc/back/link.rs
@@ -291,24 +291,24 @@ fn build_link_meta(sess: session, c: ast::crate, output: str,
                    sha: sha1) -> link_meta {
 
     type provided_metas =
-        {name: option<str>,
-         vers: option<str>,
+        {name: option<@str>,
+         vers: option<@str>,
          cmh_items: [@ast::meta_item]};
 
     fn provided_link_metas(sess: session, c: ast::crate) ->
        provided_metas {
-        let mut name: option<str> = none;
-        let mut vers: option<str> = none;
+        let mut name: option<@str> = none;
+        let mut vers: option<@str> = none;
         let mut cmh_items: [@ast::meta_item] = [];
         let linkage_metas = attr::find_linkage_metas(c.node.attrs);
         attr::require_unique_names(sess.diagnostic(), linkage_metas);
         for linkage_metas.each {|meta|
-            if attr::get_meta_item_name(meta) == "name" {
+            if *attr::get_meta_item_name(meta) == "name" {
                 alt attr::get_meta_item_value_str(meta) {
                   some(v) { name = some(v); }
                   none { cmh_items += [meta]; }
                 }
-            } else if attr::get_meta_item_name(meta) == "vers" {
+            } else if *attr::get_meta_item_name(meta) == "vers" {
                 alt attr::get_meta_item_value_str(meta) {
                   some(v) { vers = some(v); }
                   none { cmh_items += [meta]; }
@@ -321,7 +321,7 @@ fn build_link_meta(sess: session, c: ast::crate, output: str,
     // This calculates CMH as defined above
     fn crate_meta_extras_hash(sha: sha1, _crate: ast::crate,
                               metas: provided_metas,
-                              dep_hashes: [str]) -> str {
+                              dep_hashes: [@str]) -> str {
         fn len_and_str(s: str) -> str {
             ret #fmt["%u_%s", str::len(s), s];
         }
@@ -337,10 +337,10 @@ fn build_link_meta(sess: session, c: ast::crate, output: str,
             let m = m_;
             alt m.node {
               ast::meta_name_value(key, value) {
-                sha.input_str(len_and_str(key));
+                sha.input_str(len_and_str(*key));
                 sha.input_str(len_and_str_lit(value));
               }
-              ast::meta_word(name) { sha.input_str(len_and_str(name)); }
+              ast::meta_word(name) { sha.input_str(len_and_str(*name)); }
               ast::meta_list(_, _) {
                 // FIXME (#607): Implement this
                 fail "unimplemented meta_item variant";
@@ -349,7 +349,7 @@ fn build_link_meta(sess: session, c: ast::crate, output: str,
         }
 
         for dep_hashes.each {|dh|
-            sha.input_str(len_and_str(dh));
+            sha.input_str(len_and_str(*dh));
         }
 
         ret truncated_sha1_result(sha);
@@ -362,7 +362,7 @@ fn build_link_meta(sess: session, c: ast::crate, output: str,
     }
 
     fn crate_meta_name(sess: session, _crate: ast::crate,
-                       output: str, metas: provided_metas) -> str {
+                       output: str, metas: provided_metas) -> @str {
         ret alt metas.name {
               some(v) { v }
               none {
@@ -378,19 +378,19 @@ fn build_link_meta(sess: session, c: ast::crate, output: str,
                         str::connect(os, ".")
                     };
                 warn_missing(sess, "name", name);
-                name
+                @name
               }
             };
     }
 
     fn crate_meta_vers(sess: session, _crate: ast::crate,
-                       metas: provided_metas) -> str {
+                       metas: provided_metas) -> @str {
         ret alt metas.vers {
               some(v) { v }
               none {
                 let vers = "0.0";
                 warn_missing(sess, "vers", vers);
-                vers
+                @vers
               }
             };
     }
@@ -417,7 +417,7 @@ fn symbol_hash(tcx: ty::ctxt, sha: sha1, t: ty::t,
     // to be independent of one another in the crate.
 
     sha.reset();
-    sha.input_str(link_meta.name);
+    sha.input_str(*link_meta.name);
     sha.input_str("-");
     sha.input_str(link_meta.extras_hash);
     sha.input_str("-");
@@ -482,7 +482,7 @@ fn mangle(ss: path) -> str {
 
     for ss.each {|s|
         alt s { path_name(s) | path_mod(s) {
-          let sani = sanitize(s);
+          let sani = sanitize(*s);
           n += #fmt["%u%s", str::len(sani), sani];
         } }
     }
@@ -490,33 +490,34 @@ fn mangle(ss: path) -> str {
     n
 }
 
-fn exported_name(path: path, hash: str, vers: str) -> str {
+fn exported_name(path: path, hash: @str, vers: @str) -> str {
     ret mangle(path + [path_name(hash)] + [path_name(vers)]);
 }
 
 fn mangle_exported_name(ccx: @crate_ctxt, path: path, t: ty::t) -> str {
     let hash = get_symbol_hash(ccx, t);
-    ret exported_name(path, hash, ccx.link_meta.vers);
+    ret exported_name(path, @hash, ccx.link_meta.vers);
 }
 
-fn mangle_internal_name_by_type_only(ccx: @crate_ctxt, t: ty::t, name: str) ->
+fn mangle_internal_name_by_type_only(ccx: @crate_ctxt,
+                                     t: ty::t, name: @str) ->
    str {
-    let s = util::ppaux::ty_to_short_str(ccx.tcx, t);
+    let s = @util::ppaux::ty_to_short_str(ccx.tcx, t);
     let hash = get_symbol_hash(ccx, t);
-    ret mangle([path_name(name), path_name(s), path_name(hash)]);
+    ret mangle([path_name(name), path_name(s), path_name(@hash)]);
 }
 
 fn mangle_internal_name_by_path_and_seq(ccx: @crate_ctxt, path: path,
-                                        flav: str) -> str {
-    ret mangle(path + [path_name(ccx.names(flav))]);
+                                        flav: @str) -> str {
+    ret mangle(path + [path_name(@ccx.names(*flav))]);
 }
 
 fn mangle_internal_name_by_path(_ccx: @crate_ctxt, path: path) -> str {
     ret mangle(path);
 }
 
-fn mangle_internal_name_by_seq(ccx: @crate_ctxt, flav: str) -> str {
-    ret ccx.names(flav);
+fn mangle_internal_name_by_seq(ccx: @crate_ctxt, flav: @str) -> str {
+    ret ccx.names(*flav);
 }
 
 // If the user wants an exe generated we need to invoke
@@ -552,8 +553,8 @@ fn link_binary(sess: session,
     let output = if sess.building_library {
         let long_libname =
             os::dll_filename(#fmt("%s-%s-%s",
-                                  lm.name, lm.extras_hash, lm.vers));
-        #debug("link_meta.name:  %s", lm.name);
+                                  *lm.name, lm.extras_hash, *lm.vers));
+        #debug("link_meta.name:  %s", *lm.name);
         #debug("long_libname: %s", long_libname);
         #debug("out_filename: %s", out_filename);
         #debug("dirname(out_filename): %s", path::dirname(out_filename));