Skip to content

Commit e003e06

Browse files
committed
refactor: set phpstan level to max
1 parent 833c021 commit e003e06

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+318
-195
lines changed

.php-cs-fixer.dist.php

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
->enable('ordered_imports')
3131
->enable('ordered_interfaces')
3232
->enable('phpdoc_line_span')
33+
->enable('PedroTroller/line_break_between_method_arguments', ['max-length' => 80])
3334
->disable('method_chaining_indentation')
3435
->disable('no_break_comment')
3536
->disable('no_superfluous_phpdoc_tags')

phpstan-baseline.neon

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
parameters:
2+
ignoreErrors:
3+
-
4+
message: "#^Method Knp\\\\DictionaryBundle\\\\Dictionary\\\\Factory\\\\Value\\:\\:create\\(\\) should return Knp\\\\DictionaryBundle\\\\Dictionary\\<int\\|string, mixed\\> but returns Knp\\\\DictionaryBundle\\\\Dictionary\\\\Simple\\<int, mixed\\>\\.$#"
5+
count: 1
6+
path: src/Knp/DictionaryBundle/Dictionary/Factory/Value.php
7+
8+
-
9+
message: "#^Parameter \\#1 \\$array of function array_flip expects array\\<int\\|string\\>, array\\<int, mixed\\> given\\.$#"
10+
count: 1
11+
path: src/Knp/DictionaryBundle/Form/Type/DictionaryType.php

phpstan.neon.dist

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
includes:
2+
- phpstan-baseline.neon
3+
14
parameters:
2-
level: 8
5+
level: max
36
paths:
47
- src
58
- spec/PHPSpec

rector.php

+3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Rector\Config\RectorConfig;
66
use Rector\Core\ValueObject\PhpVersion;
77
use Rector\Set\ValueObject\LevelSetList;
8+
use Rector\Set\ValueObject\SetList;
89

910
return static function (RectorConfig $rectorConfig): void {
1011
$rectorConfig
@@ -25,6 +26,8 @@
2526
->sets(
2627
[
2728
LevelSetList::UP_TO_PHP_80,
29+
SetList::CODE_QUALITY,
30+
SetList::DEAD_CODE,
2831
]
2932
)
3033
;

spec/Knp/DictionaryBundle/DependencyInjection/Compiler/DictionaryBuildingPassSpec.php

+9-6
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ function it_is_initializable()
2020
$this->shouldHaveType(DictionaryBuildingPass::class);
2121
}
2222

23-
function it_builds_a_value_as_key_dictionary_from_the_config(ContainerBuilder $container)
24-
{
23+
function it_builds_a_value_as_key_dictionary_from_the_config(
24+
ContainerBuilder $container
25+
) {
2526
$config = [
2627
'dictionaries' => [
2728
'dico1' => [
@@ -66,8 +67,9 @@ function it_builds_a_value_as_key_dictionary_from_the_config(ContainerBuilder $c
6667
$this->process($container);
6768
}
6869

69-
function it_builds_a_value_dictionary_from_the_config(ContainerBuilder $container)
70-
{
70+
function it_builds_a_value_dictionary_from_the_config(
71+
ContainerBuilder $container
72+
) {
7173
$config = [
7274
'dictionaries' => [
7375
'dico1' => [
@@ -109,8 +111,9 @@ function it_builds_a_value_dictionary_from_the_config(ContainerBuilder $containe
109111
$this->process($container);
110112
}
111113

112-
function it_builds_a_key_value_dictionary_from_the_config(ContainerBuilder $container)
113-
{
114+
function it_builds_a_key_value_dictionary_from_the_config(
115+
ContainerBuilder $container
116+
) {
114117
$config = [
115118
'dictionaries' => [
116119
'dico1' => [

spec/Knp/DictionaryBundle/Dictionary/CombinedSpec.php

+25-10
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@
1111

1212
final class CombinedSpec extends ObjectBehavior
1313
{
14-
function let(Dictionary $dictionary1, Dictionary $dictionary2, Dictionary $dictionary3)
15-
{
14+
function let(
15+
Dictionary $dictionary1,
16+
Dictionary $dictionary2,
17+
Dictionary $dictionary3
18+
) {
1619
$this->beConstructedWith(
1720
'combined_dictionary',
1821
$dictionary1,
@@ -31,8 +34,11 @@ function it_is_a_dictionary()
3134
$this->shouldImplement(Dictionary::class);
3235
}
3336

34-
function it_access_to_value_like_an_array($dictionary1, $dictionary2, $dictionary3)
35-
{
37+
function it_access_to_value_like_an_array(
38+
$dictionary1,
39+
$dictionary2,
40+
$dictionary3
41+
) {
3642
$dictionary1->getIterator()->willReturn(new ArrayIterator(['foo1' => 'foo10']));
3743

3844
$dictionary2->getIterator()->willReturn(new ArrayIterator(['bar1' => 'bar10']));
@@ -44,8 +50,11 @@ function it_access_to_value_like_an_array($dictionary1, $dictionary2, $dictionar
4450
$this['baz1']->shouldBe('baz10');
4551
}
4652

47-
function it_getvalues_should_return_dictionaries_values($dictionary1, $dictionary2, $dictionary3)
48-
{
53+
function it_getvalues_should_return_dictionaries_values(
54+
$dictionary1,
55+
$dictionary2,
56+
$dictionary3
57+
) {
4958
$dictionary1->getIterator()->willReturn(new ArrayIterator([
5059
'foo1' => 'foo10',
5160
'foo2' => 'foo20',
@@ -75,8 +84,11 @@ function it_getvalues_should_return_dictionaries_values($dictionary1, $dictionar
7584
]);
7685
}
7786

78-
function it_can_iterate_over_dictionaries($dictionary1, $dictionary2, $dictionary3)
79-
{
87+
function it_can_iterate_over_dictionaries(
88+
$dictionary1,
89+
$dictionary2,
90+
$dictionary3
91+
) {
8092
$dictionary1->getIterator()->willReturn(new ArrayIterator([
8193
'foo1' => 'foo10',
8294
'foo2' => 'foo20',
@@ -100,8 +112,11 @@ function it_can_iterate_over_dictionaries($dictionary1, $dictionary2, $dictionar
100112
]);
101113
}
102114

103-
function it_sums_the_count_of_elements($dictionary1, $dictionary2, $dictionary3)
104-
{
115+
function it_sums_the_count_of_elements(
116+
$dictionary1,
117+
$dictionary2,
118+
$dictionary3
119+
) {
105120
$dictionary1->getIterator()->willReturn(new ArrayIterator([
106121
'foo1' => 'foo10',
107122
]));

spec/Knp/DictionaryBundle/Dictionary/Factory/AggregateSpec.php

+5-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,11 @@ function it_is_a_factory()
2222
$this->shouldHaveType(Factory::class);
2323
}
2424

25-
function it_supports_if_one_factory_supports(Factory $factory1, Factory $factory2, Factory $factory3)
26-
{
25+
function it_supports_if_one_factory_supports(
26+
Factory $factory1,
27+
Factory $factory2,
28+
Factory $factory3
29+
) {
2730
$this->addFactory($factory1);
2831
$this->addFactory($factory2);
2932

spec/Knp/DictionaryBundle/Dictionary/Factory/CombinedSpec.php

+5-2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,11 @@ function it_supports_specific_config()
3333
$this->supports(['type' => 'combined'])->shouldReturn(true);
3434
}
3535

36-
function it_creates_a_dictionary(Dictionary $dictionary1, Dictionary $dictionary2, Dictionary $dictionary3)
37-
{
36+
function it_creates_a_dictionary(
37+
Dictionary $dictionary1,
38+
Dictionary $dictionary2,
39+
Dictionary $dictionary3
40+
) {
3841
$dictionary1->getIterator()->willReturn(new ArrayIterator(['foo1' => 'foo10', 'foo2' => 'foo20']));
3942
$dictionary1->getName()->willReturn('dictionary1');
4043

spec/Knp/DictionaryBundle/Dictionary/Factory/ExtendedSpec.php

+5-2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,11 @@ function it_supports_specific_config()
3333
$this->supports(['extends' => 'my_dictionary'])->shouldReturn(true);
3434
}
3535

36-
function it_creates_a_dictionary($factory, Dictionary $initialDictionary, Dictionary $extendsDictionary)
37-
{
36+
function it_creates_a_dictionary(
37+
$factory,
38+
Dictionary $initialDictionary,
39+
Dictionary $extendsDictionary
40+
) {
3841
$initialDictionary->getName()->willReturn('initial_dictionary');
3942
$initialDictionary->getIterator()->willReturn(new ArrayIterator(['foo1', 'foo2']));
4043

spec/Knp/DictionaryBundle/Dictionary/InvokableSpec.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,9 @@ function it_access_to_value_like_an_array()
101101
$this['baz']->shouldReturn(2);
102102
}
103103

104-
function it_throws_an_exception_if_callable_returns_somthing_else_than_an_array_or_an_array_access($nothing)
105-
{
104+
function it_throws_an_exception_if_callable_returns_somthing_else_than_an_array_or_an_array_access(
105+
$nothing
106+
) {
106107
$this->beConstructedWith('foo', function (): void {
107108
});
108109

spec/Knp/DictionaryBundle/Faker/Provider/DictionarySpec.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,9 @@ function it_can_generates_random_values(Dictionary $dictionary)
3838
$this->dictionary('the_dico')->shouldBeOneOf('foo', 'bar', 'baz');
3939
}
4040

41-
function it_can_generates_unique_random_values(Dictionary $dictionary)
42-
{
41+
function it_can_generates_unique_random_values(
42+
Dictionary $dictionary
43+
) {
4344
$dictionary->getName()->willReturn('the_dico');
4445
$dictionary->getKeys()->willReturn(['foo', 'bar', 'baz']);
4546

spec/Knp/DictionaryBundle/Validator/Constraints/DictionaryValidatorSpec.php

+8-4
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@
1616

1717
final class DictionaryValidatorSpec extends ObjectBehavior
1818
{
19-
function let(ExecutionContextInterface $context, Dictionary $dictionary)
20-
{
19+
function let(
20+
ExecutionContextInterface $context,
21+
Dictionary $dictionary
22+
) {
2123
$dictionary->getName()->willReturn('dico');
2224
$dictionary->getKeys()->willReturn(['the_key']);
2325

@@ -59,8 +61,10 @@ function it_adds_violation_for_an_unexisting_keys($context)
5961
$this->validate('the_unexisting_key', $constraint);
6062
}
6163

62-
function it_transforms_keys_in_string_representation($dictionary, $context)
63-
{
64+
function it_transforms_keys_in_string_representation(
65+
$dictionary,
66+
$context
67+
) {
6468
$dictionary->getKeys()->willReturn(['the_key', true, 12, 3.14, 0.0, null]);
6569

6670
$constraint = new Constraint(['name' => 'dico']);

spec/PHPSpec/Extension.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public function load(ServiceContainer $container, array $params): void
1616
{
1717
$container->define(
1818
OneOfMatcher::class,
19-
fn (): OneOfMatcher => new OneOfMatcher(),
19+
static fn (): OneOfMatcher => new OneOfMatcher(),
2020
['matchers']
2121
);
2222
}

spec/PHPSpec/OneOfMatcher.php

+14-8
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,15 @@ protected function matches($subject, array $arguments): bool
3232
}
3333

3434
/**
35-
* @param mixed $subject
35+
* @param string $subject
3636
* @param mixed[] $arguments
3737
*/
38-
protected function getFailureException(string $name, $subject, array $arguments): FailureException
39-
{
40-
if (1 === \count($arguments) && \is_array(current($arguments))) {
38+
protected function getFailureException(
39+
string $name,
40+
$subject,
41+
array $arguments
42+
): FailureException {
43+
if ([] !== \count($arguments) && \is_array(current($arguments))) {
4144
$arguments = current($arguments);
4245
}
4346

@@ -51,12 +54,15 @@ protected function getFailureException(string $name, $subject, array $arguments)
5154
}
5255

5356
/**
54-
* @param mixed $subject
57+
* @param string $subject
5558
* @param mixed[] $arguments
5659
*/
57-
protected function getNegativeFailureException(string $name, $subject, array $arguments): FailureException
58-
{
59-
if (1 === \count($arguments) && \is_array(current($arguments))) {
60+
protected function getNegativeFailureException(
61+
string $name,
62+
$subject,
63+
array $arguments
64+
): FailureException {
65+
if ([] !== \count($arguments) && \is_array(current($arguments))) {
6066
$arguments = current($arguments);
6167
}
6268

src/Knp/DictionaryBundle/DataCollector/DictionaryDataCollector.php

+19-13
Original file line numberDiff line numberDiff line change
@@ -4,39 +4,45 @@
44

55
namespace Knp\DictionaryBundle\DataCollector;
66

7-
use Generator;
87
use Symfony\Component\HttpFoundation\Request;
98
use Symfony\Component\HttpFoundation\Response;
109
use Symfony\Component\HttpKernel\DataCollector\DataCollector;
1110
use Throwable;
1211

12+
/**
13+
* @property array<mixed> $data
14+
*/
1315
final class DictionaryDataCollector extends DataCollector
1416
{
15-
public function collect(Request $request, Response $response, Throwable $exception = null): void
16-
{
17+
public function collect(
18+
Request $request,
19+
Response $response,
20+
Throwable $exception = null
21+
): void {
1722
}
1823

1924
/**
20-
* @param array<mixed> $keys
21-
* @param array<mixed> $values
25+
* @param array<int|string> $keys
26+
* @param array<mixed> $values
2227
*/
23-
public function addDictionary(string $name, array $keys, array $values): void
24-
{
28+
public function addDictionary(
29+
string $name,
30+
array $keys,
31+
array $values
32+
): void {
2533
$this->data[$name] = array_map(
26-
fn ($key, $value): array => ['key' => $key, 'value' => $value],
34+
static fn (int|string $key, mixed $value): array => ['key' => $key, 'value' => $value],
2735
$keys,
2836
$values
2937
);
3038
}
3139

3240
/**
33-
* @return Generator<string, array<mixed>>
41+
* @return array<mixed>
3442
*/
35-
public function getDictionaries(): Generator
43+
public function getDictionaries(): array
3644
{
37-
foreach ($this->data as $name => $keyValuePairs) {
38-
yield $name => $keyValuePairs;
39-
}
45+
return $this->data;
4046
}
4147

4248
public function reset(): void

src/Knp/DictionaryBundle/DependencyInjection/Compiler/DictionaryBuildingPass.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public function process(ContainerBuilder $container): void
1818
{
1919
$configuration = $container->getParameter('knp_dictionary.configuration');
2020

21-
if (false === \is_array($configuration)) {
21+
if (!\is_array($configuration)) {
2222
throw new Exception('The configuration "knp_dictionary.dictionaries" should be an array.');
2323
}
2424

src/Knp/DictionaryBundle/DependencyInjection/Compiler/DictionaryFactoryBuildingPass.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ final class DictionaryFactoryBuildingPass implements CompilerPassInterface
1818

1919
public function process(ContainerBuilder $container): void
2020
{
21-
foreach ($container->findTaggedServiceIds(self::TAG_FACTORY) as $id => $tags) {
21+
foreach (array_keys($container->findTaggedServiceIds(self::TAG_FACTORY)) as $id) {
2222
$container
2323
->findDefinition(Aggregate::class)
2424
->addMethodCall('addFactory', [new Reference($id)])

src/Knp/DictionaryBundle/DependencyInjection/Compiler/DictionaryRegistrationPass.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ final class DictionaryRegistrationPass implements CompilerPassInterface
1818

1919
public function process(ContainerBuilder $container): void
2020
{
21-
foreach ($container->findTaggedServiceIds(self::TAG_DICTIONARY) as $id => $tags) {
21+
foreach (array_keys($container->findTaggedServiceIds(self::TAG_DICTIONARY)) as $id) {
2222
$container
2323
->getDefinition(Collection::class)
2424
->addMethodCall('add', [new Reference($id)])

src/Knp/DictionaryBundle/DependencyInjection/Compiler/DictionaryTracePass.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public function process(ContainerBuilder $container): void
1919
return;
2020
}
2121

22-
foreach ($container->findTaggedServiceIds(DictionaryRegistrationPass::TAG_DICTIONARY) as $id => $tags) {
22+
foreach (array_keys($container->findTaggedServiceIds(DictionaryRegistrationPass::TAG_DICTIONARY)) as $id) {
2323
$serviceId = sprintf('%s.%s.traceable', $id, md5($id));
2424
$dictionary = new Reference(sprintf('%s.inner', $serviceId));
2525
$traceable = new Definition(Traceable::class, [$dictionary, new Reference(DictionaryDataCollector::class)]);

0 commit comments

Comments
 (0)