Trait rstml::visitor::Visitor

source ·
pub trait Visitor<Custom> {
Show 19 methods // Provided methods fn visit_node(&mut self, _node: &mut Node<Custom>) -> bool { ... } fn visit_block(&mut self, _node: &mut NodeBlock) -> bool { ... } fn visit_comment(&mut self, _node: &mut NodeComment) -> bool { ... } fn visit_doctype(&mut self, _node: &mut NodeDoctype) -> bool { ... } fn visit_raw_node<AnyC: CustomNode>( &mut self, _node: &mut RawText<AnyC>, ) -> bool { ... } fn visit_custom(&mut self, _node: &mut Custom) -> bool { ... } fn visit_text_node(&mut self, _node: &mut NodeText) -> bool { ... } fn visit_element(&mut self, _node: &mut NodeElement<Custom>) -> bool { ... } fn visit_fragment(&mut self, _node: &mut NodeFragment<Custom>) -> bool { ... } fn visit_rust_code(&mut self, _code: RustCode<'_>) -> bool { ... } fn visit_invalid_block(&mut self, _block: &mut InvalidBlock) -> bool { ... } fn visit_node_name(&mut self, _name: &mut NodeName) -> bool { ... } fn visit_open_tag(&mut self, _open_tag: &mut OpenTag) -> bool { ... } fn visit_close_tag(&mut self, _closed_tag: &mut CloseTag) -> bool { ... } fn visit_attribute(&mut self, _attribute: &mut NodeAttribute) -> bool { ... } fn visit_keyed_attribute(&mut self, _attribute: &mut KeyedAttribute) -> bool { ... } fn visit_attribute_flag(&mut self, _key: &mut NodeName) -> bool { ... } fn visit_attribute_binding( &mut self, _key: &mut NodeName, _value: &mut FnBinding, ) -> bool { ... } fn visit_attribute_value( &mut self, _key: &mut NodeName, _value: &mut AttributeValueExpr, ) -> bool { ... }
}
Expand description

Visitor api provide a way to traverse the node tree and modify its components. The api allows modification of all types of nodes, and some atoms like InvalidBlock or NodeName.

Each method returns a bool that indicates if the visitor should continue to traverse the tree. If the method returns false, the visitor will stop traversing the tree.

By default Visitor are abstract over CustomNode, but it is possible to implement a Visitor for concrete CustomNode.

Provided Methods§

source

fn visit_node(&mut self, _node: &mut Node<Custom>) -> bool

source

fn visit_block(&mut self, _node: &mut NodeBlock) -> bool

source

fn visit_comment(&mut self, _node: &mut NodeComment) -> bool

source

fn visit_doctype(&mut self, _node: &mut NodeDoctype) -> bool

source

fn visit_raw_node<AnyC: CustomNode>( &mut self, _node: &mut RawText<AnyC>, ) -> bool

source

fn visit_custom(&mut self, _node: &mut Custom) -> bool

source

fn visit_text_node(&mut self, _node: &mut NodeText) -> bool

source

fn visit_element(&mut self, _node: &mut NodeElement<Custom>) -> bool

source

fn visit_fragment(&mut self, _node: &mut NodeFragment<Custom>) -> bool

source

fn visit_rust_code(&mut self, _code: RustCode<'_>) -> bool

source

fn visit_invalid_block(&mut self, _block: &mut InvalidBlock) -> bool

source

fn visit_node_name(&mut self, _name: &mut NodeName) -> bool

source

fn visit_open_tag(&mut self, _open_tag: &mut OpenTag) -> bool

source

fn visit_close_tag(&mut self, _closed_tag: &mut CloseTag) -> bool

source

fn visit_attribute(&mut self, _attribute: &mut NodeAttribute) -> bool

source

fn visit_keyed_attribute(&mut self, _attribute: &mut KeyedAttribute) -> bool

source

fn visit_attribute_flag(&mut self, _key: &mut NodeName) -> bool

source

fn visit_attribute_binding( &mut self, _key: &mut NodeName, _value: &mut FnBinding, ) -> bool

source

fn visit_attribute_value( &mut self, _key: &mut NodeName, _value: &mut AttributeValueExpr, ) -> bool

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<V, C, CW> Visitor<C> for Walker<V, C, CW>
where C: CustomNode, V: Visitor<C> + VisitMut, CW: CustomNodeWalker<Custom = C>,