@@ -72,7 +72,7 @@ use parse::lexer::TokenAndSpan;
7272use parse:: obsolete:: { ObsoleteClassTraits , ObsoleteModeInFnType } ;
7373use parse:: obsolete:: { ObsoleteLet , ObsoleteFieldTerminator } ;
7474use parse:: obsolete:: { ObsoleteMoveInit , ObsoleteBinaryMove } ;
75- use parse:: obsolete:: { ObsoleteStructCtor , ObsoleteWith , ObsoleteClassMethod } ;
75+ use parse:: obsolete:: { ObsoleteStructCtor , ObsoleteWith } ;
7676use parse:: obsolete:: { ObsoleteSyntax , ObsoleteLowerCaseKindBounds } ;
7777use parse:: obsolete:: { ObsoleteUnsafeBlock } ;
7878use parse:: prec:: { as_prec, token_to_binop} ;
@@ -3002,52 +3002,29 @@ pub impl Parser {
30023002 }
30033003
30043004 fn parse_single_class_item ( vis : visibility ) -> @struct_field {
3005- let obsolete_let = self . eat_obsolete_ident ( "let" ) ;
3006- if obsolete_let { self . obsolete ( copy self . last_span , ObsoleteLet ) }
3007-
3008- let parse_obsolete_method =
3009- !( ( obsolete_let || self . is_keyword ( ~"mut ") ||
3010- !self.is_any_keyword(copy self.token))
3011- && !self.token_is_pound_or_doc_comment(copy self.token));
3005+ if self . eat_obsolete_ident ( "let" ) {
3006+ self . obsolete ( copy self . last_span , ObsoleteLet ) ;
3007+ }
30123008
3013- if !parse_obsolete_method {
3014- let a_var = self.parse_instance_var(vis);
3015- match self.token {
3016- token::SEMI => {
3017- self.obsolete(copy self.span, ObsoleteFieldTerminator);
3018- self.bump();
3019- }
3020- token::COMMA => {
3021- self.bump();
3022- }
3023- token::RBRACE => {}
3024- _ => {
3025- self.span_fatal(copy self.span,
3026- fmt!(" expected `; `, `, `, or ' } ' but \
3027- found `%s`",
3028- token_to_str( self . reader ,
3029- self . token ) ) ) ;
3030- }
3031- }
3032- a_var
3033- } else {
3034- self . obsolete ( copy self . span , ObsoleteClassMethod ) ;
3035- self . parse_method ( ) ;
3036- // bogus value
3037- @spanned(
3038- self . span . lo ,
3039- self . span . hi ,
3040- ast:: struct_field_ {
3041- kind : unnamed_field,
3042- id : self . get_id ( ) ,
3043- ty : @ast:: Ty {
3044- id : self . get_id ( ) ,
3045- node : ty_nil,
3046- span : copy self . span ,
3047- }
3048- }
3049- )
3009+ let a_var = self . parse_instance_var ( vis) ;
3010+ match self . token {
3011+ token:: SEMI => {
3012+ self . obsolete ( copy self . span , ObsoleteFieldTerminator ) ;
3013+ self . bump ( ) ;
3014+ }
3015+ token:: COMMA => {
3016+ self . bump ( ) ;
3017+ }
3018+ token:: RBRACE => { }
3019+ _ => {
3020+ self . span_fatal ( copy self . span ,
3021+ fmt ! ( "expected `;`, `,`, or '}' but \
3022+ found `%s`",
3023+ token_to_str( self . reader,
3024+ self . token) ) ) ;
3025+ }
30503026 }
3027+ a_var
30513028 }
30523029
30533030 fn parse_dtor ( attrs : ~[ attribute ] ) -> class_contents {
@@ -3062,6 +3039,8 @@ pub impl Parser {
30623039 return members ( ~[ ] ) ;
30633040 }
30643041
3042+ let attrs = self . parse_outer_attributes ( ) ;
3043+
30653044 if self . eat_keyword ( ~"priv") {
30663045 return members ( ~[ self . parse_single_class_item ( private) ] )
30673046 }
@@ -3070,8 +3049,6 @@ pub impl Parser {
30703049 return members ( ~[ self . parse_single_class_item ( public) ] ) ;
30713050 }
30723051
3073- let attrs = self . parse_outer_attributes ( ) ;
3074-
30753052 if self . try_parse_obsolete_struct_ctor ( ) {
30763053 return members ( ~[ ] ) ;
30773054 }
0 commit comments