about summary refs log tree commit diff
path: root/src/libsyntax/util
diff options
context:
space:
mode:
authorPaul Stansifer <paul.stansifer@gmail.com>2012-08-02 15:34:13 -0700
committerPaul Stansifer <paul.stansifer@gmail.com>2012-08-22 14:59:24 -0700
commit7317bf8792ebb3f27768109b7d574ee0806cc5e5 (patch)
treec18d1d03ccee13544d7eaa57234f2a39bf24b5a4 /src/libsyntax/util
parent9a7890d73af5ebe4bf862fa727427e290da1391b (diff)
downloadrust-7317bf8792ebb3f27768109b7d574ee0806cc5e5.tar.gz
rust-7317bf8792ebb3f27768109b7d574ee0806cc5e5.zip
pre-intern some fixed names so they can be used as constants
Diffstat (limited to 'src/libsyntax/util')
-rw-r--r--src/libsyntax/util/interner.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libsyntax/util/interner.rs b/src/libsyntax/util/interner.rs
index 9b7398d16c7..19b27be83e2 100644
--- a/src/libsyntax/util/interner.rs
+++ b/src/libsyntax/util/interner.rs
@@ -18,6 +18,15 @@ fn mk<T: const copy>(+hasher: hashfn<T>, +eqer: eqfn<T>) -> interner<T> {
     return hi as interner::<T>;
 }
 
+fn mk_prefill<T: const copy>(hasher: hashfn<T>, eqer: eqfn<T>,
+                             init: ~[T]) -> interner<T> {
+
+    let rv = mk(hasher, eqer);
+    for init.each() |v| { rv.intern(v); }
+    return rv;
+}
+
+
 /* when traits can extend traits, we should extend index<uint,T> to get [] */
 trait interner<T: const copy> {
     fn intern(T) -> uint;