pub trait OwnedFold {
Show 18 methods
// Provided methods
fn fold_program(&mut self, program: Program) -> Program { ... }
fn fold_stmt(&mut self, stmt: Stmt) -> Stmt { ... }
fn fold_stmts(&mut self, stmts: Box<[Stmt]>) -> Box<[Stmt]> { ... }
fn fold_block(&mut self, block: Block) -> Block { ... }
fn fold_expr(&mut self, expr: Expr) -> Expr { ... }
fn fold_param(&mut self, param: Param) -> Param { ... }
fn fold_arg(&mut self, arg: Arg) -> Arg { ... }
fn fold_class_member(&mut self, member: ClassMember) -> ClassMember { ... }
fn fold_enum_member(&mut self, member: EnumMember) -> EnumMember { ... }
fn fold_property_hook(&mut self, hook: PropertyHook) -> PropertyHook { ... }
fn fold_type_hint(&mut self, type_hint: TypeHint) -> TypeHint { ... }
fn fold_attribute(&mut self, attribute: Attribute) -> Attribute { ... }
fn fold_catch_clause(&mut self, catch: CatchClause) -> CatchClause { ... }
fn fold_match_arm(&mut self, arm: MatchArm) -> MatchArm { ... }
fn fold_closure_use_var(&mut self, var: ClosureUseVar) -> ClosureUseVar { ... }
fn fold_trait_use(&mut self, trait_use: TraitUseDecl) -> TraitUseDecl { ... }
fn fold_trait_adaptation(
&mut self,
adaptation: TraitAdaptation,
) -> TraitAdaptation { ... }
fn fold_name(&mut self, name: Name) -> Name { ... }
}Expand description
Trait for transforming owned PHP AST nodes.
Every method takes the node by value and returns its replacement. The defaults call the
corresponding free fold_owned_* function, which folds the children and rebuilds the node.
Override only the node types you want to change; the rest recurse automatically.
Provided Methods§
Sourcefn fold_program(&mut self, program: Program) -> Program
fn fold_program(&mut self, program: Program) -> Program
Transforms a program node; recurses by default.
Sourcefn fold_stmts(&mut self, stmts: Box<[Stmt]>) -> Box<[Stmt]>
fn fold_stmts(&mut self, stmts: Box<[Stmt]>) -> Box<[Stmt]>
Transforms a statement list (program, block and case bodies); folds each statement by
default. Override to delete, split or insert statements.
Sourcefn fold_block(&mut self, block: Block) -> Block
fn fold_block(&mut self, block: Block) -> Block
Transforms a block node; recurses by default.
Sourcefn fold_expr(&mut self, expr: Expr) -> Expr
fn fold_expr(&mut self, expr: Expr) -> Expr
Transforms an expression node; recurses by default.
Sourcefn fold_param(&mut self, param: Param) -> Param
fn fold_param(&mut self, param: Param) -> Param
Transforms a param node; recurses by default.
Sourcefn fold_class_member(&mut self, member: ClassMember) -> ClassMember
fn fold_class_member(&mut self, member: ClassMember) -> ClassMember
Transforms a class member node; recurses by default.
Sourcefn fold_enum_member(&mut self, member: EnumMember) -> EnumMember
fn fold_enum_member(&mut self, member: EnumMember) -> EnumMember
Transforms an enum member node; recurses by default.
Sourcefn fold_property_hook(&mut self, hook: PropertyHook) -> PropertyHook
fn fold_property_hook(&mut self, hook: PropertyHook) -> PropertyHook
Transforms a property hook node; recurses by default.
Sourcefn fold_type_hint(&mut self, type_hint: TypeHint) -> TypeHint
fn fold_type_hint(&mut self, type_hint: TypeHint) -> TypeHint
Transforms a type hint node; recurses by default.
Sourcefn fold_attribute(&mut self, attribute: Attribute) -> Attribute
fn fold_attribute(&mut self, attribute: Attribute) -> Attribute
Transforms an attribute node; recurses by default.
Sourcefn fold_catch_clause(&mut self, catch: CatchClause) -> CatchClause
fn fold_catch_clause(&mut self, catch: CatchClause) -> CatchClause
Transforms a catch clause node; recurses by default.
Sourcefn fold_match_arm(&mut self, arm: MatchArm) -> MatchArm
fn fold_match_arm(&mut self, arm: MatchArm) -> MatchArm
Transforms a match arm node; recurses by default.
Sourcefn fold_closure_use_var(&mut self, var: ClosureUseVar) -> ClosureUseVar
fn fold_closure_use_var(&mut self, var: ClosureUseVar) -> ClosureUseVar
Transforms a closure use var node; recurses by default.
Sourcefn fold_trait_use(&mut self, trait_use: TraitUseDecl) -> TraitUseDecl
fn fold_trait_use(&mut self, trait_use: TraitUseDecl) -> TraitUseDecl
Transforms a use Trait; declaration; recurses by default.
Sourcefn fold_trait_adaptation(
&mut self,
adaptation: TraitAdaptation,
) -> TraitAdaptation
fn fold_trait_adaptation( &mut self, adaptation: TraitAdaptation, ) -> TraitAdaptation
Transforms a trait insteadof/as adaptation; recurses by default.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".