diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2011-08-04 10:46:10 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2011-08-04 10:46:10 -0700 |
| commit | 4061ca2bbd218356dad806368a4acef8be0e5e12 (patch) | |
| tree | 1ce7af2dda4491efe328bf550fdceff34601fa89 /src/comp/syntax | |
| parent | 6bb6922c28e24afa3dc6e893e016bcdb07f4750e (diff) | |
| download | rust-4061ca2bbd218356dad806368a4acef8be0e5e12.tar.gz rust-4061ca2bbd218356dad806368a4acef8be0e5e12.zip | |
rustc: Generate shapes
Diffstat (limited to 'src/comp/syntax')
| -rw-r--r-- | src/comp/syntax/util/interner.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/comp/syntax/util/interner.rs b/src/comp/syntax/util/interner.rs index 9474ddd16d2..7e7a9ca7107 100644 --- a/src/comp/syntax/util/interner.rs +++ b/src/comp/syntax/util/interner.rs @@ -20,6 +20,7 @@ fn mk[@T](hasher: hashfn[T], eqer: eqfn[T]) -> interner[T] { let m = map::mk_hashmap[T, uint](hasher, eqer); ret {map: m, mutable vect: ~[], hasher: hasher, eqer: eqer}; } + fn intern[@T](itr: &interner[T], val: &T) -> uint { alt itr.map.find(val) { some(idx) { ret idx; } @@ -31,5 +32,8 @@ fn intern[@T](itr: &interner[T], val: &T) -> uint { } } } + fn get[T](itr: &interner[T], idx: uint) -> T { ret itr.vect.(idx); } +fn len[T](itr : &interner[T]) -> uint { ret ivec::len(itr.vect); } + |
