1
Fork 0

std: Rename the hashmap constructors to conform to new standards

Instead of using the new_ prefix just name them after their type
This commit is contained in:
Brian Anderson 2012-03-14 12:07:23 -07:00
parent 383a801993
commit 3864d6d845
43 changed files with 140 additions and 143 deletions

View file

@ -387,7 +387,7 @@ fn configure(opts: options) -> cargo {
result::err(e) { fail e } result::err(e) { fail e }
}; };
let sources = map::new_str_hash::<source>(); let sources = map::str_hash::<source>();
try_parse_sources(path::connect(syscargo, "sources.json"), sources); try_parse_sources(path::connect(syscargo, "sources.json"), sources);
try_parse_sources(path::connect(syscargo, "local-sources.json"), sources); try_parse_sources(path::connect(syscargo, "local-sources.json"), sources);
let c = { let c = {

View file

@ -7,8 +7,6 @@ import core::option;
import option::{some, none}; import option::{some, none};
export doc; export doc;
export new_doc;
export doc_at; export doc_at;
export maybe_get_doc; export maybe_get_doc;
export get_doc; export get_doc;
@ -64,7 +62,7 @@ fn vuint_at(data: [u8], start: uint) -> {val: uint, next: uint} {
} else { #error("vint too big"); fail; } } else { #error("vint too big"); fail; }
} }
fn new_doc(data: @[u8]) -> doc { fn doc(data: @[u8]) -> doc {
ret {data: data, start: 0u, end: vec::len::<u8>(*data)}; ret {data: data, start: 0u, end: vec::len::<u8>(*data)};
} }
@ -575,7 +573,7 @@ fn test_option_int() {
let mbuf = io::mem_buffer(); let mbuf = io::mem_buffer();
let ebml_w = ebml::writer(io::mem_buffer_writer(mbuf)); let ebml_w = ebml::writer(io::mem_buffer_writer(mbuf));
serialize_0(ebml_w, v); serialize_0(ebml_w, v);
let ebml_doc = ebml::new_doc(@io::mem_buffer_buf(mbuf)); let ebml_doc = ebml::doc(@io::mem_buffer_buf(mbuf));
let deser = ebml_deserializer(ebml_doc); let deser = ebml_deserializer(ebml_doc);
let v1 = deserialize_0(deser); let v1 = deserialize_0(deser);
#debug["v1 == %?", v1]; #debug["v1 == %?", v1];

View file

@ -407,7 +407,7 @@ impl parser for parser {
self.bump(); self.bump();
self.parse_whitespace(); self.parse_whitespace();
let values = map::new_str_hash(); let values = map::str_hash();
if self.ch == '}' { if self.ch == '}' {
self.bump(); self.bump();
@ -501,7 +501,7 @@ fn eq(value0: json, value1: json) -> bool {
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
fn mk_dict(items: [(str, json)]) -> json { fn mk_dict(items: [(str, json)]) -> json {
let d = map::new_str_hash(); let d = map::str_hash();
vec::iter(items) { |item| vec::iter(items) { |item|
let (key, value) = item; let (key, value) = item;

View file

@ -1,8 +1,8 @@
#[doc = "A map type"]; #[doc = "A map type"];
import chained::hashmap; import chained::hashmap;
export hashmap, hashfn, eqfn, set, map, chained, new_hashmap, new_str_hash; export hashmap, hashfn, eqfn, set, map, chained, hashmap, str_hash;
export new_bytes_hash, new_int_hash, new_uint_hash, set_add; export bytes_hash, int_hash, uint_hash, set_add;
#[doc = " #[doc = "
A function that returns a hash of a value A function that returns a hash of a value
@ -289,7 +289,7 @@ mod chained {
} }
/* /*
Function: new_hashmap Function: hashmap
Construct a hashmap. Construct a hashmap.
@ -298,33 +298,33 @@ Parameters:
hasher - The hash function for key type K hasher - The hash function for key type K
eqer - The equality function for key type K eqer - The equality function for key type K
*/ */
fn new_hashmap<K: copy, V: copy>(hasher: hashfn<K>, eqer: eqfn<K>) fn hashmap<K: copy, V: copy>(hasher: hashfn<K>, eqer: eqfn<K>)
-> hashmap<K, V> { -> hashmap<K, V> {
chained::mk(hasher, eqer) chained::mk(hasher, eqer)
} }
#[doc = "Construct a hashmap for string keys"] #[doc = "Construct a hashmap for string keys"]
fn new_str_hash<V: copy>() -> hashmap<str, V> { fn str_hash<V: copy>() -> hashmap<str, V> {
ret new_hashmap(str::hash, str::eq); ret hashmap(str::hash, str::eq);
} }
#[doc = "Construct a hashmap for byte string keys"] #[doc = "Construct a hashmap for byte string keys"]
fn new_bytes_hash<V: copy>() -> hashmap<[u8], V> { fn bytes_hash<V: copy>() -> hashmap<[u8], V> {
ret new_hashmap(vec::u8::hash, vec::u8::eq); ret hashmap(vec::u8::hash, vec::u8::eq);
} }
#[doc = "Construct a hashmap for int keys"] #[doc = "Construct a hashmap for int keys"]
fn new_int_hash<V: copy>() -> hashmap<int, V> { fn int_hash<V: copy>() -> hashmap<int, V> {
fn hash_int(&&x: int) -> uint { int::hash(x) } fn hash_int(&&x: int) -> uint { int::hash(x) }
fn eq_int(&&a: int, &&b: int) -> bool { ret a == b; } fn eq_int(&&a: int, &&b: int) -> bool { ret a == b; }
ret new_hashmap(hash_int, eq_int); ret hashmap(hash_int, eq_int);
} }
#[doc = "Construct a hashmap for uint keys"] #[doc = "Construct a hashmap for uint keys"]
fn new_uint_hash<V: copy>() -> hashmap<uint, V> { fn uint_hash<V: copy>() -> hashmap<uint, V> {
fn hash_uint(&&x: uint) -> uint { uint::hash(x) } fn hash_uint(&&x: uint) -> uint { uint::hash(x) }
fn eq_uint(&&a: uint, &&b: uint) -> bool { ret a == b; } fn eq_uint(&&a: uint, &&b: uint) -> bool { ret a == b; }
ret new_hashmap(hash_uint, eq_uint); ret hashmap(hash_uint, eq_uint);
} }
#[doc = " #[doc = "
@ -346,7 +346,7 @@ mod tests {
let eqer_str: map::eqfn<str> = str::eq; let eqer_str: map::eqfn<str> = str::eq;
#debug("uint -> uint"); #debug("uint -> uint");
let hm_uu: map::hashmap<uint, uint> = let hm_uu: map::hashmap<uint, uint> =
map::new_hashmap::<uint, uint>(hasher_uint, eqer_uint); map::hashmap::<uint, uint>(hasher_uint, eqer_uint);
assert (hm_uu.insert(10u, 12u)); assert (hm_uu.insert(10u, 12u));
assert (hm_uu.insert(11u, 13u)); assert (hm_uu.insert(11u, 13u));
assert (hm_uu.insert(12u, 14u)); assert (hm_uu.insert(12u, 14u));
@ -362,7 +362,7 @@ mod tests {
let twelve: str = "twelve"; let twelve: str = "twelve";
#debug("str -> uint"); #debug("str -> uint");
let hm_su: map::hashmap<str, uint> = let hm_su: map::hashmap<str, uint> =
map::new_hashmap::<str, uint>(hasher_str, eqer_str); map::hashmap::<str, uint>(hasher_str, eqer_str);
assert (hm_su.insert("ten", 12u)); assert (hm_su.insert("ten", 12u));
assert (hm_su.insert(eleven, 13u)); assert (hm_su.insert(eleven, 13u));
assert (hm_su.insert("twelve", 14u)); assert (hm_su.insert("twelve", 14u));
@ -376,7 +376,7 @@ mod tests {
assert (hm_su.get("twelve") == 12u); assert (hm_su.get("twelve") == 12u);
#debug("uint -> str"); #debug("uint -> str");
let hm_us: map::hashmap<uint, str> = let hm_us: map::hashmap<uint, str> =
map::new_hashmap::<uint, str>(hasher_uint, eqer_uint); map::hashmap::<uint, str>(hasher_uint, eqer_uint);
assert (hm_us.insert(10u, "twelve")); assert (hm_us.insert(10u, "twelve"));
assert (hm_us.insert(11u, "thirteen")); assert (hm_us.insert(11u, "thirteen"));
assert (hm_us.insert(12u, "fourteen")); assert (hm_us.insert(12u, "fourteen"));
@ -389,7 +389,7 @@ mod tests {
assert (str::eq(hm_us.get(12u), "twelve")); assert (str::eq(hm_us.get(12u), "twelve"));
#debug("str -> str"); #debug("str -> str");
let hm_ss: map::hashmap<str, str> = let hm_ss: map::hashmap<str, str> =
map::new_hashmap::<str, str>(hasher_str, eqer_str); map::hashmap::<str, str>(hasher_str, eqer_str);
assert (hm_ss.insert(ten, "twelve")); assert (hm_ss.insert(ten, "twelve"));
assert (hm_ss.insert(eleven, "thirteen")); assert (hm_ss.insert(eleven, "thirteen"));
assert (hm_ss.insert(twelve, "fourteen")); assert (hm_ss.insert(twelve, "fourteen"));
@ -417,7 +417,7 @@ mod tests {
let hasher_uint: map::hashfn<uint> = uint_id; let hasher_uint: map::hashfn<uint> = uint_id;
let eqer_uint: map::eqfn<uint> = eq_uint; let eqer_uint: map::eqfn<uint> = eq_uint;
let hm_uu: map::hashmap<uint, uint> = let hm_uu: map::hashmap<uint, uint> =
map::new_hashmap::<uint, uint>(hasher_uint, eqer_uint); map::hashmap::<uint, uint>(hasher_uint, eqer_uint);
let i: uint = 0u; let i: uint = 0u;
while i < num_to_insert { while i < num_to_insert {
assert (hm_uu.insert(i, i * i)); assert (hm_uu.insert(i, i * i));
@ -444,7 +444,7 @@ mod tests {
let hasher_str: map::hashfn<str> = str::hash; let hasher_str: map::hashfn<str> = str::hash;
let eqer_str: map::eqfn<str> = str::eq; let eqer_str: map::eqfn<str> = str::eq;
let hm_ss: map::hashmap<str, str> = let hm_ss: map::hashmap<str, str> =
map::new_hashmap::<str, str>(hasher_str, eqer_str); map::hashmap::<str, str>(hasher_str, eqer_str);
i = 0u; i = 0u;
while i < num_to_insert { while i < num_to_insert {
assert hm_ss.insert(uint::to_str(i, 2u), uint::to_str(i * i, 2u)); assert hm_ss.insert(uint::to_str(i, 2u), uint::to_str(i * i, 2u));
@ -497,7 +497,7 @@ mod tests {
let hasher: map::hashfn<uint> = hash; let hasher: map::hashfn<uint> = hash;
let eqer: map::eqfn<uint> = eq; let eqer: map::eqfn<uint> = eq;
let hm: map::hashmap<uint, uint> = let hm: map::hashmap<uint, uint> =
map::new_hashmap::<uint, uint>(hasher, eqer); map::hashmap::<uint, uint>(hasher, eqer);
let i: uint = 0u; let i: uint = 0u;
while i < num_to_insert { while i < num_to_insert {
assert (hm.insert(i, i * i)); assert (hm.insert(i, i * i));
@ -560,7 +560,7 @@ mod tests {
#[test] #[test]
fn test_contains_key() { fn test_contains_key() {
let key = "k"; let key = "k";
let map = map::new_hashmap::<str, str>(str::hash, str::eq); let map = map::hashmap::<str, str>(str::hash, str::eq);
assert (!map.contains_key(key)); assert (!map.contains_key(key));
map.insert(key, "val"); map.insert(key, "val");
assert (map.contains_key(key)); assert (map.contains_key(key));
@ -569,7 +569,7 @@ mod tests {
#[test] #[test]
fn test_find() { fn test_find() {
let key = "k"; let key = "k";
let map = map::new_hashmap::<str, str>(str::hash, str::eq); let map = map::hashmap::<str, str>(str::hash, str::eq);
assert (option::is_none(map.find(key))); assert (option::is_none(map.find(key)));
map.insert(key, "val"); map.insert(key, "val");
assert (option::get(map.find(key)) == "val"); assert (option::get(map.find(key)) == "val");

View file

@ -131,17 +131,17 @@ fn loop_new() -> uv_loop unsafe {
// all state goes here // all state goes here
let handles: map::hashmap<[u8], *libc::c_void> = let handles: map::hashmap<[u8], *libc::c_void> =
map::new_bytes_hash(); map::bytes_hash();
let id_to_handle: map::hashmap<[u8], uv_handle> = let id_to_handle: map::hashmap<[u8], uv_handle> =
map::new_bytes_hash(); map::bytes_hash();
let after_cbs: map::hashmap<[u8], fn~(uv_handle)> = let after_cbs: map::hashmap<[u8], fn~(uv_handle)> =
map::new_bytes_hash(); map::bytes_hash();
let close_callbacks: map::hashmap<[u8], fn~()> = let close_callbacks: map::hashmap<[u8], fn~()> =
map::new_bytes_hash(); map::bytes_hash();
let async_cbs: map::hashmap<[u8], fn~(uv_handle)> = let async_cbs: map::hashmap<[u8], fn~(uv_handle)> =
map::new_bytes_hash(); map::bytes_hash();
let timer_cbs: map::hashmap<[u8], fn~(uv_handle)> = let timer_cbs: map::hashmap<[u8], fn~(uv_handle)> =
map::new_bytes_hash(); map::bytes_hash();
// the main loop that this task blocks on. // the main loop that this task blocks on.
// should have the same lifetime as the C libuv // should have the same lifetime as the C libuv

View file

@ -178,7 +178,7 @@ fn get_install_prefix_rpath(cwd: path::path, target_triple: str) -> str {
} }
fn minimize_rpaths(rpaths: [str]) -> [str] { fn minimize_rpaths(rpaths: [str]) -> [str] {
let set = map::new_str_hash::<()>(); let set = map::str_hash::<()>();
let minimized = []; let minimized = [];
for rpath in rpaths { for rpath in rpaths {
if !set.contains_key(rpath) { if !set.contains_key(rpath) {

View file

@ -220,7 +220,7 @@ fn remove_meta_items_by_name(items: [@ast::meta_item], name: str) ->
} }
fn require_unique_names(sess: session, metas: [@ast::meta_item]) { fn require_unique_names(sess: session, metas: [@ast::meta_item]) {
let map = map::new_str_hash(); let map = map::str_hash();
for meta: @ast::meta_item in metas { for meta: @ast::meta_item in metas {
let name = get_meta_item_name(meta); let name = get_meta_item_name(meta);
if map.contains_key(name) { if map.contains_key(name) {

View file

@ -940,8 +940,8 @@ fn name_has_type(tn: type_names, s: str) -> option<TypeRef> {
fn mk_type_names() -> type_names { fn mk_type_names() -> type_names {
fn hash(&&t: TypeRef) -> uint { ret t as uint; } fn hash(&&t: TypeRef) -> uint { ret t as uint; }
fn eq(&&a: TypeRef, &&b: TypeRef) -> bool { ret a as uint == b as uint; } fn eq(&&a: TypeRef, &&b: TypeRef) -> bool { ret a as uint == b as uint; }
@{type_names: std::map::new_hashmap(hash, eq), @{type_names: std::map::hashmap(hash, eq),
named_types: std::map::new_str_hash()} named_types: std::map::str_hash()}
} }
fn type_to_str(names: type_names, ty: TypeRef) -> str { fn type_to_str(names: type_names, ty: TypeRef) -> str {

View file

@ -951,7 +951,7 @@ fn roundtrip(in_item: @ast::item) {
let mbuf = io::mem_buffer(); let mbuf = io::mem_buffer();
let ebml_w = ebml::writer(io::mem_buffer_writer(mbuf)); let ebml_w = ebml::writer(io::mem_buffer_writer(mbuf));
encode_item_ast(ebml_w, in_item); encode_item_ast(ebml_w, in_item);
let ebml_doc = ebml::new_doc(@io::mem_buffer_buf(mbuf)); let ebml_doc = ebml::doc(@io::mem_buffer_buf(mbuf));
let out_item = decode_item_ast(ebml_doc); let out_item = decode_item_ast(ebml_doc);
#debug["out_item = %s", pprust::item_to_str(out_item)]; #debug["out_item = %s", pprust::item_to_str(out_item)];
assert in_item == out_item; assert in_item == out_item;

View file

@ -9,7 +9,7 @@ import syntax::visit;
import syntax::codemap::span; import syntax::codemap::span;
import util::{filesearch}; import util::{filesearch};
import io::writer_util; import io::writer_util;
import std::map::{hashmap, new_int_hash}; import std::map::{hashmap, int_hash};
import syntax::print::pprust; import syntax::print::pprust;
import common::*; import common::*;
@ -20,7 +20,7 @@ export list_file_metadata;
// libraries necessary for later resolving, typechecking, linking, etc. // libraries necessary for later resolving, typechecking, linking, etc.
fn read_crates(sess: session::session, crate: ast::crate) { fn read_crates(sess: session::session, crate: ast::crate) {
let e = @{sess: sess, let e = @{sess: sess,
crate_cache: std::map::new_str_hash::<int>(), crate_cache: std::map::str_hash::<int>(),
mutable next_crate_num: 1}; mutable next_crate_num: 1};
let v = let v =
visit::mk_simple_visitor(@{visit_view_item: visit::mk_simple_visitor(@{visit_view_item:
@ -275,7 +275,7 @@ fn resolve_crate_deps(e: env, cdata: @[u8]) -> cstore::cnum_map {
#debug("resolving deps of external crate"); #debug("resolving deps of external crate");
// The map from crate numbers in the crate we're resolving to local crate // The map from crate numbers in the crate we're resolving to local crate
// numbers // numbers
let cnum_map = new_int_hash::<ast::crate_num>(); let cnum_map = int_hash::<ast::crate_num>();
for dep: decoder::crate_dep in decoder::get_crate_deps(cdata) { for dep: decoder::crate_dep in decoder::get_crate_deps(cdata) {
let extrn_cnum = dep.cnum; let extrn_cnum = dep.cnum;
let cname = dep.ident; let cname = dep.ident;

View file

@ -64,8 +64,8 @@ type use_crate_map = map::hashmap<ast::node_id, ast::crate_num>;
fn p(cstore: cstore) -> cstore_private { alt cstore { private(p) { p } } } fn p(cstore: cstore) -> cstore_private { alt cstore { private(p) { p } } }
fn mk_cstore() -> cstore { fn mk_cstore() -> cstore {
let meta_cache = map::new_int_hash::<crate_metadata>(); let meta_cache = map::int_hash::<crate_metadata>();
let crate_map = map::new_int_hash::<ast::crate_num>(); let crate_map = map::int_hash::<ast::crate_num>();
let mod_path_map = new_def_hash(); let mod_path_map = new_def_hash();
ret private(@{metas: meta_cache, ret private(@{metas: meta_cache,
use_crate_map: crate_map, use_crate_map: crate_map,

View file

@ -81,7 +81,7 @@ fn find_item(item_id: int, items: ebml::doc) -> ebml::doc {
// Looks up an item in the given metadata and returns an ebml doc pointing // Looks up an item in the given metadata and returns an ebml doc pointing
// to the item data. // to the item data.
fn lookup_item(item_id: int, data: @[u8]) -> ebml::doc { fn lookup_item(item_id: int, data: @[u8]) -> ebml::doc {
let items = ebml::get_doc(ebml::new_doc(data), tag_items); let items = ebml::get_doc(ebml::doc(data), tag_items);
ret find_item(item_id, items); ret find_item(item_id, items);
} }
@ -169,7 +169,7 @@ fn resolve_path(path: [ast::ident], data: @[u8]) -> [ast::def_id] {
ret str::eq(str::from_bytes(data), s); ret str::eq(str::from_bytes(data), s);
} }
let s = str::connect(path, "::"); let s = str::connect(path, "::");
let md = ebml::new_doc(data); let md = ebml::doc(data);
let paths = ebml::get_doc(md, tag_paths); let paths = ebml::get_doc(md, tag_paths);
let eqer = bind eq_item(_, s); let eqer = bind eq_item(_, s);
let result: [ast::def_id] = []; let result: [ast::def_id] = [];
@ -274,7 +274,7 @@ fn maybe_get_item_ast(cdata: cmd, tcx: ty::ctxt, maps: maps,
fn get_enum_variants(cdata: cmd, id: ast::node_id, tcx: ty::ctxt) fn get_enum_variants(cdata: cmd, id: ast::node_id, tcx: ty::ctxt)
-> [ty::variant_info] { -> [ty::variant_info] {
let data = cdata.data; let data = cdata.data;
let items = ebml::get_doc(ebml::new_doc(data), tag_items); let items = ebml::get_doc(ebml::doc(data), tag_items);
let item = find_item(id, items); let item = find_item(id, items);
let infos: [ty::variant_info] = []; let infos: [ty::variant_info] = [];
let variant_ids = enum_variant_ids(item, cdata); let variant_ids = enum_variant_ids(item, cdata);
@ -459,14 +459,14 @@ fn list_crate_attributes(md: ebml::doc, hash: str, out: io::writer) {
} }
fn get_crate_attributes(data: @[u8]) -> [ast::attribute] { fn get_crate_attributes(data: @[u8]) -> [ast::attribute] {
ret get_attributes(ebml::new_doc(data)); ret get_attributes(ebml::doc(data));
} }
type crate_dep = {cnum: ast::crate_num, ident: str}; type crate_dep = {cnum: ast::crate_num, ident: str};
fn get_crate_deps(data: @[u8]) -> [crate_dep] { fn get_crate_deps(data: @[u8]) -> [crate_dep] {
let deps: [crate_dep] = []; let deps: [crate_dep] = [];
let cratedoc = ebml::new_doc(data); let cratedoc = ebml::doc(data);
let depsdoc = ebml::get_doc(cratedoc, tag_crate_deps); let depsdoc = ebml::get_doc(cratedoc, tag_crate_deps);
let crate_num = 1; let crate_num = 1;
ebml::tagged_docs(depsdoc, tag_crate_dep) {|depdoc| ebml::tagged_docs(depsdoc, tag_crate_dep) {|depdoc|
@ -488,7 +488,7 @@ fn list_crate_deps(data: @[u8], out: io::writer) {
} }
fn get_crate_hash(data: @[u8]) -> str { fn get_crate_hash(data: @[u8]) -> str {
let cratedoc = ebml::new_doc(data); let cratedoc = ebml::doc(data);
let hashdoc = ebml::get_doc(cratedoc, tag_crate_hash); let hashdoc = ebml::get_doc(cratedoc, tag_crate_hash);
ret str::from_bytes(ebml::doc_data(hashdoc)); ret str::from_bytes(ebml::doc_data(hashdoc));
} }
@ -503,7 +503,7 @@ fn list_crate_items(bytes: @[u8], md: ebml::doc, out: io::writer) {
} }
fn iter_crate_items(bytes: @[u8], proc: fn(str, ast::def_id)) { fn iter_crate_items(bytes: @[u8], proc: fn(str, ast::def_id)) {
let md = ebml::new_doc(bytes); let md = ebml::doc(bytes);
let paths = ebml::get_doc(md, tag_paths); let paths = ebml::get_doc(md, tag_paths);
let index = ebml::get_doc(paths, tag_index); let index = ebml::get_doc(paths, tag_index);
let bs = ebml::get_doc(index, tag_index_buckets); let bs = ebml::get_doc(index, tag_index_buckets);
@ -527,7 +527,7 @@ fn get_crate_module_paths(bytes: @[u8]) -> [(ast::def_id, str)] {
// find all module (path, def_ids), which are not // find all module (path, def_ids), which are not
// fowarded path due to renamed import or reexport // fowarded path due to renamed import or reexport
let res = []; let res = [];
let mods = map::new_str_hash(); let mods = map::str_hash();
iter_crate_items(bytes) {|path, did| iter_crate_items(bytes) {|path, did|
let m = mod_of_path(path); let m = mod_of_path(path);
if str::is_not_empty(m) { if str::is_not_empty(m) {
@ -547,7 +547,7 @@ fn get_crate_module_paths(bytes: @[u8]) -> [(ast::def_id, str)] {
fn list_crate_metadata(bytes: @[u8], out: io::writer) { fn list_crate_metadata(bytes: @[u8], out: io::writer) {
let hash = get_crate_hash(bytes); let hash = get_crate_hash(bytes);
let md = ebml::new_doc(bytes); let md = ebml::doc(bytes);
list_crate_attributes(md, hash, out); list_crate_attributes(md, hash, out);
list_crate_deps(bytes, out); list_crate_deps(bytes, out);
list_crate_items(bytes, md, out); list_crate_items(bytes, md, out);

View file

@ -21,7 +21,7 @@ type ctx = {ccx: @middle::trans::common::crate_ctxt,
fn find_reachable(ccx: @middle::trans::common::crate_ctxt, crate_mod: _mod) fn find_reachable(ccx: @middle::trans::common::crate_ctxt, crate_mod: _mod)
-> map { -> map {
let rmap = std::map::new_int_hash(); let rmap = std::map::int_hash();
traverse_public_mod({ccx: ccx, rmap: rmap}, crate_mod); traverse_public_mod({ccx: ccx, rmap: rmap}, crate_mod);
rmap rmap
} }

View file

@ -62,8 +62,8 @@ fn check_crate(tcx: ty::ctxt, crate: @ast::crate) -> (copy_map, ref_map) {
// Stores information about function arguments that's otherwise not easily // Stores information about function arguments that's otherwise not easily
// available. // available.
let cx = @{tcx: tcx, let cx = @{tcx: tcx,
copy_map: std::map::new_int_hash(), copy_map: std::map::int_hash(),
ref_map: std::map::new_int_hash(), ref_map: std::map::int_hash(),
mutable silent: false}; mutable silent: false};
let v = @{visit_fn: bind visit_fn(cx, _, _, _, _, _, _, _), let v = @{visit_fn: bind visit_fn(cx, _, _, _, _, _, _, _),
visit_expr: bind visit_expr(cx, _, _, _), visit_expr: bind visit_expr(cx, _, _, _),

View file

@ -60,7 +60,7 @@ fn mk_ast_map_visitor() -> vt {
} }
fn map_crate(sess: session, c: crate) -> map { fn map_crate(sess: session, c: crate) -> map {
let cx = {map: std::map::new_int_hash(), let cx = {map: std::map::int_hash(),
mutable path: [], mutable path: [],
mutable local_id: 0u, mutable local_id: 0u,
sess: sess}; sess: sess};

View file

@ -34,7 +34,7 @@ fn check_capture_clause(tcx: ty::ctxt,
fn_proto: ast::proto, fn_proto: ast::proto,
cap_clause: ast::capture_clause) { cap_clause: ast::capture_clause) {
let freevars = freevars::get_freevars(tcx, fn_expr_id); let freevars = freevars::get_freevars(tcx, fn_expr_id);
let seen_defs = map::new_int_hash(); let seen_defs = map::int_hash();
let check_capture_item = fn@(&&cap_item: @ast::capture_item) { let check_capture_item = fn@(&&cap_item: @ast::capture_item) {
let cap_def = tcx.def_map.get(cap_item.id); let cap_def = tcx.def_map.get(cap_item.id);
@ -93,7 +93,7 @@ fn compute_capture_vars(tcx: ty::ctxt,
fn_proto: ast::proto, fn_proto: ast::proto,
cap_clause: ast::capture_clause) -> [capture_var] { cap_clause: ast::capture_clause) -> [capture_var] {
let freevars = freevars::get_freevars(tcx, fn_expr_id); let freevars = freevars::get_freevars(tcx, fn_expr_id);
let cap_map = map::new_int_hash(); let cap_map = map::int_hash();
vec::iter(cap_clause.copies) { |cap_item| vec::iter(cap_clause.copies) { |cap_item|
let cap_def = tcx.def_map.get(cap_item.id); let cap_def = tcx.def_map.get(cap_item.id);

View file

@ -31,7 +31,7 @@ type freevar_map = hashmap<ast::node_id, freevar_info>;
// in order to start the search. // in order to start the search.
fn collect_freevars(def_map: resolve::def_map, blk: ast::blk) fn collect_freevars(def_map: resolve::def_map, blk: ast::blk)
-> freevar_info { -> freevar_info {
let seen = new_int_hash(); let seen = int_hash();
let refs = @mutable []; let refs = @mutable [];
fn ignore_item(_i: @ast::item, &&_depth: int, _v: visit::vt<int>) { } fn ignore_item(_i: @ast::item, &&_depth: int, _v: visit::vt<int>) { }
@ -86,7 +86,7 @@ fn collect_freevars(def_map: resolve::def_map, blk: ast::blk)
// one pass. This could be improved upon if it turns out to matter. // one pass. This could be improved upon if it turns out to matter.
fn annotate_freevars(def_map: resolve::def_map, crate: @ast::crate) -> fn annotate_freevars(def_map: resolve::def_map, crate: @ast::crate) ->
freevar_map { freevar_map {
let freevars = new_int_hash(); let freevars = int_hash();
let walk_fn = fn@(_fk: visit::fn_kind, _decl: ast::fn_decl, let walk_fn = fn@(_fk: visit::fn_kind, _decl: ast::fn_decl,
blk: ast::blk, _sp: span, nid: ast::node_id) { blk: ast::blk, _sp: span, nid: ast::node_id) {

View file

@ -39,7 +39,7 @@ fn check_crate(tcx: ty::ctxt, method_map: typeck::method_map,
last_uses: last_use::last_uses, crate: @crate) last_uses: last_use::last_uses, crate: @crate)
-> rval_map { -> rval_map {
let ctx = {tcx: tcx, let ctx = {tcx: tcx,
rval_map: std::map::new_int_hash(), rval_map: std::map::int_hash(),
method_map: method_map, method_map: method_map,
last_uses: last_uses}; last_uses: last_uses};
let visit = visit::mk_vt(@{ let visit = visit::mk_vt(@{

View file

@ -58,14 +58,14 @@ fn find_last_uses(c: @crate, def_map: resolve::def_map,
visit_stmt: visit_stmt, visit_stmt: visit_stmt,
visit_fn: visit_fn visit_fn: visit_fn
with *visit::default_visitor()}); with *visit::default_visitor()});
let cx = {last_uses: std::map::new_hashmap(hash_use_id, {|a, b| a == b}), let cx = {last_uses: std::map::hashmap(hash_use_id, {|a, b| a == b}),
def_map: def_map, def_map: def_map,
ref_map: ref_map, ref_map: ref_map,
tcx: tcx, tcx: tcx,
mutable current: [], mutable current: [],
mutable blocks: nil}; mutable blocks: nil};
visit::visit_crate(*c, cx, v); visit::visit_crate(*c, cx, v);
let mini_table = std::map::new_int_hash(); let mini_table = std::map::int_hash();
cx.last_uses.items {|key, val| cx.last_uses.items {|key, val|
if !val { ret; } if !val { ret; }
alt key { alt key {

View file

@ -123,7 +123,7 @@ type mutbl_map = std::map::hashmap<node_id, ()>;
type ctx = {tcx: ty::ctxt, mutbl_map: mutbl_map}; type ctx = {tcx: ty::ctxt, mutbl_map: mutbl_map};
fn check_crate(tcx: ty::ctxt, crate: @crate) -> mutbl_map { fn check_crate(tcx: ty::ctxt, crate: @crate) -> mutbl_map {
let cx = @{tcx: tcx, mutbl_map: std::map::new_int_hash()}; let cx = @{tcx: tcx, mutbl_map: std::map::int_hash()};
let v = @{visit_expr: bind visit_expr(cx, _, _, _), let v = @{visit_expr: bind visit_expr(cx, _, _, _),
visit_decl: bind visit_decl(cx, _, _, _) visit_decl: bind visit_decl(cx, _, _, _)
with *visit::default_visitor()}; with *visit::default_visitor()};

View file

@ -16,7 +16,7 @@ type pat_id_map = std::map::hashmap<str, node_id>;
// This is used because same-named variables in alternative patterns need to // This is used because same-named variables in alternative patterns need to
// use the node_id of their namesake in the first pattern. // use the node_id of their namesake in the first pattern.
fn pat_id_map(dm: resolve::def_map, pat: @pat) -> pat_id_map { fn pat_id_map(dm: resolve::def_map, pat: @pat) -> pat_id_map {
let map = std::map::new_str_hash(); let map = std::map::str_hash();
pat_bindings(dm, pat) {|p_id, _s, n| pat_bindings(dm, pat) {|p_id, _s, n|
map.insert(path_to_ident(n), p_id); map.insert(path_to_ident(n), p_id);
}; };

View file

@ -296,14 +296,14 @@ fn resolve_crate(sess: session, def_map: resolve::def_map, crate: @ast::crate)
-> @region_map { -> @region_map {
let cx: ctxt = {sess: sess, let cx: ctxt = {sess: sess,
def_map: def_map, def_map: def_map,
region_map: @{parents: map::new_int_hash(), region_map: @{parents: map::int_hash(),
ast_type_to_region: map::new_int_hash(), ast_type_to_region: map::int_hash(),
local_blocks: map::new_int_hash(), local_blocks: map::int_hash(),
region_name_to_fn: new_def_hash(), region_name_to_fn: new_def_hash(),
ast_type_to_inferred_region: ast_type_to_inferred_region:
map::new_int_hash(), map::int_hash(),
call_site_to_block: map::new_int_hash(), call_site_to_block: map::int_hash(),
rvalue_to_block: map::new_int_hash()}, rvalue_to_block: map::int_hash()},
mut bindings: @list::nil, mut bindings: @list::nil,
mut queued_locals: [], mut queued_locals: [],
parent: pa_crate, parent: pa_crate,

View file

@ -8,12 +8,11 @@ import front::attr;
import metadata::{csearch, cstore}; import metadata::{csearch, cstore};
import driver::session::session; import driver::session::session;
import util::common::*; import util::common::*;
import std::map::{new_int_hash, new_str_hash, new_hashmap}; import std::map::{int_hash, str_hash, hashmap};
import syntax::codemap::span; import syntax::codemap::span;
import syntax::visit; import syntax::visit;
import visit::vt; import visit::vt;
import std::{list, deque}; import std::{list, deque};
import std::map::hashmap;
import std::list::{list, nil, cons}; import std::list::{list, nil, cons};
import option::{is_none, is_some}; import option::{is_none, is_some};
import syntax::print::pprust::*; import syntax::print::pprust::*;
@ -82,7 +81,7 @@ fn new_ext_hash() -> ext_hash {
ret util::common::def_eq(v1.did, v2.did) && ret util::common::def_eq(v1.did, v2.did) &&
str::eq(v1.ident, v2.ident) && v1.ns == v2.ns; str::eq(v1.ident, v2.ident) && v1.ns == v2.ns;
} }
ret std::map::new_hashmap::<key, def>(hash, eq); ret std::map::hashmap::<key, def>(hash, eq);
} }
enum mod_index_entry { enum mod_index_entry {
@ -187,14 +186,14 @@ fn resolve_crate_reexports(sess: session, amap: ast_map::map,
fn create_env(sess: session, amap: ast_map::map) -> @env { fn create_env(sess: session, amap: ast_map::map) -> @env {
@{cstore: sess.cstore, @{cstore: sess.cstore,
def_map: new_int_hash(), def_map: int_hash(),
ast_map: amap, ast_map: amap,
imports: new_int_hash(), imports: int_hash(),
mutable exp_map: new_int_hash(), mutable exp_map: int_hash(),
mod_map: new_int_hash(), mod_map: int_hash(),
block_map: new_int_hash(), block_map: int_hash(),
ext_map: new_def_hash(), ext_map: new_def_hash(),
impl_map: new_int_hash(), impl_map: int_hash(),
impl_cache: new_def_hash(), impl_cache: new_def_hash(),
ext_cache: new_ext_hash(), ext_cache: new_ext_hash(),
used_imports: {mutable track: false, mutable data: []}, used_imports: {mutable track: false, mutable data: []},
@ -289,7 +288,7 @@ fn map_crate(e: @env, c: @ast::crate) {
index: index_mod(md), index: index_mod(md),
mutable glob_imports: [], mutable glob_imports: [],
mutable globbed_exports: [], mutable globbed_exports: [],
glob_imported_names: new_str_hash(), glob_imported_names: str_hash(),
path: path_from_scope(sc, i.ident)}); path: path_from_scope(sc, i.ident)});
} }
ast::item_native_mod(nmd) { ast::item_native_mod(nmd) {
@ -298,7 +297,7 @@ fn map_crate(e: @env, c: @ast::crate) {
index: index_nmod(nmd), index: index_nmod(nmd),
mutable glob_imports: [], mutable glob_imports: [],
mutable globbed_exports: [], mutable globbed_exports: [],
glob_imported_names: new_str_hash(), glob_imported_names: str_hash(),
path: path_from_scope(sc, i.ident)}); path: path_from_scope(sc, i.ident)});
} }
_ { } _ { }
@ -357,7 +356,7 @@ fn map_crate(e: @env, c: @ast::crate) {
index: index_mod(c.node.module), index: index_mod(c.node.module),
mutable glob_imports: [], mutable glob_imports: [],
mutable globbed_exports: [], mutable globbed_exports: [],
glob_imported_names: new_str_hash(), glob_imported_names: str_hash(),
path: ""}); path: ""});
// Next, assemble the links for globbed imports and exports. // Next, assemble the links for globbed imports and exports.
@ -1660,7 +1659,7 @@ fn index_view_items(view_items: [@ast::view_item],
} }
fn index_mod(md: ast::_mod) -> mod_index { fn index_mod(md: ast::_mod) -> mod_index {
let index = new_str_hash::<list<mod_index_entry>>(); let index = str_hash::<list<mod_index_entry>>();
index_view_items(md.view_items, index); index_view_items(md.view_items, index);
@ -1705,7 +1704,7 @@ fn index_mod(md: ast::_mod) -> mod_index {
fn index_nmod(md: ast::native_mod) -> mod_index { fn index_nmod(md: ast::native_mod) -> mod_index {
let index = new_str_hash::<list<mod_index_entry>>(); let index = str_hash::<list<mod_index_entry>>();
index_view_items(md.view_items, index); index_view_items(md.view_items, index);
@ -2141,7 +2140,7 @@ fn check_exports(e: @env) {
e.mod_map.values {|_mod| e.mod_map.values {|_mod|
alt _mod.m { alt _mod.m {
some(m) { some(m) {
let glob_is_re_exported = new_int_hash(); let glob_is_re_exported = int_hash();
for vi in m.view_items { for vi in m.view_items {
iter_export_paths(*vi) { |vp| iter_export_paths(*vi) { |vp|

View file

@ -16,7 +16,7 @@
import libc::c_uint; import libc::c_uint;
import std::{map, time}; import std::{map, time};
import std::map::hashmap; import std::map::hashmap;
import std::map::{new_int_hash, new_str_hash}; import std::map::{int_hash, str_hash};
import driver::session; import driver::session;
import session::session; import session::session;
import front::attr; import front::attr;
@ -3965,9 +3965,9 @@ fn new_fn_ctxt_w_id(ccx: @crate_ctxt, path: path,
mutable llobstacktoken: none::<ValueRef>, mutable llobstacktoken: none::<ValueRef>,
mutable llself: none, mutable llself: none,
mutable personality: none, mutable personality: none,
llargs: new_int_hash::<local_val>(), llargs: int_hash::<local_val>(),
lllocals: new_int_hash::<local_val>(), lllocals: int_hash::<local_val>(),
llupvars: new_int_hash::<ValueRef>(), llupvars: int_hash::<ValueRef>(),
mutable lltyparams: [], mutable lltyparams: [],
derived_tydescs: ty::new_ty_hash(), derived_tydescs: ty::new_ty_hash(),
id: id, id: id,
@ -4842,7 +4842,7 @@ fn declare_intrinsics(llmod: ModuleRef) -> hashmap<str, ValueRef> {
decl_cdecl_fn(llmod, "llvm.memset.p0i8.i64", decl_cdecl_fn(llmod, "llvm.memset.p0i8.i64",
T_fn(T_memset64_args, T_void())); T_fn(T_memset64_args, T_void()));
let trap = decl_cdecl_fn(llmod, "llvm.trap", T_fn(T_trap_args, T_void())); let trap = decl_cdecl_fn(llmod, "llvm.trap", T_fn(T_trap_args, T_void()));
let intrinsics = new_str_hash::<ValueRef>(); let intrinsics = str_hash::<ValueRef>();
intrinsics.insert("llvm.gcroot", gcroot); intrinsics.insert("llvm.gcroot", gcroot);
intrinsics.insert("llvm.gcread", gcread); intrinsics.insert("llvm.gcread", gcread);
intrinsics.insert("llvm.memmove.p0i8.p0i8.i32", memmove32); intrinsics.insert("llvm.memmove.p0i8.p0i8.i32", memmove32);
@ -5002,7 +5002,7 @@ fn trans_crate(sess: session::session, crate: @ast::crate, tcx: ty::ctxt,
lib::llvm::associate_type(tn, "tydesc", tydesc_type); lib::llvm::associate_type(tn, "tydesc", tydesc_type);
let crate_map = decl_crate_map(sess, link_meta.name, llmod); let crate_map = decl_crate_map(sess, link_meta.name, llmod);
let dbg_cx = if sess.opts.debuginfo { let dbg_cx = if sess.opts.debuginfo {
option::some(@{llmetadata: map::new_int_hash(), option::some(@{llmetadata: map::int_hash(),
names: new_namegen()}) names: new_namegen()})
} else { } else {
option::none option::none
@ -5013,21 +5013,21 @@ fn trans_crate(sess: session::session, crate: @ast::crate, tcx: ty::ctxt,
llmod: llmod, llmod: llmod,
td: td, td: td,
tn: tn, tn: tn,
externs: new_str_hash::<ValueRef>(), externs: str_hash::<ValueRef>(),
intrinsics: intrinsics, intrinsics: intrinsics,
item_vals: new_int_hash::<ValueRef>(), item_vals: int_hash::<ValueRef>(),
exp_map: emap, exp_map: emap,
item_symbols: new_int_hash::<str>(), item_symbols: int_hash::<str>(),
mutable main_fn: none::<ValueRef>, mutable main_fn: none::<ValueRef>,
link_meta: link_meta, link_meta: link_meta,
enum_sizes: ty::new_ty_hash(), enum_sizes: ty::new_ty_hash(),
discrims: ast_util::new_def_id_hash::<ValueRef>(), discrims: ast_util::new_def_id_hash::<ValueRef>(),
discrim_symbols: new_int_hash::<str>(), discrim_symbols: int_hash::<str>(),
tydescs: ty::new_ty_hash(), tydescs: ty::new_ty_hash(),
dicts: map::new_hashmap(hash_dict_id, {|a, b| a == b}), dicts: map::hashmap(hash_dict_id, {|a, b| a == b}),
external: util::common::new_def_hash(), external: util::common::new_def_hash(),
monomorphized: map::new_hashmap(hash_mono_id, {|a, b| a == b}), monomorphized: map::hashmap(hash_mono_id, {|a, b| a == b}),
module_data: new_str_hash::<ValueRef>(), module_data: str_hash::<ValueRef>(),
lltypes: ty::new_ty_hash(), lltypes: ty::new_ty_hash(),
names: new_namegen(), names: new_namegen(),
sha: sha, sha: sha,

View file

@ -4,7 +4,7 @@ import syntax::ast::*;
import syntax::ast_util::*; import syntax::ast_util::*;
import syntax::{visit, codemap}; import syntax::{visit, codemap};
import codemap::span; import codemap::span;
import std::map::{hashmap, new_int_hash}; import std::map::{hashmap, int_hash};
import syntax::print::pprust::path_to_str; import syntax::print::pprust::path_to_str;
import tstate::ann::{pre_and_post, pre_and_post_state, empty_ann, prestate, import tstate::ann::{pre_and_post, pre_and_post_state, empty_ann, prestate,
poststate, precond, postcond, poststate, precond, postcond,
@ -484,7 +484,7 @@ fn num_constraints(m: fn_info) -> uint { ret m.num_constraints; }
fn new_crate_ctxt(cx: ty::ctxt) -> crate_ctxt { fn new_crate_ctxt(cx: ty::ctxt) -> crate_ctxt {
let na: [mutable ts_ann] = [mutable]; let na: [mutable ts_ann] = [mutable];
ret {tcx: cx, node_anns: @mutable na, fm: new_int_hash::<fn_info>()}; ret {tcx: cx, node_anns: @mutable na, fm: int_hash::<fn_info>()};
} }
/* Use e's type to determine whether it returns. /* Use e's type to determine whether it returns.

View file

@ -332,18 +332,18 @@ fn mk_rcache() -> creader_cache {
fn eq_cache_entries(a: val, b: val) -> bool { fn eq_cache_entries(a: val, b: val) -> bool {
ret a.cnum == b.cnum && a.pos == b.pos && a.len == b.len; ret a.cnum == b.cnum && a.pos == b.pos && a.len == b.len;
} }
ret map::new_hashmap(hash_cache_entry, eq_cache_entries); ret map::hashmap(hash_cache_entry, eq_cache_entries);
} }
fn new_ty_hash<V: copy>() -> map::hashmap<t, V> { fn new_ty_hash<V: copy>() -> map::hashmap<t, V> {
map::new_hashmap({|&&t: t| type_id(t)}, map::hashmap({|&&t: t| type_id(t)},
{|&&a: t, &&b: t| type_id(a) == type_id(b)}) {|&&a: t, &&b: t| type_id(a) == type_id(b)})
} }
fn mk_ctxt(s: session::session, dm: resolve::def_map, amap: ast_map::map, fn mk_ctxt(s: session::session, dm: resolve::def_map, amap: ast_map::map,
freevars: freevars::freevar_map, freevars: freevars::freevar_map,
region_map: @middle::region::region_map) -> ctxt { region_map: @middle::region::region_map) -> ctxt {
let interner = map::new_hashmap({|&&k: intern_key| let interner = map::hashmap({|&&k: intern_key|
hash_type_structure(k.struct) + hash_type_structure(k.struct) +
option::maybe(0u, k.o_def_id, ast_util::hash_def_id) option::maybe(0u, k.o_def_id, ast_util::hash_def_id)
}, {|&&a, &&b| a == b}); }, {|&&a, &&b| a == b});
@ -353,7 +353,7 @@ fn mk_ctxt(s: session::session, dm: resolve::def_map, amap: ast_map::map,
def_map: dm, def_map: dm,
region_map: region_map, region_map: region_map,
node_types: @smallintmap::mk(), node_types: @smallintmap::mk(),
node_type_substs: map::new_int_hash(), node_type_substs: map::int_hash(),
items: amap, items: amap,
freevars: freevars, freevars: freevars,
tcache: new_def_hash(), tcache: new_def_hash(),
@ -361,12 +361,12 @@ fn mk_ctxt(s: session::session, dm: resolve::def_map, amap: ast_map::map,
short_names_cache: new_ty_hash(), short_names_cache: new_ty_hash(),
needs_drop_cache: new_ty_hash(), needs_drop_cache: new_ty_hash(),
kind_cache: new_ty_hash(), kind_cache: new_ty_hash(),
ast_ty_to_ty_cache: map::new_hashmap( ast_ty_to_ty_cache: map::hashmap(
ast_util::hash_ty, ast_util::eq_ty), ast_util::hash_ty, ast_util::eq_ty),
enum_var_cache: new_def_hash(), enum_var_cache: new_def_hash(),
iface_method_cache: new_def_hash(), iface_method_cache: new_def_hash(),
ty_param_bounds: map::new_int_hash(), ty_param_bounds: map::int_hash(),
inferred_modes: map::new_int_hash()} inferred_modes: map::int_hash()}
} }

View file

@ -13,7 +13,7 @@ import middle::ty::{node_id_to_type, arg, block_ty,
ty_param_bounds_and_ty, lookup_class_items}; ty_param_bounds_and_ty, lookup_class_items};
import util::ppaux::ty_to_str; import util::ppaux::ty_to_str;
import std::smallintmap; import std::smallintmap;
import std::map::{hashmap, new_int_hash}; import std::map::{hashmap, int_hash};
import syntax::print::pprust::*; import syntax::print::pprust::*;
export check_crate; export check_crate;
@ -1354,7 +1354,7 @@ fn gather_locals(ccx: @crate_ctxt,
let {vb: vb, locals: locals, nvi: nvi} = alt old_fcx { let {vb: vb, locals: locals, nvi: nvi} = alt old_fcx {
none { none {
{vb: ty::unify::mk_var_bindings(), {vb: ty::unify::mk_var_bindings(),
locals: new_int_hash::<int>(), locals: int_hash::<int>(),
nvi: @mutable 0} nvi: @mutable 0}
} }
some(fcx) { some(fcx) {
@ -2956,7 +2956,7 @@ fn check_const(ccx: @crate_ctxt, _sp: span, e: @ast::expr, id: ast::node_id) {
purity: ast::pure_fn, purity: ast::pure_fn,
proto: ast::proto_box, proto: ast::proto_box,
var_bindings: ty::unify::mk_var_bindings(), var_bindings: ty::unify::mk_var_bindings(),
locals: new_int_hash::<int>(), locals: int_hash::<int>(),
next_var_id: @mutable 0, next_var_id: @mutable 0,
ccx: ccx}; ccx: ccx};
check_expr(fcx, e); check_expr(fcx, e);
@ -2975,7 +2975,7 @@ fn check_enum_variants(ccx: @crate_ctxt, sp: span, vs: [ast::variant],
purity: ast::pure_fn, purity: ast::pure_fn,
proto: ast::proto_box, proto: ast::proto_box,
var_bindings: ty::unify::mk_var_bindings(), var_bindings: ty::unify::mk_var_bindings(),
locals: new_int_hash::<int>(), locals: int_hash::<int>(),
next_var_id: @mutable 0, next_var_id: @mutable 0,
ccx: ccx}; ccx: ccx};
let disr_vals: [int] = []; let disr_vals: [int] = [];
@ -3192,7 +3192,7 @@ fn check_method(ccx: @crate_ctxt, method: @ast::method) {
} }
fn class_types(ccx: @crate_ctxt, members: [@ast::class_item]) -> class_map { fn class_types(ccx: @crate_ctxt, members: [@ast::class_item]) -> class_map {
let rslt = new_int_hash::<ty::t>(); let rslt = int_hash::<ty::t>();
for m in members { for m in members {
alt m.node.decl { alt m.node.decl {
ast::instance_var(_,t,_,id) { ast::instance_var(_,t,_,id) {
@ -3513,10 +3513,10 @@ fn check_crate(tcx: ty::ctxt, impl_map: resolve::impl_map,
let ccx = @{mutable self_infos: [], let ccx = @{mutable self_infos: [],
impl_map: impl_map, impl_map: impl_map,
method_map: std::map::new_int_hash(), method_map: std::map::int_hash(),
dict_map: std::map::new_int_hash(), dict_map: std::map::int_hash(),
enclosing_class_id: none, enclosing_class_id: none,
enclosing_class: std::map::new_int_hash(), enclosing_class: std::map::int_hash(),
tcx: tcx}; tcx: tcx};
let visit = visit::mk_simple_visitor(@{ let visit = visit::mk_simple_visitor(@{
visit_item: bind check_item(ccx, _) visit_item: bind check_item(ccx, _)

View file

@ -227,7 +227,7 @@ fn eq_def_id(&&a: def_id, &&b: def_id) -> bool {
} }
fn new_def_id_hash<T: copy>() -> std::map::hashmap<def_id, T> { fn new_def_id_hash<T: copy>() -> std::map::hashmap<def_id, T> {
std::map::new_hashmap(hash_def_id, eq_def_id) std::map::hashmap(hash_def_id, eq_def_id)
} }
fn block_from_expr(e: @expr) -> blk { fn block_from_expr(e: @expr) -> blk {

View file

@ -506,7 +506,7 @@ fn mk_ser_fn(cx: ext_ctxt, span: span, name: str, tps: [ast::ty_param],
id: cx.next_id()}] id: cx.next_id()}]
+ tp_inputs; + tp_inputs;
let tps_map = map::new_str_hash(); let tps_map = map::str_hash();
vec::iter2(tps, tp_inputs) {|tp, arg| vec::iter2(tps, tp_inputs) {|tp, arg|
let arg_ident = arg.ident; let arg_ident = arg.ident;
tps_map.insert( tps_map.insert(
@ -704,7 +704,7 @@ fn mk_deser_fn(cx: ext_ctxt, span: span, name: str, tps: [ast::ty_param],
id: cx.next_id()}] id: cx.next_id()}]
+ tp_inputs; + tp_inputs;
let tps_map = map::new_str_hash(); let tps_map = map::str_hash();
vec::iter2(tps, tp_inputs) {|tp, arg| vec::iter2(tps, tp_inputs) {|tp, arg|
let arg_ident = arg.ident; let arg_ident = arg.ident;
tps_map.insert( tps_map.insert(

View file

@ -1,7 +1,7 @@
import std::map::hashmap; import std::map::hashmap;
import driver::session::session; import driver::session::session;
import codemap::{span, expn_info, expanded_from}; import codemap::{span, expn_info, expanded_from};
import std::map::new_str_hash; import std::map::str_hash;
type syntax_expander_ = type syntax_expander_ =
fn@(ext_ctxt, span, ast::mac_arg, ast::mac_body) -> @ast::expr; fn@(ext_ctxt, span, ast::mac_arg, ast::mac_body) -> @ast::expr;
@ -25,7 +25,7 @@ enum syntax_extension {
fn syntax_expander_table() -> hashmap<str, syntax_extension> { fn syntax_expander_table() -> hashmap<str, syntax_extension> {
fn builtin(f: syntax_expander_) -> syntax_extension fn builtin(f: syntax_expander_) -> syntax_extension
{normal({expander: f, span: none})} {normal({expander: f, span: none})}
let syntax_expanders = new_str_hash::<syntax_extension>(); let syntax_expanders = str_hash::<syntax_extension>();
syntax_expanders.insert("fmt", builtin(ext::fmt::expand_syntax_ext)); syntax_expanders.insert("fmt", builtin(ext::fmt::expand_syntax_ext));
syntax_expanders.insert("auto_serialize", syntax_expanders.insert("auto_serialize",
item_decorator(ext::auto_serialize::expand)); item_decorator(ext::auto_serialize::expand));

View file

@ -1,7 +1,7 @@
use std; use std;
import codemap::span; import codemap::span;
import std::map::{hashmap, new_str_hash}; import std::map::{hashmap, str_hash};
import driver::session::session; import driver::session::session;
import base::*; import base::*;
@ -148,7 +148,7 @@ fn acumm_bindings(_cx: ext_ctxt, _b_dest: bindings, _b_src: bindings) { }
fn pattern_to_selectors(cx: ext_ctxt, e: @expr) -> binders { fn pattern_to_selectors(cx: ext_ctxt, e: @expr) -> binders {
let res: binders = let res: binders =
{real_binders: new_str_hash::<selector>(), {real_binders: str_hash::<selector>(),
mutable literal_ast_matchers: []}; mutable literal_ast_matchers: []};
//this oughta return binders instead, but macro args are a sequence of //this oughta return binders instead, but macro args are a sequence of
//expressions, rather than a single expression //expressions, rather than a single expression
@ -164,7 +164,7 @@ bindings. Most of the work is done in p_t_s, which generates the
selectors. */ selectors. */
fn use_selectors_to_bind(b: binders, e: @expr) -> option<bindings> { fn use_selectors_to_bind(b: binders, e: @expr) -> option<bindings> {
let res = new_str_hash::<arb_depth<matchable>>(); let res = str_hash::<arb_depth<matchable>>();
//need to do this first, to check vec lengths. //need to do this first, to check vec lengths.
for sel: selector in b.literal_ast_matchers { for sel: selector in b.literal_ast_matchers {
alt sel(match_expr(e)) { none { ret none; } _ { } } alt sel(match_expr(e)) { none { ret none; } _ { } }
@ -241,7 +241,7 @@ fn follow_for_trans(cx: ext_ctxt, mmaybe: option<arb_depth<matchable>>,
/* helper for transcribe_exprs: what vars from `b` occur in `e`? */ /* helper for transcribe_exprs: what vars from `b` occur in `e`? */
fn free_vars(b: bindings, e: @expr, it: fn(ident)) { fn free_vars(b: bindings, e: @expr, it: fn(ident)) {
let idents: hashmap<ident, ()> = new_str_hash::<()>(); let idents: hashmap<ident, ()> = str_hash::<()>();
fn mark_ident(&&i: ident, _fld: ast_fold, b: bindings, fn mark_ident(&&i: ident, _fld: ast_fold, b: bindings,
idents: hashmap<ident, ()>) -> ident { idents: hashmap<ident, ()>) -> ident {
if b.contains_key(i) { idents.insert(i, ()); } if b.contains_key(i) { idents.insert(i, ()); }

View file

@ -1,5 +1,5 @@
import either::{left, right}; import either::{left, right};
import std::map::{hashmap, new_str_hash}; import std::map::{hashmap, str_hash};
import token::can_begin_expr; import token::can_begin_expr;
import codemap::{span,fss_none}; import codemap::{span,fss_none};
import util::interner; import util::interner;
@ -143,7 +143,7 @@ fn new_parser(sess: parse_sess, cfg: ast::crate_cfg, rdr: reader,
// because, if used at the start of a line, they will cause the line to be // because, if used at the start of a line, they will cause the line to be
// interpreted as a specific kind of statement, which would be confusing. // interpreted as a specific kind of statement, which would be confusing.
fn bad_expr_word_table() -> hashmap<str, ()> { fn bad_expr_word_table() -> hashmap<str, ()> {
let words = new_str_hash(); let words = str_hash();
for word in ["alt", "assert", "be", "break", "check", "claim", for word in ["alt", "assert", "be", "break", "check", "claim",
"class", "const", "cont", "copy", "crust", "do", "else", "class", "const", "cont", "copy", "crust", "do", "else",
"enum", "export", "fail", "fn", "for", "if", "iface", "enum", "export", "fail", "fn", "for", "if", "iface",

View file

@ -11,7 +11,7 @@ type interner<T> =
eqer: eqfn<T>}; eqer: eqfn<T>};
fn mk<T: copy>(hasher: hashfn<T>, eqer: eqfn<T>) -> interner<T> { fn mk<T: copy>(hasher: hashfn<T>, eqer: eqfn<T>) -> interner<T> {
let m = map::new_hashmap::<T, uint>(hasher, eqer); let m = map::hashmap::<T, uint>(hasher, eqer);
ret {map: m, mutable vect: [], hasher: hasher, eqer: eqer}; ret {map: m, mutable vect: [], hasher: hasher, eqer: eqer};
} }

View file

@ -21,7 +21,7 @@ fn hash_def(d: ast::def_id) -> uint {
fn new_def_hash<V: copy>() -> std::map::hashmap<ast::def_id, V> { fn new_def_hash<V: copy>() -> std::map::hashmap<ast::def_id, V> {
let hasher: std::map::hashfn<ast::def_id> = hash_def; let hasher: std::map::hashfn<ast::def_id> = hash_def;
let eqer: std::map::eqfn<ast::def_id> = def_eq; let eqer: std::map::eqfn<ast::def_id> = def_eq;
ret std::map::new_hashmap::<ast::def_id, V>(hasher, eqer); ret std::map::hashmap::<ast::def_id, V>(hasher, eqer);
} }
fn field_expr(f: ast::field) -> @ast::expr { ret f.node.expr; } fn field_expr(f: ast::field) -> @ast::expr { ret f.node.expr; }

View file

@ -71,7 +71,7 @@ fn from_def_assoc_list<V:copy>(
fn from_str_assoc_list<V:copy>( fn from_str_assoc_list<V:copy>(
list: [(str, V)] list: [(str, V)]
) -> map::hashmap<str, V> { ) -> map::hashmap<str, V> {
from_assoc_list(list, bind map::new_str_hash()) from_assoc_list(list, bind map::str_hash())
} }
fn build_reexport_def_set(srv: astsrv::srv) -> def_set { fn build_reexport_def_set(srv: astsrv::srv) -> def_set {
@ -155,7 +155,7 @@ fn build_reexport_path_map(srv: astsrv::srv, -def_map: def_map) -> path_map {
let assoc_list = astsrv::exec(srv) {|ctxt| let assoc_list = astsrv::exec(srv) {|ctxt|
let def_map = from_def_assoc_list(def_assoc_list); let def_map = from_def_assoc_list(def_assoc_list);
let path_map = map::new_str_hash(); let path_map = map::str_hash();
ctxt.exp_map.items {|exp_id, defs| ctxt.exp_map.items {|exp_id, defs|
let path = alt check ctxt.ast_map.get(exp_id) { let path = alt check ctxt.ast_map.get(exp_id) {

View file

@ -7,7 +7,7 @@ import rustc::syntax::codemap::span;
import rustc::middle::ty; import rustc::middle::ty;
import rustc::middle::ast_map; import rustc::middle::ast_map;
import rustc::util::ppaux; import rustc::util::ppaux;
import std::map::{hashmap, map, new_int_hash}; import std::map::{hashmap, map, int_hash};
import std::getopts; import std::getopts;
import io::writer_util; import io::writer_util;
import driver::build_session_options; import driver::build_session_options;
@ -90,7 +90,7 @@ impl serialize_ctx for serialize_ctx {
fn tp_map(ty_params: [ast::ty_param], tps: [ty::t]) -> tp_map { fn tp_map(ty_params: [ast::ty_param], tps: [ty::t]) -> tp_map {
assert vec::len(tps) == vec::len(ty_params); assert vec::len(tps) == vec::len(ty_params);
let tps_map = new_int_hash(); let tps_map = int_hash();
vec::iter2(ty_params, tps) {|tp_def,tp_val| vec::iter2(ty_params, tps) {|tp_def,tp_val|
tps_map.insert(tp_def.id, tp_val); tps_map.insert(tp_def.id, tp_val);
} }

View file

@ -106,7 +106,7 @@ fn writer(path: str, writech: comm::chan<comm::chan<line>>, size: uint)
}; };
cout.write_line("P4"); cout.write_line("P4");
cout.write_line(#fmt("%u %u", size, size)); cout.write_line(#fmt("%u %u", size, size));
let lines = std::map::new_uint_hash(); let lines = std::map::uint_hash();
let done = 0_u; let done = 0_u;
let i = 0_u; let i = 0_u;
while i < size { while i < size {

View file

@ -71,7 +71,7 @@ mod map_reduce {
fn map_task(ctrl: chan<ctrl_proto>, input: str) { fn map_task(ctrl: chan<ctrl_proto>, input: str) {
// log(error, "map_task " + input); // log(error, "map_task " + input);
let intermediates = map::new_str_hash(); let intermediates = map::str_hash();
fn emit(im: map::hashmap<str, chan<reduce_proto>>, fn emit(im: map::hashmap<str, chan<reduce_proto>>,
ctrl: chan<ctrl_proto>, key: str, val: int) { ctrl: chan<ctrl_proto>, key: str, val: int) {
@ -136,7 +136,7 @@ mod map_reduce {
let reducers: map::hashmap<str, chan<reduce_proto>>; let reducers: map::hashmap<str, chan<reduce_proto>>;
reducers = map::new_str_hash(); reducers = map::str_hash();
let num_mappers = vec::len(inputs) as int; let num_mappers = vec::len(inputs) as int;
let results = start_mappers(chan(ctrl), inputs); let results = start_mappers(chan(ctrl), inputs);

View file

@ -6,7 +6,7 @@ import std::map::map;
// Test that iface types printed in error msgs include the type arguments. // Test that iface types printed in error msgs include the type arguments.
fn main() { fn main() {
let x: map<str,str> = map::new_str_hash::<str>() as map::<str,str>; let x: map<str,str> = map::str_hash::<str>() as map::<str,str>;
let y: map<uint,str> = x; let y: map<uint,str> = x;
//!^ ERROR mismatched types: expected `std::map::map<uint,str>` //!^ ERROR mismatched types: expected `std::map::map<uint,str>`
} }

View file

@ -15,7 +15,7 @@ fn main() {
ret s == t; ret s == t;
} }
let map = map::new_hashmap(hash, eq); let map = map::hashmap(hash, eq);
let arr = []; let arr = [];
uint::range(0u, 10u) {|i| uint::range(0u, 10u) {|i|
arr += [@"key stuff"]; arr += [@"key stuff"];

View file

@ -26,7 +26,7 @@ fn test_ser_and_deser<A>(a1: A,
let buf = io::mem_buffer(); let buf = io::mem_buffer();
let w = ebml::writer(buf as io::writer); let w = ebml::writer(buf as io::writer);
ebml_ser_fn(w, a1); ebml_ser_fn(w, a1);
let d = ebml::new_doc(@io::mem_buffer_buf(buf)); let d = ebml::doc(@io::mem_buffer_buf(buf));
let a2 = ebml_deser_fn(ebml::ebml_deserializer(d)); let a2 = ebml_deser_fn(ebml::ebml_deserializer(d));
io::print("\na1 = "); io::print("\na1 = ");
io_ser_fn(io::stdout(), a1); io_ser_fn(io::stdout(), a1);

View file

@ -40,7 +40,7 @@ mod map_reduce {
} }
fn map_task(ctrl: chan<ctrl_proto>, input: str) { fn map_task(ctrl: chan<ctrl_proto>, input: str) {
let intermediates = map::new_str_hash(); let intermediates = map::str_hash();
fn emit(im: map::hashmap<str, int>, ctrl: chan<ctrl_proto>, key: str, fn emit(im: map::hashmap<str, int>, ctrl: chan<ctrl_proto>, key: str,
val: str) { val: str) {
@ -71,7 +71,7 @@ mod map_reduce {
let reducers: map::hashmap<str, int>; let reducers: map::hashmap<str, int>;
reducers = map::new_str_hash(); reducers = map::str_hash();
start_mappers(chan(ctrl), inputs); start_mappers(chan(ctrl), inputs);

View file

@ -3,7 +3,7 @@ import std::map;
import std::map::hashmap; import std::map::hashmap;
fn main() { fn main() {
let m = map::new_bytes_hash(); let m = map::bytes_hash();
m.insert(str::bytes("foo"), str::bytes("bar")); m.insert(str::bytes("foo"), str::bytes("bar"));
log(error, m); log(error, m);
} }