/**
  * @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;
 }