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()));
 }
Beispiel #2
0
 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.');
 }