diff options
| author | Lindsey Kuper <lkuper@mozilla.com> | 2011-07-20 12:14:13 -0700 |
|---|---|---|
| committer | Lindsey Kuper <lkuper@mozilla.com> | 2011-07-20 12:22:55 -0700 |
| commit | 00f54b4a42f8403bb3ec07cacf0904c0636c096a (patch) | |
| tree | 8e0acd9943b3111648a7bc1b0979e4fbbe4ab054 | |
| parent | 94c91382cd0ed1601aa1b90906b24e01ec3865f8 (diff) | |
| download | rust-00f54b4a42f8403bb3ec07cacf0904c0636c096a.tar.gz rust-00f54b4a42f8403bb3ec07cacf0904c0636c096a.zip | |
Refactoring and cleaning up.
| -rw-r--r-- | src/comp/middle/typeck.rs | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs index 3a8cfa624e6..342266dc719 100644 --- a/src/comp/middle/typeck.rs +++ b/src/comp/middle/typeck.rs @@ -1207,27 +1207,22 @@ fn gather_locals(&@crate_ctxt ccx, &ast::_fn f, auto nvi = @mutable 0; // Add object fields, if any. + auto obj_fields = ~[]; alt (get_obj_info(ccx)) { - case (some(?oinfo)) { + some(?oinfo) { alt (oinfo) { - case (regular_obj(?obj_fields, _)) { - for (ast::obj_field f in obj_fields) { - auto field_ty = ty::node_id_to_type(ccx.tcx, f.id); - assign(ccx.tcx, vb, locals, local_names, nvi, f.id, - f.ident, some(field_ty)); - } - } - case (anon_obj(?obj_fields, _)) { - for (ast::obj_field f in obj_fields) { - auto field_ty = ty::node_id_to_type(ccx.tcx, f.id); - assign(ccx.tcx, vb, locals, local_names, nvi, f.id, - f.ident, some(field_ty)); - } - } + regular_obj(?ofs, _) { obj_fields = ofs; } + anon_obj(?ofs, _) { obj_fields = ofs; } } } - case (none) {/* no fields */ } + none { /* no fields */ } + } + for (ast::obj_field f in obj_fields) { + auto field_ty = ty::node_id_to_type(ccx.tcx, f.id); + assign(ccx.tcx, vb, locals, local_names, nvi, f.id, f.ident, + some(field_ty)); } + // Add formal parameters. auto args = ty::ty_fn_args(ccx.tcx, ty::node_id_to_type(ccx.tcx, id)); auto i = 0u; |
