/// <summary> /// Parses a scalar type definition. /// <see cref="ScalarTypeDefinitionNode" />: /// Description? /// scalar Name Directives[isConstant=true]? /// </summary> /// <param name="context">The parser context.</param> private ScalarTypeDefinitionNode ParseScalarTypeDefinition( ParserContext context) { SyntaxToken start = context.Current; StringValueNode description = ParseDescription(context); context.ExpectScalarKeyword(); NameNode name = ParseName(context); List <DirectiveNode> directives = ParseDirectives(context, true); Location location = context.CreateLocation(start); return(new ScalarTypeDefinitionNode ( location, name, description, directives )); }
private ScalarTypeExtensionNode ParseScalarTypeExtension( ParserContext context) { SyntaxToken start = context.Current; context.ExpectExtendKeyword(); context.ExpectScalarKeyword(); NameNode name = context.ParseName(); List <DirectiveNode> directives = ParseDirectives(context, true); if (directives.Count == 0) { throw context.Unexpected(start); } Location location = context.CreateLocation(start); return(new ScalarTypeExtensionNode ( location, name, directives )); }