diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2015-10-02 20:06:59 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2015-10-13 15:19:19 +0300 |
| commit | beda1f88a7d87cf994fe8e3a5b2fe126e31fcae9 (patch) | |
| tree | 89547bb03a86be3fc38b6ceb6f5335a7aea502dd | |
| parent | 877c35e8a212d2a4f61c528b93097d185725630b (diff) | |
| download | rust-beda1f88a7d87cf994fe8e3a5b2fe126e31fcae9.tar.gz rust-beda1f88a7d87cf994fe8e3a5b2fe126e31fcae9.zip | |
Provide span for visit_struct_def + remove some dead code
| -rw-r--r-- | src/librustc/lint/context.rs | 6 | ||||
| -rw-r--r-- | src/librustc/middle/dead.rs | 2 | ||||
| -rw-r--r-- | src/librustc_back/svh.rs | 3 | ||||
| -rw-r--r-- | src/librustc_front/fold.rs | 13 | ||||
| -rw-r--r-- | src/librustc_front/hir.rs | 6 | ||||
| -rw-r--r-- | src/librustc_front/util.rs | 3 | ||||
| -rw-r--r-- | src/librustc_front/visit.rs | 9 | ||||
| -rw-r--r-- | src/librustc_privacy/lib.rs | 2 | ||||
| -rw-r--r-- | src/librustc_resolve/lib.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/ast.rs | 6 | ||||
| -rw-r--r-- | src/libsyntax/ast_util.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/fold.rs | 12 | ||||
| -rw-r--r-- | src/libsyntax/visit.rs | 9 |
13 files changed, 26 insertions, 51 deletions
diff --git a/src/librustc/lint/context.rs b/src/librustc/lint/context.rs index f66d9a9b399..dcccd9f2c97 100644 --- a/src/librustc/lint/context.rs +++ b/src/librustc/lint/context.rs @@ -665,7 +665,8 @@ impl<'a, 'tcx, 'v> hir_visit::Visitor<'v> for LateContext<'a, 'tcx> { s: &hir::StructDef, name: ast::Name, g: &hir::Generics, - item_id: ast::NodeId) { + item_id: ast::NodeId, + _: Span) { run_lints!(self, check_struct_def, late_passes, s, name, g, item_id); hir_visit::walk_struct_def(self, s); run_lints!(self, check_struct_def_post, late_passes, s, name, g, item_id); @@ -814,7 +815,8 @@ impl<'a, 'v> ast_visit::Visitor<'v> for EarlyContext<'a> { s: &ast::StructDef, ident: ast::Ident, g: &ast::Generics, - item_id: ast::NodeId) { + item_id: ast::NodeId, + _: Span) { run_lints!(self, check_struct_def, early_passes, s, ident, g, item_id); ast_visit::walk_struct_def(self, s); run_lints!(self, check_struct_def_post, early_passes, s, ident, g, item_id); diff --git a/src/librustc/middle/dead.rs b/src/librustc/middle/dead.rs index c243e30e9f9..8b52536a4a0 100644 --- a/src/librustc/middle/dead.rs +++ b/src/librustc/middle/dead.rs @@ -216,7 +216,7 @@ impl<'a, 'tcx> MarkSymbolVisitor<'a, 'tcx> { impl<'a, 'tcx, 'v> Visitor<'v> for MarkSymbolVisitor<'a, 'tcx> { fn visit_struct_def(&mut self, def: &hir::StructDef, _: ast::Name, - _: &hir::Generics, _: ast::NodeId) { + _: &hir::Generics, _: ast::NodeId, _: codemap::Span) { let has_extern_repr = self.struct_has_extern_repr; let inherited_pub_visibility = self.inherited_pub_visibility; let live_fields = def.fields.iter().filter(|f| { diff --git a/src/librustc_back/svh.rs b/src/librustc_back/svh.rs index 57b52eae8ef..4b235534bf3 100644 --- a/src/librustc_back/svh.rs +++ b/src/librustc_back/svh.rs @@ -301,7 +301,8 @@ mod svh_visitor { } impl<'a, 'v> Visitor<'v> for StrictVersionHashVisitor<'a> { - fn visit_struct_def(&mut self, s: &StructDef, name: Name, g: &Generics, _: NodeId) { + fn visit_struct_def(&mut self, s: &StructDef, name: Name, + g: &Generics, _: NodeId, _: Span) { SawStructDef(name.as_str()).hash(self.st); visit::walk_generics(self, g); visit::walk_struct_def(self, s) diff --git a/src/librustc_front/fold.rs b/src/librustc_front/fold.rs index 409b037d922..2cd49bedae3 100644 --- a/src/librustc_front/fold.rs +++ b/src/librustc_front/fold.rs @@ -247,10 +247,6 @@ pub trait Folder : Sized { noop_fold_opt_lifetime(o_lt, self) } - fn fold_variant_arg(&mut self, va: VariantArg) -> VariantArg { - noop_fold_variant_arg(va, self) - } - fn fold_opt_bounds(&mut self, b: Option<OwnedSlice<TyParamBound>>) -> Option<OwnedSlice<TyParamBound>> { @@ -766,15 +762,6 @@ fn noop_fold_bounds<T: Folder>(bounds: TyParamBounds, folder: &mut T) -> TyParam bounds.move_map(|bound| folder.fold_ty_param_bound(bound)) } -fn noop_fold_variant_arg<T: Folder>(VariantArg { id, ty }: VariantArg, - folder: &mut T) - -> VariantArg { - VariantArg { - id: folder.new_id(id), - ty: folder.fold_ty(ty), - } -} - pub fn noop_fold_block<T: Folder>(b: P<Block>, folder: &mut T) -> P<Block> { b.map(|Block { id, stmts, expr, rules, span }| { Block { diff --git a/src/librustc_front/hir.rs b/src/librustc_front/hir.rs index 04b54ab47c6..b55bfc395b4 100644 --- a/src/librustc_front/hir.rs +++ b/src/librustc_front/hir.rs @@ -1015,12 +1015,6 @@ pub struct ForeignMod { } #[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug)] -pub struct VariantArg { - pub ty: P<Ty>, - pub id: NodeId, -} - -#[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug)] pub struct EnumDef { pub variants: Vec<P<Variant>>, } diff --git a/src/librustc_front/util.rs b/src/librustc_front/util.rs index 540ca575c15..16299a83c66 100644 --- a/src/librustc_front/util.rs +++ b/src/librustc_front/util.rs @@ -285,7 +285,8 @@ impl<'a, 'v, O: ast_util::IdVisitingOperation> Visitor<'v> for IdVisitor<'a, O> struct_def: &StructDef, _: Name, _: &hir::Generics, - _: NodeId) { + _: NodeId, + _: Span) { self.operation.visit_id(struct_def.id); visit::walk_struct_def(self, struct_def); } diff --git a/src/librustc_front/visit.rs b/src/librustc_front/visit.rs index 4af60c905e4..2bbaeaefa0f 100644 --- a/src/librustc_front/visit.rs +++ b/src/librustc_front/visit.rs @@ -112,7 +112,8 @@ pub trait Visitor<'v> : Sized { fn visit_poly_trait_ref(&mut self, t: &'v PolyTraitRef, m: &'v TraitBoundModifier) { walk_poly_trait_ref(self, t, m) } - fn visit_struct_def(&mut self, s: &'v StructDef, _: Name, _: &'v Generics, _: NodeId) { + fn visit_struct_def(&mut self, s: &'v StructDef, _: Name, + _: &'v Generics, _: NodeId, _: Span) { walk_struct_def(self, s) } fn visit_struct_field(&mut self, s: &'v StructField) { @@ -309,7 +310,8 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item) { } ItemStruct(ref struct_definition, ref generics) => { visitor.visit_generics(generics); - visitor.visit_struct_def(struct_definition, item.name, generics, item.id); + visitor.visit_struct_def(struct_definition, item.name, + generics, item.id, item.span); } ItemTrait(_, ref generics, ref bounds, ref methods) => { visitor.visit_generics(generics); @@ -334,7 +336,8 @@ pub fn walk_variant<'v, V: Visitor<'v>>(visitor: &mut V, generics: &'v Generics, item_id: NodeId) { visitor.visit_name(variant.span, variant.node.name); - visitor.visit_struct_def(&variant.node.def, variant.node.name, generics, item_id); + visitor.visit_struct_def(&variant.node.def, variant.node.name, + generics, item_id, variant.span); walk_list!(visitor, visit_expr, &variant.node.disr_expr); walk_list!(visitor, visit_attribute, &variant.node.attrs); } diff --git a/src/librustc_privacy/lib.rs b/src/librustc_privacy/lib.rs index b5436fb922a..6ff8239d3ae 100644 --- a/src/librustc_privacy/lib.rs +++ b/src/librustc_privacy/lib.rs @@ -129,7 +129,7 @@ impl<'v> Visitor<'v> for ParentVisitor { } fn visit_struct_def(&mut self, s: &hir::StructDef, _: ast::Name, - _: &'v hir::Generics, item_id: ast::NodeId) { + _: &'v hir::Generics, item_id: ast::NodeId, _: Span) { // Struct constructors are parented to their struct definitions because // they essentially are the struct definitions. if s.kind != hir::VariantKind::Dict { diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index 9c7054e592c..b71f89a75be 100644 --- a/src/librustc_resolve/lib.rs +++ b/src/librustc_resolve/lib.rs @@ -501,7 +501,8 @@ impl<'a, 'v, 'tcx> Visitor<'v> for Resolver<'a, 'tcx> { } // `visit::walk_variant` without the discriminant expression. - self.visit_struct_def(&variant.node.def, variant.node.name, generics, item_id); + self.visit_struct_def(&variant.node.def, variant.node.name, + generics, item_id, variant.span); } fn visit_foreign_item(&mut self, foreign_item: &hir::ForeignItem) { execute_callback!(hir_map::Node::NodeForeignItem(foreign_item), self); diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index 53246963dc8..b786e778edb 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -1571,12 +1571,6 @@ pub struct ForeignMod { } #[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug)] -pub struct VariantArg { - pub ty: P<Ty>, - pub id: NodeId, -} - -#[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug)] pub struct EnumDef { pub variants: Vec<P<Variant>>, } diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index 592770ea482..c52c5984858 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -456,7 +456,8 @@ impl<'a, 'v, O: IdVisitingOperation> Visitor<'v> for IdVisitor<'a, O> { struct_def: &StructDef, _: ast::Ident, _: &ast::Generics, - _: NodeId) { + _: NodeId, + _: Span) { self.operation.visit_id(struct_def.id); visit::walk_struct_def(self, struct_def); } diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs index 7da09f51883..144eab92795 100644 --- a/src/libsyntax/fold.rs +++ b/src/libsyntax/fold.rs @@ -271,10 +271,6 @@ pub trait Folder : Sized { noop_fold_opt_lifetime(o_lt, self) } - fn fold_variant_arg(&mut self, va: VariantArg) -> VariantArg { - noop_fold_variant_arg(va, self) - } - fn fold_opt_bounds(&mut self, b: Option<OwnedSlice<TyParamBound>>) -> Option<OwnedSlice<TyParamBound>> { noop_fold_opt_bounds(b, self) @@ -884,14 +880,6 @@ fn noop_fold_bounds<T: Folder>(bounds: TyParamBounds, folder: &mut T) bounds.move_map(|bound| folder.fold_ty_param_bound(bound)) } -fn noop_fold_variant_arg<T: Folder>(VariantArg {id, ty}: VariantArg, folder: &mut T) - -> VariantArg { - VariantArg { - id: folder.new_id(id), - ty: folder.fold_ty(ty) - } -} - pub fn noop_fold_block<T: Folder>(b: P<Block>, folder: &mut T) -> P<Block> { b.map(|Block {id, stmts, expr, rules, span}| Block { id: folder.new_id(id), diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs index 6dc59b390f6..b547f8c019c 100644 --- a/src/libsyntax/visit.rs +++ b/src/libsyntax/visit.rs @@ -80,7 +80,8 @@ pub trait Visitor<'v> : Sized { fn visit_poly_trait_ref(&mut self, t: &'v PolyTraitRef, m: &'v TraitBoundModifier) { walk_poly_trait_ref(self, t, m) } - fn visit_struct_def(&mut self, s: &'v StructDef, _: Ident, _: &'v Generics, _: NodeId) { + fn visit_struct_def(&mut self, s: &'v StructDef, _: Ident, + _: &'v Generics, _: NodeId, _: Span) { walk_struct_def(self, s) } fn visit_struct_field(&mut self, s: &'v StructField) { walk_struct_field(self, s) } @@ -288,7 +289,8 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item) { } ItemStruct(ref struct_definition, ref generics) => { visitor.visit_generics(generics); - visitor.visit_struct_def(struct_definition, item.ident, generics, item.id); + visitor.visit_struct_def(struct_definition, item.ident, + generics, item.id, item.span); } ItemTrait(_, ref generics, ref bounds, ref methods) => { visitor.visit_generics(generics); @@ -314,7 +316,8 @@ pub fn walk_variant<'v, V: Visitor<'v>>(visitor: &mut V, generics: &'v Generics, item_id: NodeId) { visitor.visit_ident(variant.span, variant.node.name); - visitor.visit_struct_def(&variant.node.def, variant.node.name, generics, item_id); + visitor.visit_struct_def(&variant.node.def, variant.node.name, + generics, item_id, variant.span); walk_list!(visitor, visit_expr, &variant.node.disr_expr); walk_list!(visitor, visit_attribute, &variant.node.attrs); } |
