public function addParseResult(\SplFileInfo $file, ParseResult $result) { if (!$result->hasUnits()) { return; } $filename = $file->getRealPath(); foreach ($result->getUnits() as $unit) { if (!$this->accept($unit)) { continue; } if (isset($this->units[$unit])) { throw new CollectorResultException(sprintf("Redeclaration of trait, interface or class found:\n\n\tUnit name: %s\n\tFirst occurance: %s\n\tRedeclaration: %s", $unit, $this->units[$unit], $filename), CollectorResultException::DuplicateUnitName); } $this->units[$unit] = $filename; $this->dependencies[$unit] = $result->getDependenciesForUnit($unit); } }