use session::config;
use session::Session;
-use metadata::csearch;
+use middle::cstore::CrateStore;
use middle::lang_items;
+use syntax::ast;
use syntax::codemap::Span;
use syntax::parse::token::InternedString;
-use rustc_front::visit::Visitor;
-use rustc_front::visit;
+use rustc_front::intravisit::Visitor;
+use rustc_front::intravisit;
use rustc_front::hir;
use std::collections::HashSet;
{
let mut cx = Context { sess: sess, items: items };
- visit::walk_crate(&mut cx, krate);
+ krate.visit_all_items(&mut cx);
}
verify(sess, items);
}
-pub fn link_name(attrs: &[hir::Attribute]) -> Option<InternedString> {
+pub fn link_name(attrs: &[ast::Attribute]) -> Option<InternedString> {
lang_items::extract(attrs).and_then(|name| {
$(if &name[..] == stringify!($name) {
Some(InternedString::new(stringify!($sym)))
if !needs_check { return }
let mut missing = HashSet::new();
- sess.cstore.iter_crate_data(|cnum, _| {
- for item in &csearch::get_missing_lang_items(&sess.cstore, cnum) {
- missing.insert(*item);
+ for cnum in sess.cstore.crates() {
+ for item in sess.cstore.missing_lang_items(cnum) {
+ missing.insert(item);
}
- });
+ }
$(
if missing.contains(&lang_items::$item) && items.$name().is_none() {
}
} else)* {
span_err!(self.sess, span, E0264,
- "unknown external lang item: `{}`",
- name);
+ "unknown external lang item: `{}`",
+ name);
}
}
}
None => {}
Some(lang_item) => self.register(&lang_item, i.span),
}
- visit::walk_foreign_item(self, i)
+ intravisit::walk_foreign_item(self, i)
}
}