pub trait FoldOwned {
Show 17 methods
// Provided methods
fn fold_program(&mut self, program: &Program) -> Program { ... }
fn fold_stmt(&mut self, stmt: &Stmt) -> 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.
All methods have identity-fold default implementations that call the
corresponding free fold_owned_* function. 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_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".