protected function _processNode($file, $node, $coverage, $path)
{
if ($node->type === 'namespace') {
$path = "{$path}" . $node->name . '\\';
$this->_processTree($file, $node->tree, $coverage, $path);
} elseif ($node->hasMethods) {
if ($node->type === 'interface') {
return;
}
$path = "{$path}" . $node->name;
$this->_processTree($file, $node->tree, $coverage, $path);
} elseif ($node->type === 'function') {
$prefix = $node->isMethod ? "{$path}::" : "{$path}";
$path = $prefix . $node->name . '()';
} else {
$this->_processTree($file, $node->tree, $coverage, '');
}
$metrics = $this->_processMetrics($file, $node, $coverage);
$this->_metrics->add($path, $metrics);
}