From 02a0fb94ee685381b08d138454052b062c8b4f6e Mon Sep 17 00:00:00 2001 From: Tim Chevalier Date: Fri, 6 Sep 2013 20:29:16 -0700 Subject: rustpkg: Use workcache rustpkg now uses the workcache library to avoid recompilation. Hooray! --- src/libsyntax/ast_util.rs | 87 +++++------------------------------------------ 1 file changed, 9 insertions(+), 78 deletions(-) (limited to 'src/libsyntax') diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index ee898c182e0..dcf655871df 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -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 } } -- cgit 1.4.1-3-g733a5