You are here

public function ValidClassNameSniff::process in Coder 8.2

Same name and namespace in other branches
  1. 8.3 coder_sniffer/Drupal/Sniffs/NamingConventions/ValidClassNameSniff.php \Drupal\Sniffs\NamingConventions\ValidClassNameSniff::process()
  2. 8.3.x coder_sniffer/Drupal/Sniffs/NamingConventions/ValidClassNameSniff.php \Drupal\Sniffs\NamingConventions\ValidClassNameSniff::process()

Processes this test, when one of its tokens is encountered.

Parameters

\PHP_CodeSniffer\Files\File $phpcsFile The current file being processed.:

int $stackPtr The position of the current token: in the stack passed in $tokens.

Return value

void

File

coder_sniffer/Drupal/Sniffs/NamingConventions/ValidClassNameSniff.php, line 62

Class

ValidClassNameSniff
\Drupal\Sniffs\NamingConventions\ValidClassNameSniff.

Namespace

Drupal\Sniffs\NamingConventions

Code

public function process(File $phpcsFile, $stackPtr) {
  $tokens = $phpcsFile
    ->getTokens();
  $className = $phpcsFile
    ->findNext(T_STRING, $stackPtr);
  $name = trim($tokens[$className]['content']);
  $errorData = array(
    ucfirst($tokens[$stackPtr]['content']),
  );

  // Make sure the first letter is a capital.
  if (preg_match('|^[A-Z]|', $name) === 0) {
    $error = '%s name must begin with a capital letter';
    $phpcsFile
      ->addError($error, $stackPtr, 'StartWithCaptial', $errorData);
  }

  // Search for underscores.
  if (strpos($name, '_') !== false) {
    $error = '%s name must use UpperCamel naming without underscores';
    $phpcsFile
      ->addError($error, $stackPtr, 'NoUnderscores', $errorData);
  }
}