Allow references to "self" within classes

Allow writing self.f within a class that has a field f. Currently,
the compiler accepts either self.f or f. In a future commit I'll
require writing self.f and not f.

Not sure whether self.f() works if f is a method (making sure that
works next).
This commit is contained in:
Tim Chevalier
2012-03-28 14:17:41 -07:00
parent c141e7a068
commit ca6636d6b6
7 changed files with 82 additions and 33 deletions

View File

@@ -2092,10 +2092,12 @@ fn parse_item_class(p: parser, attrs: [ast::attribute]) -> @ast::item {
}
p.bump();
alt the_ctor {
some((ct_d, ct_b, ct_s)) { ret mk_item(p, lo, p.last_span.hi,
some((ct_d, ct_b, ct_s)) {
ret mk_item(p, lo, p.last_span.hi,
class_name,
ast::item_class(ty_params, items,
{node: {id: ctor_id,
self_id: p.get_id(),
dec: ct_d,
body: ct_b},
span: ct_s}), attrs); }