diff options
| author | bors <bors@rust-lang.org> | 2013-03-06 17:48:39 -0800 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-03-06 17:48:39 -0800 |
| commit | b269ce278228918b95f803e1951fa60e3ef48a0a (patch) | |
| tree | 56effed36fd1ba26ae19bcd5f889dcf6582d6466 /src/libsyntax/parse/parser.rs | |
| parent | 95c07479dd9c7a0438a749638987deb15977cd92 (diff) | |
| parent | 8bb537e68daf2a2794bacfe4bd39ac7fad6314fa (diff) | |
| download | rust-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/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 52 |
1 files changed, 16 insertions, 36 deletions
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; |
