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

Breadcrumb

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

function RequireMultiLineCallSniff::shouldBeSkipped

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

File

vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Functions/RequireMultiLineCallSniff.php, line 168

Class

RequireMultiLineCallSniff

Namespace

SlevomatCodingStandard\Sniffs\Functions

Code

private function shouldBeSkipped(File $phpcsFile, int $stringPointer, int $parenthesisCloserPointer) : bool {
    $tokens = $phpcsFile->getTokens();
    $nameTokenCodes = TokenHelper::getOnlyNameTokenCodes();
    $searchStartPointer = TokenHelper::findFirstNonWhitespaceOnLine($phpcsFile, $stringPointer);
    while (true) {
        $stringPointerBefore = TokenHelper::findNext($phpcsFile, $nameTokenCodes, $searchStartPointer, $stringPointer);
        if ($stringPointerBefore === null) {
            break;
        }
        $pointerAfterStringPointerBefore = TokenHelper::findNextEffective($phpcsFile, $stringPointerBefore + 1);
        if ($tokens[$pointerAfterStringPointerBefore]['code'] === T_OPEN_PARENTHESIS && $tokens[$pointerAfterStringPointerBefore]['parenthesis_closer'] > $stringPointer) {
            return true;
        }
        $searchStartPointer = $stringPointerBefore + 1;
    }
    $lastPointerOnLine = TokenHelper::findLastTokenOnLine($phpcsFile, $parenthesisCloserPointer);
    $searchStartPointer = $parenthesisCloserPointer + 1;
    while (true) {
        $stringPointerAfter = TokenHelper::findNext($phpcsFile, $nameTokenCodes, $searchStartPointer, $lastPointerOnLine + 1);
        if ($stringPointerAfter === null) {
            break;
        }
        $pointerAfterStringPointerAfter = TokenHelper::findNextEffective($phpcsFile, $stringPointerAfter + 1);
        if ($pointerAfterStringPointerAfter !== null && $tokens[$pointerAfterStringPointerAfter]['code'] === T_OPEN_PARENTHESIS && $tokens[$tokens[$pointerAfterStringPointerAfter]['parenthesis_closer']]['line'] === $tokens[$stringPointer]['line'] && $tokens[$pointerAfterStringPointerAfter]['parenthesis_closer'] !== TokenHelper::findNextEffective($phpcsFile, $pointerAfterStringPointerAfter + 1)) {
            return true;
        }
        $searchStartPointer = $stringPointerAfter + 1;
    }
    return false;
}
RSS feed
Powered by Drupal