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

Breadcrumb

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

function Helpers::findContainingOpeningSquareBracket

* Find the position of the square bracket containing the token at $stackPtr, * if any. * *

Parameters

File $phpcsFile: * @param int $stackPtr * * @return ?int

2 calls to Helpers::findContainingOpeningSquareBracket()
Helpers::getListAssignments in vendor/sirbrillig/phpcs-variable-analysis/VariableAnalysis/Lib/Helpers.php
* Return a list of indices for variables assigned within a list assignment. * * The index provided can be either the opening square brace of a short list * assignment like the first character of `[$a] = $b;` or the `list` token of * an…
VariableAnalysisSniff::processVariableAsListShorthandAssignment in vendor/sirbrillig/phpcs-variable-analysis/VariableAnalysis/Sniffs/CodeAnalysis/VariableAnalysisSniff.php
* Processes variables destructured from an array using shorthand list assignment. * * This will record the definition and assignment of variables defined using * the format: * * ``` * [ $foo, $bar, $baz ] = $ary; * ``` * * Can be…

File

vendor/sirbrillig/phpcs-variable-analysis/VariableAnalysis/Lib/Helpers.php, line 49

Class

Helpers

Namespace

VariableAnalysis\Lib

Code

public static function findContainingOpeningSquareBracket(File $phpcsFile, $stackPtr) {
    // Find the previous bracket within this same statement.
    $previousStatementPtr = self::getPreviousStatementPtr($phpcsFile, $stackPtr);
    $openBracketPosition = self::getIntOrNull($phpcsFile->findPrevious([
        T_OPEN_SHORT_ARRAY,
        T_OPEN_SQUARE_BRACKET,
    ], $stackPtr - 1, $previousStatementPtr));
    if (empty($openBracketPosition)) {
        return null;
    }
    // Make sure we are inside the pair of brackets we found.
    $tokens = $phpcsFile->getTokens();
    $openBracketToken = $tokens[$openBracketPosition];
    if (empty($openBracketToken) || empty($tokens[$openBracketToken['bracket_closer']])) {
        return null;
    }
    $closeBracketPosition = $openBracketToken['bracket_closer'];
    if (empty($closeBracketPosition)) {
        return null;
    }
    if ($stackPtr > $closeBracketPosition) {
        return null;
    }
    return $openBracketPosition;
}
RSS feed
Powered by Drupal