diff options
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ast_util.rs | 16 | ||||
| -rw-r--r-- | src/libsyntax/feature_gate.rs | 12 | ||||
| -rw-r--r-- | src/libsyntax/visit.rs | 24 |
3 files changed, 25 insertions, 27 deletions
diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index 61c182f638f..43476df3a8e 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -17,7 +17,7 @@ use owned_slice::OwnedSlice; use parse::token; use print::pprust; use ptr::P; -use visit::Visitor; +use visit::{FnKind, Visitor}; use visit; use std::cmp; @@ -423,8 +423,8 @@ impl<'a, 'v, O: IdVisitingOperation> Visitor<'v> for IdVisitor<'a, O> { node_id: NodeId) { if !self.pass_through_items { match function_kind { - visit::FkMethod(..) if self.visited_outermost => return, - visit::FkMethod(..) => self.visited_outermost = true, + FnKind::Method(..) if self.visited_outermost => return, + FnKind::Method(..) => self.visited_outermost = true, _ => {} } } @@ -432,13 +432,13 @@ impl<'a, 'v, O: IdVisitingOperation> Visitor<'v> for IdVisitor<'a, O> { self.operation.visit_id(node_id); match function_kind { - visit::FkItemFn(_, generics, _, _, _, _) => { + FnKind::ItemFn(_, generics, _, _, _, _) => { self.visit_generics_helper(generics) } - visit::FkMethod(_, sig, _) => { + FnKind::Method(_, sig, _) => { self.visit_generics_helper(&sig.generics) } - visit::FkClosure => {} + FnKind::Closure => {} } for argument in &function_declaration.inputs { @@ -452,7 +452,7 @@ impl<'a, 'v, O: IdVisitingOperation> Visitor<'v> for IdVisitor<'a, O> { span); if !self.pass_through_items { - if let visit::FkMethod(..) = function_kind { + if let FnKind::Method(..) = function_kind { self.visited_outermost = false; } } @@ -518,7 +518,7 @@ impl IdVisitingOperation for IdRangeComputingVisitor { } /// Computes the id range for a single fn body, ignoring nested items. -pub fn compute_id_range_for_fn_body(fk: visit::FnKind, +pub fn compute_id_range_for_fn_body(fk: FnKind, decl: &FnDecl, body: &Block, sp: Span, diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs index f5a0a2f4718..e9a99bfde65 100644 --- a/src/libsyntax/feature_gate.rs +++ b/src/libsyntax/feature_gate.rs @@ -33,7 +33,7 @@ use attr::AttrMetaMethods; use codemap::{CodeMap, Span}; use diagnostic::SpanHandler; use visit; -use visit::Visitor; +use visit::{FnKind, Visitor}; use parse::token::{self, InternedString}; use std::ascii::AsciiExt; @@ -825,14 +825,14 @@ impl<'a, 'v> Visitor<'v> for PostExpansionVisitor<'a> { } fn visit_fn(&mut self, - fn_kind: visit::FnKind<'v>, + fn_kind: FnKind<'v>, fn_decl: &'v ast::FnDecl, block: &'v ast::Block, span: Span, _node_id: NodeId) { // check for const fn declarations match fn_kind { - visit::FkItemFn(_, _, _, ast::Constness::Const, _, _) => { + FnKind::ItemFn(_, _, _, ast::Constness::Const, _, _) => { self.gate_feature("const_fn", span, "const fn is unstable"); } _ => { @@ -844,13 +844,13 @@ impl<'a, 'v> Visitor<'v> for PostExpansionVisitor<'a> { } match fn_kind { - visit::FkItemFn(_, _, _, _, abi, _) if abi == Abi::RustIntrinsic => { + FnKind::ItemFn(_, _, _, _, abi, _) if abi == Abi::RustIntrinsic => { self.gate_feature("intrinsics", span, "intrinsics are subject to change") } - visit::FkItemFn(_, _, _, _, abi, _) | - visit::FkMethod(_, &ast::MethodSig { abi, .. }, _) if abi == Abi::RustCall => { + FnKind::ItemFn(_, _, _, _, abi, _) | + FnKind::Method(_, &ast::MethodSig { abi, .. }, _) if abi == Abi::RustCall => { self.gate_feature("unboxed_closures", span, "rust-call ABI is subject to change") diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs index 824aee74ce5..8365a7375c6 100644 --- a/src/libsyntax/visit.rs +++ b/src/libsyntax/visit.rs @@ -23,8 +23,6 @@ //! instance, a walker looking for item names in a module will miss all of //! those that are created by the expansion of a macro. -pub use self::FnKind::*; - use abi::Abi; use ast::*; use ast; @@ -35,13 +33,13 @@ use owned_slice::OwnedSlice; #[derive(Copy, Clone, PartialEq, Eq)] pub enum FnKind<'a> { /// fn foo() or extern "Abi" fn foo() - FkItemFn(Ident, &'a Generics, Unsafety, Constness, Abi, Visibility), + ItemFn(Ident, &'a Generics, Unsafety, Constness, Abi, Visibility), /// fn foo(&self) - FkMethod(Ident, &'a MethodSig, Option<Visibility>), + Method(Ident, &'a MethodSig, Option<Visibility>), /// |x, y| {} - FkClosure, + Closure, } /// Each method of the Visitor trait is a hook to be potentially @@ -247,8 +245,8 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item) { visitor.visit_expr(&**expr); } ItemFn(ref declaration, unsafety, constness, abi, ref generics, ref body) => { - visitor.visit_fn(FkItemFn(item.ident, generics, unsafety, - constness, abi, item.vis), + visitor.visit_fn(FnKind::ItemFn(item.ident, generics, unsafety, + constness, abi, item.vis), &**declaration, &**body, item.span, @@ -608,14 +606,14 @@ pub fn walk_fn<'v, V: Visitor<'v>>(visitor: &mut V, walk_fn_decl(visitor, function_declaration); match function_kind { - FkItemFn(_, generics, _, _, _, _) => { + FnKind::ItemFn(_, generics, _, _, _, _) => { visitor.visit_generics(generics); } - FkMethod(_, sig, _) => { + FnKind::Method(_, sig, _) => { visitor.visit_generics(&sig.generics); visitor.visit_explicit_self(&sig.explicit_self); } - FkClosure(..) => {} + FnKind::Closure(..) => {} } visitor.visit_block(function_body) @@ -639,7 +637,7 @@ pub fn walk_trait_item<'v, V: Visitor<'v>>(visitor: &mut V, trait_item: &'v Trai walk_fn_decl(visitor, &sig.decl); } MethodTraitItem(ref sig, Some(ref body)) => { - visitor.visit_fn(FkMethod(trait_item.ident, sig, None), &sig.decl, + visitor.visit_fn(FnKind::Method(trait_item.ident, sig, None), &sig.decl, body, trait_item.span, trait_item.id); } TypeTraitItem(ref bounds, ref default) => { @@ -660,7 +658,7 @@ pub fn walk_impl_item<'v, V: Visitor<'v>>(visitor: &mut V, impl_item: &'v ImplIt visitor.visit_expr(expr); } MethodImplItem(ref sig, ref body) => { - visitor.visit_fn(FkMethod(impl_item.ident, sig, Some(impl_item.vis)), &sig.decl, + visitor.visit_fn(FnKind::Method(impl_item.ident, sig, Some(impl_item.vis)), &sig.decl, body, impl_item.span, impl_item.id); } TypeImplItem(ref ty) => { @@ -816,7 +814,7 @@ pub fn walk_expr<'v, V: Visitor<'v>>(visitor: &mut V, expression: &'v Expr) { } } ExprClosure(_, ref function_declaration, ref body) => { - visitor.visit_fn(FkClosure, + visitor.visit_fn(FnKind::Closure, &**function_declaration, &**body, expression.span, |
