@@ -72,7 +72,7 @@ use parse::lexer::TokenAndSpan;
72
72
use parse:: obsolete:: { ObsoleteClassTraits , ObsoleteModeInFnType } ;
73
73
use parse:: obsolete:: { ObsoleteLet , ObsoleteFieldTerminator } ;
74
74
use parse:: obsolete:: { ObsoleteMoveInit , ObsoleteBinaryMove } ;
75
- use parse:: obsolete:: { ObsoleteStructCtor , ObsoleteWith , ObsoleteClassMethod } ;
75
+ use parse:: obsolete:: { ObsoleteStructCtor , ObsoleteWith } ;
76
76
use parse:: obsolete:: { ObsoleteSyntax , ObsoleteLowerCaseKindBounds } ;
77
77
use parse:: obsolete:: { ObsoleteUnsafeBlock } ;
78
78
use parse:: prec:: { as_prec, token_to_binop} ;
@@ -3002,52 +3002,29 @@ pub impl Parser {
3002
3002
}
3003
3003
3004
3004
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
+ }
3012
3008
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
+ }
3050
3026
}
3027
+ a_var
3051
3028
}
3052
3029
3053
3030
fn parse_dtor ( attrs : ~[ attribute ] ) -> class_contents {
@@ -3062,6 +3039,8 @@ pub impl Parser {
3062
3039
return members ( ~[ ] ) ;
3063
3040
}
3064
3041
3042
+ let attrs = self . parse_outer_attributes ( ) ;
3043
+
3065
3044
if self . eat_keyword ( ~"priv") {
3066
3045
return members ( ~[ self . parse_single_class_item ( private) ] )
3067
3046
}
@@ -3070,8 +3049,6 @@ pub impl Parser {
3070
3049
return members ( ~[ self . parse_single_class_item ( public) ] ) ;
3071
3050
}
3072
3051
3073
- let attrs = self . parse_outer_attributes ( ) ;
3074
-
3075
3052
if self . try_parse_obsolete_struct_ctor ( ) {
3076
3053
return members ( ~[ ] ) ;
3077
3054
}
0 commit comments