aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle/trans.rs
diff options
context:
space:
mode:
authorPatrick Walton <[email protected]>2011-04-22 14:48:25 -0700
committerPatrick Walton <[email protected]>2011-04-22 14:48:25 -0700
commit3d62c9adf35e8685f131be50afbcc711bb43cf60 (patch)
treefb670f7b0dbc4be175d04c004bb0e892edf4def4 /src/comp/middle/trans.rs
parentrustc: Remove direct access to the cname field of types (diff)
downloadrust-3d62c9adf35e8685f131be50afbcc711bb43cf60.tar.xz
rust-3d62c9adf35e8685f131be50afbcc711bb43cf60.zip
rustc: Move the type serialization logic to an Encode module
Diffstat (limited to 'src/comp/middle/trans.rs')
-rw-r--r--src/comp/middle/trans.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs
index f995ee6e..8ab2c3c0 100644
--- a/src/comp/middle/trans.rs
+++ b/src/comp/middle/trans.rs
@@ -183,8 +183,11 @@ fn path_name(vec[str] path) -> str {
fn mangle_name_by_type(@crate_ctxt ccx, vec[str] path, ty.t t) -> str {
ccx.sha.reset();
+
auto f = metadata.def_to_str;
- ccx.sha.input_str(metadata.ty_str(t, f));
+ auto cx = @rec(ds=f);
+ ccx.sha.input_str(metadata.Encode.ty_str(cx, t));
+
ret sep() + "rust" + sep()
+ _str.substr(ccx.sha.result_str(), 0u, 16u) + sep()
+ path_name(path);