/** * @param PhpFileInfo $phpFileInfo * * @return PhpFileInfo */ public function parseFile(PhpFileInfo $phpFileInfo) { $nodes = $this->parse($phpFileInfo->getContents()); $nodes = $this->nameResolver->traverse($nodes); $nodes = $this->staticTraverser->traverse($nodes); foreach ($this->violationVisitors as $visitor) { $visitor->setPhpFileInfo($phpFileInfo); } $this->violationTraverser->traverse($nodes); return $phpFileInfo; }