Trait swc_ecma_visit::FoldWithPath
source · pub trait FoldWithPath<V: ?Sized + FoldAstPath> {
// Required methods
fn fold_with_path(self, v: &mut V, ast_path: &mut AstKindPath) -> Self;
fn fold_children_with_path(
self,
v: &mut V,
ast_path: &mut AstKindPath
) -> Self;
}
Available on crate feature
path
only.Expand description
A utility trait implemented for ast nodes, and allow to visit them with a visitor.
Required Methods§
sourcefn fold_with_path(self, v: &mut V, ast_path: &mut AstKindPath) -> Self
fn fold_with_path(self, v: &mut V, ast_path: &mut AstKindPath) -> Self
Calls a visitor method (v.fold_xxx) with self and the ast path.
sourcefn fold_children_with_path(self, v: &mut V, ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path(self, v: &mut V, ast_path: &mut AstKindPath) -> Self
Visit children nodes with v and ast path appended
[AstKind] of self
. The ast path will
be restored when this method returns.
This is the default implementaton of a handler method in FoldAstPath.
Implementations on Foreign Types§
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for UnaryOp
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for UnaryOp
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for TsTypeParamInstantiation
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for TsTypeParamInstantiation
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for TsExportAssignment
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for TsExportAssignment
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for JSXOpeningFragment
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for JSXOpeningFragment
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for ExportDefaultDecl
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for ExportDefaultDecl
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for JSXAttrName
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for JSXAttrName
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for ExportAll
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for ExportAll
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for DefaultDecl
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for DefaultDecl
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for TsThisTypeOrIdent
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for TsThisTypeOrIdent
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for Vec<ImportSpecifier>
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for Vec<ImportSpecifier>
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for ExportDecl
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for ExportDecl
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for CondExpr
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for CondExpr
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for WhileStmt
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for WhileStmt
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for AssignProp
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for AssignProp
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for DebuggerStmt
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for DebuggerStmt
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for TsTypeOperatorOp
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for TsTypeOperatorOp
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for Vec<Box<Expr>>
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for Vec<Box<Expr>>
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for SpreadElement
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for SpreadElement
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for Key
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for Key
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for Vec<SwitchCase>
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for Vec<SwitchCase>
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for UpdateExpr
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for UpdateExpr
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for IfStmt
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for IfStmt
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for ExportNamespaceSpecifier
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for ExportNamespaceSpecifier
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for TsExprWithTypeArgs
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for TsExprWithTypeArgs
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for UsingDecl
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for UsingDecl
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for ArrowExpr
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for ArrowExpr
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for TsGetterSignature
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for TsGetterSignature
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for Str
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for Str
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for SeqExpr
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for SeqExpr
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for AssignPatProp
impl<V: ?Sized + FoldAstPath> FoldWithPath<V> for AssignPatProp
fn fold_with_path(self, v: &mut V, __ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path( self, v: &mut V, __ast_path: &mut AstKindPath ) -> Self
source§impl<V, T> FoldWithPath<V> for Box<T>where
V: ?Sized + FoldAstPath,
T: 'static + FoldWithPath<V>,
impl<V, T> FoldWithPath<V> for Box<T>where V: ?Sized + FoldAstPath, T: 'static + FoldWithPath<V>,
source§fn fold_children_with_path(self, v: &mut V, ast_path: &mut AstKindPath) -> Self
fn fold_children_with_path(self, v: &mut V, ast_path: &mut AstKindPath) -> Self
Visit children nodes of self with v