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
Namespace
SlevomatCodingStandard\Sniffs\ControlStructuresCode
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] === '->';
}