Rebuilds the list of listeners to ensure their state is cleared.
public refreshTokenListeners ( ) : void | ||
return | void |
/** * Attempt to fix the file by processing it until no fixes are made. * * @return boolean */ public function fixFile() { $fixable = $this->_currentFile->getFixableCount(); if ($fixable === 0) { // Nothing to fix. return false; } $this->enabled = true; $loops = 0; while ($loops < 50) { ob_start(); if ($loops === 0) { // First time through, don't reparse the file, saving time. $contents = null; } else { // Only needed once file content has changed. $contents = $this->getContents(); /* @ob_end_clean(); $debugContent = str_replace("\n", "\033[30;1m\\n\n\033[0m", $contents); $debugContent = str_replace("\t", "\033[30;1m»\t\033[0m", $debugContent); $debugContent = str_replace(' ', "\033[30;1m·\033[0m", $debugContent); echo $debugContent; */ } $this->_currentFile->refreshTokenListeners(); $this->_currentFile->start($contents); ob_end_clean(); /* Possibly useful as a fail-safe, but may mask problems with the actual fixes being performed. $newContents = $this->getContents(); if ($newContents === $contents) { break; } */ $loops++; if ($this->_numFixes === 0) { // Nothing left to do. break; } else { if (PHP_CODESNIFFER_VERBOSITY > 1) { echo "\tFixed {$this->_numFixes} violations, starting over" . PHP_EOL; } } } //end while $this->enabled = false; if ($this->_numFixes > 0) { if (PHP_CODESNIFFER_VERBOSITY > 1) { @ob_end_clean(); echo "\tReached maximum number of loops with {$this->_numFixes} violations left unfixed" . PHP_EOL; ob_start(); } return false; } return true; }
/** * Attempt to fix the file by processing it until no fixes are made. * * @return boolean */ public function fixFile() { $fixable = $this->_currentFile->getFixableCount(); if ($fixable === 0) { // Nothing to fix. return false; } $stdin = false; $cliValues = $this->_currentFile->phpcs->cli->getCommandLineValues(); if (empty($cliValues['files']) === true) { $stdin = true; } $this->enabled = true; $this->_loops = 0; while ($this->_loops < 50) { ob_start(); // Only needed once file content has changed. $contents = $this->getContents(); if (PHP_CODESNIFFER_VERBOSITY > 2) { @ob_end_clean(); echo '---START FILE CONTENT---' . PHP_EOL; $lines = explode($this->_currentFile->eolChar, $contents); $max = strlen(count($lines)); foreach ($lines as $lineNum => $line) { $lineNum++; echo str_pad($lineNum, $max, ' ', STR_PAD_LEFT) . '|' . $line . PHP_EOL; } echo '--- END FILE CONTENT ---' . PHP_EOL; ob_start(); } $this->_currentFile->refreshTokenListeners(); $this->_currentFile->start($contents); ob_end_clean(); $this->_loops++; if (PHP_CODESNIFFER_CBF === true && $stdin === false) { echo "\r" . str_repeat(' ', 80) . "\r"; echo "\t=> Fixing file: {$this->_numFixes}/{$fixable} violations remaining [made {$this->_loops} pass"; if ($this->_loops > 1) { echo 'es'; } echo ']... '; } if ($this->_numFixes === 0) { // Nothing left to do. break; } else { if (PHP_CODESNIFFER_VERBOSITY > 1) { echo "\t* fixed {$this->_numFixes} violations, starting loop " . ($this->_loops + 1) . ' *' . PHP_EOL; } } } //end while $this->enabled = false; if ($this->_numFixes > 0) { if (PHP_CODESNIFFER_VERBOSITY > 1) { @ob_end_clean(); echo "\t*** Reached maximum number of loops with {$this->_numFixes} violations left unfixed ***" . PHP_EOL; ob_start(); } return false; } return true; }
/** * Attempt to fix the file by processing it until no fixes are made. * * @return boolean */ public function fixFile() { $fixable = $this->_currentFile->getFixableCount(); if ($fixable === 0) { // Nothing to fix. return false; } $this->enabled = true; $loops = 0; while ($loops < 50) { ob_start(); // Only needed once file content has changed. $contents = $this->getContents(); /* Useful for debugging fixed contents. @ob_end_clean(); $debugContent = PHP_CodeSniffer::prepareForOutput($contents); echo $debugContent; ob_start(); */ $this->_currentFile->refreshTokenListeners(); $this->_currentFile->start($contents); ob_end_clean(); /* Possibly useful as a fail-safe, but may mask problems with the actual fixes being performed. $newContents = $this->getContents(); if ($newContents === $contents) { break; } */ $loops++; if (PHP_CODESNIFFER_CBF === true) { echo "\r" . str_repeat(' ', 80) . "\r"; echo "\t=> Fixing file: {$this->_numFixes}/{$fixable} violations remaining [made {$loops} pass"; if ($loops > 1) { echo 'es'; } echo ']... '; } if ($this->_numFixes === 0) { // Nothing left to do. break; } else { if (PHP_CODESNIFFER_VERBOSITY > 1) { echo "\t* fixed {$this->_numFixes} violations, starting loop " . ($loops + 1) . ' *' . PHP_EOL; } } } //end while $this->enabled = false; if ($this->_numFixes > 0) { if (PHP_CODESNIFFER_VERBOSITY > 1) { @ob_end_clean(); echo "\t*** Reached maximum number of loops with {$this->_numFixes} violations left unfixed ***" . PHP_EOL; ob_start(); } return false; } return true; }