This commit is contained in:
2025-02-04 12:40:43 +03:00
parent 4bcb4c60dd
commit 50343d5a87
372 changed files with 9019 additions and 6684 deletions

View File

@@ -16,7 +16,6 @@ use function array_pop;
use function array_slice;
use function count;
use function is_array;
use function is_int;
use function random_int;
use function spl_object_id;
use SplObjectStorage;
@@ -44,7 +43,6 @@ final class Context
public function __destruct()
{
foreach ($this->arrays as &$array) {
/* @phpstan-ignore function.alreadyNarrowedType */
if (is_array($array)) {
array_pop($array);
array_pop($array);
@@ -59,10 +57,9 @@ final class Context
*
* @param-out T $value
*/
public function add(array|object &$value): int
public function add(array|object &$value): false|int|string
{
if (is_array($value)) {
/* @phpstan-ignore paramOut.type */
return $this->addArray($value);
}
@@ -76,7 +73,7 @@ final class Context
*
* @param-out T $value
*/
public function contains(array|object &$value): false|int
public function contains(array|object &$value): false|int|string
{
if (is_array($value)) {
return $this->containsArray($value);
@@ -143,13 +140,7 @@ final class Context
{
$end = array_slice($array, -2);
if (isset($end[1]) &&
$end[1] === $this->objects &&
is_int($end[0])) {
return $end[0];
}
return false;
return isset($end[1]) && $end[1] === $this->objects ? $end[0] : false;
}
private function containsObject(object $value): false|int