Skip to content

Commit c4e019b

Browse files
committed
refactor: set phpstan level to max
1 parent 5925fa6 commit c4e019b

37 files changed

+253
-176
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' => 90])
3334
->disable('method_chaining_indentation')
3435
->disable('no_break_comment')
3536
->disable('no_superfluous_phpdoc_tags')

phpstan.neon.dist

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
parameters:
2-
level: 8
2+
level: max
33
paths:
44
- src
55
- 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/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

+14-11
Original file line numberDiff line numberDiff line change
@@ -4,39 +4,42 @@
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<array{key: int|string, value: 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
*/
2328
public function addDictionary(string $name, array $keys, array $values): void
2429
{
2530
$this->data[$name] = array_map(
26-
fn ($key, $value): array => ['key' => $key, 'value' => $value],
31+
static fn ($key, $value): array => ['key' => $key, 'value' => $value],
2732
$keys,
2833
$values
2934
);
3035
}
3136

3237
/**
33-
* @return Generator<string, array<mixed>>
38+
* @return array<string, array{key: int|string, value: mixed}>
3439
*/
35-
public function getDictionaries(): Generator
40+
public function getDictionaries(): array
3641
{
37-
foreach ($this->data as $name => $keyValuePairs) {
38-
yield $name => $keyValuePairs;
39-
}
42+
return $this->data;
4043
}
4144

4245
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)]);

src/Knp/DictionaryBundle/DependencyInjection/Configuration.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ public function getConfigTreeBuilder(): TreeBuilder
2727
->beforeNormalization()
2828
->always()
2929
->then(function ($values) {
30-
if (false === \array_key_exists('type', $values)) {
31-
if (false === \array_key_exists('content', $values)) {
30+
if (!\array_key_exists('type', $values)) {
31+
if (!\array_key_exists('content', $values)) {
3232
return ['type' => 'value', 'content' => $values];
3333
}
3434

src/Knp/DictionaryBundle/Dictionary.php

+14-7
Original file line numberDiff line numberDiff line change
@@ -9,37 +9,44 @@
99
use IteratorAggregate;
1010

1111
/**
12-
* @template E
12+
* @template TKey of (int|string)
13+
* @template TValue
1314
*
14-
* @extends IteratorAggregate<mixed, E>
15-
* @extends ArrayAccess<mixed, E>
15+
* @extends IteratorAggregate<TKey, TValue>
16+
* @extends ArrayAccess<TKey, TValue>
1617
*/
1718
interface Dictionary extends ArrayAccess, Countable, IteratorAggregate
1819
{
1920
/**
2021
* @var string
22+
*
23+
* @deprecated
2124
*/
2225
public const VALUE = 'value';
2326

2427
/**
2528
* @var string
29+
*
30+
* @deprecated
2631
*/
2732
public const VALUE_AS_KEY = 'value_as_key';
2833

2934
/**
3035
* @var string
36+
*
37+
* @deprecated
3138
*/
3239
public const KEY_VALUE = 'key_value';
3340

3441
public function getName(): string;
3542

3643
/**
37-
* @return mixed[]
44+
* @return array<int, TKey>
3845
*/
39-
public function getValues(): array;
46+
public function getKeys(): array;
4047

4148
/**
42-
* @return mixed[]
49+
* @return array<int, TValue>
4350
*/
44-
public function getKeys(): array;
51+
public function getValues(): array;
4552
}

0 commit comments

Comments
 (0)