diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 2165b919de2..5eb2ef1279a 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -103,13 +103,6 @@ parameters: # Allow extra assertions in tests: https://github.com/phpstan/phpstan-strict-rules/issues/130 - '#^Call to (static )?method PHPUnit\\Framework\\Assert::.* will always evaluate to true\.$#' - # Unsealed array shapes not supported - - - message: '#^Parameter &\$context by\-ref type of method ApiPlatform\\Doctrine\\Odm\\Extension\\ParameterExtension\:\:applyFilter\(\) expects array\, array(.*) given\.$#' - identifier: parameterByRef.type - count: 5 - path: src/Doctrine/Odm/Extension/ParameterExtension.php - # Level 6 - identifier: missingType.iterableValue diff --git a/src/Doctrine/Odm/Filter/AbstractFilter.php b/src/Doctrine/Odm/Filter/AbstractFilter.php index fd5ea562c63..75b85b9ac47 100644 --- a/src/Doctrine/Odm/Filter/AbstractFilter.php +++ b/src/Doctrine/Odm/Filter/AbstractFilter.php @@ -59,6 +59,10 @@ public function apply(Builder $aggregationBuilder, string $resourceClass, ?Opera /** * Passes a property through the filter. + * + * @param array $context + * + * @param-out array $context */ abstract protected function filterProperty(string $property, mixed $value, Builder $aggregationBuilder, string $resourceClass, ?Operation $operation = null, array &$context = []): void; diff --git a/src/Doctrine/Odm/Filter/FilterInterface.php b/src/Doctrine/Odm/Filter/FilterInterface.php index 4395a25df55..b979af3fbb1 100644 --- a/src/Doctrine/Odm/Filter/FilterInterface.php +++ b/src/Doctrine/Odm/Filter/FilterInterface.php @@ -28,7 +28,11 @@ interface FilterInterface extends BaseFilterInterface /** * Applies the filter. * - * @param array|array{filters?: array|array, parameter?: Parameter, mongodb_odm_sort_fields?: array, ...} $context + * @phpstan-param array $context + * + * @psalm-param array{filters?: array, parameter?: Parameter, mongodb_odm_sort_fields?: array, ...} $context + * + * @param-out array $context */ public function apply(Builder $aggregationBuilder, string $resourceClass, ?Operation $operation = null, array &$context = []): void; } diff --git a/src/Doctrine/Orm/Filter/FilterInterface.php b/src/Doctrine/Orm/Filter/FilterInterface.php index 7539574ff37..131488e3cdd 100644 --- a/src/Doctrine/Orm/Filter/FilterInterface.php +++ b/src/Doctrine/Orm/Filter/FilterInterface.php @@ -29,7 +29,9 @@ interface FilterInterface extends BaseFilterInterface /** * Applies the filter. * - * @param array{filters?: array|array, parameter?: Parameter, ...} $context + * @phpstan-param array $context + * + * @psalm-param array{filters?: array, parameter?: Parameter, ...} $context */ public function apply(QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $resourceClass, ?Operation $operation = null, array $context = []): void; }