pub trait Fold {
Show 36 methods
// Provided methods
fn fold_alternative(&mut self, node: Alternative) -> Alternative { ... }
fn fold_alternatives(&mut self, node: Vec<Alternative>) -> Vec<Alternative> { ... }
fn fold_atom(&mut self, node: Atom) -> Atom { ... }
fn fold_boundary_assertion(
&mut self,
node: BoundaryAssertion,
) -> BoundaryAssertion { ... }
fn fold_boundary_assertion_kind(
&mut self,
node: BoundaryAssertionKind,
) -> BoundaryAssertionKind { ... }
fn fold_capturing_group(&mut self, node: CapturingGroup) -> CapturingGroup { ... }
fn fold_character(&mut self, node: Character) -> Character { ... }
fn fold_character_class(&mut self, node: CharacterClass) -> CharacterClass { ... }
fn fold_character_class_contents(
&mut self,
node: CharacterClassContents,
) -> CharacterClassContents { ... }
fn fold_character_class_contents_kind(
&mut self,
node: CharacterClassContentsKind,
) -> CharacterClassContentsKind { ... }
fn fold_character_class_contentss(
&mut self,
node: Vec<CharacterClassContents>,
) -> Vec<CharacterClassContents> { ... }
fn fold_character_class_escape(
&mut self,
node: CharacterClassEscape,
) -> CharacterClassEscape { ... }
fn fold_character_class_escape_kind(
&mut self,
node: CharacterClassEscapeKind,
) -> CharacterClassEscapeKind { ... }
fn fold_character_class_range(
&mut self,
node: CharacterClassRange,
) -> CharacterClassRange { ... }
fn fold_character_kind(&mut self, node: CharacterKind) -> CharacterKind { ... }
fn fold_characters(&mut self, node: Vec<Character>) -> Vec<Character> { ... }
fn fold_class_string(&mut self, node: ClassString) -> ClassString { ... }
fn fold_class_string_disjunction(
&mut self,
node: ClassStringDisjunction,
) -> ClassStringDisjunction { ... }
fn fold_class_strings(&mut self, node: Vec<ClassString>) -> Vec<ClassString> { ... }
fn fold_disjunction(&mut self, node: Disjunction) -> Disjunction { ... }
fn fold_dot(&mut self, node: Dot) -> Dot { ... }
fn fold_ignore_group(&mut self, node: IgnoreGroup) -> IgnoreGroup { ... }
fn fold_indexed_reference(
&mut self,
node: IndexedReference,
) -> IndexedReference { ... }
fn fold_look_around_assertion(
&mut self,
node: LookAroundAssertion,
) -> LookAroundAssertion { ... }
fn fold_look_around_assertion_kind(
&mut self,
node: LookAroundAssertionKind,
) -> LookAroundAssertionKind { ... }
fn fold_modifier(&mut self, node: Modifier) -> Modifier { ... }
fn fold_modifiers(&mut self, node: Modifiers) -> Modifiers { ... }
fn fold_named_reference(&mut self, node: NamedReference) -> NamedReference { ... }
fn fold_opt_atom(&mut self, node: Option<Atom>) -> Option<Atom> { ... }
fn fold_opt_modifiers(
&mut self,
node: Option<Modifiers>,
) -> Option<Modifiers> { ... }
fn fold_pattern(&mut self, node: Pattern) -> Pattern { ... }
fn fold_quantifier(&mut self, node: Quantifier) -> Quantifier { ... }
fn fold_span(&mut self, node: Span) -> Span { ... }
fn fold_term(&mut self, node: Term) -> Term { ... }
fn fold_terms(&mut self, node: Vec<Term>) -> Vec<Term> { ... }
fn fold_unicode_property_escape(
&mut self,
node: UnicodePropertyEscape,
) -> UnicodePropertyEscape { ... }
}Expand description
A visitor trait for traversing the AST.
Provided Methods§
Sourcefn fold_alternative(&mut self, node: Alternative) -> Alternative
fn fold_alternative(&mut self, node: Alternative) -> Alternative
Visit a node of type Alternative.
By default, this method calls [Alternative::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_alternatives(&mut self, node: Vec<Alternative>) -> Vec<Alternative>
fn fold_alternatives(&mut self, node: Vec<Alternative>) -> Vec<Alternative>
Visit a node of type Vec < Alternative >.
By default, this method calls [Vec < Alternative >::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_atom(&mut self, node: Atom) -> Atom
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.
Sourcefn fold_boundary_assertion(
&mut self,
node: BoundaryAssertion,
) -> BoundaryAssertion
fn fold_boundary_assertion( &mut self, node: BoundaryAssertion, ) -> BoundaryAssertion
Visit a node of type BoundaryAssertion.
By default, this method calls [BoundaryAssertion::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_boundary_assertion_kind(
&mut self,
node: BoundaryAssertionKind,
) -> BoundaryAssertionKind
fn fold_boundary_assertion_kind( &mut self, node: BoundaryAssertionKind, ) -> BoundaryAssertionKind
Visit a node of type BoundaryAssertionKind.
By default, this method calls [BoundaryAssertionKind::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_capturing_group(&mut self, node: CapturingGroup) -> CapturingGroup
fn fold_capturing_group(&mut self, node: CapturingGroup) -> CapturingGroup
Visit a node of type CapturingGroup.
By default, this method calls [CapturingGroup::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_character(&mut self, node: Character) -> Character
fn fold_character(&mut self, node: Character) -> Character
Visit a node of type Character.
By default, this method calls [Character::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_character_class(&mut self, node: CharacterClass) -> CharacterClass
fn fold_character_class(&mut self, node: CharacterClass) -> CharacterClass
Visit a node of type CharacterClass.
By default, this method calls [CharacterClass::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_character_class_contents(
&mut self,
node: CharacterClassContents,
) -> CharacterClassContents
fn fold_character_class_contents( &mut self, node: CharacterClassContents, ) -> CharacterClassContents
Visit a node of type CharacterClassContents.
By default, this method calls [CharacterClassContents::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_character_class_contents_kind(
&mut self,
node: CharacterClassContentsKind,
) -> CharacterClassContentsKind
fn fold_character_class_contents_kind( &mut self, node: CharacterClassContentsKind, ) -> CharacterClassContentsKind
Visit a node of type CharacterClassContentsKind.
By default, this method calls [CharacterClassContentsKind::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_character_class_contentss(
&mut self,
node: Vec<CharacterClassContents>,
) -> Vec<CharacterClassContents>
fn fold_character_class_contentss( &mut self, node: Vec<CharacterClassContents>, ) -> Vec<CharacterClassContents>
Visit a node of type Vec < CharacterClassContents >.
By default, this method calls [Vec < CharacterClassContents >::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_character_class_escape(
&mut self,
node: CharacterClassEscape,
) -> CharacterClassEscape
fn fold_character_class_escape( &mut self, node: CharacterClassEscape, ) -> CharacterClassEscape
Visit a node of type CharacterClassEscape.
By default, this method calls [CharacterClassEscape::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_character_class_escape_kind(
&mut self,
node: CharacterClassEscapeKind,
) -> CharacterClassEscapeKind
fn fold_character_class_escape_kind( &mut self, node: CharacterClassEscapeKind, ) -> CharacterClassEscapeKind
Visit a node of type CharacterClassEscapeKind.
By default, this method calls [CharacterClassEscapeKind::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_character_class_range(
&mut self,
node: CharacterClassRange,
) -> CharacterClassRange
fn fold_character_class_range( &mut self, node: CharacterClassRange, ) -> CharacterClassRange
Visit a node of type CharacterClassRange.
By default, this method calls [CharacterClassRange::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_character_kind(&mut self, node: CharacterKind) -> CharacterKind
fn fold_character_kind(&mut self, node: CharacterKind) -> CharacterKind
Visit a node of type CharacterKind.
By default, this method calls [CharacterKind::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_characters(&mut self, node: Vec<Character>) -> Vec<Character>
fn fold_characters(&mut self, node: Vec<Character>) -> Vec<Character>
Visit a node of type Vec < Character >.
By default, this method calls [Vec < Character >::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_class_string(&mut self, node: ClassString) -> ClassString
fn fold_class_string(&mut self, node: ClassString) -> ClassString
Visit a node of type ClassString.
By default, this method calls [ClassString::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_class_string_disjunction(
&mut self,
node: ClassStringDisjunction,
) -> ClassStringDisjunction
fn fold_class_string_disjunction( &mut self, node: ClassStringDisjunction, ) -> ClassStringDisjunction
Visit a node of type ClassStringDisjunction.
By default, this method calls [ClassStringDisjunction::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_class_strings(&mut self, node: Vec<ClassString>) -> Vec<ClassString>
fn fold_class_strings(&mut self, node: Vec<ClassString>) -> Vec<ClassString>
Visit a node of type Vec < ClassString >.
By default, this method calls [Vec < ClassString >::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_disjunction(&mut self, node: Disjunction) -> Disjunction
fn fold_disjunction(&mut self, node: Disjunction) -> Disjunction
Visit a node of type Disjunction.
By default, this method calls [Disjunction::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_dot(&mut self, node: Dot) -> Dot
fn fold_dot(&mut self, node: Dot) -> Dot
Visit a node of type Dot.
By default, this method calls [Dot::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_ignore_group(&mut self, node: IgnoreGroup) -> IgnoreGroup
fn fold_ignore_group(&mut self, node: IgnoreGroup) -> IgnoreGroup
Visit a node of type IgnoreGroup.
By default, this method calls [IgnoreGroup::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_indexed_reference(&mut self, node: IndexedReference) -> IndexedReference
fn fold_indexed_reference(&mut self, node: IndexedReference) -> IndexedReference
Visit a node of type IndexedReference.
By default, this method calls [IndexedReference::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_look_around_assertion(
&mut self,
node: LookAroundAssertion,
) -> LookAroundAssertion
fn fold_look_around_assertion( &mut self, node: LookAroundAssertion, ) -> LookAroundAssertion
Visit a node of type LookAroundAssertion.
By default, this method calls [LookAroundAssertion::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_look_around_assertion_kind(
&mut self,
node: LookAroundAssertionKind,
) -> LookAroundAssertionKind
fn fold_look_around_assertion_kind( &mut self, node: LookAroundAssertionKind, ) -> LookAroundAssertionKind
Visit a node of type LookAroundAssertionKind.
By default, this method calls [LookAroundAssertionKind::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_modifier(&mut self, node: Modifier) -> Modifier
fn fold_modifier(&mut self, node: Modifier) -> Modifier
Visit a node of type Modifier.
By default, this method calls [Modifier::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_modifiers(&mut self, node: Modifiers) -> Modifiers
fn fold_modifiers(&mut self, node: Modifiers) -> Modifiers
Visit a node of type Modifiers.
By default, this method calls [Modifiers::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_named_reference(&mut self, node: NamedReference) -> NamedReference
fn fold_named_reference(&mut self, node: NamedReference) -> NamedReference
Visit a node of type NamedReference.
By default, this method calls [NamedReference::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_opt_atom(&mut self, node: Option<Atom>) -> Option<Atom>
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.
Sourcefn fold_opt_modifiers(&mut self, node: Option<Modifiers>) -> Option<Modifiers>
fn fold_opt_modifiers(&mut self, node: Option<Modifiers>) -> Option<Modifiers>
Visit a node of type Option < Modifiers >.
By default, this method calls [Option < Modifiers >::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_pattern(&mut self, node: Pattern) -> Pattern
fn fold_pattern(&mut self, node: Pattern) -> Pattern
Visit a node of type Pattern.
By default, this method calls [Pattern::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_quantifier(&mut self, node: Quantifier) -> Quantifier
fn fold_quantifier(&mut self, node: Quantifier) -> Quantifier
Visit a node of type Quantifier.
By default, this method calls [Quantifier::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_span(&mut self, node: Span) -> Span
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.
Sourcefn fold_term(&mut self, node: Term) -> Term
fn fold_term(&mut self, node: Term) -> Term
Visit a node of type Term.
By default, this method calls [Term::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_terms(&mut self, node: Vec<Term>) -> Vec<Term>
fn fold_terms(&mut self, node: Vec<Term>) -> Vec<Term>
Visit a node of type Vec < Term >.
By default, this method calls [Vec < Term >::fold_children_with]. If you want to recurse, you need to call it manually.
Sourcefn fold_unicode_property_escape(
&mut self,
node: UnicodePropertyEscape,
) -> UnicodePropertyEscape
fn fold_unicode_property_escape( &mut self, node: UnicodePropertyEscape, ) -> UnicodePropertyEscape
Visit a node of type UnicodePropertyEscape.
By default, this method calls [UnicodePropertyEscape::fold_children_with]. If you want to recurse, you need to call it manually.