Skip to content

Commit 30311a3

Browse files
committed
Meta: ensure arrays with meaning-less keys are typed as lists
1 parent b7c20be commit 30311a3

File tree

5 files changed

+17
-20
lines changed

5 files changed

+17
-20
lines changed

src/Meta/Compile/NodeCompileMeta.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,19 @@
1111
abstract class NodeCompileMeta
1212
{
1313

14-
/** @var array<int, CallbackCompileMeta> */
14+
/** @var list<CallbackCompileMeta> */
1515
private array $callbacks;
1616

17-
/** @var array<int, DocMeta> */
17+
/** @var list<DocMeta> */
1818
private array $docs;
1919

20-
/** @var array<int, ModifierCompileMeta> */
20+
/** @var list<ModifierCompileMeta> */
2121
private array $modifiers;
2222

2323
/**
24-
* @param array<int, CallbackCompileMeta> $callbacks
25-
* @param array<int, DocMeta> $docs
26-
* @param array<int, ModifierCompileMeta> $modifiers
24+
* @param list<CallbackCompileMeta> $callbacks
25+
* @param list<DocMeta> $docs
26+
* @param list<ModifierCompileMeta> $modifiers
2727
*/
2828
public function __construct(array $callbacks, array $docs, array $modifiers)
2929
{
@@ -33,23 +33,23 @@ public function __construct(array $callbacks, array $docs, array $modifiers)
3333
}
3434

3535
/**
36-
* @return array<int, CallbackCompileMeta>
36+
* @return list<CallbackCompileMeta>
3737
*/
3838
public function getCallbacks(): array
3939
{
4040
return $this->callbacks;
4141
}
4242

4343
/**
44-
* @return array<int, DocMeta>
44+
* @return list<DocMeta>
4545
*/
4646
public function getDocs(): array
4747
{
4848
return $this->docs;
4949
}
5050

5151
/**
52-
* @return array<int, ModifierCompileMeta>
52+
* @return list<ModifierCompileMeta>
5353
*/
5454
public function getModifiers(): array
5555
{

src/Meta/MetaResolver.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ private function throwFieldMetaOutsideOfMappedObject(
296296
/**
297297
* @param ReflectionClass<MappedObject>|ReflectionProperty $reflector
298298
* @param ReflectionClass<MappedObject> $classReflector
299-
* @return array<class-string<Callback<Args>>, array<int, CallbackRuntimeMeta<Args>>>
299+
* @return array<class-string<Callback<Args>>, list<CallbackRuntimeMeta<Args>>>
300300
*/
301301
private function resolveCallbacksMeta(
302302
NodeCompileMeta $meta,
@@ -306,15 +306,15 @@ private function resolveCallbacksMeta(
306306
): array
307307
{
308308
$array = [];
309-
foreach ($meta->getCallbacks() as $key => $callback) {
309+
foreach ($meta->getCallbacks() as $callback) {
310310
$callbackMeta = $this->resolveCallbackMeta(
311311
$callback,
312312
$context,
313313
$reflector,
314314
$classReflector,
315315
);
316316

317-
$array[$callbackMeta->type][$key] = $callbackMeta;
317+
$array[$callbackMeta->type][] = $callbackMeta;
318318
}
319319

320320
return $array;

src/Meta/Runtime/NodeRuntimeMeta.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
abstract class NodeRuntimeMeta
1515
{
1616

17-
/** @var array<class-string<Callback<Args>>, array<int, CallbackRuntimeMeta<Args>>> */
17+
/** @var array<class-string<Callback<Args>>, list<CallbackRuntimeMeta<Args>>> */
1818
public array $callbacks;
1919

2020
/** @var array<string, DocMeta> */
2121
public array $docs;
2222

2323
/**
2424
* @template T_ARGS of Args
25-
* @param array<class-string<Callback<T_ARGS>>, array<int, CallbackRuntimeMeta<T_ARGS>>> $callbacks
25+
* @param array<class-string<Callback<T_ARGS>>, list<CallbackRuntimeMeta<T_ARGS>>> $callbacks
2626
* @param array<string, DocMeta> $docs
2727
*/
2828
public function __construct(array $callbacks, array $docs)
@@ -32,7 +32,7 @@ public function __construct(array $callbacks, array $docs)
3232
}
3333

3434
/**
35-
* @return array<int, CallbackRuntimeMeta<Args>>
35+
* @return list<CallbackRuntimeMeta<Args>>
3636
*/
3737
public function getCallbacksByType(string $type): array
3838
{

src/Meta/Source/DefaultMetaSourceManager.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,14 @@
55
final class DefaultMetaSourceManager implements MetaSourceManager
66
{
77

8-
/** @var array<MetaSource> */
8+
/** @var list<MetaSource> */
99
private array $sources;
1010

1111
public function addSource(MetaSource $source): void
1212
{
1313
$this->sources[] = $source;
1414
}
1515

16-
/**
17-
* @return array<MetaSource>
18-
*/
1916
public function getAll(): array
2017
{
2118
return $this->sources;

src/Meta/Source/MetaSourceManager.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ interface MetaSourceManager
66
{
77

88
/**
9-
* @return array<MetaSource>
9+
* @return list<MetaSource>
1010
*/
1111
public function getAll(): array;
1212

0 commit comments

Comments
 (0)