about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-03-06 17:48:39 -0800
committerbors <bors@rust-lang.org>2013-03-06 17:48:39 -0800
commitb269ce278228918b95f803e1951fa60e3ef48a0a (patch)
tree56effed36fd1ba26ae19bcd5f889dcf6582d6466 /src/libsyntax/parse
parent95c07479dd9c7a0438a749638987deb15977cd92 (diff)
parent8bb537e68daf2a2794bacfe4bd39ac7fad6314fa (diff)
downloadrust-b269ce278228918b95f803e1951fa60e3ef48a0a.tar.gz
rust-b269ce278228918b95f803e1951fa60e3ef48a0a.zip
auto merge of #5255 : jbclements/rust/remove-parse-value-ident, r=graydon
After the removal of the "restricted keyword" feature in 0c82c00dc4f49aeb9b57c92c9a40ae35d8a1ee29 , there's no longer any difference between parse_ident() and parse_value_ident(), and therefore no difference between parse parse_path_without_tps() and parse_value_path().  I've collapsed all of these, removing the redundant functions and eliminating the need for two higher-order arguments.
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/common.rs4
-rw-r--r--src/libsyntax/parse/parser.rs52
2 files changed, 16 insertions, 40 deletions
diff --git a/src/libsyntax/parse/common.rs b/src/libsyntax/parse/common.rs
index cdeb9b2f647..7af2204fafd 100644
--- a/src/libsyntax/parse/common.rs
+++ b/src/libsyntax/parse/common.rs
@@ -119,10 +119,6 @@ pub impl Parser {
                                                 id: self.get_id() })
     }
 
-    fn parse_value_ident(&self) -> ast::ident {
-        return self.parse_ident();
-    }
-
     // consume token 'tok' if it exists. Returns true if the given
     // token was present, false otherwise.
     fn eat(&self, tok: &token::Token) -> bool {
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index f71f07655f2..eb9831cd9f3 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -457,7 +457,7 @@ pub impl Parser {
             let pur = p.parse_fn_purity();
             // NB: at the moment, trait methods are public by default; this
             // could change.
-            let ident = p.parse_method_name();
+            let ident = p.parse_ident();
 
             let generics = p.parse_generics();
 
@@ -899,16 +899,9 @@ pub impl Parser {
         codemap::spanned { node: lit, span: mk_sp(lo, self.last_span.hi) }
     }
 
-    fn parse_path_without_tps(&self) -> @path {
-        self.parse_path_without_tps_(|p| p.parse_ident(),
-                                     |p| p.parse_ident())
-    }
-
-    fn parse_path_without_tps_(
-        &self,
-        parse_ident: fn(&Parser) -> ident,
-        parse_last_ident: fn(&Parser) -> ident
-    ) -> @path {
+    // parse a path that doesn't have type parameters attached
+    fn parse_path_without_tps(&self)
+        -> @ast::path {
         maybe_whole!(self, nt_path);
         let lo = self.span.lo;
         let global = self.eat(&token::MOD_SEP);
@@ -919,10 +912,10 @@ pub impl Parser {
                 && self.look_ahead(1u) == token::MOD_SEP;
 
             if is_not_last {
-                ids.push(parse_ident(self));
+                ids.push(self.parse_ident());
                 self.expect(&token::MOD_SEP);
             } else {
-                ids.push(parse_last_ident(self));
+                ids.push(self.parse_ident());
                 break;
             }
         }
@@ -933,12 +926,7 @@ pub impl Parser {
                      types: ~[] }
     }
 
-    fn parse_value_path(&self) -> @path {
-        self.parse_path_without_tps_(|p| p.parse_ident(),
-                                     |p| p.parse_value_ident())
-    }
-
-    fn parse_path_with_tps(&self, colons: bool) -> @path {
+    fn parse_path_with_tps(&self, colons: bool) -> @ast::path {
         debug!("parse_path_with_tps(colons=%b)", colons);
 
         maybe_whole!(self, nt_path);
@@ -2134,11 +2122,7 @@ pub impl Parser {
             }
 
             let lo1 = self.last_span.lo;
-            let fieldname = if self.look_ahead(1u) == token::COLON {
-                self.parse_ident()
-            } else {
-                self.parse_value_ident()
-            };
+            let fieldname = self.parse_ident();
             let hi1 = self.last_span.lo;
             let fieldpath = ast_util::ident_to_path(mk_sp(lo1, hi1),
                                                     fieldname);
@@ -2302,7 +2286,7 @@ pub impl Parser {
                 }
 
                 if is_plain_ident(&*self.token) && cannot_be_enum_or_struct {
-                    let name = self.parse_value_path();
+                    let name = self.parse_path_without_tps();
                     let sub;
                     if self.eat(&token::AT) {
                         sub = Some(self.parse_pat(refutable));
@@ -2375,7 +2359,7 @@ pub impl Parser {
                 *self.last_span,
                 ~"expected identifier, found path");
         }
-        let name = self.parse_value_path();
+        let name = self.parse_path_without_tps();
         let sub = if self.eat(&token::AT) {
             Some(self.parse_pat(refutable))
         } else { None };
@@ -2473,7 +2457,7 @@ pub impl Parser {
 
             // Potential trouble: if we allow macros with paths instead of
             // idents, we'd need to look ahead past the whole path here...
-            let pth = self.parse_value_path();
+            let pth = self.parse_path_without_tps();
             self.bump();
 
             let id = if *self.token == token::LPAREN {
@@ -2982,7 +2966,7 @@ pub impl Parser {
     }
 
     fn parse_fn_header(&self) -> (ident, ast::Generics) {
-        let id = self.parse_value_ident();
+        let id = self.parse_ident();
         let generics = self.parse_generics();
         (id, generics)
     }
@@ -3005,10 +2989,6 @@ pub impl Parser {
         (ident, item_fn(decl, purity, generics, body), Some(inner_attrs))
     }
 
-    fn parse_method_name(&self) -> ident {
-        self.parse_value_ident()
-    }
-
     fn parse_method(&self) -> @method {
         let attrs = self.parse_outer_attributes();
         let lo = self.span.lo;
@@ -3018,7 +2998,7 @@ pub impl Parser {
 
         let visa = self.parse_visibility();
         let pur = self.parse_fn_purity();
-        let ident = self.parse_method_name();
+        let ident = self.parse_ident();
         let generics = self.parse_generics();
         let (self_ty, decl) = do self.parse_fn_decl_with_self() |p| {
             p.parse_arg()
@@ -3142,7 +3122,7 @@ pub impl Parser {
     }
 
     fn parse_item_struct(&self) -> item_info {
-        let class_name = self.parse_value_ident();
+        let class_name = self.parse_ident();
         self.parse_region_param();
         let generics = self.parse_generics();
         if self.eat(&token::COLON) {
@@ -3370,7 +3350,7 @@ pub impl Parser {
     }
 
     fn parse_item_const(&self) -> item_info {
-        let id = self.parse_value_ident();
+        let id = self.parse_ident();
         self.expect(&token::COLON);
         let ty = self.parse_ty(false);
         self.expect(&token::EQ);
@@ -3768,7 +3748,7 @@ pub impl Parser {
                 kind = enum_variant_kind(nested_enum_def);
                 needs_comma = false;
             } else {
-                ident = self.parse_value_ident();
+                ident = self.parse_ident();
                 if self.eat(&token::LBRACE) {
                     // Parse a struct variant.
                     all_nullary = false;