From 69a524fbef067d9ee265fa93606c3ae743656c2a Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 22 Aug 2018 17:01:51 +0300 Subject: dedupe --- crates/libsyntax2/src/ast/generated.rs | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) (limited to 'crates/libsyntax2/src/ast/generated.rs') diff --git a/crates/libsyntax2/src/ast/generated.rs b/crates/libsyntax2/src/ast/generated.rs index d0e07fddc..0f53e8f4a 100644 --- a/crates/libsyntax2/src/ast/generated.rs +++ b/crates/libsyntax2/src/ast/generated.rs @@ -40,10 +40,7 @@ impl<'a> AstNode<'a> for Attr<'a> { impl<'a> Attr<'a> { pub fn value(self) -> Option> { - self.syntax() - .children() - .filter_map(TokenTree::cast) - .next() + super::child_opt(self) } } @@ -125,15 +122,11 @@ impl<'a> AstNode<'a> for File<'a> { impl<'a> File<'a> { pub fn functions(self) -> impl Iterator> + 'a { - self.syntax() - .children() - .filter_map(FnDef::cast) + super::children(self) } pub fn modules(self) -> impl Iterator> + 'a { - self.syntax() - .children() - .filter_map(Module::cast) + super::children(self) } } @@ -250,9 +243,7 @@ impl<'a> ast::NameOwner<'a> for Module<'a> {} impl<'a> ast::AttrsOwner<'a> for Module<'a> {} impl<'a> Module<'a> { pub fn modules(self) -> impl Iterator> + 'a { - self.syntax() - .children() - .filter_map(Module::cast) + super::children(self) } } @@ -507,9 +498,7 @@ impl<'a> ast::TypeParamsOwner<'a> for StructDef<'a> {} impl<'a> ast::AttrsOwner<'a> for StructDef<'a> {} impl<'a> StructDef<'a> { pub fn fields(self) -> impl Iterator> + 'a { - self.syntax() - .children() - .filter_map(NamedField::cast) + super::children(self) } } -- cgit v1.2.3