public function enterNode(Node $node)
{
foreach ($this->visitors as $visitor) {
switch ($node->getType()) {
case 'Stmt_Namespace':
$visitor->visitNamespace($node);
break;
case 'Stmt_UseUse':
$visitor->visitUseStatement($node);
break;
case 'Stmt_Class':
$visitor->visitStruct($node);
$visitor->visitClass($node);
break;
case 'Stmt_Interface':
$visitor->visitStruct($node);
$visitor->visitInterface($node);
break;
case 'Stmt_Trait':
$visitor->visitStruct($node);
$visitor->visitTrait($node);
break;
case 'Stmt_TraitUse':
$visitor->visitTraitUse($node);
break;
case 'Stmt_ClassConst':
$visitor->visitConstants($node);
break;
case 'Stmt_Property':
$visitor->visitProperty($node);
break;
case 'Stmt_ClassMethod':
$visitor->visitMethod($node);
break;
}
}
}