rustpkg: Use workcache
rustpkg now uses the workcache library to avoid recompilation. Hooray!
This commit is contained in:
@@ -14,7 +14,7 @@ use ast_util;
|
||||
use codemap::{Span, dummy_sp};
|
||||
use opt_vec;
|
||||
use parse::token;
|
||||
use visit::{SimpleVisitor, SimpleVisitorVisitor, Visitor};
|
||||
use visit::{SimpleVisitor, Visitor};
|
||||
use visit;
|
||||
|
||||
use std::hashmap::HashMap;
|
||||
@@ -684,94 +684,25 @@ pub fn walk_pat(pat: @Pat, it: &fn(@Pat) -> bool) -> bool {
|
||||
}
|
||||
|
||||
pub trait EachViewItem {
|
||||
fn each_view_item(&self, f: @fn(&ast::view_item) -> bool) -> bool;
|
||||
fn each_view_item(&self, f: &fn(&ast::view_item) -> bool) -> bool;
|
||||
}
|
||||
|
||||
struct EachViewItemData {
|
||||
callback: @fn(&ast::view_item) -> bool,
|
||||
struct EachViewItemData<'self> {
|
||||
callback: &'self fn(&ast::view_item) -> bool,
|
||||
}
|
||||
|
||||
impl SimpleVisitor for EachViewItemData {
|
||||
fn visit_mod(&mut self, _: &_mod, _: Span, _: NodeId) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_view_item(&mut self, view_item: &view_item) {
|
||||
impl<'self> Visitor<()> for EachViewItemData<'self> {
|
||||
fn visit_view_item(&mut self, view_item: &ast::view_item, _: ()) {
|
||||
let _ = (self.callback)(view_item);
|
||||
}
|
||||
fn visit_foreign_item(&mut self, _: @foreign_item) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_item(&mut self, _: @item) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_local(&mut self, _: @Local) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_block(&mut self, _: &Block) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_stmt(&mut self, _: @Stmt) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_arm(&mut self, _: &Arm) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_pat(&mut self, _: @Pat) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_decl(&mut self, _: @Decl) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_expr(&mut self, _: @Expr) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_expr_post(&mut self, _: @Expr) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_ty(&mut self, _: &Ty) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_generics(&mut self, _: &Generics) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_fn(&mut self,
|
||||
_: &visit::fn_kind,
|
||||
_: &fn_decl,
|
||||
_: &Block,
|
||||
_: Span,
|
||||
_: NodeId) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_ty_method(&mut self, _: &TypeMethod) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_trait_method(&mut self, _: &trait_method) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_struct_def(&mut self,
|
||||
_: @struct_def,
|
||||
_: Ident,
|
||||
_: &Generics,
|
||||
_: NodeId) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_struct_field(&mut self, _: @struct_field) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
fn visit_struct_method(&mut self, _: @method) {
|
||||
// XXX: Default method.
|
||||
}
|
||||
}
|
||||
|
||||
impl EachViewItem for ast::Crate {
|
||||
fn each_view_item(&self, f: @fn(&ast::view_item) -> bool) -> bool {
|
||||
let data = @mut EachViewItemData {
|
||||
fn each_view_item(&self, f: &fn(&ast::view_item) -> bool) -> bool {
|
||||
let mut visit = EachViewItemData {
|
||||
callback: f,
|
||||
};
|
||||
let visitor = @mut SimpleVisitorVisitor {
|
||||
simple_visitor: data as @mut SimpleVisitor,
|
||||
};
|
||||
visit::walk_crate(visitor, self, ());
|
||||
visit::walk_crate(&mut visit, self, ());
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user