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

Breadcrumb

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

function RequireNullSafeObjectOperatorSniff::areIdentificatorsCompatible

2 calls to RequireNullSafeObjectOperatorSniff::areIdentificatorsCompatible()
RequireNullSafeObjectOperatorSniff::checkNextCondition in vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/ControlStructures/RequireNullSafeObjectOperatorSniff.php
RequireNullSafeObjectOperatorSniff::checkTernaryOperator in vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/ControlStructures/RequireNullSafeObjectOperatorSniff.php

File

vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/ControlStructures/RequireNullSafeObjectOperatorSniff.php, line 428

Class

RequireNullSafeObjectOperatorSniff

Namespace

SlevomatCodingStandard\Sniffs\ControlStructures

Code

private function areIdentificatorsCompatible(string $first, string $second) : bool {
    
    /** @var list<string> $firstParts */
    $firstParts = preg_split(self::OPERATOR_REGEXP, $first, -1, PREG_SPLIT_DELIM_CAPTURE);
    
    /** @var list<string> $secondParts */
    $secondParts = preg_split(self::OPERATOR_REGEXP, $second, -1, PREG_SPLIT_DELIM_CAPTURE);
    $minPartsCount = min(count($firstParts), count($secondParts));
    for ($i = 0; $i < $minPartsCount; $i++) {
        if ($firstParts[$i] === '?->' && $secondParts[$i] === '->') {
            continue;
        }
        if ($firstParts[$i] !== $secondParts[$i]) {
            return false;
        }
    }
    return array_key_exists($minPartsCount, $secondParts) && $secondParts[$minPartsCount] === '->';
}

API Navigation

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