Trait ezno_parser::Visitable
source · 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§
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> )
Implementations on Foreign Types§
source§impl Visitable for Path
impl Visitable for Path
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> )
source§impl Visitable for i16
impl Visitable for i16
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> )
source§impl Visitable for i8
impl Visitable for i8
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> )
source§impl Visitable for ()
impl Visitable for ()
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> )
source§impl Visitable for String
impl Visitable for String
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> )
source§impl Visitable for u32
impl Visitable for u32
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> )
source§impl Visitable for f64
impl Visitable for f64
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> )
source§impl Visitable for u8
impl Visitable for u8
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> )
source§impl Visitable for bool
impl Visitable for bool
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> )
source§impl<T: Visitable> Visitable for Box<T>
impl<T: Visitable> Visitable for Box<T>
fn visit<TData>( &self, v: &mut impl VisitorReceiver<TData> + ?Sized, d: &mut TData, s: &VisitSettings, f: &mut ExtractedFunctions, c: &mut Annex<'_, Chain> )
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<T: Visitable> Visitable for Option<T>
impl<T: Visitable> Visitable for Option<T>
fn visit<TData>( &self, v: &mut impl VisitorReceiver<TData> + ?Sized, d: &mut TData, s: &VisitSettings, f: &mut ExtractedFunctions, c: &mut Annex<'_, Chain> )
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<T: Visitable, U: Visitable> Visitable for (T, U)
impl<T: Visitable, U: Visitable> Visitable for (T, U)
fn visit<TData>( &self, v: &mut impl VisitorReceiver<TData> + ?Sized, d: &mut TData, s: &VisitSettings, f: &mut ExtractedFunctions, c: &mut Annex<'_, Chain> )
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 u128
impl Visitable for u128
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> )
source§impl Visitable for usize
impl Visitable for usize
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> )
source§impl Visitable for Rc<str>
impl Visitable for Rc<str>
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> )
source§impl Visitable for u16
impl Visitable for u16
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> )
source§impl Visitable for i64
impl Visitable for i64
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> )
source§impl Visitable for i32
impl Visitable for i32
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> )
source§impl Visitable for char
impl Visitable for char
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> )
source§impl Visitable for Box<str>
impl Visitable for Box<str>
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> )
source§impl Visitable for isize
impl Visitable for isize
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> )
source§impl<T: Visitable, U: Visitable, V: Visitable> Visitable for (T, U, V)
impl<T: Visitable, U: Visitable, V: Visitable> Visitable for (T, U, V)
fn visit<TData>( &self, v: &mut impl VisitorReceiver<TData> + ?Sized, d: &mut TData, s: &VisitSettings, f: &mut ExtractedFunctions, c: &mut Annex<'_, Chain> )
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 f32
impl Visitable for f32
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> )
source§impl<T: Visitable> Visitable for Vec<T>
impl<T: Visitable> Visitable for Vec<T>
fn visit<TData>( &self, v: &mut impl VisitorReceiver<TData> + ?Sized, d: &mut TData, s: &VisitSettings, f: &mut ExtractedFunctions, c: &mut Annex<'_, Chain> )
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 PathBuf
impl Visitable for PathBuf
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> )
source§impl Visitable for u64
impl Visitable for u64
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> )
source§impl Visitable for i128
impl Visitable for i128
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> )
Implementors§
impl Visitable for JSXAttribute
impl Visitable for JSXElementChildren
impl Visitable for JSXNode
impl Visitable for JSXRoot
impl Visitable for StatementOrDeclaration
impl Visitable for VariableIdentifier
impl Visitable for WithComment<VariableField<VariableFieldInSourceCode>>
For object literals and things with computable or literal keys
impl Visitable for Declaration
impl Visitable for ExportDeclaration
impl Visitable for Exportable
impl Visitable for ImportPart
impl Visitable for VariableDeclaration
impl Visitable for VariableDeclarationKeyword
impl Visitable for BlockOrSingleStatement
impl Visitable for NumberStructure
impl Visitable for PropertyKey
impl Visitable for Quoted
impl Visitable for ExpressionOrBlock
impl Visitable for LHSOfAssignment
impl Visitable for VariableOrPropertyAccess
impl Visitable for Expression
impl Visitable for PropertyReference
impl Visitable for SpecialOperators
impl Visitable for SpreadExpression
impl Visitable for SuperReference
impl Visitable for ObjectLiteralMember
impl Visitable for BinaryAssignmentOperator
impl Visitable for BinaryOperator
impl Visitable for UnaryOperator
impl Visitable for UnaryPrefixAssignmentOperator
impl Visitable for OptionalOrWithDefaultValueParameter
impl Visitable for ForLoopCondition
impl Visitable for ForLoopStatementInitializer
impl Visitable for Statement
impl Visitable for SwitchBranch
impl Visitable for EnumMember
impl Visitable for TypeReference
impl Visitable for JSXElement
impl Visitable for JSXFragment
impl Visitable for VariableId
impl Visitable for ImportDeclaration
impl Visitable for ImportStatementId
impl Visitable for ObjectLiteral
impl Visitable for ExpressionId
impl Visitable for MultipleExpression
impl Visitable for TemplateLiteral
impl Visitable for IsExpression
impl Visitable for UnaryPostfixAssignmentOperator
impl Visitable for FunctionParameters
impl Visitable for Parameter
impl Visitable for SpreadParameter
impl Visitable for ConditionalElseStatement
impl Visitable for DoWhileStatement
impl Visitable for ForLoopStatement
impl Visitable for IfStatement
impl Visitable for SwitchStatement
impl Visitable for UnconditionalElseStatement
impl Visitable for VarVariableStatement
impl Visitable for WhileStatement
impl Visitable for Block
impl Visitable for Decorator
impl Visitable for PropertyId
impl Visitable for Span
impl Visitable for DeclareFunctionDeclaration
impl Visitable for DeclareVariableDeclaration
impl Visitable for EnumDeclaration
impl Visitable for InterfaceDeclaration
impl Visitable for TypeAlias
impl<T: FunctionBased + 'static> Visitable for ExtractedFunction<T>where ExtractedFunctions: GetFunction<T>, FunctionBase<T>: Visitable,
impl<T: FunctionBased> Visitable for FunctionBase<T>where T::Body: Visitable,
Visiting logic: TODO make visiting macro better and remove