Trait Visitable

Source
pub trait Visitable {
    // Required methods
    fn visit<TData>(
        &self,
        visitors: &mut (impl VisitorReceiver<TData> + ?Sized),
        data: &mut TData,
        options: &VisitOptions,
        chain: &mut Annex<'_, Chain>,
    );
    fn visit_mut<TData>(
        &mut self,
        visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized),
        data: &mut TData,
        options: &VisitOptions,
        chain: &mut Annex<'_, Chain>,
    );
}
Expand description

For something to visitable it can visit all nested fields.

Required Methods§

Source

fn visit<TData>( &self, visitors: &mut (impl VisitorReceiver<TData> + ?Sized), data: &mut TData, options: &VisitOptions, chain: &mut Annex<'_, Chain>, )

Source

fn visit_mut<TData>( &mut self, visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), data: &mut TData, options: &VisitOptions, chain: &mut Annex<'_, Chain>, )

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Visitable for bool

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for char

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for f32

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for f64

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for i8

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for i16

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for i32

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for i64

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for i128

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for isize

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for u8

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for u16

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for u32

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for u64

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for u128

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for ()

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for usize

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for Box<str>

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for Rc<str>

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for String

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for Path

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl Visitable for PathBuf

Source§

fn visit<TData>( &self, _visitors: &mut (impl VisitorReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _options: &VisitOptions, _chain: &mut Annex<'_, Chain>, )

Source§

impl<T: Visitable> Visitable for Option<T>

Source§

fn visit<TData>( &self, v: &mut (impl VisitorReceiver<TData> + ?Sized), d: &mut TData, s: &VisitOptions, c: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, v: &mut (impl VisitorMutReceiver<TData> + ?Sized), d: &mut TData, s: &VisitOptions, c: &mut Annex<'_, Chain>, )

Source§

impl<T: Visitable> Visitable for Box<T>

Source§

fn visit<TData>( &self, v: &mut (impl VisitorReceiver<TData> + ?Sized), d: &mut TData, s: &VisitOptions, c: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, v: &mut (impl VisitorMutReceiver<TData> + ?Sized), d: &mut TData, s: &VisitOptions, c: &mut Annex<'_, Chain>, )

Source§

impl<T: Visitable> Visitable for Vec<T>

Source§

fn visit<TData>( &self, v: &mut (impl VisitorReceiver<TData> + ?Sized), d: &mut TData, s: &VisitOptions, c: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, v: &mut (impl VisitorMutReceiver<TData> + ?Sized), d: &mut TData, s: &VisitOptions, c: &mut Annex<'_, Chain>, )

Source§

impl<T: Visitable, U: Visitable> Visitable for (T, U)

Source§

fn visit<TData>( &self, v: &mut (impl VisitorReceiver<TData> + ?Sized), d: &mut TData, s: &VisitOptions, c: &mut Annex<'_, Chain>, )

Source§

fn visit_mut<TData>( &mut self, v: &mut (impl VisitorMutReceiver<TData> + ?Sized), d: &mut TData, s: &VisitOptions, c: &mut Annex<'_, Chain>, )

Implementors§

Source§

impl Visitable for ClassMember

Source§

impl Visitable for Declaration

Source§

impl Visitable for ImportExportName

Source§

impl Visitable for ImportLocation

Source§

impl Visitable for ExportDeclaration

Source§

impl Visitable for Exportable

Source§

impl Visitable for ImportedItems

Source§

impl Visitable for VariableDeclaration

Source§

impl Visitable for VariableDeclarationKeyword

Source§

impl Visitable for BlockOrSingleStatement

Source§

impl Visitable for JSXAttribute

Source§

impl Visitable for JSXElementChildren

Source§

impl Visitable for JSXNode

Source§

impl Visitable for JSXRoot

Source§

impl Visitable for Quoted

Source§

impl Visitable for StatementOrDeclaration

Source§

impl Visitable for VariableField

For object literals and things with computable or literal keys

Source§

impl Visitable for VariableIdentifier

Source§

impl Visitable for VariableKeyword

Source§

impl Visitable for WithComment<ArrayDestructuringField<VariableField>>

Source§

impl Visitable for WithComment<ArrayDestructuringField<LHSOfAssignment>>

Source§

impl Visitable for WithComment<ObjectDestructuringField<VariableField>>

Source§

impl Visitable for WithComment<ObjectDestructuringField<LHSOfAssignment>>

Source§

impl Visitable for ExpressionOrBlock

Source§

impl Visitable for LHSOfAssignment

Source§

impl Visitable for VariableOrPropertyAccess

Source§

impl Visitable for Expression

Source§

impl Visitable for FunctionArgument

Source§

impl Visitable for InExpressionLHS

Source§

impl Visitable for MultipleExpression

Source§

impl Visitable for PropertyReference

Source§

impl Visitable for SpecialOperators

Source§

impl Visitable for SuperReference

Source§

impl Visitable for TypeOrConst

Source§

impl Visitable for ObjectLiteralMember

Source§

impl Visitable for BinaryAssignmentOperator

Source§

impl Visitable for BinaryOperator

Source§

impl Visitable for UnaryOperator

Source§

impl Visitable for UnaryPrefixAssignmentOperator

Source§

impl Visitable for FunctionHeader

Source§

impl Visitable for MethodHeader

Source§

impl Visitable for ParameterData

Source§

impl Visitable for NumberRepresentation

Source§

impl Visitable for PropertyKey<PublicOrPrivate>

Source§

impl Visitable for PropertyKey<AlwaysPublic>

Source§

impl Visitable for ForLoopCondition

Source§

impl Visitable for ForLoopStatementInitialiser

Source§

impl Visitable for Statement

Source§

impl Visitable for SwitchBranch

Source§

impl Visitable for Visibility

Source§

impl Visitable for EnumMember

Source§

impl Visitable for IsItem

Source§

impl Visitable for TypeAnnotation

Source§

impl Visitable for ClassProperty

Source§

impl Visitable for ImportDeclaration

Source§

impl Visitable for ObjectLiteral

Source§

impl Visitable for UnaryPostfixAssignmentOperator

Source§

impl Visitable for ArrayElement

Source§

impl Visitable for TemplateLiteral

Source§

impl Visitable for FunctionBody

Source§

impl Visitable for SpreadParameter

Source§

impl Visitable for SuperParameter

Source§

impl Visitable for ThisParameter

Source§

impl Visitable for IsExpression

Source§

impl Visitable for ConditionalElseStatement

Source§

impl Visitable for DoWhileStatement

Source§

impl Visitable for ForLoopStatement

Source§

impl Visitable for IfStatement

Source§

impl Visitable for ReturnStatement

Source§

impl Visitable for SwitchStatement

Source§

impl Visitable for ThrowStatement

Source§

impl Visitable for TryCatchStatement

Source§

impl Visitable for UnconditionalElseStatement

Source§

impl Visitable for VarVariableStatement

Source§

impl Visitable for WhileStatement

Source§

impl Visitable for Block

Source§

impl Visitable for Decorator

Source§

impl Visitable for JSXElement

Source§

impl Visitable for JSXFragment

Source§

impl Visitable for SourceId

Source§

impl Visitable for DeclareVariableDeclaration

Source§

impl Visitable for EnumDeclaration

Source§

impl Visitable for InterfaceDeclaration

Source§

impl Visitable for Namespace

Source§

impl Visitable for TypeAlias

Source§

impl Visitable for Span

Source§

impl<L, V> Visitable for FunctionParameters<L, V>
where Vec<Parameter<V>>: Visitable,

Source§

impl<T> Visitable for WithComment<T>
where T: Visitable,

Source§

impl<T: ImportOrExport> Visitable for ImportExportPart<T>

Source§

impl<T: FunctionBased> Visitable for FunctionBase<T>
where T::Body: Visitable,

Visiting logic: TODO make visiting macro better and remove

Source§

impl<T: DestructuringFieldInto> Visitable for SpreadDestructuringField<T>
where Box<T>: Visitable,

Source§

impl<T: ExpressionOrStatementPosition> Visitable for ClassDeclaration<T>

Source§

impl<T: Visitable> Visitable for Decorated<T>

Source§

impl<TExpr> Visitable for VariableDeclarationItem<TExpr>

Source§

impl<V> Visitable for Parameter<V>