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