pub trait Visitable {
    // Required methods
    fn visit<TData>(
        &self,
        visitors: &mut (impl VisitorReceiver<TData> + ?Sized),
        data: &mut TData,
        settings: &VisitSettings,
        chain: &mut Annex<'_, Chain>
    );
    fn visit_mut<TData>(
        &mut self,
        visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized),
        data: &mut TData,
        settings: &VisitSettings,
        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, settings: &VisitSettings, chain: &mut Annex<'_, Chain> )

source

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

Object Safety§

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, _settings: &VisitSettings, _chain: &mut Annex<'_, Chain> )

source§

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

source§

impl Visitable for char

source§

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

source§

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

source§

impl Visitable for f32

source§

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

source§

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

source§

impl Visitable for f64

source§

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

source§

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

source§

impl Visitable for i8

source§

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

source§

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

source§

impl Visitable for i16

source§

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

source§

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

source§

impl Visitable for i32

source§

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

source§

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

source§

impl Visitable for i64

source§

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

source§

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

source§

impl Visitable for i128

source§

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

source§

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

source§

impl Visitable for isize

source§

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

source§

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

source§

impl Visitable for u8

source§

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

source§

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

source§

impl Visitable for u16

source§

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

source§

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

source§

impl Visitable for u32

source§

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

source§

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

source§

impl Visitable for u64

source§

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

source§

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

source§

impl Visitable for u128

source§

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

source§

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

source§

impl Visitable for ()

source§

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

source§

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

source§

impl Visitable for usize

source§

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

source§

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

source§

impl Visitable for Box<str>

source§

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

source§

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

source§

impl Visitable for Rc<str>

source§

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

source§

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

source§

impl Visitable for String

source§

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

source§

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

source§

impl Visitable for Path

source§

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

source§

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

source§

impl Visitable for PathBuf

source§

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

source§

fn visit_mut<TData>( &mut self, _visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), _data: &mut TData, _settings: &VisitSettings, _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: &VisitSettings, c: &mut Annex<'_, Chain> )

source§

fn visit_mut<TData>( &mut self, v: &mut (impl VisitorMutReceiver<TData> + ?Sized), d: &mut TData, s: &VisitSettings, 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: &VisitSettings, c: &mut Annex<'_, Chain> )

source§

fn visit_mut<TData>( &mut self, v: &mut (impl VisitorMutReceiver<TData> + ?Sized), d: &mut TData, s: &VisitSettings, 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: &VisitSettings, c: &mut Annex<'_, Chain> )

source§

fn visit_mut<TData>( &mut self, v: &mut (impl VisitorMutReceiver<TData> + ?Sized), d: &mut TData, s: &VisitSettings, 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: &VisitSettings, c: &mut Annex<'_, Chain> )

source§

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

Implementors§

source§

impl Visitable for JSXAttribute

source§

impl Visitable for JSXElementChildren

source§

impl Visitable for JSXNode

source§

impl Visitable for JSXRoot

source§

impl Visitable for Declaration

source§

impl Visitable for ExportDeclaration

source§

impl Visitable for Exportable

source§

impl Visitable for ImportExportPart

source§

impl Visitable for ImportKind

source§

impl Visitable for VariableDeclaration

source§

impl Visitable for VariableDeclarationKeyword

source§

impl Visitable for BlockOrSingleStatement

source§

impl Visitable for NumberStructure

source§

impl Visitable for Quoted

source§

impl Visitable for StatementOrDeclaration

source§

impl Visitable for VariableField<VariableFieldInSourceCode>

For object literals and things with computable or literal keys

source§

impl Visitable for VariableIdentifier

source§

impl Visitable for ExpressionOrBlock

source§

impl Visitable for LHSOfAssignment

source§

impl Visitable for VariableOrPropertyAccess

source§

impl Visitable for Expression

source§

impl Visitable for MultipleExpression

source§

impl Visitable for PropertyReference

source§

impl Visitable for SpecialOperators

source§

impl Visitable for SpreadExpression

source§

impl Visitable for SuperReference

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 ParameterData

source§

impl Visitable for PropertyKey<AlwaysPublic>

source§

impl Visitable for PropertyKey<PublicOrPrivate>

source§

impl Visitable for ForLoopCondition

source§

impl Visitable for ForLoopStatementInitializer

source§

impl Visitable for Statement

source§

impl Visitable for SwitchBranch

source§

impl Visitable for EnumMember

source§

impl Visitable for TypeAnnotation

source§

impl Visitable for JSXElement

source§

impl Visitable for JSXFragment

source§

impl Visitable for ClassProperty

source§

impl Visitable for ImportDeclaration

source§

impl Visitable for ObjectLiteral

source§

impl Visitable for TemplateLiteral

source§

impl Visitable for IsExpression

source§

impl Visitable for UnaryPostfixAssignmentOperator

source§

impl Visitable for FunctionParameters

source§

impl Visitable for Parameter

source§

impl Visitable for SpreadParameter

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 DeclareFunctionDeclaration

source§

impl Visitable for DeclareVariableDeclaration

source§

impl Visitable for EnumDeclaration

source§

impl Visitable for InterfaceDeclaration

source§

impl Visitable for TypeAlias

source§

impl Visitable for Span

source§

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

Visiting logic: TODO make visiting macro better and remove

source§

impl<T: ASTNode + Visitable> Visitable for TemplateLiteralPart<T>

source§

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

source§

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

source§

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

source§

impl<T: TSXKeywordNode> Visitable for Keyword<T>

source§

impl<TExpr> Visitable for VariableDeclarationItem<TExpr>where TExpr: Visitable + DeclarationExpression,