From 71c0bd5c5df8c3810b3c8dc369a9644dfd82c09b Mon Sep 17 00:00:00 2001 From: John Clements Date: Wed, 10 Apr 2013 09:44:48 -0700 Subject: [PATCH] simplify, based on invariant that items_allowed != foreign_items_allowed --- src/libsyntax/ast_util.rs | 1 - src/libsyntax/parse/parser.rs | 19 +++++++------------ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index bfacfc38df6e..7da834a5d889 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -756,7 +756,6 @@ mod test { assert_eq!(refold_test_sc(3,&t),test_sc); } - // extend a syntax context with a sequence of marks given // in a vector. v[0] will be the outermost mark. fn unfold_marks(mrks:~[Mrk],tail:SyntaxContext,table: &mut SCTable) -> SyntaxContext { diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 3925d4aa9bf0..d49ad1663b53 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -4107,38 +4107,34 @@ pub impl Parser { maybe_append(attrs, extra_attrs))); } - if !foreign_items_allowed { + if items_allowed { // EXTERN MODULE ITEM return self.parse_item_foreign_mod(lo, opt_abis, visibility, attrs, items_allowed); } } - if items_allowed && !foreign_items_allowed && - self.eat_keyword(&~"mod") { + if items_allowed && self.eat_keyword(&~"mod") { // MODULE ITEM let (ident, item_, extra_attrs) = self.parse_item_mod(attrs); return iovi_item(self.mk_item(lo, self.last_span.hi, ident, item_, visibility, maybe_append(attrs, extra_attrs))); } - if items_allowed && !foreign_items_allowed && - self.eat_keyword(&~"type") { + if items_allowed && self.eat_keyword(&~"type") { // TYPE ITEM let (ident, item_, extra_attrs) = self.parse_item_type(); return iovi_item(self.mk_item(lo, self.last_span.hi, ident, item_, visibility, maybe_append(attrs, extra_attrs))); } - if items_allowed && !foreign_items_allowed && - self.eat_keyword(&~"enum") { + if items_allowed && self.eat_keyword(&~"enum") { // ENUM ITEM let (ident, item_, extra_attrs) = self.parse_item_enum(); return iovi_item(self.mk_item(lo, self.last_span.hi, ident, item_, visibility, maybe_append(attrs, extra_attrs))); } - if items_allowed && !foreign_items_allowed && - self.eat_keyword(&~"trait") { + if items_allowed && self.eat_keyword(&~"trait") { // TRAIT ITEM let (ident, item_, extra_attrs) = self.parse_item_trait(); return iovi_item(self.mk_item(lo, self.last_span.hi, ident, item_, @@ -4154,15 +4150,14 @@ pub impl Parser { visibility, maybe_append(attrs, extra_attrs))); } - if items_allowed && !foreign_items_allowed && - self.eat_keyword(&~"struct") { + if items_allowed && self.eat_keyword(&~"struct") { // STRUCT ITEM let (ident, item_, extra_attrs) = self.parse_item_struct(); return iovi_item(self.mk_item(lo, self.last_span.hi, ident, item_, visibility, maybe_append(attrs, extra_attrs))); } - if !foreign_items_allowed && self.eat_keyword(&~"use") { + if items_allowed && self.eat_keyword(&~"use") { // USE ITEM let view_item = self.parse_use(); self.expect(&token::SEMI);