protected function execute(InputInterface $input, OutputInterface $output)
 {
     if (is_file($dbFile = __DIR__ . '/../../../../res/test_database.sqlite')) {
         unlink($dbFile);
     }
     $em = TestUtils::createTestEntityManager();
     $tool = new SchemaTool($em);
     $tool->createSchema($em->getMetadataFactory()->getAllMetadata());
     $analyzer = Analyzer::create($em, PassConfig::createForTypeScanning());
     $packageScanner = new PackageScanner($analyzer);
     $packageScanner->setLogger(new OutputLogger($output, $input->getOption('verbose')));
     $package = new Package('PHP');
     $packageVersion = $package->createVersion('5.3');
     $packageVersion->setUuid(uniqid(mt_rand(), true));
     $packageScanner->scanDirectory($packageVersion, __DIR__ . '/../../../../res/php-5.3-core-api');
     $output->writeln('Files scanned.');
     $output->write('Persisting results... ');
     $em->persist($package);
     $em->flush();
     $output->writeln('Done');
 }
 protected function getPasses()
 {
     return \Scrutinizer\PhpAnalyzer\PassConfig::createForTypeScanning()->getPasses();
 }
 protected function getAnalyzer()
 {
     return Analyzer::create(TestUtils::createTestEntityManager(), PassConfig::createForTypeScanning());
 }
 protected function getPasses()
 {
     $passes = \Scrutinizer\PhpAnalyzer\PassConfig::createForTypeScanning()->getPasses();
     $passes[] = new CheckVariablesPass();
     return $passes;
 }
 protected function getPasses()
 {
     $passes = PassConfig::createForTypeScanning()->getPasses();
     $passes[] = new CheckBasicSemanticsPass();
     return $passes;
 }
 protected function getPasses()
 {
     $passes = PassConfig::createForTypeScanning()->getPasses();
     $passes[] = new SuspiciousCodePass();
     return $passes;
 }
 protected function getPassConfig()
 {
     $config = PassConfig::createForTypeScanning();
     $config->addPass(new PhpunitAssertionsPass());
     return $config;
 }
 protected function getPasses()
 {
     $passes = \Scrutinizer\PhpAnalyzer\PassConfig::createForTypeScanning()->getPasses();
     $passes[] = new \Scrutinizer\PhpAnalyzer\Pass\ReflectionFixerPass();
     return $passes;
 }
 protected function getPasses()
 {
     $passes = PassConfig::createForTypeScanning()->getPasses();
     $passes[] = new SimplifyBooleanReturnPass();
     return $passes;
 }
 protected function getPasses()
 {
     $passes = $passConfig = PassConfig::createForTypeScanning()->getPasses();
     $passes[] = new CheckParamExpectsRefPass();
     return $passes;
 }
 protected function getPasses()
 {
     $passes = PassConfig::createForTypeScanning()->getPasses();
     $passes[] = new UnusedCodeChecksPass();
     return $passes;
 }
 protected function getPasses()
 {
     $passes = PassConfig::createForTypeScanning()->getPasses();
     $passes[] = new CheckUsageContextPass();
     return $passes;
 }
 protected function getPassConfig()
 {
     return PassConfig::createWithPasses($this->getPasses());
 }
 private function scanFixture($packageVersion, $name)
 {
     if (!is_file($zipFile = __DIR__ . '/Fixture/libraries/' . $name . '.zip')) {
         throw new \InvalidArgumentException(sprintf('Fixture "%s" does not exist.', $name));
     }
     $analyzer = new Analyzer($this->typeRegistry, PassConfig::createForTypeScanning());
     $scanner = new PackageScanner($analyzer);
     $scanner->scanZipFile($packageVersion, $zipFile);
 }
 protected function setUp()
 {
     $this->provider = new \Scrutinizer\PhpAnalyzer\PhpParser\Type\MemoryTypeProvider();
     $this->registry = new \Scrutinizer\PhpAnalyzer\PhpParser\Type\TypeRegistry($this->provider);
     $this->analyzer = new \Scrutinizer\PhpAnalyzer\Analyzer($this->registry, \Scrutinizer\PhpAnalyzer\PassConfig::createWithPasses($this->getPasses()));
 }
 protected function getPasses()
 {
     $passes = PassConfig::createForTypeScanning()->getPasses();
     $passes[] = new VerifyPhpDocCommentsPass();
     return $passes;
 }