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
Namespace
SlevomatCodingStandard\Sniffs\ClassesCode
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,
];
}