Parse obj methods as proto_bare

I don't know if this is the right thing to do, but it works
and it lets 'fn' always mean proto_bare
This commit is contained in:
Brian Anderson 2011-10-18 19:39:09 -07:00
parent 391e12124b
commit f324704c0a
2 changed files with 9 additions and 11 deletions

View file

@ -281,7 +281,7 @@ fn parse_ty(st: @pstate, sd: str_def) -> ty::t {
let proto;
alt next(st) as char {
'W' { proto = ast::proto_iter; }
'F' { proto = ast::proto_fn; }
'f' { proto = ast::proto_bare; }
}
let name = "";
while peek(st) as char != '[' {

View file

@ -294,16 +294,6 @@ fn parse_ty_fn(proto: ast::proto, p: parser) -> ast::ty_ {
ret ast::ty_fn(proto, inputs.node, ret_ty, ret_style, constrs);
}
fn parse_method_proto(p: parser) -> ast::proto {
if eat_word(p, "iter") {
ret ast::proto_iter;
} else if eat_word(p, "fn") {
ret ast::proto_fn;
} else if eat_word(p, "block") {
ret ast::proto_block;
} else { unexpected(p, p.peek()); }
}
fn parse_ty_obj(p: parser, &hi: uint) -> ast::ty_ {
fn parse_method_sig(p: parser) -> ast::ty_method {
let flo = p.get_lo_pos();
@ -2179,6 +2169,14 @@ fn parse_fn_anon_proto(p: parser) -> ast::proto {
}
}
fn parse_method_proto(p: parser) -> ast::proto {
if eat_word(p, "iter") {
ret ast::proto_iter;
} else if eat_word(p, "fn") {
ret ast::proto_bare;
} else { unexpected(p, p.peek()); }
}
fn parse_item(p: parser, attrs: [ast::attribute]) -> option::t<@ast::item> {
if eat_word(p, "const") {
ret some(parse_item_const(p, attrs));