*/ public function register() { return Collections::functionDeclarationTokens(); } /** * Processes the test. * * @since 7.0.0 * * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned. * @param int $stackPtr The position of the current token. * * @return void */ public function process(File $phpcsFile, $stackPtr) { if (ScannedCode::shouldRunOnOrAbove('5.4') === false) { return; } // Get all parameters from the function signature. $parameters = FunctionDeclarations::getParameters($phpcsFile, $stackPtr); if (empty($parameters)) { return; } foreach ($parameters as $param) { if (Variables::isSuperglobalName($param['name']) === true) { $error = 'Parameter shadowing super global (%s) causes a fatal error since PHP 5.4'; $errorCode = MessageHelper::stringToErrorCode(\substr($param['name'], 1), true) . 'Found'; $data = [$param['name']]; $phpcsFile->addError($error, $param['token'], $errorCode, $data); } } } }