about summary refs log tree commit diff
path: root/src/libsyntax/util
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2014-03-20 15:05:37 -0700
committerAlex Crichton <alex@alexcrichton.com>2014-03-22 08:48:20 -0700
commitf3682b56392bc255ca572f75dd9eb59cb0730add (patch)
tree81d693c1b6968aeddeb126f3decbf4359abc923c /src/libsyntax/util
parentcd510b33821a0b3e7ae7dd576c0d22d3531ddb0b (diff)
downloadrust-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.rs55
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();
     }
 }