Skip to main content

OwnedFold

Trait OwnedFold 

Source
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§

Source

fn fold_program(&mut self, program: Program) -> Program

Transforms a program node; recurses by default.

Source

fn fold_stmt(&mut self, stmt: Stmt) -> Stmt

Transforms a statement node; recurses by default.

Source

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.

Source

fn fold_block(&mut self, block: Block) -> Block

Transforms a block node; recurses by default.

Source

fn fold_expr(&mut self, expr: Expr) -> Expr

Transforms an expression node; recurses by default.

Source

fn fold_param(&mut self, param: Param) -> Param

Transforms a param node; recurses by default.

Source

fn fold_arg(&mut self, arg: Arg) -> Arg

Transforms an arg node; recurses by default.

Source

fn fold_class_member(&mut self, member: ClassMember) -> ClassMember

Transforms a class member node; recurses by default.

Source

fn fold_enum_member(&mut self, member: EnumMember) -> EnumMember

Transforms an enum member node; recurses by default.

Source

fn fold_property_hook(&mut self, hook: PropertyHook) -> PropertyHook

Transforms a property hook node; recurses by default.

Source

fn fold_type_hint(&mut self, type_hint: TypeHint) -> TypeHint

Transforms a type hint node; recurses by default.

Source

fn fold_attribute(&mut self, attribute: Attribute) -> Attribute

Transforms an attribute node; recurses by default.

Source

fn fold_catch_clause(&mut self, catch: CatchClause) -> CatchClause

Transforms a catch clause node; recurses by default.

Source

fn fold_match_arm(&mut self, arm: MatchArm) -> MatchArm

Transforms a match arm node; recurses by default.

Source

fn fold_closure_use_var(&mut self, var: ClosureUseVar) -> ClosureUseVar

Transforms a closure use var node; recurses by default.

Source

fn fold_trait_use(&mut self, trait_use: TraitUseDecl) -> TraitUseDecl

Transforms a use Trait; declaration; recurses by default.

Source

fn fold_trait_adaptation( &mut self, adaptation: TraitAdaptation, ) -> TraitAdaptation

Transforms a trait insteadof/as adaptation; recurses by default.

Source

fn fold_name(&mut self, name: Name) -> Name

Transforms a name node; recurses by default.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§