@@ -386,36 +386,38 @@ private function validateFields(Type $type): void
386
386
/**
387
387
* @param Schema|ObjectType|InterfaceType|UnionType|EnumType|InputObjectType|Directive $obj
388
388
*
389
- * @return array<int, SchemaDefinitionNode|SchemaExtensionNode>|array<int, ObjectTypeDefinitionNode|ObjectTypeExtensionNode>|array<int, InterfaceTypeDefinitionNode|InterfaceTypeExtensionNode>|array<int, UnionTypeDefinitionNode|UnionTypeExtensionNode>|array<int, EnumTypeDefinitionNode|EnumTypeExtensionNode>|array<int, InputObjectTypeDefinitionNode|InputObjectTypeExtensionNode>|array<int, DirectiveDefinitionNode>
389
+ * @return list< SchemaDefinitionNode|SchemaExtensionNode>|list< ObjectTypeDefinitionNode|ObjectTypeExtensionNode>|list< InterfaceTypeDefinitionNode|InterfaceTypeExtensionNode>|list< UnionTypeDefinitionNode|UnionTypeExtensionNode>|list< EnumTypeDefinitionNode|EnumTypeExtensionNode>|list< InputObjectTypeDefinitionNode|InputObjectTypeExtensionNode>|list< DirectiveDefinitionNode>
390
390
*/
391
391
private function getAllNodes (object $ obj ): array
392
392
{
393
+ $ astNode = $ obj ->astNode ;
394
+
393
395
if ($ obj instanceof Schema) {
394
- $ astNode = $ obj ->astNode ;
395
396
$ extensionNodes = $ obj ->extensionASTNodes ;
396
397
} elseif ($ obj instanceof Directive) {
397
- $ astNode = $ obj ->astNode ;
398
398
$ extensionNodes = [];
399
399
} else {
400
- $ astNode = $ obj ->astNode ;
401
400
$ extensionNodes = $ obj ->extensionASTNodes ;
402
401
}
403
402
404
- return $ astNode !== null
405
- ? \array_merge ([$ astNode ], $ extensionNodes )
406
- : $ extensionNodes ;
403
+ $ allNodes = $ astNode === null
404
+ ? []
405
+ : [$ astNode ];
406
+ foreach ($ extensionNodes as $ extensionNode ) {
407
+ $ allNodes [] = $ extensionNode ;
408
+ }
409
+
410
+ return $ allNodes ;
407
411
}
408
412
409
413
/**
410
414
* @param ObjectType|InterfaceType $type
411
415
*
412
- * @return array<int, FieldDefinitionNode>
416
+ * @return list< FieldDefinitionNode>
413
417
*/
414
418
private function getAllFieldNodes (Type $ type , string $ fieldName ): array
415
419
{
416
- $ allNodes = $ type ->astNode !== null
417
- ? \array_merge ([$ type ->astNode ], $ type ->extensionASTNodes )
418
- : $ type ->extensionASTNodes ;
420
+ $ allNodes = array_filter ([$ type ->astNode , ...$ type ->extensionASTNodes ]);
419
421
420
422
$ matchingFieldNodes = [];
421
423
@@ -574,13 +576,11 @@ private function getImplementsInterfaceNode(ImplementingType $type, NamedType $s
574
576
* @param ObjectType|InterfaceType $type
575
577
* @param Type&NamedType $shouldBeInterface
576
578
*
577
- * @return array<int, NamedTypeNode>
579
+ * @return list< NamedTypeNode>
578
580
*/
579
581
private function getAllImplementsInterfaceNodes (ImplementingType $ type , NamedType $ shouldBeInterface ): array
580
582
{
581
- $ allNodes = $ type ->astNode !== null
582
- ? \array_merge ([$ type ->astNode ], $ type ->extensionASTNodes )
583
- : $ type ->extensionASTNodes ;
583
+ $ allNodes = array_filter ([$ type ->astNode , ...$ type ->extensionASTNodes ]);
584
584
585
585
$ shouldBeInterfaceName = $ shouldBeInterface ->name ;
586
586
$ matchingInterfaceNodes = [];
@@ -735,12 +735,10 @@ private function validateUnionMembers(UnionType $union): void
735
735
}
736
736
}
737
737
738
- /** @return array<int, NamedTypeNode> */
738
+ /** @return list< NamedTypeNode> */
739
739
private function getUnionMemberTypeNodes (UnionType $ union , string $ typeName ): array
740
740
{
741
- $ allNodes = $ union ->astNode !== null
742
- ? \array_merge ([$ union ->astNode ], $ union ->extensionASTNodes )
743
- : $ union ->extensionASTNodes ;
741
+ $ allNodes = array_filter ([$ union ->astNode , ...$ union ->extensionASTNodes ]);
744
742
745
743
$ types = [];
746
744
foreach ($ allNodes as $ node ) {
0 commit comments