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

Breadcrumb

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

function IdentificatorHelper::getStartPointerBeforeVariablePart

2 calls to IdentificatorHelper::getStartPointerBeforeVariablePart()
IdentificatorHelper::findStartPointer in vendor/slevomat/coding-standard/SlevomatCodingStandard/Helpers/IdentificatorHelper.php
IdentificatorHelper::getStartPointerBeforeOperator in vendor/slevomat/coding-standard/SlevomatCodingStandard/Helpers/IdentificatorHelper.php

File

vendor/slevomat/coding-standard/SlevomatCodingStandard/Helpers/IdentificatorHelper.php, line 145

Class

IdentificatorHelper
@internal

Namespace

SlevomatCodingStandard\Helpers

Code

private static function getStartPointerBeforeVariablePart(File $phpcsFile, int $variablePartPointer) : int {
    $tokens = $phpcsFile->getTokens();
    
    /** @var int $previousPointer */
    $previousPointer = TokenHelper::findPreviousEffective($phpcsFile, $variablePartPointer - 1);
    if ($tokens[$previousPointer]['code'] === T_DOLLAR) {
        
        /** @var int $previousPointer */
        $previousPointer = TokenHelper::findPreviousEffective($phpcsFile, $previousPointer - 1);
    }
    if (in_array($tokens[$previousPointer]['code'], [
        T_OBJECT_OPERATOR,
        T_NULLSAFE_OBJECT_OPERATOR,
        T_DOUBLE_COLON,
    ], true)) {
        return self::getStartPointerBeforeOperator($phpcsFile, $previousPointer);
    }
    if ($tokens[$previousPointer]['code'] === T_CLOSE_SQUARE_BRACKET) {
        return self::getStartPointerBeforeVariablePart($phpcsFile, $tokens[$previousPointer]['bracket_opener']);
    }
    if ($tokens[$previousPointer]['code'] === T_CLOSE_CURLY_BRACKET && !array_key_exists('scope_condition', $tokens[$previousPointer])) {
        return self::getStartPointerBeforeVariablePart($phpcsFile, $tokens[$previousPointer]['bracket_opener']);
    }
    if (in_array($tokens[$previousPointer]['code'], array_merge([
        T_VARIABLE,
    ], TokenHelper::getNameTokenCodes()), true)) {
        return self::getStartPointerBeforeVariablePart($phpcsFile, $previousPointer);
    }
    return $variablePartPointer;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal