Trait swc_html_visit::Fold

source ·
pub trait Fold {
Show 23 methods // Provided methods fn fold_atom(&mut self, node: Atom) -> Atom { ... } fn fold_attribute(&mut self, node: Attribute) -> Attribute { ... } fn fold_attribute_token(&mut self, node: AttributeToken) -> AttributeToken { ... } fn fold_attribute_tokens( &mut self, node: Vec<AttributeToken>, ) -> Vec<AttributeToken> { ... } fn fold_attributes(&mut self, node: Vec<Attribute>) -> Vec<Attribute> { ... } fn fold_child(&mut self, node: Child) -> Child { ... } fn fold_childs(&mut self, node: Vec<Child>) -> Vec<Child> { ... } fn fold_comment(&mut self, node: Comment) -> Comment { ... } fn fold_document(&mut self, node: Document) -> Document { ... } fn fold_document_fragment( &mut self, node: DocumentFragment, ) -> DocumentFragment { ... } fn fold_document_mode(&mut self, node: DocumentMode) -> DocumentMode { ... } fn fold_document_type(&mut self, node: DocumentType) -> DocumentType { ... } fn fold_element(&mut self, node: Element) -> Element { ... } fn fold_namespace(&mut self, node: Namespace) -> Namespace { ... } fn fold_opt_atom(&mut self, node: Option<Atom>) -> Option<Atom> { ... } fn fold_opt_document_fragment( &mut self, node: Option<DocumentFragment>, ) -> Option<DocumentFragment> { ... } fn fold_opt_namespace( &mut self, node: Option<Namespace>, ) -> Option<Namespace> { ... } fn fold_opt_raw(&mut self, node: Option<Raw>) -> Option<Raw> { ... } fn fold_raw(&mut self, node: Raw) -> Raw { ... } fn fold_span(&mut self, node: Span) -> Span { ... } fn fold_text(&mut self, node: Text) -> Text { ... } fn fold_token(&mut self, node: Token) -> Token { ... } fn fold_token_and_span(&mut self, node: TokenAndSpan) -> TokenAndSpan { ... }
}
Expand description

A visitor trait for traversing the AST.

Provided Methods§

source

fn fold_atom(&mut self, node: Atom) -> Atom

Visit a node of type swc_atoms :: Atom.

By default, this method calls [swc_atoms :: Atom::fold_children_with]. If you want to recurse, you need to call it manually.

source

fn fold_attribute(&mut self, node: Attribute) -> Attribute

Visit a node of type Attribute.

By default, this method calls Attribute::fold_children_with. If you want to recurse, you need to call it manually.

source

fn fold_attribute_token(&mut self, node: AttributeToken) -> AttributeToken

Visit a node of type AttributeToken.

By default, this method calls AttributeToken::fold_children_with. If you want to recurse, you need to call it manually.

source

fn fold_attribute_tokens( &mut self, node: Vec<AttributeToken>, ) -> Vec<AttributeToken>

Visit a node of type Vec < AttributeToken >.

By default, this method calls [Vec < AttributeToken >::fold_children_with]. If you want to recurse, you need to call it manually.

source

fn fold_attributes(&mut self, node: Vec<Attribute>) -> Vec<Attribute>

Visit a node of type Vec < Attribute >.

By default, this method calls [Vec < Attribute >::fold_children_with]. If you want to recurse, you need to call it manually.

source

fn fold_child(&mut self, node: Child) -> Child

Visit a node of type Child.

By default, this method calls Child::fold_children_with. If you want to recurse, you need to call it manually.

source

fn fold_childs(&mut self, node: Vec<Child>) -> Vec<Child>

Visit a node of type Vec < Child >.

By default, this method calls [Vec < Child >::fold_children_with]. If you want to recurse, you need to call it manually.

source

fn fold_comment(&mut self, node: Comment) -> Comment

Visit a node of type Comment.

By default, this method calls Comment::fold_children_with. If you want to recurse, you need to call it manually.

source

fn fold_document(&mut self, node: Document) -> Document

Visit a node of type Document.

By default, this method calls Document::fold_children_with. If you want to recurse, you need to call it manually.

source

fn fold_document_fragment(&mut self, node: DocumentFragment) -> DocumentFragment

Visit a node of type DocumentFragment.

By default, this method calls DocumentFragment::fold_children_with. If you want to recurse, you need to call it manually.

source

fn fold_document_mode(&mut self, node: DocumentMode) -> DocumentMode

Visit a node of type DocumentMode.

By default, this method calls DocumentMode::fold_children_with. If you want to recurse, you need to call it manually.

source

fn fold_document_type(&mut self, node: DocumentType) -> DocumentType

Visit a node of type DocumentType.

By default, this method calls DocumentType::fold_children_with. If you want to recurse, you need to call it manually.

source

fn fold_element(&mut self, node: Element) -> Element

Visit a node of type Element.

By default, this method calls Element::fold_children_with. If you want to recurse, you need to call it manually.

source

fn fold_namespace(&mut self, node: Namespace) -> Namespace

Visit a node of type Namespace.

By default, this method calls Namespace::fold_children_with. If you want to recurse, you need to call it manually.

source

fn fold_opt_atom(&mut self, node: Option<Atom>) -> Option<Atom>

Visit a node of type Option < swc_atoms :: Atom >.

By default, this method calls [Option < swc_atoms :: Atom >::fold_children_with]. If you want to recurse, you need to call it manually.

source

fn fold_opt_document_fragment( &mut self, node: Option<DocumentFragment>, ) -> Option<DocumentFragment>

Visit a node of type Option < DocumentFragment >.

By default, this method calls [Option < DocumentFragment >::fold_children_with]. If you want to recurse, you need to call it manually.

source

fn fold_opt_namespace(&mut self, node: Option<Namespace>) -> Option<Namespace>

Visit a node of type Option < Namespace >.

By default, this method calls [Option < Namespace >::fold_children_with]. If you want to recurse, you need to call it manually.

source

fn fold_opt_raw(&mut self, node: Option<Raw>) -> Option<Raw>

Visit a node of type Option < Raw >.

By default, this method calls [Option < Raw >::fold_children_with]. If you want to recurse, you need to call it manually.

source

fn fold_raw(&mut self, node: Raw) -> Raw

Visit a node of type Raw.

By default, this method calls Raw::fold_children_with. If you want to recurse, you need to call it manually.

source

fn fold_span(&mut self, node: Span) -> Span

Visit a node of type swc_common :: Span.

By default, this method calls [swc_common :: Span::fold_children_with]. If you want to recurse, you need to call it manually.

source

fn fold_text(&mut self, node: Text) -> Text

Visit a node of type Text.

By default, this method calls Text::fold_children_with. If you want to recurse, you need to call it manually.

source

fn fold_token(&mut self, node: Token) -> Token

Visit a node of type Token.

By default, this method calls Token::fold_children_with. If you want to recurse, you need to call it manually.

source

fn fold_token_and_span(&mut self, node: TokenAndSpan) -> TokenAndSpan

Visit a node of type TokenAndSpan.

By default, this method calls TokenAndSpan::fold_children_with. If you want to recurse, you need to call it manually.

Implementations on Foreign Types§

source§

impl<A, B> Fold for Either<A, B>
where A: Fold, B: Fold,

source§

fn fold_atom(&mut self, node: Atom) -> Atom

source§

fn fold_attribute(&mut self, node: Attribute) -> Attribute

source§

fn fold_attribute_token(&mut self, node: AttributeToken) -> AttributeToken

source§

fn fold_attribute_tokens( &mut self, node: Vec<AttributeToken>, ) -> Vec<AttributeToken>

source§

fn fold_attributes(&mut self, node: Vec<Attribute>) -> Vec<Attribute>

source§

fn fold_child(&mut self, node: Child) -> Child

source§

fn fold_childs(&mut self, node: Vec<Child>) -> Vec<Child>

source§

fn fold_comment(&mut self, node: Comment) -> Comment

source§

fn fold_document(&mut self, node: Document) -> Document

source§

fn fold_document_fragment(&mut self, node: DocumentFragment) -> DocumentFragment

source§

fn fold_document_mode(&mut self, node: DocumentMode) -> DocumentMode

source§

fn fold_document_type(&mut self, node: DocumentType) -> DocumentType

source§

fn fold_element(&mut self, node: Element) -> Element

source§

fn fold_namespace(&mut self, node: Namespace) -> Namespace

source§

fn fold_opt_atom(&mut self, node: Option<Atom>) -> Option<Atom>

source§

fn fold_opt_document_fragment( &mut self, node: Option<DocumentFragment>, ) -> Option<DocumentFragment>

source§

fn fold_opt_namespace(&mut self, node: Option<Namespace>) -> Option<Namespace>

source§

fn fold_opt_raw(&mut self, node: Option<Raw>) -> Option<Raw>

source§

fn fold_raw(&mut self, node: Raw) -> Raw

source§

fn fold_span(&mut self, node: Span) -> Span

source§

fn fold_text(&mut self, node: Text) -> Text

source§

fn fold_token(&mut self, node: Token) -> Token

source§

fn fold_token_and_span(&mut self, node: TokenAndSpan) -> TokenAndSpan

source§

impl<V> Fold for &mut V
where V: ?Sized + Fold,

source§

fn fold_atom(&mut self, node: Atom) -> Atom

source§

fn fold_attribute(&mut self, node: Attribute) -> Attribute

source§

fn fold_attribute_token(&mut self, node: AttributeToken) -> AttributeToken

source§

fn fold_attribute_tokens( &mut self, node: Vec<AttributeToken>, ) -> Vec<AttributeToken>

source§

fn fold_attributes(&mut self, node: Vec<Attribute>) -> Vec<Attribute>

source§

fn fold_child(&mut self, node: Child) -> Child

source§

fn fold_childs(&mut self, node: Vec<Child>) -> Vec<Child>

source§

fn fold_comment(&mut self, node: Comment) -> Comment

source§

fn fold_document(&mut self, node: Document) -> Document

source§

fn fold_document_fragment(&mut self, node: DocumentFragment) -> DocumentFragment

source§

fn fold_document_mode(&mut self, node: DocumentMode) -> DocumentMode

source§

fn fold_document_type(&mut self, node: DocumentType) -> DocumentType

source§

fn fold_element(&mut self, node: Element) -> Element

source§

fn fold_namespace(&mut self, node: Namespace) -> Namespace

source§

fn fold_opt_atom(&mut self, node: Option<Atom>) -> Option<Atom>

source§

fn fold_opt_document_fragment( &mut self, node: Option<DocumentFragment>, ) -> Option<DocumentFragment>

source§

fn fold_opt_namespace(&mut self, node: Option<Namespace>) -> Option<Namespace>

source§

fn fold_opt_raw(&mut self, node: Option<Raw>) -> Option<Raw>

source§

fn fold_raw(&mut self, node: Raw) -> Raw

source§

fn fold_span(&mut self, node: Span) -> Span

source§

fn fold_text(&mut self, node: Text) -> Text

source§

fn fold_token(&mut self, node: Token) -> Token

source§

fn fold_token_and_span(&mut self, node: TokenAndSpan) -> TokenAndSpan

source§

impl<V> Fold for Box<V>
where V: ?Sized + Fold,

source§

fn fold_atom(&mut self, node: Atom) -> Atom

source§

fn fold_attribute(&mut self, node: Attribute) -> Attribute

source§

fn fold_attribute_token(&mut self, node: AttributeToken) -> AttributeToken

source§

fn fold_attribute_tokens( &mut self, node: Vec<AttributeToken>, ) -> Vec<AttributeToken>

source§

fn fold_attributes(&mut self, node: Vec<Attribute>) -> Vec<Attribute>

source§

fn fold_child(&mut self, node: Child) -> Child

source§

fn fold_childs(&mut self, node: Vec<Child>) -> Vec<Child>

source§

fn fold_comment(&mut self, node: Comment) -> Comment

source§

fn fold_document(&mut self, node: Document) -> Document

source§

fn fold_document_fragment(&mut self, node: DocumentFragment) -> DocumentFragment

source§

fn fold_document_mode(&mut self, node: DocumentMode) -> DocumentMode

source§

fn fold_document_type(&mut self, node: DocumentType) -> DocumentType

source§

fn fold_element(&mut self, node: Element) -> Element

source§

fn fold_namespace(&mut self, node: Namespace) -> Namespace

source§

fn fold_opt_atom(&mut self, node: Option<Atom>) -> Option<Atom>

source§

fn fold_opt_document_fragment( &mut self, node: Option<DocumentFragment>, ) -> Option<DocumentFragment>

source§

fn fold_opt_namespace(&mut self, node: Option<Namespace>) -> Option<Namespace>

source§

fn fold_opt_raw(&mut self, node: Option<Raw>) -> Option<Raw>

source§

fn fold_raw(&mut self, node: Raw) -> Raw

source§

fn fold_span(&mut self, node: Span) -> Span

source§

fn fold_text(&mut self, node: Text) -> Text

source§

fn fold_token(&mut self, node: Token) -> Token

source§

fn fold_token_and_span(&mut self, node: TokenAndSpan) -> TokenAndSpan

source§

impl<V> Fold for Optional<V>
where V: Fold,

source§

fn fold_atom(&mut self, node: Atom) -> Atom

source§

fn fold_attribute(&mut self, node: Attribute) -> Attribute

source§

fn fold_attribute_token(&mut self, node: AttributeToken) -> AttributeToken

source§

fn fold_attribute_tokens( &mut self, node: Vec<AttributeToken>, ) -> Vec<AttributeToken>

source§

fn fold_attributes(&mut self, node: Vec<Attribute>) -> Vec<Attribute>

source§

fn fold_child(&mut self, node: Child) -> Child

source§

fn fold_childs(&mut self, node: Vec<Child>) -> Vec<Child>

source§

fn fold_comment(&mut self, node: Comment) -> Comment

source§

fn fold_document(&mut self, node: Document) -> Document

source§

fn fold_document_fragment(&mut self, node: DocumentFragment) -> DocumentFragment

source§

fn fold_document_mode(&mut self, node: DocumentMode) -> DocumentMode

source§

fn fold_document_type(&mut self, node: DocumentType) -> DocumentType

source§

fn fold_element(&mut self, node: Element) -> Element

source§

fn fold_namespace(&mut self, node: Namespace) -> Namespace

source§

fn fold_opt_atom(&mut self, node: Option<Atom>) -> Option<Atom>

source§

fn fold_opt_document_fragment( &mut self, node: Option<DocumentFragment>, ) -> Option<DocumentFragment>

source§

fn fold_opt_namespace(&mut self, node: Option<Namespace>) -> Option<Namespace>

source§

fn fold_opt_raw(&mut self, node: Option<Raw>) -> Option<Raw>

source§

fn fold_raw(&mut self, node: Raw) -> Raw

source§

fn fold_span(&mut self, node: Span) -> Span

source§

fn fold_text(&mut self, node: Text) -> Text

source§

fn fold_token(&mut self, node: Token) -> Token

source§

fn fold_token_and_span(&mut self, node: TokenAndSpan) -> TokenAndSpan

Implementors§