]> git.lizzy.rs Git - rust.git/commitdiff
librustc: Use Typer's node_ty method instead of free function in ExprUseVisitor.
authorLuqman Aden <me@luqman.ca>
Mon, 25 Aug 2014 20:30:49 +0000 (13:30 -0700)
committerLuqman Aden <me@luqman.ca>
Mon, 25 Aug 2014 20:30:49 +0000 (13:30 -0700)
src/librustc/middle/expr_use_visitor.rs

index 84b879227ae6c7df7e50154043c4adbe174ac110..0b71c35d2f8873178ef6e04f9c4a35e687589e7d 100644 (file)
@@ -234,7 +234,7 @@ fn walk_arg_patterns(&mut self,
                          decl: &ast::FnDecl,
                          body: &ast::Block) {
         for arg in decl.inputs.iter() {
-            let arg_ty = ty::node_id_to_type(self.tcx(), arg.pat.id);
+            let arg_ty = return_if_err!(self.typer.node_ty(arg.pat.id));
 
             let arg_cmt = self.mc.cat_rvalue(
                 arg.id,
@@ -414,7 +414,7 @@ pub fn walk_expr(&mut self, expr: &ast::Expr) {
 
                 // Fetch the type of the value that the iteration yields to
                 // produce the pattern's categorized mutable type.
-                let pattern_type = ty::node_id_to_type(self.tcx(), pat.id);
+                let pattern_type = return_if_err!(self.typer.node_ty(pat.id));
                 let pat_cmt = self.mc.cat_rvalue(pat.id,
                                                  pat.span,
                                                  ty::ReScope(blk.id),
@@ -828,7 +828,7 @@ fn walk_pat(&mut self, cmt_discr: mc::cmt, pat: Gc<ast::Pat>) {
                        pat.repr(tcx));
 
                 // pat_ty: the type of the binding being produced.
-                let pat_ty = ty::node_id_to_type(tcx, pat.id);
+                let pat_ty = return_if_err!(typer.node_ty(pat.id));
 
                 // Each match binding is effectively an assignment to the
                 // binding being produced.
@@ -971,7 +971,7 @@ fn cat_captured_var(&mut self,
         // Create the cmt for the variable being borrowed, from the
         // caller's perspective
         let var_id = upvar_def.def_id().node;
-        let var_ty = ty::node_id_to_type(self.tcx(), var_id);
+        let var_ty = try!(self.typer.node_ty(var_id));
         self.mc.cat_def(closure_id, closure_span, var_ty, upvar_def)
     }
 }