private DirectiveDefinitionNode ParseDirectiveDefinition(ParserContext context) { SyntaxToken start = context.Current; StringValueNode description = ParseDescription(context); context.ExpectDirectiveKeyword(); context.ExpectAt(); NameNode name = context.ParseName(); List <InputValueDefinitionNode> arguments = ParseArgumentDefinitions(context); context.ExpectOnKeyword(); List <NameNode> locations = ParseDirectiveLocations(context); Location location = context.CreateLocation(start); return(new DirectiveDefinitionNode ( location, name, description, arguments, locations )); }