diff --git a/src/Type/Symfony/InputBagDynamicReturnTypeExtension.php b/src/Type/Symfony/InputBagDynamicReturnTypeExtension.php index f328ea86..b4875829 100644 --- a/src/Type/Symfony/InputBagDynamicReturnTypeExtension.php +++ b/src/Type/Symfony/InputBagDynamicReturnTypeExtension.php @@ -70,18 +70,11 @@ private function getAllTypeFromMethodCall( MethodCall $methodCall ): Type { - $types = [ - new BooleanType(), - new FloatType(), - new IntegerType(), - new StringType(), - ]; - $oneParameterType = new UnionType($types); if (isset($methodCall->getArgs()[0])) { - return new ArrayType(new MixedType(), $oneParameterType); + return new ArrayType(new MixedType(), new MixedType(true)); } - return new ArrayType(new StringType(), new UnionType([new ArrayType(new MixedType(), $oneParameterType), new BooleanType(), new FloatType(), new IntegerType(), new StringType()])); + return new ArrayType(new StringType(), new UnionType([new ArrayType(new MixedType(), new MixedType(true)), new BooleanType(), new FloatType(), new IntegerType(), new StringType()])); } } diff --git a/tests/Type/Symfony/data/input_bag.php b/tests/Type/Symfony/data/input_bag.php index c99fe6b6..4c836c5f 100644 --- a/tests/Type/Symfony/data/input_bag.php +++ b/tests/Type/Symfony/data/input_bag.php @@ -8,5 +8,5 @@ assertType('bool|float|int|string|null', $bag->get('foo', null)); assertType('bool|float|int|string', $bag->get('foo', '')); assertType('bool|float|int|string', $bag->get('foo', 'baz')); -assertType('array|bool|float|int|string>', $bag->all()); -assertType('array', $bag->all('bar')); +assertType('array', $bag->all()); +assertType('array', $bag->all('bar'));