/** * Process the package tag. * * @param int $errorPos The line number where the error occurs. * * @return void */ protected function processPackage($errorPos) { /** @var PHP_CodeSniffer_CommentParser_SingleElement $package */ $package = $this->commentParser->getPackage(); if ($package !== null) { $content = $package->getContent(); if ($content !== '') { if (!PHP_CodeSniffer::isUnderscoreName($content)) { $newContent = str_replace(' ', '_', $content); $nameBits = explode('_', $newContent); $firstBit = array_shift($nameBits); $newName = strtoupper($firstBit[0]) . substr($firstBit, 1) . '_'; foreach ($nameBits as $bit) { $newName .= strtoupper($bit[0]) . substr($bit, 1) . '_'; } $error = 'Package name "%s" is not valid; consider "%s" instead'; $validName = trim($newName, '_'); $data = array($content, $validName); $this->currentFile->addError($error, $errorPos, 'InvalidPackage', $data); } } else { $error = '@package tag must contain a name'; $this->currentFile->addError($error, $errorPos, 'EmptyPackage'); } } }