diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-09-10 18:56:07 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-09-11 15:29:37 -0700 |
| commit | 1203da3b9ddbf6af343fdb826b899b55a7bda053 (patch) | |
| tree | 6b49a9b89d8ba29d2aeca115faecef7c321ad30d /src/libsyntax/parse | |
| parent | 3aa5b0cb4403e0a61a11455ac615108b67e45ccd (diff) | |
| download | rust-1203da3b9ddbf6af343fdb826b899b55a7bda053.tar.gz rust-1203da3b9ddbf6af343fdb826b899b55a7bda053.zip | |
Remove priv sections from classes. Obsolete the syntax
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/obsolete.rs | 22 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 21 |
2 files changed, 27 insertions, 16 deletions
diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs index 9a2b6474b19..724c824d5cd 100644 --- a/src/libsyntax/parse/obsolete.rs +++ b/src/libsyntax/parse/obsolete.rs @@ -20,7 +20,8 @@ pub enum ObsoleteSyntax { ObsoleteStructCtor, ObsoleteWith, ObsoleteClassMethod, - ObsoleteClassTraits + ObsoleteClassTraits, + ObsoletePrivSection } impl ObsoleteSyntax : cmp::Eq { @@ -82,6 +83,11 @@ impl parser : ObsoleteReporter { "implemented traits are specified on the impl, as in \ `impl foo : bar {`" ), + ObsoletePrivSection => ( + "private section", + "the `priv` keyword is applied to individual items, methods, \ + and fields" + ), }; self.report(sp, kind, kind_str, desc); @@ -152,5 +158,19 @@ impl parser : ObsoleteReporter { } } + fn try_parse_obsolete_priv_section() -> bool { + if self.is_keyword(~"priv") && self.look_ahead(1) == token::LBRACE { + self.obsolete(copy self.span, ObsoletePrivSection); + self.eat_keyword(~"priv"); + self.bump(); + while self.token != token::RBRACE { + self.parse_single_class_item(ast::private); + } + self.bump(); + true + } else { + false + } + } } diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 74370d005ce..0b326c14158 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -2818,22 +2818,13 @@ impl parser { } fn parse_class_item() -> class_contents { + + if self.try_parse_obsolete_priv_section() { + return members(~[]); + } + if self.eat_keyword(~"priv") { - // XXX: Remove after snapshot. - match self.token { - token::LBRACE => { - self.bump(); - let mut results = ~[]; - while self.token != token::RBRACE { - vec::push(results, - self.parse_single_class_item(private)); - } - self.bump(); - return members(results); - } - _ => - return members(~[self.parse_single_class_item(private)]) - } + return members(~[self.parse_single_class_item(private)]) } if self.eat_keyword(~"pub") { |
