private function extract($file, TranslationContainerExtractor $extractor = null) { if (!is_file($file = __DIR__ . '/Fixture/' . $file)) { throw new RuntimeException(sprintf('The file "%s" does not exist.', $file)); } $file = new \SplFileInfo($file); if (null === $extractor) { $extractor = new TranslationContainerExtractor(); } $lexer = new \PHPParser_Lexer(); $parser = new \PHPParser_Parser($lexer); $ast = $parser->parse(file_get_contents($file)); $catalogue = new MessageCatalogue(); $extractor->visitPhpFile($file, $catalogue, $ast); return $catalogue; }
private function extract($file, TranslationContainerExtractor $extractor = null) { if (!is_file($file = __DIR__ . '/Fixture/' . $file)) { throw new RuntimeException(sprintf('The file "%s" does not exist.', $file)); } $file = new \SplFileInfo($file); if (null === $extractor) { $extractor = new TranslationContainerExtractor(); } $lexer = new Lexer(); if (class_exists('PhpParser\\ParserFactory')) { $factory = new ParserFactory(); $parser = $factory->create(ParserFactory::PREFER_PHP7, $lexer); } else { $parser = new \PHPParser_Parser($lexer); } $ast = $parser->parse(file_get_contents($file)); $catalogue = new MessageCatalogue(); $extractor->visitPhpFile($file, $catalogue, $ast); return $catalogue; }