diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2014-03-20 15:05:37 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-03-22 08:48:20 -0700 |
| commit | f3682b56392bc255ca572f75dd9eb59cb0730add (patch) | |
| tree | 81d693c1b6968aeddeb126f3decbf4359abc923c /src/libsyntax/util | |
| parent | cd510b33821a0b3e7ae7dd576c0d22d3531ddb0b (diff) | |
| download | rust-f3682b56392bc255ca572f75dd9eb59cb0730add.tar.gz rust-f3682b56392bc255ca572f75dd9eb59cb0730add.zip | |
syntax: Fix fallout of removing get()
Diffstat (limited to 'src/libsyntax/util')
| -rw-r--r-- | src/libsyntax/util/interner.rs | 55 |
1 files changed, 25 insertions, 30 deletions
diff --git a/src/libsyntax/util/interner.rs b/src/libsyntax/util/interner.rs index 2dea6f79ee6..d6f8f1067ae 100644 --- a/src/libsyntax/util/interner.rs +++ b/src/libsyntax/util/interner.rs @@ -46,47 +46,47 @@ impl<T: Eq + Hash + Clone + 'static> Interner<T> { pub fn intern(&self, val: T) -> Name { let mut map = self.map.borrow_mut(); - match map.get().find(&val) { + match (*map).find(&val) { Some(&idx) => return idx, None => (), } let mut vect = self.vect.borrow_mut(); - let new_idx = vect.get().len() as Name; - map.get().insert(val.clone(), new_idx); - vect.get().push(val); + let new_idx = (*vect).len() as Name; + (*map).insert(val.clone(), new_idx); + (*vect).push(val); new_idx } pub fn gensym(&self, val: T) -> Name { let mut vect = self.vect.borrow_mut(); - let new_idx = vect.get().len() as Name; + let new_idx = (*vect).len() as Name; // leave out of .map to avoid colliding - vect.get().push(val); + (*vect).push(val); new_idx } pub fn get(&self, idx: Name) -> T { let vect = self.vect.borrow(); - (*vect.get().get(idx as uint)).clone() + (*(*vect).get(idx as uint)).clone() } pub fn len(&self) -> uint { let vect = self.vect.borrow(); - vect.get().len() + (*vect).len() } pub fn find_equiv<Q:Hash + Equiv<T>>(&self, val: &Q) -> Option<Name> { let map = self.map.borrow(); - match map.get().find_equiv(val) { + match (*map).find_equiv(val) { Some(v) => Some(*v), None => None, } } pub fn clear(&self) { - *self.map.borrow_mut().get() = HashMap::new(); - *self.vect.borrow_mut().get() = Vec::new(); + *self.map.borrow_mut() = HashMap::new(); + *self.vect.borrow_mut() = Vec::new(); } } @@ -110,13 +110,13 @@ impl TotalOrd for RcStr { impl Str for RcStr { #[inline] fn as_slice<'a>(&'a self) -> &'a str { - let s: &'a str = *self.string.deref(); + let s: &'a str = *self.string; s } #[inline] fn into_owned(self) -> ~str { - self.string.deref().to_owned() + self.string.to_owned() } } @@ -159,24 +159,22 @@ impl StrInterner { pub fn intern(&self, val: &str) -> Name { let mut map = self.map.borrow_mut(); - match map.get().find_equiv(&val) { + match map.find_equiv(&val) { Some(&idx) => return idx, None => (), } let new_idx = self.len() as Name; let val = RcStr::new(val); - map.get().insert(val.clone(), new_idx); - let mut vect = self.vect.borrow_mut(); - vect.get().push(val); + map.insert(val.clone(), new_idx); + self.vect.borrow_mut().push(val); new_idx } pub fn gensym(&self, val: &str) -> Name { let new_idx = self.len() as Name; // leave out of .map to avoid colliding - let mut vect = self.vect.borrow_mut(); - vect.get().push(RcStr::new(val)); + self.vect.borrow_mut().push(RcStr::new(val)); new_idx } @@ -194,42 +192,39 @@ impl StrInterner { let new_idx = self.len() as Name; // leave out of map to avoid colliding let mut vect = self.vect.borrow_mut(); - let existing = (*vect.get().get(idx as uint)).clone(); - vect.get().push(existing); + let existing = (*vect.get(idx as uint)).clone(); + vect.push(existing); new_idx } pub fn get(&self, idx: Name) -> RcStr { - let vect = self.vect.borrow(); - (*vect.get().get(idx as uint)).clone() + (*self.vect.borrow().get(idx as uint)).clone() } /// Returns this string with lifetime tied to the interner. Since /// strings may never be removed from the interner, this is safe. pub fn get_ref<'a>(&'a self, idx: Name) -> &'a str { let vect = self.vect.borrow(); - let s: &str = vect.get().get(idx as uint).as_slice(); + let s: &str = vect.get(idx as uint).as_slice(); unsafe { cast::transmute(s) } } pub fn len(&self) -> uint { - let vect = self.vect.borrow(); - vect.get().len() + self.vect.borrow().len() } pub fn find_equiv<Q:Hash + Equiv<RcStr>>(&self, val: &Q) -> Option<Name> { - let map = self.map.borrow(); - match map.get().find_equiv(val) { + match (*self.map.borrow()).find_equiv(val) { Some(v) => Some(*v), None => None, } } pub fn clear(&self) { - *self.map.borrow_mut().get() = HashMap::new(); - *self.vect.borrow_mut().get() = Vec::new(); + *self.map.borrow_mut() = HashMap::new(); + *self.vect.borrow_mut() = Vec::new(); } } |
