Skip to main content

CompileVisitor

Trait CompileVisitor 

Source
pub trait CompileVisitor {
    // Provided methods
    fn register_meta(&mut self, _meta: MetaRef<'_>) -> Result<(), MetaError> { ... }
    fn visit_meta(
        &mut self,
        _location: &dyn Located,
        _meta: MetaRef<'_>,
    ) -> Result<(), MetaError> { ... }
    fn visit_variable_use(
        &mut self,
        _source_id: SourceId,
        _var_span: &dyn Spanned,
        _span: &dyn Spanned,
    ) -> Result<(), MetaError> { ... }
    fn visit_mod(&mut self, _location: &dyn Located) -> Result<(), MetaError> { ... }
    fn visit_doc_comment(
        &mut self,
        _location: &dyn Located,
        _item: &Item,
        _hash: Hash,
        _docstr: &str,
    ) -> Result<(), MetaError> { ... }
    fn visit_field_doc_comment(
        &mut self,
        _location: &dyn Located,
        _item: &Item,
        _hash: Hash,
        _field: &str,
        _docstr: &str,
    ) -> Result<(), MetaError> { ... }
}
Expand description

A visitor that will be called for every language item compiled.

Provided Methods§

Source

fn register_meta(&mut self, _meta: MetaRef<'_>) -> Result<(), MetaError>

Called when a meta item is registered.

Source

fn visit_meta( &mut self, _location: &dyn Located, _meta: MetaRef<'_>, ) -> Result<(), MetaError>

Mark that we’ve resolved a specific compile meta at the given location.

Source

fn visit_variable_use( &mut self, _source_id: SourceId, _var_span: &dyn Spanned, _span: &dyn Spanned, ) -> Result<(), MetaError>

Visit a variable use.

Source

fn visit_mod(&mut self, _location: &dyn Located) -> Result<(), MetaError>

Visit something that is a module.

Source

fn visit_doc_comment( &mut self, _location: &dyn Located, _item: &Item, _hash: Hash, _docstr: &str, ) -> Result<(), MetaError>

Visit anterior ///-style comments, and interior //!-style doc comments for an item.

This may be called several times for a single item. Each attribute should eventually be combined for the full doc string.

This can be called in any order, before or after CompileVisitor::visit_meta for any given item.

Source

fn visit_field_doc_comment( &mut self, _location: &dyn Located, _item: &Item, _hash: Hash, _field: &str, _docstr: &str, ) -> Result<(), MetaError>

Visit anterior ///-style comments, and interior //!-style doc comments for a field contained in a struct / enum variant struct.

This may be called several times for a single field. Each attribute should eventually be combined for the full doc string.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§