public function analyze()
{
$this->builder = new PHPBuilder();
$this->performParseProcess();
// Get global filter collection
$collection = CollectionArtifactFilter::getInstance();
$collection->setFilter($this->codeFilter);
$collection->setFilter();
$this->performAnalyzeProcess();
// Set global filter for logging
$collection->setFilter($this->codeFilter);
$namespaces = $this->builder->getNamespaces();
$this->fireStartLogProcess();
foreach ($this->generators as $generator) {
// Check for code aware loggers
if ($generator instanceof CodeAwareGenerator) {
$generator->setArtifacts($namespaces);
}
$generator->close();
}
$this->fireEndLogProcess();
return $this->namespaces = $namespaces;
}