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

Breadcrumb

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

function NamespaceDeclarationSniff::checkDisallowedContentBetweenNamespaceNameAndSemicolon

1 call to NamespaceDeclarationSniff::checkDisallowedContentBetweenNamespaceNameAndSemicolon()
NamespaceDeclarationSniff::process in vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Namespaces/NamespaceDeclarationSniff.php
* @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint *

File

vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Namespaces/NamespaceDeclarationSniff.php, line 86

Class

NamespaceDeclarationSniff

Namespace

SlevomatCodingStandard\Sniffs\Namespaces

Code

private function checkDisallowedContentBetweenNamespaceNameAndSemicolon(File $phpcsFile, int $namespacePointer) : void {
    if (array_key_exists('scope_opener', $phpcsFile->getTokens()[$namespacePointer])) {
        return;
    }
    $namespaceNameStartPointer = TokenHelper::findNextEffective($phpcsFile, $namespacePointer + 1);
    $namespaceNameEndPointer = TokenHelper::findNextExcluding($phpcsFile, TokenHelper::getNameTokenCodes(), $namespaceNameStartPointer + 1) - 1;
    
    /** @var int $namespaceSemicolonPointer */
    $namespaceSemicolonPointer = TokenHelper::findNextLocal($phpcsFile, T_SEMICOLON, $namespaceNameEndPointer + 1);
    if ($namespaceNameEndPointer + 1 === $namespaceSemicolonPointer) {
        return;
    }
    $fix = $phpcsFile->addFixableError('Disallowed content between namespace name and semicolon.', $namespacePointer, self::CODE_DISALLOWED_CONTENT_BETWEEN_NAMESPACE_NAME_AND_SEMICOLON);
    if (!$fix) {
        return;
    }
    $phpcsFile->fixer
        ->beginChangeset();
    FixerHelper::removeBetween($phpcsFile, $namespaceNameEndPointer, $namespaceSemicolonPointer);
    $phpcsFile->fixer
        ->endChangeset();
}
RSS feed
Powered by Drupal