/** * @param PHPUnit_Util_Metrics_Function $metrics * @param DOMElement $element */ protected function processFunctionOrMethod($metrics, DOMElement $element) { $element->setAttribute('name', $metrics->getFunction()->getName()); $element->setAttribute('loc', $metrics->getLoc()); $element->setAttribute('locExecutable', $metrics->getLocExecutable()); $element->setAttribute('locExecuted', $metrics->getLocExecuted()); $element->setAttribute('coverage', sprintf('%F', $metrics->getCoverage())); $element->setAttribute('ccn', $metrics->getCCN()); $element->setAttribute('crap', sprintf('%F', $metrics->getCrapIndex())); $element->setAttribute('npath', $metrics->getNPath()); $element->setAttribute('parameters', $metrics->getParameters()); }
/** * Constructor. * * @param string $filename * @param array $codeCoverage * @throws RuntimeException */ protected function __construct($filename, &$codeCoverage = array()) { if (!file_exists($filename)) { throw new RuntimeException(sprintf('File "%s" not found.', $filename)); } $this->filename = $filename; $this->lines = file($filename); $this->tokens = token_get_all(file_get_contents($filename)); $this->countLines(); $this->setCoverage($codeCoverage); foreach (PHPUnit_Util_Class::getClassesInFile($filename) as $class) { $this->classes[$class->getName()] = PHPUnit_Util_Metrics_Class::factory($class, $codeCoverage); } foreach (PHPUnit_Util_Class::getFunctionsInFile($filename) as $function) { $this->functions[$function->getName()] = PHPUnit_Util_Metrics_Function::factory($function, $codeCoverage); } }
/** * Constructor. * * @param ReflectionClass $class * @param array $codeCoverage */ protected function __construct(ReflectionClass $class, &$codeCoverage = array()) { $this->class = $class; $className = $class->getName(); $packageInformation = PHPUnit_Util_Class::getPackageInformation($className); if (!empty($packageInformation['fullPackage'])) { $this->package = $packageInformation['fullPackage']; } $this->setCoverage($codeCoverage); $this->dit = count(PHPUnit_Util_Class::getHierarchy($class->getName())) - 1; $this->impl = count($class->getInterfaces()); foreach ($this->class->getMethods() as $method) { if ($method->getDeclaringClass()->getName() == $className) { $this->methods[$method->getName()] = PHPUnit_Util_Metrics_Function::factory($method, $codeCoverage); } else { $this->inheritedMethods[$method->getName()] = PHPUnit_Util_Metrics_Function::factory($method, $codeCoverage); } } $this->calculateAttributeMetrics(); $this->calculateMethodMetrics(); $this->calculateNumberOfChildren(); $this->calculatePolymorphismFactor(); $this->calculateDependencies(); }
/** * Constructor. * * @param string $filename * @param array $codeCoverage * @throws RuntimeException */ protected function __construct($filename, &$codeCoverage = array()) { if (!file_exists($filename)) { throw new RuntimeException(sprintf('File "%s" not found.', $filename)); } $this->filename = $filename; foreach (PHPUnit_Util_File::countLines($this->filename) as $name => $value) { $this->{$name} = $value; } $this->setCoverage($codeCoverage); foreach (PHPUnit_Util_File::getClassesInFile($filename) as $className => $class) { $this->classes[$className] = PHPUnit_Util_Metrics_Class::factory(new ReflectionClass($className), $codeCoverage); } foreach (PHPUnit_Util_File::getFunctionsInFile($filename) as $functionName => $function) { $this->functions[$functionName] = PHPUnit_Util_Metrics_Function::factory(new ReflectionFunction($functionName), $codeCoverage); } }