public static findNextExcluding ( PHP_CodeSniffer_File $phpcsFile, integer | integer[] $types, integer $startPointer, integer | null $endPointer = null ) : integer | null | ||
$phpcsFile | PHP_CodeSniffer_File | |
$types | integer | integer[] | |
$startPointer | integer | search starts at this token, inclusive |
$endPointer | integer | null | search ends at this token, exclusive |
return | integer | null |
/** * @param \PHP_CodeSniffer_File $phpcsFile * @param integer $anyPointer any pointer type where the search begins from (backwards) * @return string|null */ public static function findCurrentNamespaceName(PHP_CodeSniffer_File $phpcsFile, $anyPointer) { $namespacePointer = $phpcsFile->findPrevious(T_NAMESPACE, $anyPointer); if ($namespacePointer === false) { return null; } $namespaceNameStartPointer = TokenHelper::findNextNonWhitespace($phpcsFile, $namespacePointer + 1); $namespaceNameEndPointer = TokenHelper::findNextExcluding($phpcsFile, TokenHelper::$nameTokenCodes, $namespaceNameStartPointer + 1); return TokenHelper::getContent($phpcsFile, $namespaceNameStartPointer, $namespaceNameEndPointer); }
/** * @param \PHP_CodeSniffer_File $phpcsFile * @param integer $keywordPointer */ public function process(PHP_CodeSniffer_File $phpcsFile, $keywordPointer) { $nameStartPointer = TokenHelper::findNextEffective($phpcsFile, $keywordPointer + 1); $this->checkReferencedName($phpcsFile, $keywordPointer, $nameStartPointer); $tokens = $phpcsFile->getTokens(); if ($tokens[$keywordPointer]['code'] === T_IMPLEMENTS) { $possibleCommaPointer = $keywordPointer + 1; while (true) { $possibleCommaPointer = TokenHelper::findNextExcluding($phpcsFile, array_merge(TokenHelper::$nameTokenCodes, [T_WHITESPACE]), $possibleCommaPointer); if ($possibleCommaPointer !== null) { $possibleCommaToken = $tokens[$possibleCommaPointer]; if ($possibleCommaToken['code'] === T_COMMA) { $nameStartPointer = TokenHelper::findNextEffective($phpcsFile, $possibleCommaPointer + 1); $possibleCommaPointer = $this->checkReferencedName($phpcsFile, $keywordPointer, $nameStartPointer); continue; } } break; } } }
/** * @param \PHP_CodeSniffer_File $phpcsFile * @param integer $startPointer * @return integer|null */ public static function findReferencedNameEndPointer(PHP_CodeSniffer_File $phpcsFile, $startPointer) { if (!self::isReferencedName($phpcsFile, $startPointer)) { return null; } return TokenHelper::findNextExcluding($phpcsFile, array_merge([T_RETURN_TYPE], TokenHelper::$nameTokenCodes), $startPointer + 1); }