Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. AbstractPatternSniff.php

function AbstractPatternSniff::process

Processes the test.

Parameters

\PHP_CodeSniffer\Files\File $phpcsFile The PHP_CodeSniffer file where the: token occurred.

int $stackPtr The position in the tokens stack: where the listening token type was found.

Return value

void

Overrides Sniff::process

See also

register()

File

vendor/squizlabs/php_codesniffer/src/Sniffs/AbstractPatternSniff.php, line 187

Class

AbstractPatternSniff

Namespace

PHP_CodeSniffer\Sniffs

Code

public final function process(File $phpcsFile, $stackPtr) {
    $file = $phpcsFile->getFilename();
    if ($this->currFile !== $file) {
        // We have changed files, so clean up.
        $this->errorPos = [];
        $this->currFile = $file;
    }
    $tokens = $phpcsFile->getTokens();
    if (in_array($tokens[$stackPtr]['code'], $this->supplementaryTokens, true) === true) {
        $this->processSupplementary($phpcsFile, $stackPtr);
    }
    $type = $tokens[$stackPtr]['code'];
    // If the type is not set, then it must have been a token registered
    // with registerSupplementary().
    if (isset($this->parsedPatterns[$type]) === false) {
        return;
    }
    $allErrors = [];
    // Loop over each pattern that is listening to the current token type
    // that we are processing.
    foreach ($this->parsedPatterns[$type] as $patternInfo) {
        // If processPattern returns false, then the pattern that we are
        // checking the code with must not be designed to check that code.
        $errors = $this->processPattern($patternInfo, $phpcsFile, $stackPtr);
        if ($errors === false) {
            // The pattern didn't match.
            continue;
        }
        else {
            if (empty($errors) === true) {
                // The pattern matched, but there were no errors.
                break;
            }
        }
        foreach ($errors as $stackPtr => $error) {
            if (isset($this->errorPos[$stackPtr]) === false) {
                $this->errorPos[$stackPtr] = true;
                $allErrors[$stackPtr] = $error;
            }
        }
    }
    foreach ($allErrors as $stackPtr => $error) {
        $phpcsFile->addError($error, $stackPtr, 'Found');
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal