示例#1
0
 /**
  *
  * @param SourceFile $sourceFile
  *
  * @throws ParseErrorException
  * @return ParseResult
  */
 public function parse(SourceFile $sourceFile) {
     try {
         $result = new ParseResult($sourceFile->getFileInfo());
         $parser = $this->getParserInstance();
         $nodes = $parser->parse($sourceFile->getSource());
         $this->getTraverserInstance($result)->traverse($nodes);
         return $result;
     } catch (\Exception $e) {
         throw new ParseErrorException('Something went wrwong', ParseErrorException::GeneralParseError, $e);
     }
 }