Example #1
0
 /**
  * @param Configuration $configuration
  *
  * @return AnalysisResult
  */
 public function analyze(Configuration $configuration)
 {
     $this->typeCheck->analyze(func_get_args());
     $facadeClassName = $configuration->validatorNamespace()->joinAtoms('TypeCheck');
     $sourcePaths = $configuration->sourcePaths();
     $issues = array();
     foreach ($this->classMapper()->classesByPaths($sourcePaths) as $classDefinition) {
         $this->analyzeClass($configuration, $classDefinition, $facadeClassName, $issues);
     }
     return new AnalysisResult($issues);
 }
 /**
  * @param Configuration $configuration
  * @param null          &$generatedPaths
  */
 protected function generateClassValidators(Configuration $configuration, &$generatedPaths)
 {
     $this->typeCheck->generateClassValidators(func_get_args());
     $sourcePaths = $configuration->sourcePaths();
     $generatedPaths = array();
     foreach ($this->classMapper()->classesByPaths($sourcePaths) as $classDefinition) {
         $className = null;
         $source = $this->validatorClassGenerator()->generate($configuration, $classDefinition, $className);
         $generatedPaths[] = $generatedPath = $this->prepareOutputPath($configuration, $className);
         $this->isolator->file_put_contents($generatedPath, $source);
     }
 }