about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLindsey Kuper <lkuper@mozilla.com>2011-07-20 12:14:13 -0700
committerLindsey Kuper <lkuper@mozilla.com>2011-07-20 12:22:55 -0700
commit00f54b4a42f8403bb3ec07cacf0904c0636c096a (patch)
tree8e0acd9943b3111648a7bc1b0979e4fbbe4ab054
parent94c91382cd0ed1601aa1b90906b24e01ec3865f8 (diff)
downloadrust-00f54b4a42f8403bb3ec07cacf0904c0636c096a.tar.gz
rust-00f54b4a42f8403bb3ec07cacf0904c0636c096a.zip
Refactoring and cleaning up.
-rw-r--r--src/comp/middle/typeck.rs27
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;