class PcovDriver
@internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
Hierarchy
- class \SebastianBergmann\CodeCoverage\Driver\Driver
- class \SebastianBergmann\CodeCoverage\Driver\PcovDriver extends \SebastianBergmann\CodeCoverage\Driver\Driver
Expanded class hierarchy of PcovDriver
File
-
vendor/
phpunit/ php-code-coverage/ src/ Driver/ PcovDriver.php, line 27
Namespace
SebastianBergmann\CodeCoverage\DriverView source
final class PcovDriver extends Driver {
private readonly Filter $filter;
/**
* @throws PcovNotAvailableException
*/
public function __construct(Filter $filter) {
$this->ensurePcovIsAvailable();
$this->filter = $filter;
}
public function start() : void {
start();
}
public function stop() : RawCodeCoverageData {
stop();
$filesToCollectCoverageFor = waiting();
$collected = [];
if ($filesToCollectCoverageFor) {
if (!$this->filter
->isEmpty()) {
$filesToCollectCoverageFor = array_intersect($filesToCollectCoverageFor, $this->filter
->files());
}
$collected = collect(inclusive, $filesToCollectCoverageFor);
clear();
}
return RawCodeCoverageData::fromXdebugWithoutPathCoverage($collected);
}
public function nameAndVersion() : string {
return 'PCOV ' . phpversion('pcov');
}
/**
* @throws PcovNotAvailableException
*/
private function ensurePcovIsAvailable() : void {
if (!extension_loaded('pcov')) {
throw new PcovNotAvailableException();
}
}
}