private function performAnalyzeProcess()
{
$analyzerLoader = $this->createAnalyzers($this->options);
$collection = CollectionArtifactFilter::getInstance();
$this->fireStartAnalyzeProcess();
ini_set('xdebug.max_nesting_level', $this->configuration->parser->nesting);
foreach ($analyzerLoader as $analyzer) {
// Add filters if this analyzer is filter aware
if ($analyzer instanceof AnalyzerFilterAware) {
$collection->setFilter($this->codeFilter);
}
$analyzer->analyze($this->builder->getNamespaces());
// Remove filters if this analyzer is filter aware
$collection->setFilter();
foreach ($this->generators as $logger) {
$logger->log($analyzer);
}
}
ini_restore('xdebug.max_nesting_level');
$this->fireEndAnalyzeProcess();
}