function Diff::generateFileReport
Generate a partial report for a single processed file.
Function should return TRUE if it printed or stored data about the file and FALSE if it ignored the file. Returning TRUE indicates that the file and its data should be counted in the grand totals.
Parameters
array<string, string|int|array> $report Prepared report data.: See the {@see Report} interface for a detailed specification.
\PHP_CodeSniffer\Files\File $phpcsFile The file being reported on.:
bool $showSources Show sources?:
int $width Maximum allowed line width.:
Return value
bool
Overrides Report::generateFileReport
File
-
vendor/
squizlabs/ php_codesniffer/ src/ Reports/ Diff.php, line 33
Class
Namespace
PHP_CodeSniffer\ReportsCode
public function generateFileReport($report, File $phpcsFile, $showSources = false, $width = 80) {
$errors = $phpcsFile->getFixableCount();
if ($errors === 0) {
return false;
}
$phpcsFile->disableCaching();
$tokens = $phpcsFile->getTokens();
if (empty($tokens) === true) {
if (PHP_CODESNIFFER_VERBOSITY === 1) {
$startTime = microtime(true);
echo 'DIFF report is parsing ' . basename($report['filename']) . ' ';
}
else {
if (PHP_CODESNIFFER_VERBOSITY > 1) {
echo 'DIFF report is forcing parse of ' . $report['filename'] . PHP_EOL;
}
}
$phpcsFile->parse();
if (PHP_CODESNIFFER_VERBOSITY === 1) {
$timeTaken = (microtime(true) - $startTime) * 1000;
if ($timeTaken < 1000) {
$timeTaken = round($timeTaken);
echo "DONE in {$timeTaken}ms";
}
else {
$timeTaken = round($timeTaken / 1000, 2);
echo "DONE in {$timeTaken} secs";
}
echo PHP_EOL;
}
$phpcsFile->fixer
->startFile($phpcsFile);
}
//end if
if (PHP_CODESNIFFER_VERBOSITY > 1) {
ob_end_clean();
echo "\t*** START FILE FIXING ***" . PHP_EOL;
}
$fixed = $phpcsFile->fixer
->fixFile();
if (PHP_CODESNIFFER_VERBOSITY > 1) {
echo "\t*** END FILE FIXING ***" . PHP_EOL;
ob_start();
}
if ($fixed === false) {
return false;
}
$diff = $phpcsFile->fixer
->generateDiff();
if ($diff === '') {
// Nothing to print.
return false;
}
echo $diff . PHP_EOL;
return true;
}