<?php

declare (strict_types=1);
namespace GuardDog\Vendor\PHPStan\PhpDocParser\Ast\NodeVisitor;

use GuardDog\Vendor\PHPStan\PhpDocParser\Ast\AbstractNodeVisitor;
use GuardDog\Vendor\PHPStan\PhpDocParser\Ast\Attribute;
use GuardDog\Vendor\PHPStan\PhpDocParser\Ast\Node;
final class CloningVisitor extends AbstractNodeVisitor
{
    public function enterNode(Node $originalNode): Node
    {
        $node = clone $originalNode;
        $node->setAttribute(Attribute::ORIGINAL_NODE, $originalNode);
        return $node;
    }
}
