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

source

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

Implementations on Foreign Types§

source§

impl Visitable for ()

source§

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

source§

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

source§

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

source§

impl Visitable for u16

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl Visitable for u8

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl Visitable for f64

source§

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

source§

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

source§

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

source§

impl Visitable for u32

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl Visitable for bool

source§

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

source§

fn visit_mut<TData>( &mut self, _visitors: &mut impl VisitorMutReceiver<TData> + ?Sized, _data: &mut TData, _settings: &VisitSettings, _functions: &mut ExtractedFunctions, _chain: &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 VariableIdentifier

source§

impl Visitable for WithComment<VariableField<VariableFieldInSourceCode>>

For object literals and things with computable or literal keys

source§

impl Visitable for BlockOrSingleStatement

source§

impl Visitable for NumberStructure

source§

impl Visitable for PropertyKey

source§

impl Visitable for Quoted

source§

impl Visitable for ExpressionOrBlock

source§

impl Visitable for LHSOfAssignment

source§

impl Visitable for VariableOrPropertyAccess

source§

impl Visitable for Expression

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 OptionalOrWithDefaultValueParameter

source§

impl Visitable for EnumMember

source§

impl Visitable for ExportStatement

source§

impl Visitable for Exportable

source§

impl Visitable for ForLoopCondition

source§

impl Visitable for ForLoopStatementInitializer

source§

impl Visitable for ImportPart

source§

impl Visitable for Statement

source§

impl Visitable for SwitchBranch

source§

impl Visitable for VariableKeyword

source§

impl Visitable for VariableStatement

source§

impl Visitable for TypeReference

source§

impl Visitable for JSXElement

source§

impl Visitable for JSXFragment

source§

impl Visitable for VariableId

source§

impl Visitable for ObjectLiteral

source§

impl Visitable for ExpressionId

source§

impl Visitable for MultipleExpression

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 DeclareFunctionDeclaration

source§

impl Visitable for DeclareVariableDeclaration

source§

impl Visitable for DoWhileStatement

source§

impl Visitable for EnumDeclaration

source§

impl Visitable for ForLoopStatement

source§

impl Visitable for IfStatement

source§

impl Visitable for ImportStatement

source§

impl Visitable for ImportStatementId

source§

impl Visitable for InterfaceDeclaration

source§

impl Visitable for SwitchStatement

source§

impl Visitable for TypeAlias

source§

impl Visitable for UnconditionalElseStatement

source§

impl Visitable for WhileStatement

source§

impl Visitable for Block

source§

impl Visitable for Decorator

source§

impl Visitable for PropertyId

source§

impl Visitable for Span

source§

impl<T: FunctionBased + 'static> Visitable for ExtractedFunction<T>where ExtractedFunctions: GetFunction<T>, FunctionBase<T>: Visitable,

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 Decorated<T>

source§

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

source§

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