//! and thus uses bitvectors. Your job is simply to specify the so-called
//! GEN and KILL bits for each expression.
-pub use self::EntryOrExit::*;
-
use middle::cfg;
use middle::cfg::CFGIndex;
use middle::ty;
use syntax::print::pprust::PrintState;
use util::nodemap::NodeMap;
use rustc_front::hir;
-use rustc_front::visit;
+use rustc_front::intravisit;
use rustc_front::print::pprust;
index: &'a mut NodeMap<Vec<CFGIndex>>,
}
let mut formals = Formals { entry: entry, index: index };
- visit::walk_fn_decl(&mut formals, decl);
- impl<'a, 'v> visit::Visitor<'v> for Formals<'a> {
+ intravisit::walk_fn_decl(&mut formals, decl);
+ impl<'a, 'v> intravisit::Visitor<'v> for Formals<'a> {
fn visit_pat(&mut self, p: &hir::Pat) {
self.index.entry(p.id).or_insert(vec![]).push(self.entry);
- visit::walk_pat(self, p)
+ intravisit::walk_pat(self, p)
}
}
}
}
let indices = get_cfg_indices(id, &self.nodeid_to_index);
for &cfgidx in indices {
- if !self.each_bit_for_node(Entry, cfgidx, |i| f(i)) {
+ if !self.each_bit_for_node(EntryOrExit::Entry, cfgidx, |i| f(i)) {
return false;
}
}
let on_entry = &self.on_entry[start.. end];
let temp_bits;
let slice = match e {
- Entry => on_entry,
- Exit => {
+ EntryOrExit::Entry => on_entry,
+ EntryOrExit::Exit => {
let mut t = on_entry.to_vec();
self.apply_gen_kill(cfgidx, &mut t);
temp_bits = t;
fn pretty_print_to<'b>(&self, wr: Box<io::Write + 'b>,
blk: &hir::Block) -> io::Result<()> {
- let mut ps = pprust::rust_printer_annotated(wr, self);
+ let mut ps = pprust::rust_printer_annotated(wr, self, None);
try!(ps.cbox(pprust::indent_unit));
try!(ps.ibox(0));
try!(ps.print_block(blk));