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

Breadcrumb

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

function ArrayHelper::getValueEndPointer

1 call to ArrayHelper::getValueEndPointer()
ArrayHelper::parse in vendor/slevomat/coding-standard/SlevomatCodingStandard/Helpers/ArrayHelper.php
*

File

vendor/slevomat/coding-standard/SlevomatCodingStandard/Helpers/ArrayHelper.php, line 198

Class

ArrayHelper
@internal

Namespace

SlevomatCodingStandard\Helpers

Code

private static function getValueEndPointer(File $phpcsFile, int $endPointer, int $arrayCloserPointer, string $indentation) : int {
    $tokens = $phpcsFile->getTokens();
    $nextEffectivePointer = TokenHelper::findNextEffective($phpcsFile, $endPointer + 1, $arrayCloserPointer + 1);
    if ($tokens[$nextEffectivePointer]['line'] === $tokens[$endPointer]['line']) {
        return $nextEffectivePointer - 1;
    }
    for ($i = $endPointer + 1; $i < $nextEffectivePointer; $i++) {
        if ($tokens[$i]['line'] === $tokens[$endPointer]['line']) {
            $endPointer = $i;
            continue;
        }
        $nextNonWhitespacePointer = TokenHelper::findNextNonWhitespace($phpcsFile, $i);
        if (!in_array($tokens[$nextNonWhitespacePointer]['code'], TokenHelper::$inlineCommentTokenCodes, true)) {
            break;
        }
        if ($indentation === IndentationHelper::getIndentation($phpcsFile, $nextNonWhitespacePointer)) {
            $endPointer = $i - 1;
            break;
        }
        $i = TokenHelper::findLastTokenOnLine($phpcsFile, $i);
        $endPointer = $i;
    }
    return $endPointer;
}
RSS feed
Powered by Drupal