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

Breadcrumb

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

function ClassStructureSniff::findNextGroup

*

Parameters

array{scope_closer: int, level: int} $rootScopeToken: * @return array{int, int, string}|null

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

File

vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Classes/ClassStructureSniff.php, line 266

Class

ClassStructureSniff

Namespace

SlevomatCodingStandard\Sniffs\Classes

Code

private function findNextGroup(File $phpcsFile, int $pointer, array $rootScopeToken) : ?array {
    $tokens = $phpcsFile->getTokens();
    $groupTokenTypes = [
        T_USE,
        T_ENUM_CASE,
        T_CONST,
        T_VARIABLE,
        T_FUNCTION,
    ];
    $currentTokenPointer = $pointer;
    while (true) {
        $currentTokenPointer = TokenHelper::findNext($phpcsFile, $groupTokenTypes, ($currentToken['scope_closer'] ?? $currentTokenPointer) + 1, $rootScopeToken['scope_closer']);
        if ($currentTokenPointer === null) {
            break;
        }
        $currentToken = $tokens[$currentTokenPointer];
        if ($currentToken['code'] === T_VARIABLE && !PropertyHelper::isProperty($phpcsFile, $currentTokenPointer)) {
            continue;
        }
        if ($currentToken['level'] - $rootScopeToken['level'] !== 1) {
            continue;
        }
        $group = $this->getGroupForToken($phpcsFile, $currentTokenPointer);
        if (!isset($currentGroup)) {
            $currentGroup = $group;
            $groupFirstMemberPointer = $currentTokenPointer;
        }
        if ($group !== $currentGroup) {
            break;
        }
        $groupLastMemberPointer = $currentTokenPointer;
    }
    if (!isset($currentGroup)) {
        return null;
    }
    assert(isset($groupFirstMemberPointer) === true);
    assert(isset($groupLastMemberPointer) === true);
    return [
        $groupFirstMemberPointer,
        $groupLastMemberPointer,
        $currentGroup,
    ];
}

API Navigation

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