Menu

## CloningVisitor extends NodeVisitorAbstract
in package

CloningVisitor.php : 13

Visitor cloning all nodes and linking to the original nodes using an attribute.

This visitor is required to perform format-preserving pretty prints.

### Table of Contents

afterTraverse() : null|array<string|int, Node>
  Called once after traversal.
beforeTraverse() : null|array<string|int, Node>
  Called once before traversal.
enterNode() : null|int|Node
  Called when entering a node.
leaveNode() : null|int|Node|array<string|int, Node>
  Called when leaving a node.

### Methods

#### afterTraverse()

NodeVisitorAbstract.php : 22

Called once after traversal.

`public afterTraverse(array<string|int, mixed> $nodes) : null|array<string|int, Node>`

Return value semantics:

- null: $nodes stays as-is
- otherwise: $nodes is set to the return value

##### Parameters

$nodes : array<string|int, mixed>

  Array of nodes

##### Return values

null|array<string|int, Node> —

Array of nodes

#### beforeTraverse()

NodeVisitorAbstract.php : 10

Called once before traversal.

`public beforeTraverse(array<string|int, mixed> $nodes) : null|array<string|int, Node>`

Return value semantics:

- null: $nodes stays as-is
- otherwise: $nodes is set to the return value

##### Parameters

$nodes : array<string|int, mixed>

  Array of nodes

##### Return values

null|array<string|int, Node> —

Array of nodes

#### enterNode()

CloningVisitor.php : 15

Called when entering a node.

`public enterNode(Node $origNode) : null|int|Node`

Return value semantics:

- null => $node stays as-is
- NodeTraverser::DONT_TRAVERSE_CHILDREN => Children of $node are not traversed. $node stays as-is
- NodeTraverser::STOP_TRAVERSAL => Traversal is aborted. $node stays as-is
- otherwise => $node is set to the return value

##### Parameters

$origNode : Node

##### Return values

null|int|Node —

Replacement node (or special return value)

#### leaveNode()

NodeVisitorAbstract.php : 18

Called when leaving a node.

`public leaveNode(Node $node) : null|int|Node|array<string|int, Node>`

Return value semantics:

- null => $node stays as-is
- NodeTraverser::REMOVE_NODE => $node is removed from the parent array
- NodeTraverser::STOP_TRAVERSAL => Traversal is aborted. $node stays as-is
- array (of Nodes) => The return value is merged into the parent array (at the position of the $node)
- otherwise => $node is set to the return value

##### Parameters

$node : Node

  Node

##### Return values

null|int|Node|array<string|int, Node> —

Replacement node (or special return value)

## Search results