N°8834 - Add compatibility with PHP 8.4 (#819)

* N°8834 - Add compatibility with PHP 8.4

* Rollback of scssphp/scssphp version upgrade due to compilation error
This commit is contained in:
Lenaick
2026-02-26 10:36:32 +01:00
committed by GitHub
parent d4821b7edc
commit fc967c06ce
961 changed files with 12298 additions and 7130 deletions

View File

@@ -185,7 +185,7 @@ class UnicodeString extends AbstractUnicodeString
return false === $i ? null : $i;
}
public function join(array $strings, string $lastGlue = null): static
public function join(array $strings, ?string $lastGlue = null): static
{
$str = parent::join($strings, $lastGlue);
normalizer_is_normalized($str->string) ?: $str->string = normalizer_normalize($str->string);
@@ -272,7 +272,7 @@ class UnicodeString extends AbstractUnicodeString
return $str;
}
public function slice(int $start = 0, int $length = null): static
public function slice(int $start = 0, ?int $length = null): static
{
$str = clone $this;
@@ -281,7 +281,7 @@ class UnicodeString extends AbstractUnicodeString
return $str;
}
public function splice(string $replacement, int $start = 0, int $length = null): static
public function splice(string $replacement, int $start = 0, ?int $length = null): static
{
$str = clone $this;
@@ -302,7 +302,7 @@ class UnicodeString extends AbstractUnicodeString
return $str;
}
public function split(string $delimiter, int $limit = null, int $flags = null): array
public function split(string $delimiter, ?int $limit = null, ?int $flags = null): array
{
if (1 > $limit ??= 2147483647) {
throw new InvalidArgumentException('Split limit must be a positive integer.');
@@ -362,6 +362,44 @@ class UnicodeString extends AbstractUnicodeString
return $prefix === grapheme_extract($this->string, \strlen($prefix), \GRAPHEME_EXTR_MAXBYTES);
}
public function trimPrefix($prefix): static
{
if (\is_array($prefix) || $prefix instanceof \Traversable) {
return parent::trimPrefix($prefix);
}
if ($prefix instanceof AbstractString) {
$prefix = $prefix->string;
} else {
$prefix = (string) $prefix;
}
if (!normalizer_is_normalized($prefix, \Normalizer::NFC)) {
$prefix = normalizer_normalize($prefix, \Normalizer::NFC);
}
return parent::trimPrefix($prefix);
}
public function trimSuffix($suffix): static
{
if (\is_array($suffix) || $suffix instanceof \Traversable) {
return parent::trimSuffix($suffix);
}
if ($suffix instanceof AbstractString) {
$suffix = $suffix->string;
} else {
$suffix = (string) $suffix;
}
if (!normalizer_is_normalized($suffix, \Normalizer::NFC)) {
$suffix = normalizer_normalize($suffix, \Normalizer::NFC);
}
return parent::trimSuffix($suffix);
}
/**
* @return void
*/