Esempio n. 1
0
 private function parseFile($file)
 {
     $code = file_get_contents($file);
     $parser = new Parser(new Lexer());
     $serializer = new XML();
     try {
         $stmts = $parser->parse($code);
         $serialized = $serializer->serialize($stmts);
         return $serialized;
     } catch (Error $e) {
         echo "Parser error: " . $e->getMessage();
         //$output->writeln('Parser error: ' . $e->getMessage());
     }
 }
Esempio n. 2
0
 /**
  * Parses specified PHP file.
  *
  * @param   string $filename
  */
 public function __construct($filename)
 {
     $contents = php_strip_whitespace($filename);
     $pos = strpos($contents, '<?php');
     if ($pos !== false) {
         $contents = substr($contents, $pos);
         $factory = new PhpParser\ParserFactory();
         $parser = $factory->create(PhpParser\ParserFactory::PREFER_PHP7);
         $serializer = new PhpParser\Serializer\XML();
         $nodes = $parser->parse($contents);
         $xml = $serializer->serialize($nodes);
         $this->functions = $this->findFunctions($xml);
         $this->constants = $this->findConstants($xml);
         $this->classes = $this->findClasses($xml);
         $this->classConstants = $this->findClassConstants($xml);
     }
 }
Esempio n. 3
0
 /**
  * @expectedException        \InvalidArgumentException
  * @expectedExceptionMessage Unexpected node type
  */
 public function testError() {
     $serializer = new XML;
     $serializer->serialize(array(new \stdClass));
 }