protected function execute(\Symfony\Component\Console\Input\InputInterface $input, \Symfony\Component\Console\Output\OutputInterface $output) { $dir = $input->getArgument('directory'); if (!is_dir($dir)) { $altDir = __DIR__ . '/../../../vendor/php/docs/' . $dir; if (!is_dir($altDir)) { throw new \InvalidArgumentException(sprintf('The directory "%s" does not exist.', $dir)); } $dir = $altDir; } $refiner = new \PHPStubs\TypeRefiner(); $parser = new \PHPStubs\DocumentationParser(null, $refiner); $parser->parse($dir); if (!$refiner->getNonRefinedElements()) { $output->writeln('<info>There are no non-refined elements.</info>'); return 0; } $dumper = new \PHPStubs\NonRefinedElementsDumper(); $output->writeln($dumper->dump($refiner->getNonRefinedElements())); }
protected function execute(\Symfony\Component\Console\Input\InputInterface $input, \Symfony\Component\Console\Output\OutputInterface $output) { $logger = null; if ($input->getOption('verbose')) { $logger = new Logger('phpstubs'); $logger->pushHandler(new OutputHandler($output)); } $output->writeln(sprintf('Scanning directory "%s"...', $input->getArgument('directory'))); $refiner = new TypeRefiner($logger); $parser = new DocumentationParser($logger, $refiner); $rs = $parser->parse($input->getArgument('directory')); $output->writeln(sprintf('Writing stubs in "%s".', $input->getOption('output-dir'))); $generator = new Generator($logger); $generator->generate($input->getOption('output-dir'), $rs['classes'], $rs['functions'], $rs['constants']); if ($input->getOption('verbose')) { $nonRefinedElements = $refiner->getNonRefinedElements(); if ($nonRefinedElements) { $dumper = new \PHPStubs\NonRefinedElementsDumper(); $output->writeln($dumper->dump($nonRefinedElements)); } } $output->writeln('Done.'); }