function(Node $node) use ($context) { if (isset($node->directives)) { $knownDirectives = []; foreach ($node->directives as $directive) { /** @var DirectiveNode $directive */ $directiveName = $directive->name->value; if (isset($knownDirectives[$directiveName])) { $context->reportError(new Error( self::duplicateDirectiveMessage($directiveName), [$knownDirectives[$directiveName], $directive] )); } else { $knownDirectives[$directiveName] = $directive; } } } } ]; } }