*/ public function register() { return Tokens::$magicConstants; } /** * Processes this test, when one of its tokens is encountered. * * @since 1.0.0 * * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned. * @param int $stackPtr The position of the current token * in the stack passed in $tokens. * * @return void */ public function process(File $phpcsFile, $stackPtr) { $tokens = $phpcsFile->getTokens(); $content = $tokens[$stackPtr]['content']; $contentUC = \strtoupper($content); if ($contentUC === $content) { $phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'uppercase'); return; } $error = 'Magic constants should be in uppercase. Expected: %s; found: %s'; $errorCode = ''; $data = [ $contentUC, $content, ]; if (\strtolower($content) === $content) { $errorCode = 'Lowercase'; $phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'lowercase'); } else { $errorCode = 'Mixedcase'; $phpcsFile->recordMetric($stackPtr, self::METRIC_NAME, 'mixed case'); } $fix = $phpcsFile->addFixableError($error, $stackPtr, $errorCode, $data); if ($fix === true) { $phpcsFile->fixer->replaceToken($stackPtr, $contentUC); } } }