/** * @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); } }